| { |
| "definitions": {}, |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "$id": "http://www.onap.org/policy/models/schemas/onap.policies.native.drools.Controller.schema.json", |
| "type": "object", |
| "title": "Domain onap.policies.native.drools.Controller Policy root schema", |
| "required": [ |
| "type", |
| "type_version", |
| "version", |
| "metadata", |
| "properties" |
| ], |
| "properties": { |
| "type": { |
| "$id": "#/properties/type", |
| "type": "string", |
| "title": "Policy Type", |
| "default": "onap.policies.native.drools.Controller", |
| "examples": [ |
| "onap.policies.native.drools.Controller" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "type_version": { |
| "$id": "#/properties/type_version", |
| "type": "string", |
| "title": "Policy Type Version", |
| "examples": [ |
| "1.0.0" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "version": { |
| "$id": "#/properties/version", |
| "type": "string", |
| "title": "Version", |
| "examples": [ |
| "1.0.0" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "name": { |
| "$id": "#/properties/name", |
| "type": "string", |
| "title": "Name", |
| "examples": [ |
| "example" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "metadata": { |
| "$id": "#/properties/metadata", |
| "type": "object", |
| "title": "Metadata", |
| "required": [ |
| "policy-id" |
| ], |
| "properties": { |
| "policy-id": { |
| "$id": "#/properties/metadata/properties/policy-id", |
| "type": "string", |
| "title": "The policy-id Schema", |
| "examples": [ |
| "example" |
| ], |
| "pattern": "^(.+)$" |
| } |
| } |
| }, |
| "properties": { |
| "$id": "#/properties/properties", |
| "type": "object", |
| "title": "Policy Domain Properties", |
| "required": [ |
| "controllerName" |
| ], |
| "properties": { |
| "controllerName": { |
| "$id": "#/properties/properties/properties/controllerName", |
| "type": "string", |
| "title": "Controller Name", |
| "examples": [ |
| "example" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "sourceTopics": { |
| "$id": "#/properties/properties/properties/sourceTopics", |
| "type": "array", |
| "title": "Source Topics", |
| "items": { |
| "$id": "#/properties/properties/properties/sourceTopics/items", |
| "type": "object", |
| "title": "Topic Sources", |
| "required": [ |
| "topicName", |
| "events" |
| ], |
| "properties": { |
| "topicName": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/topicName", |
| "type": "string", |
| "title": "Topic Name", |
| "examples": [ |
| "DCAE_TOPIC" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "events": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events", |
| "type": "array", |
| "title": "Source Events", |
| "items": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items", |
| "type": "object", |
| "title": "Event Information", |
| "required": [ |
| "eventClass" |
| ], |
| "properties": { |
| "eventClass": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items/properties/eventClass", |
| "type": "string", |
| "title": "Event Class", |
| "examples": [ |
| "org.onap.policy.controlloop.CanonicalOnset" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "eventFilter": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items/properties/eventFilter", |
| "type": "string", |
| "title": "Event Filter", |
| "examples": [ |
| "[?($.closedLoopEventStatus == 'ONSET')]" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "customSerialization": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items/properties/customSerialization", |
| "type": "object", |
| "title": "Custom Serialization", |
| "required": [ |
| "customSerializerClass", |
| "jsonParser" |
| ], |
| "properties": { |
| "customSerializerClass": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items/properties/customSerialization/properties/customSerializerClass", |
| "type": "string", |
| "title": "Custom Serializer Class for customized JSON parsing", |
| "examples": [ |
| "org.onap.policy.controlloop.util.Serialization" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "jsonParser": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/events/items/properties/customSerialization/properties/jsonParser", |
| "type": "string", |
| "title": "JSON Parser Static Field (currently only GSON is supported)", |
| "examples": [ |
| "gson" |
| ], |
| "pattern": "^(.+)$" |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "sinkTopics": { |
| "$id": "#/properties/properties/properties/sinkTopics", |
| "type": "array", |
| "title": "Sink Topics", |
| "items": { |
| "$id": "#/properties/properties/properties/sinkTopics/items", |
| "type": "object", |
| "title": "Sink Topic Data", |
| "required": [ |
| "topicName", |
| "events" |
| ], |
| "properties": { |
| "topicName": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/topicName", |
| "type": "string", |
| "title": "Topic Name", |
| "default": "", |
| "examples": [ |
| "APPC-CL" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "events": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events", |
| "type": "array", |
| "title": "Source Events", |
| "items": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items", |
| "type": "object", |
| "title": "Event Information", |
| "required": [ |
| "eventClass" |
| ], |
| "properties": { |
| "eventClass": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items/properties/eventClass", |
| "type": "string", |
| "title": "Event Class", |
| "examples": [ |
| "org.onap.policy.appc.Response" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "eventFilter": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items/properties/eventFilter", |
| "type": "string", |
| "title": "Event Filter", |
| "examples": [ |
| "[?($.CommonHeader && $.Status)]" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "customSerialization": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items/properties/customSerialization", |
| "type": "object", |
| "title": "Custom Serialization", |
| "required": [ |
| "customSerializerClass", |
| "jsonParser" |
| ], |
| "properties": { |
| "customSerializerClass": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items/properties/customSerialization/properties/customSerializerClass", |
| "type": "string", |
| "title": "Custom Serializer Class for customized JSON parsing", |
| "examples": [ |
| "org.onap.policy.controlloop.util.Serialization" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "jsonParser": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/events/items/properties/customSerialization/properties/jsonParser", |
| "type": "string", |
| "title": "JSON Parser Static Field (currently only GSON is supported)", |
| "examples": [ |
| "gson" |
| ], |
| "pattern": "^(.+)$" |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "customConfig": { |
| "$id": "#/properties/properties/properties/customConfig", |
| "type": "object", |
| "title": "other Configuration", |
| "additionalProperties": { |
| "type": "string" |
| } |
| } |
| } |
| } |
| } |
| } |