Mercurial > hg > freeDiameter
view extensions/dict_json/dict_json_dict_schema.json @ 1333:cbe1da7a32f1
Add dict_json extension.
This extension allows loading diameter dictionares from a JSON file.
Example files are provided by contrib/dict_json.
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Tue, 09 Apr 2019 15:11:32 +0200 |
parents | |
children |
line wrap: on
line source
{ "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" } } } } } }