diff options
Diffstat (limited to 'extensions/dict_json/dict_json_dict_schema.json')
| -rw-r--r-- | extensions/dict_json/dict_json_dict_schema.json | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/extensions/dict_json/dict_json_dict_schema.json b/extensions/dict_json/dict_json_dict_schema.json new file mode 100644 index 0000000..38a02cf --- /dev/null +++ b/extensions/dict_json/dict_json_dict_schema.json @@ -0,0 +1,162 @@ +{ + "definitions": { + "content": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "AVP" ], + "properties": { + "AVP": { "type": "string" }, + "Vendor": { "$ref": "#/definitions/unsigned-integer" }, + "First": { "type": "boolean" }, + "Min": { "$ref": "#/definitions/unsigned-integer" }, + "Max": { "anyOf": [ { "type": "integer" }, { "enum": [ "unbounded" ] } ] } + } + } + }, + + "identifier": { "type": "string", "pattern": "^[[:print:]]+$" }, + "type": { + "enum": [ + "Address", + "DiameterIdentity", + "DiameterURI", + "Enumerated", + "Float32", + "Float64", + "Grouped", + "Integer32", + "Integer64", + "IPFilterRule", + "OctetString", + "Time", + "Unsigned32", + "Unsigned64", + "UTF8String" + ] + }, + "unsigned-integer": { "type": "integer", "minimum": 0 } + }, + + "type": "object", + "additionalProperties": false, + "properties": { + "Vendors": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Code", "Name" ], + "properties": { + "Code": { "$ref": "#/definitions/unsigned-integer" }, + "Name": { "$ref": "#/definitions/identifier" } + } + } + }, + "Types": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Name", "Base" ], + "properties": { + "Name": { "type": "string" }, + "Base": { "type": "string" } + } + } + }, + "AVPs": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Code", "Name", "Type" ], + "properties": { + "Code": { "$ref": "#/definitions/unsigned-integer" }, + "Vendor": { "$ref": "#/definitions/unsigned-integer" }, + "Name": { "$ref": "#/definitions/identifier" }, + "Flags": { + "type": "object", + "additionalProperties": false, + "properties": { + "Must": { "type": "string", "pattern": "^[VMP]*$" }, + "MustNot": { "type": "string", "pattern": "^[VMP]*$" } + } + }, + "Type": { "$ref": "#/definitions/identifier" }, + "EnumValues": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Code", "Name" ], + "properties": { + "Code": { "anyOf": [ { "type": "integer" }, { "type": "number" }, { "type": "string" } ] }, + "Name": { "type": "string", "pattern": "^[[:print:]]*$" } + } + } + } + } + } + }, + "Applications": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Code", "Name" ], + "properties": { + "Code": { "$ref": "#/definitions/unsigned-integer" }, + "Name": { "$ref": "#/definitions/identifier" } + } + } + }, + "Commands": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Code", "Name" ], + "properties": { + "Code": { "$ref": "#/definitions/unsigned-integer" }, + "Name": { "$ref": "#/definitions/identifier" }, + "Application": { "$ref": "#/definitions/identifier" }, + "Flags": { + "type": "object", + "additionalProperties": false, + "properties": { + "Must": { "type": "string", "pattern": "^[RPE]*$" }, + "MustNot": { "type": "string", "pattern": "^[RPET]*$" } + } + } + } + } + }, + "CommandRules": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "Command", "Content" ], + "properties": { + "Command": { "type": "string", "minimum": 0 }, + "Content": { "$ref": "#/definitions/content" } + } + } + }, + "AVPRules": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": [ "AVP", "Content" ], + "properties": { + "AVP": { "type": "string" }, + "Vendor": { "type": "integer", "minimum" : 0 }, + "Content": { "$ref": "#/definitions/content" } + } + } + } + } +} |
