{ "$id": "famlObject", "title": "FAML Object", "description": "FAML Object schema", "type": "object", "schema": { "oneOf": [ { "$ref": "#/definitions/famlLeaf" }, { "$ref": "#/definitions/famlList" }, { "$ref": "#/definitions/famlContainer" } ] }, "minProperties": 4, "definitions": { "famlContainer": { "type": "object", "description": "Container object", "properties": { "_attr": { "$ref": "#/definitions/_attr" } }, "patternProperties": { "[a-zA-Z]+": { "type": "object", "schema": { "$ref": "#/definitions/famlLeaf" } } }, "required": [ "_attr" ], "minProperties": 2 }, "famlList": { "type": "object", "description": "List Object", "properties": { "_attr": { "$ref": "#/definitions/_attr" }, "_keys": { "$ref": "#/definitions/_keys" }, "_children": { "type": "array", "items": { "oneOf": [ { "type": "object", "patternProperties": { "[a-zA-Z]": { "$ref": "#/definitions/famlContainer" } } }, { "type": "object", "patternProperties": { "[a-zA-Z]": { "$ref": "#/definitions/famlLeaf" } } } ] } } }, "required": [ "_attr", "_keys", "_children" ] }, "famlLeaf": { "type": "object", "description": "Leaf Object", "properties": { "_attr": { "$ref": "#/definitions/_attr" }, "_value": { "type": "string", "pattern": "[a-zA-Z]" } }, "required": [ "_attr", "_value" ] }, "_attr": { "type": "object", "description": "Attributes", "properties": { "type": { "type": "string", "examples": [ "list", "keyword", "leaf" ] }, "ns": { "type": "string", "examples": [ "http://tail-f.com/ns/ncs", "http://tail-f.com/ns/config/1.0" ] }, "prefix": { "type": "string", "examples": [ "ncs", "ios" ] }, "condition": { "$ref": "#/definitions/condition" }, "severity": { "$ref": "#/definitions/severity" } }, "required": [ "type", "ns", "prefix", "condition", "severity" ] }, "condition": { "type": "string", "examples": [ "must", "cant" ] }, "severity": { "type": "string", "examples": [ "error", "warning", "notices" ] }, "_keys": { "type": "array", "description": "List of keys for the list", "items": { "type": "string", "pattern": "[a-zA-Z]+" } } } }