summaryrefslogtreecommitdiff
path: root/interface-definitions/include/haproxy/rule.xml.i
blob: 9d9f63c9c86b6fea715a5056d46b4b5628805e7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!-- include start from haproxy/rule.xml.i -->
<tagNode name="rule">
  <properties>
    <help>Proxy rule number</help>
    <valueHelp>
      <format>u32:1-10000</format>
      <description>Number for this proxy rule</description>
    </valueHelp>
    <constraint>
      <validator name="numeric" argument="--range 1-10000"/>
    </constraint>
    <constraintErrorMessage>Proxy rule number must be between 1 and 10000</constraintErrorMessage>
  </properties>
  <children>
    <leafNode name="domain-name">
      <properties>
        <help>Domain name to match</help>
        <valueHelp>
          <format>txt</format>
          <description>Domain address to match</description>
        </valueHelp>
        <constraint>
          <validator name="fqdn"/>
        </constraint>
      </properties>
    </leafNode>
    <node name="set">
      <properties>
        <help>Proxy modifications</help>
      </properties>
      <children>
        <leafNode name="redirect-location">
          <properties>
            <help>Set URL location</help>
            <valueHelp>
              <format>url</format>
              <description>Set URL location</description>
            </valueHelp>
            <constraint>
              <regex>^\/[\w\-.\/]+$</regex>
            </constraint>
            <constraintErrorMessage>Incorrect URL format</constraintErrorMessage>
          </properties>
        </leafNode>
        <leafNode name="server">
          <properties>
            <help>Server name</help>
            <constraint>
              <regex>[-_a-zA-Z0-9]+</regex>
            </constraint>
            <constraintErrorMessage>Server name must be alphanumeric and can contain hyphen and underscores</constraintErrorMessage>
          </properties>
        </leafNode>
      </children>
    </node>
    <leafNode name="ssl">
      <properties>
        <help>SSL match options</help>
        <completionHelp>
          <list>req-ssl-sni ssl-fc-sni</list>
        </completionHelp>
        <valueHelp>
          <format>req-ssl-sni</format>
          <description>SSL Server Name Indication (SNI) request match</description>
        </valueHelp>
        <valueHelp>
          <format>ssl-fc-sni</format>
          <description>SSL frontend connection Server Name Indication match</description>
        </valueHelp>
        <valueHelp>
          <format>ssl-fc-sni-end</format>
          <description>SSL frontend match end of connection Server Name Indication</description>
        </valueHelp>
        <constraint>
          <regex>(req-ssl-sni|ssl-fc-sni|ssl-fc-sni-end)</regex>
        </constraint>
      </properties>
    </leafNode>
    <node name="url-path">
      <properties>
        <help>URL path match</help>
      </properties>
      <children>
        <leafNode name="begin">
          <properties>
            <help>Begin URL match</help>
            <valueHelp>
              <format>url</format>
              <description>Begin URL</description>
            </valueHelp>
            <constraint>
              <regex>^\/[\w\-.\/]+$</regex>
            </constraint>
            <constraintErrorMessage>Incorrect URL format</constraintErrorMessage>
            <multi/>
          </properties>
        </leafNode>
        <leafNode name="end">
          <properties>
            <help>End URL match</help>
            <valueHelp>
              <format>url</format>
              <description>End URL</description>
            </valueHelp>
            <constraint>
              <regex>^\/[\w\-.\/]+$</regex>
            </constraint>
            <constraintErrorMessage>Incorrect URL format</constraintErrorMessage>
            <multi/>
          </properties>
        </leafNode>
        <leafNode name="exact">
          <properties>
            <help>Exactly URL match</help>
            <valueHelp>
              <format>url</format>
              <description>Exactly URL</description>
            </valueHelp>
            <constraint>
              <regex>^\/[\w\-.\/]+$</regex>
            </constraint>
            <constraintErrorMessage>Incorrect URL format</constraintErrorMessage>
            <multi/>
          </properties>
        </leafNode>
      </children>
    </node>
  </children>
</tagNode>
<!-- include end -->