| { |
| "definitions": {}, |
| "$schema": "http://json-schema.org/draft-07/schema#", |
| "$id": "http://www.onap.org/policy/models/schemas/onap.policies.drools.Controller.schema.json", |
| "type": "object", |
| "title": "Domain onap.policies.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", |
| "examples": [ |
| "onap.policies.native.Drools" |
| ], |
| "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 Data", |
| "required": [ |
| "topicName", |
| "serialization" |
| ], |
| "properties": { |
| "topicName": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/topicName", |
| "type": "string", |
| "title": "Topic Name", |
| "examples": [ |
| "DCAE_TOPIC" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "serialization": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization", |
| "type": "array", |
| "title": "Serialization", |
| "items": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items", |
| "type": "object", |
| "title": "Serialization Data", |
| "required": [ |
| "eventClass", |
| "eventFilter", |
| "customSerializer" |
| ], |
| "properties": { |
| "eventClass": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/eventClass", |
| "type": "string", |
| "title": "Event Class", |
| "examples": [ |
| "org.onap.policy.controlloop.CanonicalOnset" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "eventFilter": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/eventFilter", |
| "type": "string", |
| "title": "Event Filter", |
| "examples": [ |
| "[?($.closedLoopEventStatus == 'ONSET')]" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "customSerializer": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer", |
| "type": "object", |
| "title": "Custom Serializer", |
| "required": [ |
| "customSerializerClass", |
| "jsonParser" |
| ], |
| "properties": { |
| "customSerializerClass": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer/properties/customSerializerClass", |
| "type": "string", |
| "title": "Custom Serializer Class", |
| "examples": [ |
| "org.onap.policy.controlloop.util.Serialization" |
| ], |
| "pattern": "^(.*)$" |
| }, |
| "jsonParser": { |
| "$id": "#/properties/properties/properties/sourceTopics/items/properties/serialization/items/properties/customSerializer/properties/jsonParser", |
| "type": "string", |
| "title": "JSON Parser reference", |
| "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", |
| "serialization" |
| ], |
| "properties": { |
| "topicName": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/topicName", |
| "type": "string", |
| "title": "Topic Name", |
| "default": "", |
| "examples": [ |
| "APPC-CL" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "serialization": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization", |
| "type": "array", |
| "title": "The Serialization Schema", |
| "items": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items", |
| "type": "object", |
| "title": "Serialization Data", |
| "required": [ |
| "eventClass", |
| "eventFilter" |
| ], |
| "properties": { |
| "eventClass": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/eventClass", |
| "type": "string", |
| "title": "Event Class", |
| "examples": [ |
| "org.onap.policy.appc.Response" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "eventFilter": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/eventFilter", |
| "type": "string", |
| "title": "The Eventfilter Schema", |
| "examples": [ |
| "[?($.CommonHeader && $.Status)]" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "customSerializer": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer", |
| "type": "object", |
| "title": "The Customserializer Schema", |
| "required": [ |
| "customSerializerClass", |
| "jsonParser" |
| ], |
| "properties": { |
| "customSerializerClass": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer/properties/customSerializerClass", |
| "type": "string", |
| "title": "The Customserializerclass Schema", |
| "examples": [ |
| "org.onap.policy.appc.util.Serialization" |
| ], |
| "pattern": "^(.+)$" |
| }, |
| "jsonParser": { |
| "$id": "#/properties/properties/properties/sinkTopics/items/properties/serialization/items/properties/customSerializer/properties/jsonParser", |
| "type": "string", |
| "title": "The Jsonparser Schema", |
| "examples": [ |
| "gsonPretty" |
| ], |
| "pattern": "^(.+)$" |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "customConfig": { |
| "$id": "#/properties/properties/properties/customConfig", |
| "type": "object", |
| "title": "other Configuration" |
| } |
| } |
| } |
| } |
| } |