blob: 7ea7b5022b8d02a354ccd718077d48e859b49797 [file] [log] [blame]
Jian Liecb3c0f2015-12-15 10:07:49 -08001{
2 "type": "object",
3 "title": "group",
4 "required": [
5 "type",
6 "deviceId",
7 "appCookie",
8 "groupId",
9 "buckets"
10 ],
11 "properties": {
12 "type": {
13 "type": "string",
14 "example": "ALL"
15 },
16 "deviceId": {
17 "type": "string",
18 "example": "of:0000000000000001"
19 },
20 "appCookie": {
21 "type": "string",
Charles Chanb3ef1fd2016-05-12 20:49:39 -070022 "description": "application cookie. Arbitrary length byte array represented in hex string",
23 "example": "0x1234abcd"
Jian Liecb3c0f2015-12-15 10:07:49 -080024 },
25 "groupId": {
26 "type": "string",
27 "example": "1"
28 },
29 "buckets": {
30 "type": "array",
31 "xml": {
32 "name": "buckets",
33 "wrapped": true
34 },
35 "items": {
36 "type": "object",
37 "title": "buckets",
38 "required": [
39 "treatment",
40 "weight",
41 "watchPort",
42 "watchGroup"
43 ],
44 "properties": {
45 "treatment": {
46 "type": "object",
47 "title": "treatment",
48 "required": [
49 "instructions",
50 "deferred"
51 ],
52 "properties": {
53 "instructions": {
54 "type": "array",
55 "title": "treatment",
56 "required": [
57 "properties",
58 "port"
59 ],
60 "items": {
61 "type": "object",
62 "title": "instructions",
63 "required": [
64 "type",
65 "port"
66 ],
67 "properties": {
68 "type": {
69 "type": "string",
70 "example": "OUTPUT"
71 },
72 "port": {
73 "type": "string",
74 "example": "2"
75 }
76 }
77 }
78 }
79 }
80 }
81 }
82 }
83 }
84 }
85}