blob: c514105cc39319d4a21eb12828a2927159397b3a [file] [log] [blame]
andrea1ce2bc82015-11-18 16:58:10 -08001{
2 "type": "object",
3 "title": "flow",
4 "required": [
5 "priority",
6 "timeout",
7 "isPermanent",
8 "deviceId"
9 ],
10 "properties": {
11 "priority": {
12 "type": "integer",
13 "format": "int64",
14 "example": 400000
15 },
16 "timeout": {
17 "type": "integer",
18 "format": "int64",
19 "example": 0
20 },
21 "isPermanent": {
22 "type": "boolean",
23 "example": true
24 },
25 "deviceId": {
26 "type": "string",
27 "example": "of:0000000000000003"
28 },
29 "treatment": {
30 "type": "object",
31 "title": "treatment",
32 "required": [
33 "instructions",
34 "deferred"
35 ],
36 "properties": {
37 "instructions": {
38 "type": "array",
39 "title": "treatment",
40 "required": [
41 "properties",
42 "port"
43 ],
44 "items": {
45 "type": "object",
46 "title": "instructions",
47 "required": [
48 "type",
49 "port"
50 ],
51 "properties": {
52 "type": {
53 "type": "string",
54 "example": "OUTPUT"
55 },
56 "port": {
57 "type": "integer",
58 "format": "int64",
59 "example": -3
60 }
61 }
62 }
63 }
64 }
65 },
66 "selector": {
67 "type": "object",
68 "title": "selector",
69 "required": [
70 "criteria"
71 ],
72 "properties": {
73 "criteria": {
74 "type": "array",
75 "xml": {
76 "name": "criteria",
77 "wrapped": true
78 },
79 "items": {
80 "type": "object",
81 "title": "criteria",
82 "required": [
83 "type",
84 "ethType"
85 ],
86 "properties": {
87 "type": {
88 "type": "string",
89 "example": "ETH_TYPE"
90 },
91 "ethType": {
92 "type": "integer",
93 "format": "int64",
94 "example": -30516
95 }
96 }
97 }
98 }
99 }
100 }
101 }
102}