From baa4e928207f5930fcd620bddddcd493aa7a4122 Mon Sep 17 00:00:00 2001 From: jhh Date: Thu, 30 Jan 2020 18:57:13 -0600 Subject: domain native and operational policies support - moved DomainMaker to policy-utils/ project. - support for native drools and controller drools policy types. Issue-ID: POLICY-2345 Signed-off-by: jhh Change-Id: I46b9816eadceb7ef280e0e6789f07b4d4ca51519 Signed-off-by: jhh --- ...ap.policies.drools.Controller-1.0.0.schema.json | 274 +++++++++++++++++++++ 1 file changed, 274 insertions(+) create mode 100644 feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json (limited to 'feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json') diff --git a/feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json b/feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json new file mode 100644 index 00000000..e07a3e1e --- /dev/null +++ b/feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json @@ -0,0 +1,274 @@ +{ + "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" + } + } + } + } +} -- cgit 1.2.3-korg