summaryrefslogtreecommitdiffstats
path: root/feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json
diff options
context:
space:
mode:
authorjhh <jorge.hernandez-herrero@att.com>2020-01-30 18:57:13 -0600
committerjhh <jorge.hernandez-herrero@att.com>2020-02-04 00:26:57 -0600
commitbaa4e928207f5930fcd620bddddcd493aa7a4122 (patch)
treeb4832c661bc05bcb457e65a73c06f0a960ac7632 /feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json
parenta54a2373f1b48cdb64d4920ec57ffeab4f228814 (diff)
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 <jorge.hernandez-herrero@att.com> Change-Id: I46b9816eadceb7ef280e0e6789f07b4d4ca51519 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json')
-rw-r--r--feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json274
1 files changed, 274 insertions, 0 deletions
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"
+ }
+ }
+ }
+ }
+}