Add new Operational Policy Type
[policy/models.git] / models-examples / src / main / resources / policytypes / onap.policies.controlloop.operational.Common.yaml
diff --git a/models-examples/src/main/resources/policytypes/onap.policies.controlloop.operational.Common.yaml b/models-examples/src/main/resources/policytypes/onap.policies.controlloop.operational.Common.yaml
new file mode 100644 (file)
index 0000000..dfc96ba
--- /dev/null
@@ -0,0 +1,169 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+policy_types:
+    onap.policies.controlloop.operational.Common:
+        derived_from: tosca.policies.Root
+        version: 1.0.0
+        description: Operational Policy for Control Loop execution
+        properties:
+            id:
+                type: String
+                description: The unique control loop id.
+                required: true
+            timeout:
+                type: Integer
+                description: |
+                    Overall timeout for executing all the operations. This timeout should equal or exceed the total
+                    timeout for each operation listed.
+                required: true
+            abatement:
+                type: Boolean
+                description: Whether an abatement event message will be expected for the control loop from DCAE.
+                required: true
+                default: false
+            trigger:
+                type: String
+                description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
+                required: true
+            operations:
+                type: List
+                description: List of operations to be performed when Control Loop is triggered.
+                required: true
+                entry_schema:
+                    type: onap.datatype.controlloop.Operation
+
+    onap.policies.controlloop.operational.common.Apex:
+        derived_from: onap.policies.controlloop.operational.Common
+        type_version: 1.0.0
+        version: 1.0.0
+        description: Operational policies for Apex PDP
+        properties:
+
+    onap.policies.controlloop.operational.common.Drools:
+        derived_from: onap.policies.controlloop.operational.Common
+        type_version: 1.0.0
+        version: 1.0.0
+        description: Operational policies for Drools PDP
+        properties:
+            controllerName:
+                type: String
+                description: Drools controller properties
+                required: false
+
+data_types:
+    # TBD if this is needed
+    onap.datatype.controlloop.operation.Failure:
+        derived_from: tosca.datatypes.Root
+        description: Captures information of an operational failure performed for control loop
+        properties:
+            messages:
+                type: String
+                description: error message
+                required: true
+            category:
+                type: String
+                description: |
+                    The category the error occurred in. Whether this is a general error from the actor, or the operation
+                    timed out, retries were exhausted in trying to execute the operation, a guard policy prevented the
+                    operation from occuring, or an exception in the system caused the failure.
+                constraints:
+                - valid_values: [error, timeout, retries, guard, exception]
+
+    onap.datatype.controlloop.Target:
+        derived_from: tosca.datatypes.Root
+        description: Definition for a entity in A&AI to perform a control loop operation on
+        properties:
+            targetType:
+                type: String
+                description: Category for the target type
+                required: true
+                constraints:
+                - valid_values: [VNF, VM, VFMODULE, PNF]
+            entityIds:
+                type: Map
+                description: |
+                    Map of values that identify the resource. If none are provided, it is assumed that the
+                    entity that generated the ONSET event will be the target.
+                required: false
+
+    onap.datatype.controlloop.Actor:
+        derived_from: tosca.datatypes.Root
+        description: An actor/operation/target definition
+        properties:
+            actor:
+                type: String
+                description: The actor performing the operation.
+                required: true
+            operation:
+                type: String
+                description: The operation the actor is performing.
+                required: true
+            target:
+                type: String
+                description: The resource the operation should be performed on.
+                required: true
+                metadata:
+                    clamp_possible_values: <string:see clamp project for syntax>
+            payload:
+                type: Map
+                description: Name/value pairs of payload information passed by Policy to the actor
+                required: false
+                entry_schema:
+                    type: String
+
+    onap.datatype.controlloop.Operation:
+        derived_from: tosca.datatypes.Root
+        description: An operation supported by an actor
+        properties:
+            id:
+                type: String
+                description: Unique identifier for the operation
+                required: true
+            description:
+                type: String
+                description: A user-friendly description of the intent for the operation
+                required: false
+            operation:
+                type: onap.datatype.controlloop.Actor
+                description: The definition of the operation to be performed.
+                required: true
+                metadata:
+                    clamp_possible_values: <string:see clamp project for syntax>
+            timeout:
+                type: Integer
+                description: The amount of time for the actor to perform the operation.
+                required: true
+            retries:
+                type: Integer
+                description: The number of retries the actor should attempt to perform the operation.
+                required: true
+                default: 0
+            success:
+                type: String
+                description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
+                required: false
+                default: final_success
+            failure:
+                type: String
+                description: Points to the operation to invoke on Actor operation failure.
+                required: false
+                default: final_failure
+            failure_timeout:
+                type: String
+                description: Points to the operation to invoke when the time out for the operation occurs.
+                required: false
+                default: final_failure_timeout
+            failure_retries:
+                type: String
+                description: Points to the operation to invoke when the current operation has exceeded its max retries.
+                required: false
+                default: final_failure_retries
+            failure_exception:
+                type: String
+                description: Points to the operation to invoke when the current operation causes an exception.
+                required: false
+                default: final_failure_exception
+            failure_guard:
+                type: String
+                description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
+                required: false
+                default: final_failure_guard