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