ovn: Design and Schema changes for Container integration.
[cascardo/ovs.git] / ovn / ovn-nb.ovsschema
1 {
2     "name": "OVN_Northbound",
3     "tables": {
4         "Logical_Switch": {
5             "columns": {
6                 "name": {"type": "string"},
7                 "router_port": {"type": {"key": {"type": "uuid",
8                                                  "refTable": "Logical_Router_Port",
9                                                  "refType": "strong"},
10                                          "min": 0, "max": 1}},
11                 "external_ids": {
12                     "type": {"key": "string", "value": "string",
13                              "min": 0, "max": "unlimited"}}}},
14         "Logical_Port": {
15             "columns": {
16                 "lswitch": {"type": {"key": {"type": "uuid",
17                                              "refTable": "Logical_Switch",
18                                              "refType": "strong"}}},
19                 "name": {"type": "string"},
20                 "parent_name": {"type": {"key": "string", "min": 0, "max": 1}},
21                 "tag": {
22                      "type": {"key": {"type": "integer",
23                                       "minInteger": 0,
24                                       "maxInteger": 4095},
25                               "min": 0, "max": 1}},
26                 "macs": {"type": {"key": "string",
27                                   "min": 0,
28                                   "max": "unlimited"}},
29                 "port_security": {"type": {"key": "string",
30                                            "min": 0,
31                                            "max": "unlimited"}},
32                 "up": {"type": {"key": "boolean", "min": 0, "max": 1}},
33                 "external_ids": {
34                     "type": {"key": "string", "value": "string",
35                              "min": 0, "max": "unlimited"}}},
36             "indexes": [["name"]]},
37         "ACL": {
38             "columns": {
39                 "lswitch": {"type": {"key": {"type": "uuid",
40                                              "refTable": "Logical_Switch",
41                                              "refType": "strong"}}},
42                 "priority": {"type": {"key": {"type": "integer",
43                                               "minInteger": 0,
44                                               "maxInteger": 65535}}},
45                 "match": {"type": "string"},
46                 "action": {"type": {"key": {"type": "string",
47                                             "enum": ["set", ["allow", "allow-related", "drop", "reject"]]}}},
48                 "log": {"type": "boolean"},
49                 "external_ids": {
50                     "type": {"key": "string", "value": "string",
51                              "min": 0, "max": "unlimited"}}}},
52         "Logical_Router": {
53             "columns": {
54                 "ip": {"type": "string"},
55                 "default_gw": {"type": {"key": "string", "min": 0, "max": 1}},
56                 "external_ids": {
57                     "type": {"key": "string", "value": "string",
58                              "min": 0, "max": "unlimited"}}}},
59         "Logical_Router_Port": {
60             "columns": {
61                 "router": {"type": {"key": {"type": "uuid",
62                                             "refTable": "Logical_Router",
63                                             "refType": "strong"}}},
64                 "network": {"type": "string"},
65                 "mac": {"type": "string"},
66                 "external_ids": {
67                     "type": {"key": "string", "value": "string",
68                              "min": 0, "max": "unlimited"}}}}},
69     "version": "1.0.0"}