1333
|
1 { |
|
2 "definitions": { |
|
3 "content": { |
|
4 "type": "array", |
|
5 "items": { |
|
6 "type": "object", |
|
7 "additionalProperties": false, |
|
8 "required": [ "AVP" ], |
|
9 "properties": { |
|
10 "AVP": { "type": "string" }, |
|
11 "Vendor": { "$ref": "#/definitions/unsigned-integer" }, |
|
12 "First": { "type": "boolean" }, |
|
13 "Min": { "$ref": "#/definitions/unsigned-integer" }, |
|
14 "Max": { "anyOf": [ { "type": "integer" }, { "enum": [ "unbounded" ] } ] } |
|
15 } |
|
16 } |
|
17 }, |
|
18 |
|
19 "identifier": { "type": "string", "pattern": "^[[:print:]]+$" }, |
|
20 "type": { |
|
21 "enum": [ |
|
22 "Address", |
|
23 "DiameterIdentity", |
|
24 "DiameterURI", |
|
25 "Enumerated", |
|
26 "Float32", |
|
27 "Float64", |
|
28 "Grouped", |
|
29 "Integer32", |
|
30 "Integer64", |
|
31 "IPFilterRule", |
|
32 "OctetString", |
|
33 "Time", |
|
34 "Unsigned32", |
|
35 "Unsigned64", |
|
36 "UTF8String" |
|
37 ] |
|
38 }, |
|
39 "unsigned-integer": { "type": "integer", "minimum": 0 } |
|
40 }, |
|
41 |
|
42 "type": "object", |
|
43 "additionalProperties": false, |
|
44 "properties": { |
|
45 "Vendors": { |
|
46 "type": "array", |
|
47 "items": { |
|
48 "type": "object", |
|
49 "additionalProperties": false, |
|
50 "required": [ "Code", "Name" ], |
|
51 "properties": { |
|
52 "Code": { "$ref": "#/definitions/unsigned-integer" }, |
|
53 "Name": { "$ref": "#/definitions/identifier" } |
|
54 } |
|
55 } |
|
56 }, |
|
57 "Types": { |
|
58 "type": "array", |
|
59 "items": { |
|
60 "type": "object", |
|
61 "additionalProperties": false, |
|
62 "required": [ "Name", "Base" ], |
|
63 "properties": { |
|
64 "Name": { "type": "string" }, |
|
65 "Base": { "type": "string" } |
|
66 } |
|
67 } |
|
68 }, |
|
69 "AVPs": { |
|
70 "type": "array", |
|
71 "items": { |
|
72 "type": "object", |
|
73 "additionalProperties": false, |
|
74 "required": [ "Code", "Name", "Type" ], |
|
75 "properties": { |
|
76 "Code": { "$ref": "#/definitions/unsigned-integer" }, |
|
77 "Vendor": { "$ref": "#/definitions/unsigned-integer" }, |
|
78 "Name": { "$ref": "#/definitions/identifier" }, |
|
79 "Flags": { |
|
80 "type": "object", |
|
81 "additionalProperties": false, |
|
82 "properties": { |
|
83 "Must": { "type": "string", "pattern": "^[VMP]*$" }, |
|
84 "MustNot": { "type": "string", "pattern": "^[VMP]*$" } |
|
85 } |
|
86 }, |
|
87 "Type": { "$ref": "#/definitions/identifier" }, |
|
88 "EnumValues": { |
|
89 "type": "array", |
|
90 "items": { |
|
91 "type": "object", |
|
92 "additionalProperties": false, |
|
93 "required": [ "Code", "Name" ], |
|
94 "properties": { |
|
95 "Code": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "string" } ] }, |
|
96 "Name": { "type": "string", "pattern": "^[[:print:]]*$" } |
|
97 } |
|
98 } |
|
99 } |
|
100 } |
|
101 } |
|
102 }, |
|
103 "Applications": { |
|
104 "type": "array", |
|
105 "items": { |
|
106 "type": "object", |
|
107 "additionalProperties": false, |
|
108 "required": [ "Code", "Name" ], |
|
109 "properties": { |
|
110 "Code": { "$ref": "#/definitions/unsigned-integer" }, |
|
111 "Name": { "$ref": "#/definitions/identifier" } |
|
112 } |
|
113 } |
|
114 }, |
|
115 "Commands": { |
|
116 "type": "array", |
|
117 "items": { |
|
118 "type": "object", |
|
119 "additionalProperties": false, |
|
120 "required": [ "Code", "Name" ], |
|
121 "properties": { |
|
122 "Code": { "$ref": "#/definitions/unsigned-integer" }, |
|
123 "Name": { "$ref": "#/definitions/identifier" }, |
|
124 "Application": { "$ref": "#/definitions/identifier" }, |
|
125 "Flags": { |
|
126 "type": "object", |
|
127 "additionalProperties": false, |
|
128 "properties": { |
|
129 "Must": { "type": "string", "pattern": "^[RPE]*$" }, |
|
130 "MustNot": { "type": "string", "pattern": "^[RPET]*$" } |
|
131 } |
|
132 } |
|
133 } |
|
134 } |
|
135 }, |
|
136 "CommandRules": { |
|
137 "type": "array", |
|
138 "items": { |
|
139 "type": "object", |
|
140 "additionalProperties": false, |
|
141 "required": [ "Command", "Content" ], |
|
142 "properties": { |
|
143 "Command": { "type": "string", "minimum": 0 }, |
|
144 "Content": { "$ref": "#/definitions/content" } |
|
145 } |
|
146 } |
|
147 }, |
|
148 "AVPRules": { |
|
149 "type": "array", |
|
150 "items": { |
|
151 "type": "object", |
|
152 "additionalProperties": false, |
|
153 "required": [ "AVP", "Content" ], |
|
154 "properties": { |
|
155 "AVP": { "type": "string" }, |
|
156 "Vendor": { "type": "integer", "minimum" : 0 }, |
|
157 "Content": { "$ref": "#/definitions/content" } |
|
158 } |
|
159 } |
|
160 } |
|
161 } |
|
162 } |