ovn: Make it possible for CMS to detect when the OVN system is up-to-date.
[cascardo/ovs.git] / ovn / ovn-nb.ovsschema
1 {
2     "name": "OVN_Northbound",
3     "version": "5.2.0",
4     "cksum": "650844440 8727",
5     "tables": {
6         "NB_Global": {
7             "columns": {
8                 "nb_cfg": {"type": {"key": "integer"}},
9                 "sb_cfg": {"type": {"key": "integer"}},
10                 "hv_cfg": {"type": {"key": "integer"}},
11                 "external_ids": {
12                     "type": {"key": "string", "value": "string",
13                              "min": 0, "max": "unlimited"}}},
14             "maxRows": 1,
15             "isRoot": true},
16         "Logical_Switch": {
17             "columns": {
18                 "name": {"type": "string"},
19                 "ports": {"type": {"key": {"type": "uuid",
20                                            "refTable": "Logical_Switch_Port",
21                                            "refType": "strong"},
22                                    "min": 0,
23                                    "max": "unlimited"}},
24                 "acls": {"type": {"key": {"type": "uuid",
25                                           "refTable": "ACL",
26                                           "refType": "strong"},
27                                   "min": 0,
28                                   "max": "unlimited"}},
29                 "load_balancer": {"type": {"key": {"type": "uuid",
30                                                   "refTable": "Load_Balancer",
31                                                   "refType": "strong"},
32                                            "min": 0,
33                                            "max": 1}},
34                 "external_ids": {
35                     "type": {"key": "string", "value": "string",
36                              "min": 0, "max": "unlimited"}}},
37             "isRoot": true},
38         "Logical_Switch_Port": {
39             "columns": {
40                 "name": {"type": "string"},
41                 "type": {"type": "string"},
42                 "options": {
43                      "type": {"key": "string",
44                               "value": "string",
45                               "min": 0,
46                               "max": "unlimited"}},
47                 "parent_name": {"type": {"key": "string", "min": 0, "max": 1}},
48                 "tag": {
49                      "type": {"key": {"type": "integer",
50                                       "minInteger": 1,
51                                       "maxInteger": 4095},
52                               "min": 0, "max": 1}},
53                 "addresses": {"type": {"key": "string",
54                                        "min": 0,
55                                        "max": "unlimited"}},
56                 "port_security": {"type": {"key": "string",
57                                            "min": 0,
58                                            "max": "unlimited"}},
59                 "up": {"type": {"key": "boolean", "min": 0, "max": 1}},
60                 "enabled": {"type": {"key": "boolean", "min": 0, "max": 1}},
61                 "dhcpv4_options": {"type": {"key": {"type": "uuid",
62                                             "refTable": "DHCP_Options",
63                                             "refType": "weak"},
64                                  "min": 0,
65                                  "max": 1}},
66                 "external_ids": {
67                     "type": {"key": "string", "value": "string",
68                              "min": 0, "max": "unlimited"}}},
69             "indexes": [["name"]],
70             "isRoot": false},
71         "Address_Set": {
72             "columns": {
73                 "name": {"type": "string"},
74                 "addresses": {"type": {"key": "string",
75                                        "min": 0,
76                                        "max": "unlimited"}},
77                 "external_ids": {
78                     "type": {"key": "string", "value": "string",
79                              "min": 0, "max": "unlimited"}}},
80             "indexes": [["name"]],
81             "isRoot": true},
82         "Load_Balancer": {
83             "columns": {
84                 "vips": {
85                     "type": {"key": "string", "value": "string",
86                              "min": 0, "max": "unlimited"}},
87                 "protocol": {
88                     "type": {"key": {"type": "string",
89                              "enum": ["set", ["tcp", "udp"]]},
90                              "min": 0, "max": 1}},
91                 "external_ids": {
92                     "type": {"key": "string", "value": "string",
93                              "min": 0, "max": "unlimited"}}},
94             "isRoot": true},
95         "ACL": {
96             "columns": {
97                 "priority": {"type": {"key": {"type": "integer",
98                                               "minInteger": 0,
99                                               "maxInteger": 32767}}},
100                 "direction": {"type": {"key": {"type": "string",
101                                             "enum": ["set", ["from-lport", "to-lport"]]}}},
102                 "match": {"type": "string"},
103                 "action": {"type": {"key": {"type": "string",
104                                             "enum": ["set", ["allow", "allow-related", "drop", "reject"]]}}},
105                 "log": {"type": "boolean"},
106                 "external_ids": {
107                     "type": {"key": "string", "value": "string",
108                              "min": 0, "max": "unlimited"}}},
109             "isRoot": false},
110         "Logical_Router": {
111             "columns": {
112                 "name": {"type": "string"},
113                 "ports": {"type": {"key": {"type": "uuid",
114                                            "refTable": "Logical_Router_Port",
115                                            "refType": "strong"},
116                                    "min": 0,
117                                    "max": "unlimited"}},
118                 "static_routes": {"type": {"key": {"type": "uuid",
119                                             "refTable": "Logical_Router_Static_Route",
120                                             "refType": "strong"},
121                                    "min": 0,
122                                    "max": "unlimited"}},
123                 "enabled": {"type": {"key": "boolean", "min": 0, "max": 1}},
124                 "nat": {"type": {"key": {"type": "uuid",
125                                          "refTable": "NAT",
126                                          "refType": "strong"},
127                                  "min": 0,
128                                  "max": "unlimited"}},
129                 "options": {
130                      "type": {"key": "string",
131                               "value": "string",
132                               "min": 0,
133                               "max": "unlimited"}},
134                 "external_ids": {
135                     "type": {"key": "string", "value": "string",
136                              "min": 0, "max": "unlimited"}}},
137             "isRoot": true},
138         "Logical_Router_Port": {
139             "columns": {
140                 "name": {"type": "string"},
141                 "networks": {"type": {"key": "string",
142                                       "min": 1,
143                                       "max": "unlimited"}},
144                 "mac": {"type": "string"},
145                 "peer": {"type": {"key": "string", "min": 0, "max": 1}},
146                 "enabled": {"type": {"key": "boolean", "min": 0, "max": 1}},
147                 "external_ids": {
148                     "type": {"key": "string", "value": "string",
149                              "min": 0, "max": "unlimited"}}},
150             "indexes": [["name"]],
151             "isRoot": false},
152         "Logical_Router_Static_Route": {
153             "columns": {
154                 "ip_prefix": {"type": "string"},
155                 "nexthop": {"type": "string"},
156                 "output_port": {"type": {"key": "string", "min": 0, "max": 1}}},
157             "isRoot": false},
158         "NAT": {
159             "columns": {
160                 "external_ip": {"type": "string"},
161                 "logical_ip": {"type": "string"},
162                 "type": {"type": {"key": {"type": "string",
163                                            "enum": ["set", ["dnat",
164                                                              "snat",
165                                                              "dnat_and_snat"
166                                                                ]]}}}},
167             "isRoot": false},
168         "DHCP_Options": {
169             "columns": {
170                 "cidr": {"type": "string"},
171                 "options": {"type": {"key": "string", "value": "string",
172                                      "min": 0, "max": "unlimited"}},
173                 "external_ids": {
174                     "type": {"key": "string", "value": "string",
175                              "min": 0, "max": "unlimited"}}},
176             "isRoot": true}
177     }
178 }