summaryrefslogtreecommitdiffstats
path: root/policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json
diff options
context:
space:
mode:
authorjhh <jorge.hernandez-herrero@att.com>2020-03-05 22:32:58 -0600
committerjhh <jorge.hernandez-herrero@att.com>2020-03-10 11:29:27 -0500
commit3f563fe552e35b3bc3d95c47a3cabdfe7645ad07 (patch)
tree9439dc357096b69b670e7dad666084a5cb08dcfb /policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json
parent845cbbc74445909613aff1912d3cfc9083c57d53 (diff)
policy routing and reorg into policy-domains
- Native Drools Controller Policy support. - Move domain policies into the policy-domains project. - Route legacy/compliant operational policies to one or all controller supporting the policy's policy type. - Enhancements to scripts to invoke commands external to the container. Issue-ID: POLICY-2388 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Id41f04d10a28d2ea86bdd41334e499c28d0438ae Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Diffstat (limited to 'policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json')
-rw-r--r--policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json274
1 files changed, 274 insertions, 0 deletions
diff --git a/policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json b/policy-domains/src/main/resources/schemas/onap.policies.native.drools.Controller-1.0.0.schema.json
new file mode 100644
index 00000000..41fbf4e9
--- /dev/null
+++ b/policy-domains/src/main/resources/schemas/onap.policies.native.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.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"
+ }
+ }
+ }
+ }
+ }
+}