Add controlloop components to SDC design 45/126845/2
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Mon, 10 Jan 2022 16:32:40 +0000 (16:32 +0000)
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Mon, 31 Jan 2022 16:23:03 +0000 (16:23 +0000)
This commit will add controlloop components like Participant,
ControlLoopElement and ControlLoop to SDC. Addition of these
components in SDC will enable to build a CSAR with controloop
components and establish a controlloop by distributing the CSAR
to policy-distribution and thereby to CLAMP.

Issue-ID: SDC-3842
Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech>
Change-Id: I6f417f7a635f6f0dec3ce6163c5b41ada374567a

catalog-be/src/main/docker/backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-configuration.yaml.erb
catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml
catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml
catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json [new file with mode: 0644]
catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml [new file with mode: 0644]

index 974fc00..5a02554 100644 (file)
@@ -1028,6 +1028,8 @@ serviceBaseNodeTypes:
     required: true
     baseTypes:
       - tosca.nodes.nfv.NS
+  ControlLoop:
+    required: false
 
 workloadContext: Production
 
@@ -1255,6 +1257,7 @@ cadiFilterParams:
 # This configuration entry lists all node type names prefix that shall be allowed on SDC.
 definedResourceNamespace:
   - org.openecomp.resource.
+  - org.onap.policy.clamp.controlloop.
 
 # This configuration entry lists all Directives values that shall be allowed on SDC.
 directives:
index 7889af0..b2be823 100644 (file)
@@ -55,6 +55,12 @@ services:
           "ETSI SOL001 v2.5.1",
           "SDC AID"
       ]
+    ControlLoop:
+      name: "ControlLoop"
+      icons: ['network_l_1-3']
+      models: [
+          "CONTROL LOOP"
+      ]
 resources:
   NetworkLayer23:
     name: "Network L2-3"
@@ -128,6 +134,12 @@ resources:
       NetworkService:
           name: "Network Service"
           icons: ['network']
+      ControlLoopElement:
+          name: "ControlLoop Element"
+          icons: ['network']
+      Participant:
+          name: "Participant"
+          icons: ['network']
   NetworkConnectivity:
     name: "Network Connectivity"
     subcategories:
index e294528..a6071e1 100644 (file)
@@ -3155,3 +3155,13 @@ onap.datatypes.partner.sppartner_details:
       type: string
       description: Authentication  details to access the Service URL
       required: false
+
+onap.datatypes.ToscaConceptIdentifier:
+  derived_from: tosca.datatypes.Root
+  properties:
+    name:
+      type: string
+      required: true
+    version:
+      type: string
+      required: true
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/imports/controlloop.yaml
new file mode 100644 (file)
index 0000000..49fd063
--- /dev/null
@@ -0,0 +1,650 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+description: ControlLoop types definitions version 1.0.0
+
+data_types:
+  onap.datatypes.ToscaConceptIdentifier:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      version:
+        type: string
+        required: true
+  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
+        metadata:
+          clamp_possible_values: 'ClampExecution:CSAR_RESOURCES'
+        entry_schema:
+          type: string
+  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
+        metadata:
+          clamp_possible_values: 'Dictionary:DefaultActors,ClampExecution:CDS/actor'
+      operation:
+        type: string
+        description: The operation the actor is performing.
+        metadata:
+          clamp_possible_values: 'Dictionary:DefaultOperations,ClampExecution:CDS/operation'
+        required: true
+      target:
+        type: onap.datatype.controlloop.Target
+        description: The resource the operation should be performed on.
+        required: true
+      payload:
+        type: map
+        description: Name/value pairs of payload information passed by Policy to the actor
+        required: false
+        metadata:
+          clamp_possible_values: 'ClampExecution:CDS/payload'
+        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
+      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
+  onap.datatypes.monitoring.managedObjectDNsBasic:
+    constraints: []
+    properties:
+      DN:
+        name: DN
+        type: string
+        typeVersion: 0.0.0
+        description: Managed object distinguished name
+        required: true
+        constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.managedObjectDNsBasic
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.managedObjectDNsBasics:
+    constraints: []
+    properties:
+      managedObjectDNsBasic:
+        name: managedObjectDNsBasic
+        type: map
+        typeVersion: 0.0.0
+        description: Managed object distinguished name object
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.managedObjectDNsBasic
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.managedObjectDNsBasics
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.measurementGroup:
+    constraints: []
+    properties:
+      measurementTypes:
+        name: measurementTypes
+        type: list
+        typeVersion: 0.0.0
+        description: List of measurement types
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.measurementTypes
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+      managedObjectDNsBasic:
+        name: managedObjectDNsBasic
+        type: list
+        typeVersion: 0.0.0
+        description: List of managed object distinguished names
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.managedObjectDNsBasics
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.measurementGroup
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.measurementGroups:
+    constraints: []
+    properties:
+      measurementGroup:
+        name: measurementGroup
+        type: map
+        typeVersion: 0.0.0
+        description: Measurement Group
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.measurementGroup
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.measurementGroups
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.measurementType:
+    constraints: []
+    properties:
+      measurementType:
+        name: measurementType
+        type: string
+        typeVersion: 0.0.0
+        description: Measurement type
+        required: true
+        constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.measurementType
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.measurementTypes:
+    constraints: []
+    properties:
+      measurementType:
+        name: measurementType
+        type: map
+        typeVersion: 0.0.0
+        description: Measurement type object
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.measurementType
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.measurementTypes
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.nfFilter:
+    constraints: []
+    properties:
+      modelNames:
+        name: modelNames
+        type: list
+        typeVersion: 0.0.0
+        description: List of model names
+        required: true
+        constraints: []
+        entry_schema:
+          type: string
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+      modelInvariantIDs:
+        name: modelInvariantIDs
+        type: list
+        typeVersion: 0.0.0
+        description: List of model invariant IDs
+        required: true
+        constraints: []
+        entry_schema:
+          type: string
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+      modelVersionIDs:
+        name: modelVersionIDs
+        type: list
+        typeVersion: 0.0.0
+        description: List of model version IDs
+        required: true
+        constraints: []
+        entry_schema:
+          type: string
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+      nfNames:
+        name: nfNames
+        type: list
+        typeVersion: 0.0.0
+        description: List of network functions
+        required: true
+        constraints: []
+        entry_schema:
+          type: string
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.nfFilter
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  onap.datatypes.monitoring.subscription:
+    constraints: []
+    properties:
+      measurementGroups:
+        name: measurementGroups
+        type: list
+        typeVersion: 0.0.0
+        description: Measurement Groups
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.measurementGroups
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+      fileBasedGP:
+        name: fileBasedGP
+        type: integer
+        typeVersion: 0.0.0
+        description: File based granularity period
+        required: true
+        constraints: []
+        metadata: {}
+      fileLocation:
+        name: fileLocation
+        type: string
+        typeVersion: 0.0.0
+        description: ROP file location
+        required: true
+        constraints: []
+        metadata: {}
+      subscriptionName:
+        name: subscriptionName
+        type: string
+        typeVersion: 0.0.0
+        description: Name of the subscription
+        required: true
+        constraints: []
+        metadata: {}
+      administrativeState:
+        name: administrativeState
+        type: string
+        typeVersion: 0.0.0
+        description: State of the subscription
+        required: true
+        constraints:
+          - valid_values:
+              - LOCKED
+              - UNLOCKED
+        metadata: {}
+      nfFilter:
+        name: nfFilter
+        type: map
+        typeVersion: 0.0.0
+        description: Network function filter
+        required: true
+        constraints: []
+        entry_schema:
+          type: onap.datatypes.monitoring.nfFilter
+          typeVersion: 0.0.0
+          constraints: []
+        metadata: {}
+    name: onap.datatypes.monitoring.subscription
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    metadata: {}
+  org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
+    version: 1.0.0
+    derived_from: tosca.datatypes.Root
+    properties:
+      restRequestId:
+        type: onap.datatypes.ToscaConceptIdentifier
+        typeVersion: 1.0.0
+        required: true
+        description: The name and version of a REST request to be sent to a REST endpoint
+      httpMethod:
+        type: string
+        required: true
+        constraints:
+          - valid_values:
+              - POST
+              - PUT
+              - GET
+              - DELETE
+        description: The REST method to use
+      path:
+        type: string
+        required: true
+        description: The path of the REST request relative to the base URL
+      body:
+        type: string
+        required: false
+        description: The body of the REST request for PUT and POST requests
+      expectedResponse:
+        type: integer
+        required: true
+        constraints: []
+        description: THe expected HTTP status code for the REST request
+    org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
+      version: 1.0.0
+      derived_from: tosca.datatypes.Root
+      properties:
+        configurationEntityId:
+          type: onap.datatypes.ToscaConceptIdentifier
+          typeVersion: 1.0.0
+          required: true
+          description: The name and version of a Configuration Entity to be handled by the
+            HTTP Control Loop Element
+        restSequence:
+          type: list
+          entry_schema:
+            type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest
+            typeVersion: 1.0.0
+          description: A sequence of REST commands to send to the REST endpoint
+policy_types:
+  onap.policies.Monitoring:
+    derived_from: tosca.policies.Root
+    description: a base policy type for all policies that govern monitoring provisioning
+    version: 1.0.0
+    name: onap.policies.Monitoring
+  onap.policies.monitoring.dcae-pm-subscription-handler:
+    properties:
+      pmsh_policy:
+        name: pmsh_policy
+        type: onap.datatypes.monitoring.subscription
+        typeVersion: 0.0.0
+        description: PMSH Policy JSON
+        required: false
+        constraints: []
+        metadata: {}
+    name: onap.policies.monitoring.dcae-pm-subscription-handler
+    version: 1.0.0
+    derived_from: onap.policies.Monitoring
+    metadata: {}
+  onap.policies.controlloop.operational.Common:
+    derived_from: tosca.policies.Root
+    version: 1.0.0
+    name: onap.policies.controlloop.operational.Common
+    description: Operational Policy for Control Loop execution. Originated in Frankfurt to
+      support TOSCA Compliant Policy Types. This does NOT support the legacy Policy YAML policy type.
+    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
+    name: onap.policies.controlloop.operational.common.Apex
+    description: Operational policies for Apex PDP
+    properties:
+      engineServiceParameters:
+        type: string
+        description: The engine parameters like name, instanceCount, policy implementation,
+          parameters etc.
+        required: true
+      eventInputParameters:
+        type: string
+        description: The event input parameters.
+        required: true
+      eventOutputParameters:
+        type: string
+        description: The event output parameters.
+        required: true
+      javaProperties:
+        type: string
+        description: Name/value pairs of properties to be set for APEX if needed.
+        required: false
+node_types:
+  org.onap.policy.clamp.controlloop.Participant:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+  org.onap.policy.clamp.controlloop.ControlLoopElement:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      participant_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: true
+        metadata:
+          common: true
+      participantType:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: true
+        metadata:
+          common: true
+        description: The identity of the participant type that hosts this type of Control
+          Loop Element
+      startPhase:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        metadata:
+          common: true
+        description: A value indicating the start phase in which this control loop element
+          will be started, the first start phase is zero. Control Loop Elements
+          are started in their start_phase order and stopped in reverse start
+          phase order. Control Loop Elements with the same start phase are
+          started and stopped simultaneously
+      uninitializedToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from
+          uninitialized to passive
+      passiveToRunningTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to
+          running
+      runningToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from running to
+          passive
+      passiveToUninitializedTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to
+          uninitialized
+  org.onap.policy.clamp.controlloop.ControlLoop:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      elements:
+        type: list
+        required: true
+        metadata:
+          common: true
+        entry_schema:
+          type: onap.datatypes.ToscaConceptIdentifier
+        description: Specifies a list of control loop element definitions that make up this
+          control loop definition
+  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      policy_type_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: true
+      policy_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: false
+  org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      cds_blueprint_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: true
+  org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      chart:
+        type: string
+        required: true
+      configs:
+        type: list
+        required: false
+      requirements:
+        type: string
+        required: false
+      templates:
+        type: list
+        required: false
+        entry_schema: null
+      values:
+        type: string
+        required: true
+  org.onap.policy.clamp.controlloop.HttpControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      baseUrl:
+        type: string
+        required: true
+        description: The base URL to be prepended to each path, identifies the host for the
+          REST endpoints.
+      httpHeaders:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+        description: HTTP headers to send on REST requests
+      configurationEntities:
+        type: map
+        required: true
+        entry_schema:
+          type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity
+          typeVersion: 1.0.0
+        description: The connfiguration entities the Control Loop Element is managing and
+          their associated REST requests
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/payload.json
new file mode 100644 (file)
index 0000000..041cffc
--- /dev/null
@@ -0,0 +1,4 @@
+{
+  "name": "CONTROL LOOP",
+  "modelType": "NORMATIVE"
+}
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/data-types/dataTypes.yml
new file mode 100644 (file)
index 0000000..436c6c9
--- /dev/null
@@ -0,0 +1,432 @@
+tosca.datatypes.Root:
+  description: The TOSCA root Data Type all other TOSCA base Data Types derive from
+integer:
+  derived_from: tosca.datatypes.Root
+string:
+  derived_from: tosca.datatypes.Root
+boolean:
+  derived_from: tosca.datatypes.Root
+float:
+  derived_from: tosca.datatypes.Root
+list:
+  derived_from: tosca.datatypes.Root
+map:
+  derived_from: tosca.datatypes.Root
+json:
+  derived_from: tosca.datatypes.Root
+scalar-unit:
+  derived_from: tosca.datatypes.Root
+scalar-unit.size:
+  derived_from: scalar-unit
+scalar-unit.time:
+  derived_from: scalar-unit
+scalar-unit.frequency:
+  derived_from: scalar-unit
+onap.datatypes.ToscaConceptIdentifier:
+  derived_from: tosca.datatypes.Root
+  properties:
+    name:
+      type: string
+      required: true
+    version:
+      type: string
+      required: true
+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
+      metadata:
+        clamp_possible_values: 'ClampExecution:CSAR_RESOURCES'
+      entry_schema:
+        type: string
+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
+      metadata:
+        clamp_possible_values: 'Dictionary:DefaultActors,ClampExecution:CDS/actor'
+    operation:
+      type: string
+      description: The operation the actor is performing.
+      metadata:
+        clamp_possible_values: 'Dictionary:DefaultOperations,ClampExecution:CDS/operation'
+      required: true
+    target:
+      type: onap.datatype.controlloop.Target
+      description: The resource the operation should be performed on.
+      required: true
+    payload:
+      type: map
+      description: Name/value pairs of payload information passed by Policy to the actor
+      required: false
+      metadata:
+        clamp_possible_values: 'ClampExecution:CDS/payload'
+      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
+    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
+onap.datatypes.monitoring.managedObjectDNsBasic:
+  constraints: []
+  properties:
+    DN:
+      name: DN
+      type: string
+      typeVersion: 0.0.0
+      description: Managed object distinguished name
+      required: true
+      constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.managedObjectDNsBasic
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.managedObjectDNsBasics:
+  constraints: []
+  properties:
+    managedObjectDNsBasic:
+      name: managedObjectDNsBasic
+      type: map
+      typeVersion: 0.0.0
+      description: Managed object distinguished name object
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.managedObjectDNsBasic
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.managedObjectDNsBasics
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.measurementGroup:
+  constraints: []
+  properties:
+    measurementTypes:
+      name: measurementTypes
+      type: list
+      typeVersion: 0.0.0
+      description: List of measurement types
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.measurementTypes
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+    managedObjectDNsBasic:
+      name: managedObjectDNsBasic
+      type: list
+      typeVersion: 0.0.0
+      description: List of managed object distinguished names
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.managedObjectDNsBasics
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.measurementGroup
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.measurementGroups:
+  constraints: []
+  properties:
+    measurementGroup:
+      name: measurementGroup
+      type: map
+      typeVersion: 0.0.0
+      description: Measurement Group
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.measurementGroup
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.measurementGroups
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.measurementType:
+  constraints: []
+  properties:
+    measurementType:
+      name: measurementType
+      type: string
+      typeVersion: 0.0.0
+      description: Measurement type
+      required: true
+      constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.measurementType
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.measurementTypes:
+  constraints: []
+  properties:
+    measurementType:
+      name: measurementType
+      type: map
+      typeVersion: 0.0.0
+      description: Measurement type object
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.measurementType
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.measurementTypes
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.nfFilter:
+  constraints: []
+  properties:
+    modelNames:
+      name: modelNames
+      type: list
+      typeVersion: 0.0.0
+      description: List of model names
+      required: true
+      constraints: []
+      entry_schema:
+        type: string
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+    modelInvariantIDs:
+      name: modelInvariantIDs
+      type: list
+      typeVersion: 0.0.0
+      description: List of model invariant IDs
+      required: true
+      constraints: []
+      entry_schema:
+        type: string
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+    modelVersionIDs:
+      name: modelVersionIDs
+      type: list
+      typeVersion: 0.0.0
+      description: List of model version IDs
+      required: true
+      constraints: []
+      entry_schema:
+        type: string
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+    nfNames:
+      name: nfNames
+      type: list
+      typeVersion: 0.0.0
+      description: List of network functions
+      required: true
+      constraints: []
+      entry_schema:
+        type: string
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.nfFilter
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+onap.datatypes.monitoring.subscription:
+  constraints: []
+  properties:
+    measurementGroups:
+      name: measurementGroups
+      type: list
+      typeVersion: 0.0.0
+      description: Measurement Groups
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.measurementGroups
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+    fileBasedGP:
+      name: fileBasedGP
+      type: integer
+      typeVersion: 0.0.0
+      description: File based granularity period
+      required: true
+      constraints: []
+      metadata: {}
+    fileLocation:
+      name: fileLocation
+      type: string
+      typeVersion: 0.0.0
+      description: ROP file location
+      required: true
+      constraints: []
+      metadata: {}
+    subscriptionName:
+      name: subscriptionName
+      type: string
+      typeVersion: 0.0.0
+      description: Name of the subscription
+      required: true
+      constraints: []
+      metadata: {}
+    administrativeState:
+      name: administrativeState
+      type: string
+      typeVersion: 0.0.0
+      description: State of the subscription
+      required: true
+      constraints:
+        - valid_values:
+            - LOCKED
+            - UNLOCKED
+      metadata: {}
+    nfFilter:
+      name: nfFilter
+      type: map
+      typeVersion: 0.0.0
+      description: Network function filter
+      required: true
+      constraints: []
+      entry_schema:
+        type: onap.datatypes.monitoring.nfFilter
+        typeVersion: 0.0.0
+        constraints: []
+      metadata: {}
+  name: onap.datatypes.monitoring.subscription
+  version: 0.0.0
+  derived_from: tosca.datatypes.Root
+  metadata: {}
+org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
+  version: 1.0.0
+  derived_from: tosca.datatypes.Root
+  properties:
+    restRequestId:
+      type: onap.datatypes.ToscaConceptIdentifier
+      typeVersion: 1.0.0
+      required: true
+      description: The name and version of a REST request to be sent to a REST endpoint
+    httpMethod:
+      type: string
+      required: true
+      constraints:
+        - valid_values:
+            - POST
+            - PUT
+            - GET
+            - DELETE
+      description: The REST method to use
+    path:
+      type: string
+      required: true
+      description: The path of the REST request relative to the base URL
+    body:
+      type: string
+      required: false
+      description: The body of the REST request for PUT and POST requests
+    expectedResponse:
+      type: integer
+      required: true
+      constraints: []
+      description: THe expected HTTP status code for the REST request
+org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
+  version: 1.0.0
+  derived_from: tosca.datatypes.Root
+  properties:
+    configurationEntityId:
+      type: onap.datatypes.ToscaConceptIdentifier
+      typeVersion: 1.0.0
+      required: true
+      description: The name and version of a Configuration Entity to be handled by the HTTP
+        Control Loop Element
+    restSequence:
+      type: list
+      entry_schema:
+        type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest
+        typeVersion: 1.0.0
+        constraints: []
+      description: A sequence of REST commands to send to the REST endpoint
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/metadata.json
new file mode 100644 (file)
index 0000000..e3e1f8c
--- /dev/null
@@ -0,0 +1,188 @@
+{
+  "nodeMetadataList": [
+    {
+      "contactId": "jh0003",
+      "toscaName": "tosca.nodes.Root",
+      "name": "Root",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA Node Type all other TOSCA base Node Types derive from",
+      "resourceIconPath": "defaulticon",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Abstract"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "Root",
+        "tosca.nodes.Root"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.Participant",
+      "name": "Participant",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the Participant",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "Participant",
+        "org.onap.policy.clamp.controlloop.Participant"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.ControlLoopElement",
+      "name": "ControlLoopElement",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the ControlLoopElement",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "ControlLoopElement",
+        "org.onap.policy.clamp.controlloop.ControlLoopElement"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.ControlLoop",
+      "name": "ControlLoop",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the ControlLoop",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "ControlLoop",
+        "org.onap.policy.clamp.controlloop.ControlLoop"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement",
+      "name": "PolicyControlLoopElement",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the PolicyControlLoopElement",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "PolicyControlLoopElement",
+        "org.onap.policy.clamp.controlloop.PolicyControlLoopElement"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.CDSControlLoopElement",
+      "name": "CDSControlLoopElement",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the CDSControlLoopElement",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "CDSControlLoopElement",
+        "org.onap.policy.clamp.controlloop.CDSControlLoopElement"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement",
+      "name": "K8SMicroserviceControlLoopElement",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the K8SMicroserviceControlLoopElement",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "K8SMicroserviceControlLoopElement",
+        "org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement"
+      ]
+    },
+    {
+      "contactId": "jh0003",
+      "toscaName": "org.onap.policy.clamp.controlloop.HttpControlLoopElement",
+      "name": "HttpControlLoopElement",
+      "model": "CONTROL LOOP",
+      "description": "The TOSCA service template representing the HttpControlLoopElement",
+      "resourceIconPath": "defaulticon",
+      "resourceType": "VFC",
+      "categories": [
+        {
+          "name": "Generic",
+          "subcategories": [
+            {
+              "name": "Infrastructure"
+            }
+          ]
+        }
+      ],
+      "tags": [
+        "HttpControlLoopElement",
+        "org.onap.policy.clamp.controlloop.HttpControlLoopElement"
+      ]
+    }
+  ]
+}
+
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/node-types/nodeTypes.yaml
new file mode 100644 (file)
index 0000000..e68d1e5
--- /dev/null
@@ -0,0 +1,198 @@
+tosca_definitions_version: tosca_simple_yaml_1_2
+description: ETSI NFV SOL 001 Root node type definitions version 2.5.1
+
+node_types:
+  tosca.nodes.Root:
+    description: The TOSCA Node Type all other TOSCA base Node Types derive from
+    attributes:
+      tosca_id:
+        type: string
+      tosca_name:
+        type: string
+      state:
+        type: string
+    capabilities:
+      feature:
+        type: tosca.capabilities.Node
+    requirements:
+      - dependency:
+          capability: tosca.capabilities.Node
+          node: tosca.nodes.Root
+          relationship: tosca.relationships.DependsOn
+          occurrences: [ 0, UNBOUNDED ]
+    interfaces:
+      Standard:
+        type: tosca.interfaces.node.lifecycle.Standard
+  org.onap.policy.clamp.controlloop.Participant:
+    derived_from: tosca.nodes.Root
+    properties:
+      provider:
+        type: string
+        description: Provider of the participant
+        required: false
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
+  org.onap.policy.clamp.controlloop.ControlLoopElement:
+    derived_from: tosca.nodes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      version:
+        type: string
+        description: Identifies the version of the ControlLoopElement.
+        required: true
+      participant_id:
+        type: string
+        required: true
+        metadata:
+          common: true
+      participantType:
+        type: string
+        required: true
+        metadata:
+          common: true
+        description: The identity of the participant type that hosts this type of Control Loop Element
+      startPhase:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        metadata:
+          common: true
+        description: A value indicating the start phase in which this control loop element will be started, the
+          first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
+          in reverse start phase order. Control Loop Elements with the same start phase are started and
+          stopped simultaneously
+      uninitializedToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from uninitialized to passive
+      passiveToRunningTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to running
+      runningToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from running to passive
+      passiveToUninitializedTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to uninitialized
+  org.onap.policy.clamp.controlloop.ControlLoop:
+    derived_from: tosca.nodes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
+      elements:
+        type: list
+        required: true
+        metadata:
+          common: true
+        entry_schema:
+          type: string
+        description: Specifies a list of control loop element definitions that make up this control loop definition
+  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      policy_type_id:
+        type: string
+        required: true
+      policy_id:
+        type: string
+        required: false
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
+  org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      cds_blueprint_id:
+        type: string
+        required: true
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
+  org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      chart:
+        type: string
+        required: true
+      configs:
+        type: list
+        required: false
+      requirements:
+        type: string
+        required: false
+      templates:
+        type: list
+        required: false
+        entry_schema:
+      values:
+        type: string
+        required: true
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
+  org.onap.policy.clamp.controlloop.HttpControlLoopElement:
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      baseUrl:
+        type: string
+        required: true
+        description: The base URL to be prepended to each path, identifies the host for the REST endpoints.
+      httpHeaders:
+        type: map
+        required: false
+        entry_schema:
+          type: string
+        description: HTTP headers to send on REST requests
+      configurationEntities:
+        type: map
+        required: true
+        entry_schema:
+          type: string
+          typeVersion: 1.0.0
+        description: The connfiguration entities the Control Loop Element is managing and their associated REST requests
+      version:
+        type: string
+        description: Identifies the version of the participant.
+        required: true
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.json
new file mode 100644 (file)
index 0000000..f22d1c3
--- /dev/null
@@ -0,0 +1,26 @@
+{
+  "tosca.policies.Root": {
+    "displayName": "Root",
+    "icon": "policy-root"
+  },
+  "tosca.policies.Placement": {
+    "displayName": "Placement",
+    "icon": "policy-placement"
+  },
+  "onap.policies.Monitoring": {
+    "displayName": "Monotiring",
+    "icon": "policy-monotiring"
+  },
+  "onap.policies.monitoring.dcae-pm-subscription-handler": {
+    "displayName": "DCAE-PM-Subscription-Handler",
+    "icon": "policy-placement"
+  },
+  "onap.policies.controlloop.operational.Common": {
+    "displayName": "ControLoopOperationalCommon",
+    "icon": "policy-placement"
+  },
+  "onap.policies.controlloop.operational.common.Apex": {
+    "displayName": "ControlLoopOperationalCommonApex",
+    "icon": "policy-placement"
+  }
+}
diff --git a/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml b/catalog-be/src/main/resources/import/tosca/models/init/controlloop/tosca/policy-types/policyTypes.yml
new file mode 100644 (file)
index 0000000..f3f14cb
--- /dev/null
@@ -0,0 +1,82 @@
+tosca.policies.Root:
+  description: The TOSCA Policy Type all other TOSCA Policy Types derive from
+tosca.policies.Placement:
+  derived_from: tosca.policies.Root
+  description: The TOSCA Policy Type definition that is used to govern placement of TOSCA
+    nodes or groups of nodes.
+onap.policies.Monitoring:
+  derived_from: tosca.policies.Root
+  description: a base policy type for all policies that govern monitoring provisioning
+  version: 1.0.0
+  name: onap.policies.Monitoring
+onap.policies.monitoring.dcae-pm-subscription-handler:
+  properties:
+    pmsh_policy:
+      name: pmsh_policy
+      type: onap.datatypes.monitoring.subscription
+      typeVersion: 0.0.0
+      description: PMSH Policy JSON
+      required: false
+      constraints: []
+      metadata: {}
+  name: onap.policies.monitoring.dcae-pm-subscription-handler
+  version: 1.0.0
+  derived_from: onap.policies.Monitoring
+  metadata: {}
+onap.policies.controlloop.operational.Common:
+  derived_from: tosca.policies.Root
+  version: 1.0.0
+  name: onap.policies.controlloop.operational.Common
+  description: Operational Policy for Control Loop execution. Originated in Frankfurt to
+    support TOSCA Compliant Policy Types. This does NOT support the legacy Policy YAML policy type.
+  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
+  name: onap.policies.controlloop.operational.common.Apex
+  description: Operational policies for Apex PDP
+  properties:
+    engineServiceParameters:
+      type: string
+      description: The engine parameters like name, instanceCount, policy implementation,
+        parameters etc.
+      required: true
+    eventInputParameters:
+      type: string
+      description: The event input parameters.
+      required: true
+    eventOutputParameters:
+      type: string
+      description: The event output parameters.
+      required: true
+    javaProperties:
+      type: string
+      description: Name/value pairs of properties to be set for APEX if needed.
+      required: false