summaryrefslogtreecommitdiffstats
path: root/feature-lifecycle/src/main/resources
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
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')
-rw-r--r--feature-lifecycle/src/main/resources/schemas/onap.policies.controlloop.operational.common.Drools-1.0.0.schema.json315
-rw-r--r--feature-lifecycle/src/main/resources/schemas/onap.policies.drools.Controller-1.0.0.schema.json274
-rw-r--r--feature-lifecycle/src/main/resources/schemas/onap.policies.native.Drools-1.0.0.schema.json150
3 files changed, 739 insertions, 0 deletions
diff --git a/feature-lifecycle/src/main/resources/schemas/onap.policies.controlloop.operational.common.Drools-1.0.0.schema.json b/feature-lifecycle/src/main/resources/schemas/onap.policies.controlloop.operational.common.Drools-1.0.0.schema.json
new file mode 100644
index 00000000..8548f7f7
--- /dev/null
+++ b/feature-lifecycle/src/main/resources/schemas/onap.policies.controlloop.operational.common.Drools-1.0.0.schema.json
@@ -0,0 +1,315 @@
+{
+ "definitions": {},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "http://www.onap.org/policy/models/schemas/onap.policies.controlloop.operational.common.Drools.schema.json",
+ "type": "object",
+ "title": "The Root Schema",
+ "required": [
+ "type",
+ "type_version",
+ "version",
+ "metadata",
+ "properties"
+ ],
+ "properties": {
+ "type": {
+ "$id": "#/properties/type",
+ "type": "string",
+ "title": "Policy Type",
+ "default": "onap.policies.controlloop.operational.common.Drools",
+ "examples": [
+ "onap.policies.controlloop.operational.common.Drools"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "type_version": {
+ "$id": "#/properties/type_version",
+ "type": "string",
+ "title": "Policy Type Version",
+ "default": "1.0.0",
+ "examples": [
+ "1.0.0"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "name": {
+ "$id": "#/properties/name",
+ "type": "string",
+ "title": "Policy Name",
+ "default": "",
+ "examples": [
+ "example"
+ ],
+ "pattern": "^(.*)$"
+ },
+ "version": {
+ "$id": "#/properties/version",
+ "type": "string",
+ "title": "Policy Version",
+ "default": "1.0.0",
+ "examples": [
+ "1.0.0"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "metadata": {
+ "$id": "#/properties/metadata",
+ "type": "object",
+ "title": "Metadata",
+ "required": [
+ "policy-id"
+ ],
+ "properties": {
+ "policy-id": {
+ "$id": "#/properties/metadata/properties/policy-id",
+ "type": "string",
+ "title": "Policy ID",
+ "examples": [
+ "operational.restart"
+ ],
+ "pattern": "^(.+)$"
+ }
+ }
+ },
+ "properties": {
+ "$id": "#/properties/properties",
+ "type": "object",
+ "title": "Properties",
+ "required": [
+ "id",
+ "timeout",
+ "abatement",
+ "trigger",
+ "operations",
+ "controllerName"
+ ],
+ "properties": {
+ "id": {
+ "$id": "#/properties/properties/properties/id",
+ "type": "string",
+ "title": "Control Loop Name",
+ "examples": [
+ "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "timeout": {
+ "$id": "#/properties/properties/properties/timeout",
+ "type": "integer",
+ "title": "Timeout in seconds",
+ "minimum": 1,
+ "default": 30,
+ "examples": [
+ 3600
+ ]
+ },
+ "abatement": {
+ "$id": "#/properties/properties/properties/abatement",
+ "type": "boolean",
+ "title": "Abatement",
+ "default": false,
+ "examples": [
+ true
+ ]
+ },
+ "trigger": {
+ "$id": "#/properties/properties/properties/trigger",
+ "type": "string",
+ "title": "Trigger Operation",
+ "examples": [
+ "unique-policy-id-1-restart"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "operations": {
+ "$id": "#/properties/properties/properties/operations",
+ "type": "array",
+ "title": "Operations",
+ "items": {
+ "$id": "#/properties/properties/properties/operations/items",
+ "type": "object",
+ "title": "Items",
+ "uniqueItems": true,
+ "required": [
+ "id",
+ "description",
+ "operation",
+ "timeout",
+ "retries",
+ "success",
+ "failure",
+ "failure_timeout",
+ "failure_retries",
+ "failure_exception",
+ "failure_guard"
+ ],
+ "properties": {
+ "id": {
+ "$id": "#/properties/properties/properties/operations/items/properties/id",
+ "type": "string",
+ "title": "Operation Identifier",
+ "examples": [
+ "unique-policy-id-1-restart"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "description": {
+ "$id": "#/properties/properties/properties/operations/items/properties/description",
+ "type": "string",
+ "title": "Description",
+ "examples": [
+ "Restart the VM"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "operation": {
+ "$id": "#/properties/properties/properties/operations/items/properties/operation",
+ "type": "object",
+ "title": "Operation",
+ "required": [
+ "actor",
+ "recipe",
+ "target"
+ ],
+ "properties": {
+ "actor": {
+ "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/actor",
+ "type": "string",
+ "title": "Actor",
+ "examples": [
+ "APPC"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "recipe": {
+ "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/recipe",
+ "type": "string",
+ "title": "Recipe",
+ "examples": [
+ "Restart"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "target": {
+ "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/target",
+ "type": "object",
+ "title": "Target",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "$id": "#/properties/properties/properties/operations/items/properties/operation/properties/target/properties/type",
+ "type": "string",
+ "title": "Target Type",
+ "examples": [
+ "VNF"
+ ],
+ "pattern": "^(.+)$"
+ }
+ }
+ }
+ }
+ },
+ "timeout": {
+ "$id": "#/properties/properties/properties/operations/items/properties/timeout",
+ "type": "integer",
+ "title": "Operation Timeout in seconds",
+ "default": 10,
+ "minimum": 1,
+ "examples": [
+ 1200
+ ]
+ },
+ "retries": {
+ "$id": "#/properties/properties/properties/operations/items/properties/retries",
+ "type": "integer",
+ "title": "Number of Retries",
+ "default": 0,
+ "examples": [
+ 3
+ ]
+ },
+ "success": {
+ "$id": "#/properties/properties/properties/operations/items/properties/success",
+ "type": "string",
+ "title": "Success Treatment",
+ "default": "final_success",
+ "examples": [
+ "final_success",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "failure": {
+ "$id": "#/properties/properties/properties/operations/items/properties/failure",
+ "type": "string",
+ "title": "Failure Treatment",
+ "default": "final_failure",
+ "examples": [
+ "final_failure",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "failure_timeout": {
+ "$id": "#/properties/properties/properties/operations/items/properties/failure_timeout",
+ "type": "string",
+ "title": "Failure Timeout Treatment",
+ "default": "final_failure_timeout",
+ "examples": [
+ "final_failure_timeout",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "failure_retries": {
+ "$id": "#/properties/properties/properties/operations/items/properties/failure_retries",
+ "type": "string",
+ "title": "Failure Retries Treatment",
+ "default": "final_failure_retries",
+ "examples": [
+ "final_failure_retries",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "failure_exception": {
+ "$id": "#/properties/properties/properties/operations/items/properties/failure_exception",
+ "type": "string",
+ "title": "Failure Exception Treatment",
+ "default": "",
+ "examples": [
+ "final_failure_exception",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "failure_guard": {
+ "$id": "#/properties/properties/properties/operations/items/properties/failure_guard",
+ "type": "string",
+ "title": "Failure Guard Treatment",
+ "default": "final_failure_guard",
+ "examples": [
+ "final_failure_guard",
+ "unique-policy-id-2"
+ ],
+ "pattern": "^(.+)$"
+ }
+ }
+ }
+ },
+ "controllerName": {
+ "$id": "#/properties/properties/properties/controllerName",
+ "type": "string",
+ "title": "Controller Name",
+ "default": "",
+ "examples": [
+ "usecases"
+ ],
+ "pattern": "^(.+)$"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
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"
+ }
+ }
+ }
+ }
+}
diff --git a/feature-lifecycle/src/main/resources/schemas/onap.policies.native.Drools-1.0.0.schema.json b/feature-lifecycle/src/main/resources/schemas/onap.policies.native.Drools-1.0.0.schema.json
new file mode 100644
index 00000000..d1866c6b
--- /dev/null
+++ b/feature-lifecycle/src/main/resources/schemas/onap.policies.native.Drools-1.0.0.schema.json
@@ -0,0 +1,150 @@
+{
+ "definitions": {},
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "$id": "http://www.onap.org/policy/models/schemas/onap.policies.controlloop.native.Drools.schema.json",
+ "type": "object",
+ "title": "Domain onap.policies.controlloop.native.Drools 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": "Properties",
+ "required": [
+ "rulesArtifact"
+ ],
+ "properties": {
+ "rulesArtifact": {
+ "$id": "#/properties/properties/properties/rulesArtifact",
+ "type": "object",
+ "title": "Rules Artifact",
+ "required": [
+ "groupId",
+ "artifactId",
+ "version"
+ ],
+ "properties": {
+ "groupId": {
+ "$id": "#/properties/properties/properties/rulesArtifact/properties/groupId",
+ "type": "string",
+ "title": "Group Id",
+ "examples": [
+ "org.onap.policy.controlloop"
+ ],
+ "pattern": "^(.*)$"
+ },
+ "artifactId": {
+ "$id": "#/properties/properties/properties/rulesArtifact/properties/artifactId",
+ "type": "string",
+ "title": "Artifact ID",
+ "examples": [
+ "example"
+ ],
+ "pattern": "^(.*)$"
+ },
+ "version": {
+ "$id": "#/properties/properties/properties/rulesArtifact/properties/version",
+ "type": "string",
+ "title": "Version",
+ "examples": [
+ "1.0.0"
+ ],
+ "pattern": "^(.*)$"
+ }
+ }
+ },
+ "controller": {
+ "$id": "#/properties/properties/properties/controller",
+ "type": "object",
+ "title": "Controller",
+ "required": [
+ "name",
+ "version"
+ ],
+ "properties": {
+ "name": {
+ "$id": "#/properties/properties/properties/controller/properties/name",
+ "type": "string",
+ "title": "Name",
+ "examples": [
+ "example"
+ ],
+ "pattern": "^(.+)$"
+ },
+ "version": {
+ "$id": "#/properties/properties/properties/controller/properties/version",
+ "type": "string",
+ "title": "Version",
+ "examples": [
+ "1.0.0"
+ ],
+ "pattern": "^(.*)$"
+ }
+ }
+ }
+ }
+ }
+ }
+}