haproxy_config/line/
borrowed.rs

1use crate::section::PasswordRef;
2use crate::section::BackendModifier;
3use crate::section::AddressRef;
4
5#[derive(Debug)]
6pub enum Line<'input> {
7    Server {
8        name: &'input str,
9        addr: AddressRef<'input>,
10        option: Option<&'input str>,
11        comment: Option<&'input str>,
12    },
13    Option {
14        keyword: &'input str,
15        value: Option<&'input str>,
16        comment: Option<&'input str>,
17    },
18    Bind {
19        addr: AddressRef<'input>,
20        value: Option<&'input str>,
21        comment: Option<&'input str>,
22    },
23    Acl {
24        name: &'input str,
25        rule: Option<&'input str>,
26        comment: Option<&'input str>,
27    },
28    Backend {
29        name: &'input str,
30        modifier: Option<BackendModifier>,
31        condition: Option<&'input str>,
32        comment: Option<&'input str>,
33    },
34    /// This usually refers to a haproxy user group however if it is in the global section of a
35    /// config it is the systemuser haproxy will try to run as after starting up.
36    Group {
37        name: &'input str,
38        users: Vec<&'input str>,
39        comment: Option<&'input str>,
40    },
41    User {
42        name: &'input str,
43        password: PasswordRef<'input>,
44        groups: Vec<&'input str>,
45        comment: Option<&'input str>,
46    },
47    /// A global paramater describing the system user haproxy should run as
48    SysUser {
49        name: &'input str,
50    },
51    Config {
52        key: &'input str,
53        value: Option<&'input str>,
54        comment: Option<&'input str>,
55    },
56    Comment(&'input str),
57    Blank,
58}