aboutsummaryrefslogtreecommitdiffstats
path: root/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources
diff options
context:
space:
mode:
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-04-01 08:59:30 +0100
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>2021-04-07 21:18:35 +0100
commitfac75fad3992a6e6c8f5a66bac77ea9e762b1eae (patch)
tree75b4812986bb7f2e61e19145862e6673b7e0f692 /tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources
parentbd80043a42f83392992bc31730b4a2c17475468a (diff)
Add participant for policy-framework
This commit adds a Participant for policy-framework, calls APIs createPolicies and createPolicyTypes for creating policies and policy-types in policy-framework when a controlLoopUpdate message is recieved. Issue-ID: POLICY-3038 Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech> Change-Id: I5ec795bbdd8684e4f6e8c65da1c340b35e7edf68
Diffstat (limited to 'tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources')
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/InvalidParameters.json4
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/MinimumParametersH2.json54
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/NoParameters.json3
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestCLParams.json161
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParameters.json54
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParametersStd.json54
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/Unreadable.json72
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/logback-test.xml42
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/pmsh/PMSubscriptionHandling.yaml3274
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policies/vCPE.policies.optimization.input.tosca.yaml348
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Match.yaml8
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Naming.yaml102
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Optimization.yaml33
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.Common.yaml28
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml16
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Filter.yaml66
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml26
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.MinMax.yaml24
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml27
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.Common.yaml143
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Apex.yaml26
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Drools.yaml14
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml50
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml132
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml128
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml19
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.tcagen2.yaml161
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Apex.yaml203
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Drools.yaml118
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Xacml.yaml20
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Resource.yaml25
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Service.yaml17
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml33
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.DistancePolicy.yaml58
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.HpaPolicy.yaml105
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml68
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.PciPolicy.yaml32
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.Vim_fit.yaml30
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.VnfPolicy.yaml46
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.QueryPolicy.yaml26
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml36
-rw-r--r--tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/utils/servicetemplates/pm_control_loop_tosca.yaml614
42 files changed, 6500 insertions, 0 deletions
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/InvalidParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/InvalidParameters.json
new file mode 100644
index 000000000..57ffcbd60
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/InvalidParameters.json
@@ -0,0 +1,4 @@
+{
+ "name": "
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/MinimumParametersH2.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/MinimumParametersH2.json
new file mode 100644
index 000000000..caca6cff6
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/MinimumParametersH2.json
@@ -0,0 +1,54 @@
+{
+ "name": "ControlLoopParticipantGroup",
+ "intermediaryParameters": {
+ "name": "Participant parameters",
+ "reportingTimeInterval": 120000,
+ "description": "Participant Description",
+ "participantId": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "participantType": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "clampControlLoopTopics": {
+ "topicSources": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap",
+ "fetchTimeout": 15000
+ }
+ ],
+ "topicSinks": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ },
+ {
+ "topic": "POLICY-NOTIFICATION",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ }
+ ]
+ }
+ },
+ "databaseProviderParameters": {
+ "name": "PolicyProviderParameterGroup",
+ "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+ "databaseDriver": "org.h2.Driver",
+ "databaseUrl": "jdbc:h2:mem:testdb",
+ "databaseUser": "policy",
+ "databasePassword": "P01icY",
+ "persistenceUnit": "ToscaConceptTest"
+ }
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/NoParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/NoParameters.json
new file mode 100644
index 000000000..bfd870e45
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/NoParameters.json
@@ -0,0 +1,3 @@
+{
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestCLParams.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestCLParams.json
new file mode 100644
index 000000000..a890af709
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestCLParams.json
@@ -0,0 +1,161 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+data_types:
+ onap.datatypes.ToscaConceptIdentifier:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ version:
+ type: string
+ required: true
+node_types:
+ org.onap.policy.clamp.controlloop.Participant:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ org.onap.policy.clamp.controlloop.ControlLoopElement:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ participant_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ org.onap.policy.clamp.controlloop.ControlLoop:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ elements:
+ type: list
+ required: true
+ entry_schema:
+ type: onap.datatypes.ToscaConceptIdentifier
+ org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ dcae_blueprint_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ policy_type_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ 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
+ requred: true
+topology_template:
+ node_templates:
+ org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
+ version: 2.3.4
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.policy.controlloop.MonitoringPolicyControlLoopParticipant:
+ version: 2.3.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.policy.controlloop.OperationalPolicyControlLoopParticipant:
+ version: 3.2.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
+ version: 2.2.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.domain.pmsh.PMSH_DCAEMicroservice:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
+ version: 2.3.4
+ dcae_blueprint_id:
+ name: org.onap.dcae.blueprints.PMSHBlueprint
+ version: 1.0.0
+ org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the monitoring policy for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.policy.controlloop.MonitoringPolicyControlLoopParticipant
+ version: 2.3.1
+ policy_type_id:
+ name: onap.policies.monitoring.pm-subscription-handler
+ version: 1.0.0
+ org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the operational policy for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.policy.controlloop.OperationalPolicyControlLoopParticipant
+ version: 2.2.1
+ policy_type_id:
+ name: onap.policies.operational.pm-subscription-handler
+ version: 1.0.0
+ org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.ControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for CDS for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_Id:
+ name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
+ version: 3.2.1
+ cds_blueprint_id:
+ name: org.onap.ccsdk.cds.PMSHCdsBlueprint
+ version: 1.0.0
+ org.onap.domain.pmsh.PMSHControlLoopDefinition:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.ControlLoop
+ type_version: 1.0.0
+ description: Control loop for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ elements:
+ - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
+ version: 1.2.3
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParameters.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParameters.json
new file mode 100644
index 000000000..caca6cff6
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParameters.json
@@ -0,0 +1,54 @@
+{
+ "name": "ControlLoopParticipantGroup",
+ "intermediaryParameters": {
+ "name": "Participant parameters",
+ "reportingTimeInterval": 120000,
+ "description": "Participant Description",
+ "participantId": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "participantType": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "clampControlLoopTopics": {
+ "topicSources": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap",
+ "fetchTimeout": 15000
+ }
+ ],
+ "topicSinks": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ },
+ {
+ "topic": "POLICY-NOTIFICATION",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ }
+ ]
+ }
+ },
+ "databaseProviderParameters": {
+ "name": "PolicyProviderParameterGroup",
+ "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+ "databaseDriver": "org.h2.Driver",
+ "databaseUrl": "jdbc:h2:mem:testdb",
+ "databaseUser": "policy",
+ "databasePassword": "P01icY",
+ "persistenceUnit": "ToscaConceptTest"
+ }
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParametersStd.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParametersStd.json
new file mode 100644
index 000000000..caca6cff6
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestParametersStd.json
@@ -0,0 +1,54 @@
+{
+ "name": "ControlLoopParticipantGroup",
+ "intermediaryParameters": {
+ "name": "Participant parameters",
+ "reportingTimeInterval": 120000,
+ "description": "Participant Description",
+ "participantId": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "participantType": {
+ "name": "org.onap.PM_Policy",
+ "version": "0.0.0"
+ },
+ "clampControlLoopTopics": {
+ "topicSources": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap",
+ "fetchTimeout": 15000
+ }
+ ],
+ "topicSinks": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ },
+ {
+ "topic": "POLICY-NOTIFICATION",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ }
+ ]
+ }
+ },
+ "databaseProviderParameters": {
+ "name": "PolicyProviderParameterGroup",
+ "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+ "databaseDriver": "org.h2.Driver",
+ "databaseUrl": "jdbc:h2:mem:testdb",
+ "databaseUser": "policy",
+ "databasePassword": "P01icY",
+ "persistenceUnit": "ToscaConceptTest"
+ }
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/Unreadable.json b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/Unreadable.json
new file mode 100644
index 000000000..35b5e5fdf
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/Unreadable.json
@@ -0,0 +1,72 @@
+{
+ "name": "ControlLoopRuntimeGroup",
+ "participantParameters": {
+ "heartBeatMs": 120000,
+ "updateParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 30000
+ },
+ "stateChangeParameters": {
+ "maxRetryCount": 1,
+ "maxWaitMs": 30000
+ }
+ },
+ "databaseProviderParameters": {
+ "name": "PolicyProviderParameterGroup",
+ "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+ "databaseDriver": "org.h2.Driver",
+ "databaseUrl": "jdbc:h2:mem:testdb",
+ "databaseUser": "policy",
+ "databasePassword": "P01icY",
+ "persistenceUnit": "ToscaConceptTest"
+ },
+ "topicParameterGroup": {
+ "topicSources": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap",
+ "fetchTimeout": 15000
+ }
+ ],
+ "topicSinks": [
+ {
+ "topic": "POLICY-CLRUNTIME-PARTICIPANT",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ },
+ {
+ "topic": "POLICY-NOTIFICATION",
+ "servers": [
+ "localhost"
+ ],
+ "topicCommInfrastructure": "dmaap"
+ }
+ ]
+ },
+ "healthCheckRestClientParameters": [
+ {
+ "clientName": "api",
+ "hostname": "policy-api",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34",
+ "useHttps": true,
+ "basePath": "policy/api/v1/healthcheck"
+ },
+ {
+ "clientName": "distribution",
+ "hostname": "policy-distribution",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34",
+ "useHttps": true,
+ "basePath": "healthcheck"
+ }
+ ]
+}
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/logback-test.xml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/logback-test.xml
new file mode 100644
index 000000000..324a92053
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/parameters/logback-test.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2021 Nordix Foundation.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<configuration>
+
+ <contextName>Participant</contextName>
+ <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+ <property name="LOG_DIR" value="${java.io.tmpdir}/clamp_logging/" />
+
+ <!-- USE FOR STD OUT ONLY -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
+ </encoder>
+ </appender>
+
+ <root level="info">
+ <appender-ref ref="STDOUT" />
+ </root>
+
+ <logger name="org.onap.policy.clamp.controlloop.runtime" level="trace" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+</configuration>
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/pmsh/PMSubscriptionHandling.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/pmsh/PMSubscriptionHandling.yaml
new file mode 100644
index 000000000..c15d11643
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/pmsh/PMSubscriptionHandling.yaml
@@ -0,0 +1,3274 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+tosca_definitions_version: tosca_simple_yaml_1_3
+data_types:
+ onap.datatypes.ToscaConceptIdentifier:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ version:
+ type: string
+ required: true
+ org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo:
+ name: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
+ version: 0.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ consulUrl:
+ name: consulUrl
+ type: string
+ typeVersion: 0.0.0
+ description: Consul url for this entry
+ required: true
+ consul_body:
+ name: consulBody
+ type: string
+ typeVersion: 0.0.0
+ description: Body of Consul entry
+ required: true
+ 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: {}
+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.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
+ requred: false
+ org.onap.policy.clamp.controlloop.ControlLoopElement:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ participant_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ org.onap.policy.clamp.controlloop.ControlLoop:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ elements:
+ type: list
+ required: true
+ entry_schema:
+ type: onap.datatypes.ToscaConceptIdentifier
+ org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+ properties:
+ dcae_blueprint_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: false
+ dcae_blueprint:
+ type: onap.dcae.cloudify_blueprint
+ requred: false
+ consul_info:
+ type: list
+ required: false
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
+ 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
+ requred: true
+ policy_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: 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
+ requred: true
+topology_template:
+ inputs:
+ pmsh_monitoring_policy:
+ type: onap.datatypes.ToscaConceptIdentifier
+ description: The ID of the PMSH monitoring policy to use
+ default:
+ name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
+ version: 1.0.0
+ pmsh_operational_policy:
+ type: onap.datatypes.ToscaConceptIdentifier
+ description: The ID of the PMSH operational policy to use
+ default:
+ name: operational.apex.pmcontrol
+ version: 1.0.0
+ node_templates:
+ org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
+ version: 2.3.4
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.policy.controlloop.PolicyControlLoopParticipant:
+ version: 2.3.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
+ version: 2.2.1
+ type: org.onap.policy.clamp.controlloop.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.domain.pmsh.PMSH_DCAEMicroservice:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
+ version: 2.3.4
+ dcae_blueprint:
+ tosca_definitions_version: cloudify_dsl_1_3
+ imports:
+ - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
+ - plugin:k8splugin?version=3.7.0
+ - plugin:pgaas?version=1.3.0
+ - plugin:clamppolicyplugin?version=1.1.0
+ inputs:
+ tag_version:
+ type: string
+ description: Docker image to be used
+ default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2
+ replicas:
+ type: integer
+ description: Number of instances
+ default: 1
+ operational_policy_name:
+ type: string
+ default: operational.apex.pmcontrol
+ control_loop_name:
+ type: string
+ default: pmsh-control-loop
+ pmsh_publish_topic_name:
+ type: string
+ default: unauthenticated.DCAE_CL_OUTPUT
+ policy_feedback_topic_name:
+ type: string
+ default: unauthenticated.PMSH_CL_INPUT
+ aai_notification_topic_name:
+ type: string
+ default: AAI-EVENT
+ publisher_client_role:
+ type: string
+ description: Client role to request secure access to topic
+ default: org.onap.dcae.pmPublisher
+ subscriber_client_role:
+ type: string
+ description: Client role to request secure access to topic
+ default: org.onap.dcae.pmSubscriber
+ dcae_location:
+ type: string
+ description: DCAE location for the subscriber, used to set up routing
+ default: san-francisco
+ cpu_limit:
+ type: string
+ default: 1000m
+ cpu_request:
+ type: string
+ default: 1000m
+ memory_limit:
+ type: string
+ default: 1024Mi
+ memory_request:
+ type: string
+ default: 1024Mi
+ pgaas_cluster_name:
+ type: string
+ default: dcae-pg-primary.onap
+ enable_tls:
+ type: boolean
+ default: true
+ protocol:
+ type: string
+ description: PMSH protocol. If enable_tls is false, set to http
+ default: https
+ policy_model_id:
+ type: string
+ default: onap.policies.monitoring.dcae-pm-subscription-handler
+ policy_id:
+ type: string
+ default: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
+ node_templates:
+ pgaasvm:
+ type: dcae.nodes.pgaas.database
+ properties:
+ writerfqdn:
+ get_input: pgaas_cluster_name
+ name: pmsh
+ pmsh:
+ type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ create:
+ inputs:
+ ports:
+ - '8443:0'
+ envs:
+ PMSH_PG_URL:
+ get_attribute:
+ - pgaasvm
+ - admin
+ - host
+ PMSH_PG_PASSWORD:
+ get_attribute:
+ - pgaasvm
+ - admin
+ - password
+ PMSH_PG_USERNAME:
+ get_attribute:
+ - pgaasvm
+ - admin
+ - user
+ PMSH_DB_NAME:
+ get_attribute:
+ - pgaasvm
+ - admin
+ - database
+ relationships:
+ - target: pmsh-policy
+ type: cloudify.relationships.depends_on
+ properties:
+ service_component_type: dcae-pmsh
+ service_component_name_override: dcae-pmsh
+ application_config:
+ enable_tls:
+ get_input: enable_tls
+ aaf_identity: dcae@dcae.onap.org
+ aaf_password: demo123456!
+ operational_policy_name:
+ get_input: operational_policy_name
+ control_loop_name:
+ get_input: control_loop_name
+ cert_path: /opt/app/pmsh/etc/certs/cert.pem
+ key_path: /opt/app/pmsh/etc/certs/key.pem
+ ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem
+ streams_publishes:
+ policy_pm_publisher:
+ type: message_router
+ dmaap_info:
+ topic_url:
+ concat:
+ - http://message-router:3904/events/
+ - get_input: pmsh_publish_topic_name
+ streams_subscribes:
+ policy_pm_subscriber:
+ type: message_router
+ dmaap_info:
+ topic_url:
+ concat:
+ - http://message-router:3904/events/
+ - get_input: policy_feedback_topic_name
+ aai_subscriber:
+ type: message_router
+ dmaap_info:
+ topic_url:
+ concat:
+ - http://message-router:3904/events/
+ - get_input: aai_notification_topic_name
+ resource_config:
+ limits:
+ cpu:
+ get_input: cpu_limit
+ memory:
+ get_input: memory_limit
+ requests:
+ cpu:
+ get_input: cpu_request
+ memory:
+ get_input: memory_request
+ docker_config:
+ healthcheck:
+ endpoint: /healthcheck
+ interval: 15s
+ timeout: 1s
+ type:
+ get_input: protocol
+ image:
+ get_input: tag_version
+ replicas:
+ get_input: replicas
+ log_info:
+ log_directory: /var/log/ONAP/dcaegen2/services/pmsh
+ tls_info:
+ cert_directory: /opt/app/pmsh/etc/certs
+ use_tls:
+ get_input: enable_tls
+ pmsh-policy:
+ type: clamp.nodes.policy
+ properties:
+ policy_model_id:
+ get_input: policy_model_id
+ policy_id:
+ get_input: policy_id
+ consul_info:
+ - consulUrl: http://consul:31321/v1/kv/dcae-pmsh:policy
+ consulBody:
+ subscription:
+ subscriptionName: subscriptiona
+ administrativeState: UNLOCKED
+ fileBasedGP: 15
+ fileLocation: /pm/pm.xml
+ nfFilter:
+ nfNames:
+ - ^pnf1.*
+ modelInvariantIDs:
+ - 5845y423-g654-6fju-po78-8n53154532k6
+ - 7129e420-d396-4efb-af02-6b83499b12f8
+ modelVersionIDs:
+ - e80a6ae3-cafd-4d24-850d-e14c084a5ca9
+ measurementGroups:
+ - measurementGroup:
+ measurementTypes:
+ - measurementType: countera
+ - measurementType: counterb
+ managedObjectDNsBasic:
+ - DN: dna
+ - DN: dnb
+ - measurementGroup:
+ measurementTypes:
+ - measurementType: counterc
+ - measurementType: counterd
+ managedObjectDNsBasic:
+ - DN: dnc
+ - DN: dnd
+ org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the monitoring policy for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+ version: 2.3.1
+ policy_type_id:
+ name: onap.policies.monitoring.pm-subscription-handler
+ version: 1.0.0
+ policy_id:
+ get_input: pmsh_monitoring_policy
+ org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for the operational policy for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+ version: 2.2.1
+ policy_type_id:
+ name: onap.policies.operational.pm-subscription-handler
+ version: 1.0.0
+ policy_id:
+ get_input: pmsh_operational_policy
+ org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.CDSControlLoopElement
+ type_version: 1.0.0
+ description: Control loop element for CDS for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ participant_Id:
+ name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
+ version: 3.2.1
+ cds_blueprint_id:
+ name: org.onap.ccsdk.cds.PMSHCdsBlueprint
+ version: 1.0.0
+ org.onap.domain.pmsh.PMSHControlLoopDefinition:
+ version: 1.2.3
+ type: org.onap.policy.clamp.controlloop.ControlLoop
+ type_version: 1.0.0
+ description: Control loop for Performance Management Subscription Handling
+ properties:
+ provider: Ericsson
+ elements:
+ - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
+ version: 1.2.3
+ - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
+ version: 1.2.3
+ policies:
+ - MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test:
+ type: onap.policies.monitoring.dcae-pm-subscription-handler
+ type_version: 1.0.0
+ name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
+ version: 1.0.0
+ metadata:
+ policy-id: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
+ policy-version: 1.0.0
+ properties:
+ pmsh_policy:
+ fileBasedGP: 15
+ fileLocation: /pm/pm.xml
+ subscriptionName: subscriptiona
+ administrativeState: UNLOCKED
+ nfFilter:
+ onap.datatypes.monitoring.nfFilter:
+ modelVersionIDs:
+ - e80a6ae3-cafd-4d24-850d-e14c084a5ca9
+ modelInvariantIDs:
+ - 5845y423-g654-6fju-po78-8n53154532k6
+ - 7129e420-d396-4efb-af02-6b83499b12f8
+ modelNames: []
+ nfNames:
+ - '"^pnf1.*"'
+ measurementGroups:
+ - measurementGroup:
+ onap.datatypes.monitoring.measurementGroup:
+ measurementTypes:
+ - measurementType:
+ onap.datatypes.monitoring.measurementType:
+ measurementType: countera
+ - measurementType:
+ onap.datatypes.monitoring.measurementType:
+ measurementType: counterb
+ managedObjectDNsBasic:
+ - managedObjectDNsBasic:
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ DN: dna
+ - managedObjectDNsBasic:
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ DN: dnb
+ - measurementGroup:
+ onap.datatypes.monitoring.measurementGroup:
+ measurementTypes:
+ - measurementType:
+ onap.datatypes.monitoring.measurementType:
+ measurementType: counterc
+ - measurementType:
+ onap.datatypes.monitoring.measurementType:
+ measurementType: counterd
+ managedObjectDNsBasic:
+ - managedObjectDNsBasic:
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ DN: dnc
+ - managedObjectDNsBasic:
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ DN: dnd
+ - operational.apex.pmcontrol:
+ type: onap.policies.controlloop.operational.Common.Apex
+ type_version: 1.0.0
+ version: 1.0.0
+ metadata:
+ policy-id: operational.apex.pmcontrol
+ policy-version: 1
+ properties:
+ engineServiceParameters:
+ name: MyApexEngine
+ version: 0.0.1
+ id: 45
+ instanceCount: 2
+ deploymentPort: 12561
+ policy_type_impl:
+ apexPolicyModel:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ keyInformation:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ keyInfoMap:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
+ description: Generated description for concept referred to by key "CDSActionIdentifiersType:0.0.1"
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
+ description: Generated description for concept referred to by key "CDSCreateResponseEvent:0.0.1"
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
+ description: Generated description for concept referred to by key "CDSCreateResponsePayloadType:0.0.1"
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
+ description: Generated description for concept referred to by key "CDSCreateResponsePolicy:0.0.1"
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
+ description: Generated description for concept referred to by key "CDSCreateResponseTask:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
+ description: Generated description for concept referred to by key "CDSCreateSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
+ description: Generated description for concept referred to by key "CDSCreateSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
+ description: Generated description for concept referred to by key "CDSDeleteResponseEvent:0.0.1"
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
+ description: Generated description for concept referred to by key "CDSDeleteResponsePayloadType:0.0.1"
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ UUID: a780251c-edd5-3132-b865-04313246b43c
+ description: Generated description for concept referred to by key "CDSDeleteResponsePolicy:0.0.1"
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
+ description: Generated description for concept referred to by key "CDSDeleteResponseTask:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
+ description: Generated description for concept referred to by key "CDSDeleteSubscriptionPayloadType:0.0.1"
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
+ description: Generated description for concept referred to by key "CDSDeleteSubscriptionRequestEvent:0.0.1"
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
+ description: Generated description for concept referred to by key "CDSRequestCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
+ description: Generated description for concept referred to by key "CDSResponseCommonHeaderType:0.0.1"
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ UUID: 7986e21b-32f7-302e-9554-31f21b673493
+ description: Generated description for concept referred to by key "CDSResponseStatusEvent:0.0.1"
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
+ description: Generated description for concept referred to by key "CDSResponseStatusType:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
+ description: Generated description for concept referred to by key "CreateSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
+ description: Generated description for concept referred to by key "CreateSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
+ description: Generated description for concept referred to by key "CreateSubscriptionRequestTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
+ description: Generated description for concept referred to by key "DeleteSubscriptionPayloadEvent:0.0.1"
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ UUID: 0f519117-5fea-3e4b-941f-8f778100465f
+ description: Generated description for concept referred to by key "DeleteSubscriptionPayloadTask:0.0.1"
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ UUID: acb772fe-d442-39e3-98f9-b1080caf4150
+ description: Generated description for concept referred to by key "DeleteSubscriptionRequestTask:0.0.1"
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
+ description: Generated description for concept referred to by key "MRResponseEvent:0.0.1"
+ - key:
+ name: PMControlPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy
+ version: 0.0.1
+ UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
+ description: Generated description for concept referred to by key "PMControlPolicy:0.0.1"
+ - key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
+ description: Generated description for concept referred to by key "PMControlPolicy_Albums:0.0.1"
+ - key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ UUID: be3871a0-c42a-3113-a066-82d192840eca
+ description: Generated description for concept referred to by key "PMControlPolicy_Events:0.0.1"
+ - key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_KeyInfo
+ version: 0.0.1
+ UUID: ced37634-28a4-3178-b7f6-2980794927b0
+ description: Generated description for concept referred to by key "PMControlPolicy_KeyInfo:0.0.1"
+ - key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
+ description: Generated description for concept referred to by key "PMControlPolicy_Policies:0.0.1"
+ - key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
+ description: Generated description for concept referred to by key "PMControlPolicy_Schemas:0.0.1"
+ - key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ value:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
+ description: Generated description for concept referred to by key "PMControlPolicy_Tasks:0.0.1"
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
+ description: Generated description for concept referred to by key "PMSubscriptionAlbum:0.0.1"
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
+ description: Generated description for concept referred to by key "PMSubscriptionOutputEvent:0.0.1"
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
+ description: Generated description for concept referred to by key "PMSubscriptionType:0.0.1"
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
+ description: Generated description for concept referred to by key "ReceiveEventPolicy:0.0.1"
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ UUID: f596afc8-100c-35eb-92c8-352355ea457d
+ description: Generated description for concept referred to by key "ReceiveSubscriptionTask:0.0.1"
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
+ description: Generated description for concept referred to by key "SimpleIntType:0.0.1"
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
+ description: Generated description for concept referred to by key "SimpleStringType:0.0.1"
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
+ description: Generated description for concept referred to by key "SubscriptionStatusType:0.0.1"
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
+ description: Generated description for concept referred to by key "SubscriptionType:0.0.1"
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
+ description: Generated description for concept referred to by key "UUIDType:0.0.1"
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
+ description: Generated description for concept referred to by key "pmsh-operational-policy:0.0.1"
+ policies:
+ key:
+ name: PMControlPolicy_Policies
+ version: 0.0.1
+ policyMap:
+ entry:
+ - key:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSCreateResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSCreateResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSCreateResponseState
+ trigger:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: []
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: CDSCreateResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSCreateResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSCreateResponseState
+ localName: ResponseOutput
+ firstState: CDSCreateResponseState
+ - key:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: CDSDeleteResponsePolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CDSDeleteResponseState
+ value:
+ stateKey:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CDSDeleteResponseState
+ trigger:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ResponseOutput
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ outgoingEvent:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference: []
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: CDSDeleteResponsePolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: CDSDeleteResponsePolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CDSDeleteResponseState
+ localName: ResponseOutput
+ firstState: CDSDeleteResponseState
+ - key:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ value:
+ policyKey:
+ name: ReceiveEventPolicy
+ version: 0.0.1
+ template: Freestyle
+ state:
+ entry:
+ - key: CreateOrDeleteState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ trigger:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: CreateSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ outgoingEvent:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ - key: DeleteSubscriptionPayload
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ outgoingEvent:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: TaskSelectionLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toString()
+ executor.logger.info("Change Type is " + changeType)
+ if ("CREATE".equals(changeType)) {
+ executor.logger.info("Choosing to create a subscription")
+ executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+ else if ("DELETE".equals(changeType)) {
+ executor.logger.info("Choosing to delete a subscription")
+ executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
+ }
+ //var returnValue = executor.isTrue;
+ true;
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: CreateSubscriptionPayload
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateOrDeleteState
+ localName: DeleteSubscriptionPayload
+ - key: CreateSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateSubscription
+ trigger:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueCreateSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: CreateSubscription
+ localName: IssueCreateSubscriptionRequestOutput
+ - key: DeleteSubscription
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: DeleteSubscription
+ trigger:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: IssueDeleteSubscriptionRequestOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ outgoingEvent:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: 'NULL'
+ parentKeyVersion: 0.0.0
+ parentLocalName: 'NULL'
+ localName: 'NULL'
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: DeleteSubscription
+ localName: IssueDeleteSubscriptionRequestOutput
+ - key: ReceiveSubscriptionState
+ value:
+ stateKey:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: ReceiveSubscriptionState
+ trigger:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ stateOutputs:
+ entry:
+ - key: ReceivePMSubscriptionOutput
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ outgoingEvent:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nextState:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: 'NULL'
+ localName: CreateOrDeleteState
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskSelectionLogic:
+ key: 'NULL'
+ logicFlavour: UNDEFINED
+ logic: ''
+ stateFinalizerLogicMap:
+ entry: []
+ defaultTask:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ taskReferences:
+ entry:
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceiveEventPolicy
+ outputType: DIRECT
+ output:
+ parentKeyName: ReceiveEventPolicy
+ parentKeyVersion: 0.0.1
+ parentLocalName: ReceiveSubscriptionState
+ localName: ReceivePMSubscriptionOutput
+ firstState: ReceiveSubscriptionState
+ tasks:
+ key:
+ name: PMControlPolicy_Tasks
+ version: 0.0.1
+ taskMap:
+ entry:
+ - key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+ executor.logger.info("RESPONSE STATUS = " + status)
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+ executor.outFields.put("status", responseStatus)
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var commonHeader = executor.inFields.get("commonHeader")
+ var response = executor.inFields.get("payload")
+ var albumID = commonHeader.get("requestId")
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+ var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+ responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+ responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+ var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+ executor.logger.info("RESPONSE STATUS = " + status)
+ if(status == "success") {
+ responseStatus.put("message", "success")
+ } else {
+ responseStatus.put("message", "failed")
+ }
+ executor.outFields.put("status", responseStatus)
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionRequestTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+ payloadProperties.put("nfName", pmSubscriptionInfo.get("nfName"))
+ payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+ payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+ payloadProperties.put("fileBasedGP", pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+ payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+ payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+ var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+ payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+ var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+ payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+ executor.outFields.put("albumID", executor.inFields.get("albumID"))
+ executor.outFields.put("payload", payload);
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionRequestTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ executor.logger.info(executor.subject.id);
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+ var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+ var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+ var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+ var payload = executor.inFields.get("payload")
+ var actionName = changeType + "-subscription"
+ var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+ commonHeader.put("originatorId", "sdnc");
+ commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+ commonHeader.put("subRequestId", "sub-123456-1000");
+ var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+ actionIdentifiers.put("actionName", actionName);
+ actionIdentifiers.put("blueprintName", blueprintName);
+ actionIdentifiers.put("blueprintVersion", blueprintVersion);
+ actionIdentifiers.put("mode", "sync");
+ executor.outFields.put("commonHeader", commonHeader);
+ executor.outFields.put("actionIdentifiers", actionIdentifiers);
+ executor.outFields.put("payload", payload);
+ //var returnValue = executor.isTrue;
+ true;
+ - key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ value:
+ key:
+ name: ReceiveSubscriptionTask
+ version: 0.0.1
+ inputFields:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: closedLoopControlName
+ value:
+ key: closedLoopControlName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: policyName
+ value:
+ key: policyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: false
+ outputFields:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ taskParameters:
+ entry: []
+ contextAlbumReference:
+ - name: PMSubscriptionAlbum
+ version: 0.0.1
+ taskLogic:
+ key: TaskLogic
+ logicFlavour: JAVASCRIPT
+ logic: |-
+ /*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+ var uuidType = java.util.UUID;
+ executor.logger.info(executor.subject.id);
+ //albumID will be used to fetch info from our album later
+ var albumID = uuidType.randomUUID();
+ var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
+ var returnValue = true;
+ if(executor.inFields.get("policyName") != null) {
+ executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
+ var changeType = executor.inFields.get("changeType")
+ var nfName = executor.inFields.get("nfName")
+ var policyName = executor.inFields.get("policyName")
+ var closedLoopControlName = executor.inFields.get("closedLoopControlName")
+ var subscription = executor.inFields.get("subscription")
+ var blueprintName = executor.inFields.get("blueprintName")
+ var blueprintVersion = executor.inFields.get("blueprintVersion")
+ pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
+ pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
+ pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
+ pmSubscriptionInfo.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"))
+ pmSubscriptionInfo.put("subscription", subscription)
+ pmSubscriptionInfo.put("blueprintName", blueprintName)
+ pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
+ executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
+ executor.outFields.put("albumID", albumID)
+ } else {
+ executor.message = "Received invalid event"
+ returnValue = false;
+ }
+ returnValue;
+ events:
+ key:
+ name: PMControlPolicy_Events
+ version: 0.0.1
+ eventMap:
+ entry:
+ - key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: CDS
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ optional: false
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionRequestEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: actionIdentifiers
+ value:
+ key: actionIdentifiers
+ fieldSchemaKey:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ optional: false
+ - key: commonHeader
+ value:
+ key: commonHeader
+ fieldSchemaKey:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: DCAE
+ parameter:
+ entry:
+ - key: status
+ value:
+ key: status
+ fieldSchemaKey:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: CreateSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ value:
+ key:
+ name: DeleteSubscriptionPayloadEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key: payload
+ value:
+ key: payload
+ fieldSchemaKey:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: MRResponseEvent
+ version: 0.0.1
+ value:
+ key:
+ name: MRResponseEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: count
+ value:
+ key: count
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key: serverTimeMs
+ value:
+ key: serverTimeMs
+ fieldSchemaKey:
+ name: SimpleIntType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionOutputEvent
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: APEX
+ target: APEX
+ parameter:
+ entry:
+ - key: albumID
+ value:
+ key: albumID
+ fieldSchemaKey:
+ name: UUIDType
+ version: 0.0.1
+ optional: false
+ - key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ value:
+ key:
+ name: pmsh-operational-policy
+ version: 0.0.1
+ nameSpace: org.onap.policy.apex.onap.pmcontrol
+ source: DCAE
+ target: APEX
+ parameter:
+ entry:
+ - key: blueprintName
+ value:
+ key: blueprintName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: blueprintVersion
+ value:
+ key: blueprintVersion
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: changeType
+ value:
+ key: changeType
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: closedLoopControlName
+ value:
+ key: closedLoopControlName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: nfName
+ value:
+ key: nfName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: policyName
+ value:
+ key: policyName
+ fieldSchemaKey:
+ name: SimpleStringType
+ version: 0.0.1
+ optional: false
+ - key: subscription
+ value:
+ key: subscription
+ fieldSchemaKey:
+ name: SubscriptionType
+ version: 0.0.1
+ optional: false
+ albums:
+ key:
+ name: PMControlPolicy_Albums
+ version: 0.0.1
+ albums:
+ entry:
+ - key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionAlbum
+ version: 0.0.1
+ scope: policy
+ isWritable: true
+ itemSchema:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemas:
+ key:
+ name: PMControlPolicy_Schemas
+ version: 0.0.1
+ schemas:
+ entry:
+ - key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSActionIdentifiersType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActionIdentifiers_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "actionName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintName",
+ "type": "string"
+ },
+ {
+ "name": "blueprintVersion",
+ "type": "string"
+ },
+ {
+ "name": "mode",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "CreateResponsePayloadEntry",
+ "type": "record",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": {
+ "name": "create_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSCreateSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "map",
+ "values": {
+ "type": "record",
+ "name": "CDSRequestPayloadEntry",
+ "fields": [
+ {
+ "name": "create_DasH_subscription_DasH_properties",
+ "type": {
+ "name": "create_DasH_subscription_DasH_properties_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "administrativeState",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "string"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroups",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementGroups_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "measurementGroup",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementTypes_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "managedObjectDNsBasic_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteResponsePayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "name": "DeleteResponsePayloadEntry",
+ "type": "record",
+ "namespace": "com.acme.avro",
+ "fields": [
+ {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": {
+ "name": "delete_DasH_subscription_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "odl_DasH_response",
+ "type": {
+ "name": "odl_DasH_response",
+ "type": "record",
+ "fields": [
+ {
+ "name": "status",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ - key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSDeleteSubscriptionPayloadType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "map",
+ "values": {
+ "type": "record",
+ "name": "CDSRequestPayloadEntry",
+ "fields": [
+ {
+ "name": "delete_DasH_subscription_DasH_properties",
+ "type": {
+ "name": "delete_DasH_subscription_DasH_properties_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "administrativeState",
+ "type": "string"
+ },
+ {
+ "name": "fileBasedGP",
+ "type": "string"
+ },
+ {
+ "name": "fileLocation",
+ "type": "string"
+ },
+ {
+ "name": "measurementGroups",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementGroups_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementGroup",
+ "type": {
+ "name": "measurementGroup",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementTypes",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "measurementTypes_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "measurementType",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "managedObjectDNsBasic",
+ "type": {
+ "type": "array",
+ "items": {
+ "name": "managedObjectDNsBasic_record",
+ "type": "record",
+ "fields": [
+ {
+ "name": "DN",
+ "type": "string"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ - key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSRequestCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "RequestCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseCommonHeaderType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseCommonHeader_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "originatorId",
+ "type": "string"
+ },
+ {
+ "name": "requestId",
+ "type": "string"
+ },
+ {
+ "name": "subRequestId",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "flags",
+ "type": ["null", "string"]
+ }
+ ]
+ }
+ - key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: CDSResponseStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ResponseStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "code",
+ "type": "int"
+ },
+ {
+ "name": "eventType",
+ "type": "string"
+ },
+ {
+ "name": "timestamp",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: PMSubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: "{\n\t\"name\": \"PMSubscription\",\n\t\"type\": \"record\",\n\t\"namespace\": \"\
+ org.onap.policy.apex.onap.pmcontrol\",\n\t\"fields\": [\n {\n \"name\": \"nfName\"\
+ ,\n \"type\": \"string\"\n },\n\t {\n\t\t\t\"name\": \"changeType\",\n\t\t\t\"\
+ type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"closedLoopControlName\",\n\t\t\t\"type\": \"\
+ string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"policyName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+ {\n\t\t \"name\": \"blueprintName\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t \"name\"\
+ : \"blueprintVersion\",\n\t\t \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"subscription\"\
+ ,\n\t\t\t\"type\": {\n\t\t\t\t\"name\": \"subscription\",\n\t\t\t\t\"type\": \"record\",\n\t\t\t\t\
+ \"fields\": [{\n\t\t\t\t\t\t\"name\": \"subscriptionName\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\
+ \t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"administrativeState\",\n\t\t\t\t\t\t\"type\": \"string\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\t\t\t\"type\": \"int\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileLocation\",\n\t\t\t\t\t\t\"type\": \"string\"\
+ \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\t\t\t\"type\": {\n\
+ \t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"name\": \"Measurement_Groups_Type\"\
+ ,\n\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\"\
+ : \"measurementGroup\",\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"name\": \"Measurement_Group_Type\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\
+ \t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\
+ name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\
+ \t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\
+ \t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\",\n\t\
+ \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+ \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\
+ \t\t\t\t}\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\
+ \t}\n\t]\n}"
+ - key:
+ name: SimpleIntType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleIntType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.Integer
+ - key:
+ name: SimpleStringType
+ version: 0.0.1
+ value:
+ key:
+ name: SimpleStringType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.lang.String
+ - key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionStatusType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: |-
+ {
+ "type": "record",
+ "name": "ActivateSubscriptionStatus_Type",
+ "namespace": "org.onap.policy.apex.onap.helloworld",
+ "fields": [
+ {
+ "name": "subscriptionName",
+ "type": "string"
+ },
+ {
+ "name": "nfName",
+ "type": "string"
+ },
+ {
+ "name": "changeType",
+ "type": "string"
+ },
+ {
+ "name": "message",
+ "type": "string"
+ }
+ ]
+ }
+ - key:
+ name: SubscriptionType
+ version: 0.0.1
+ value:
+ key:
+ name: SubscriptionType
+ version: 0.0.1
+ schemaFlavour: Avro
+ schemaDefinition: "{\n\t\"name\": \"subscription\",\n\t\"type\": \"record\",\n\t\"fields\": [{\n\t\t\
+ \t\"name\": \"subscriptionName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"administrativeState\"\
+ ,\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\"type\": \"\
+ int\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileLocation\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+ {\n\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\"type\": {\n\t\t\t\t\"type\": \"array\",\n\t\t\t\
+ \t\"items\": {\n\t\t\t\t\t\"name\": \"Measurement_Groups_Type\",\n\t\t\t\t\t\"type\": \"record\",\n\
+ \t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\"name\": \"measurementGroup\",\n\t\t\t\t\t\t\"type\": {\n\t\
+ \t\t\t\t\t\t\"name\": \"Measurement_Group_Type\",\n\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\"type\"\
+ : {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+ \t\t\"name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+ \t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\t\t\t\t\t\t\
+ \t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\
+ }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\
+ \t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\"\
+ : {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"\
+ type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\"\
+ ,\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\
+ \t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t}\n\t\
+ \t\t}\n\t\t}\n\t]\n}"
+ - key:
+ name: UUIDType
+ version: 0.0.1
+ value:
+ key:
+ name: UUIDType
+ version: 0.0.1
+ schemaFlavour: Java
+ schemaDefinition: java.util.UUID
+ engineParameters:
+ executorParameters:
+ JAVASCRIPT:
+ parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
+ contextParameters:
+ parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
+ schemaParameters:
+ Avro:
+ parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
+ Java:
+ parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
+ jsonAdapters:
+ Instant:
+ adaptedClass: java.time.Instant
+ adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter
+ eventInputParameters:
+ DCAEConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ consumerPollTime: '50'
+ url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ nameAlias: policyName
+ eventName: pmsh-operational-policy
+ eventNameFilter: pmsh-operational-policy
+ CDSRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://10.10.10.184:30254/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSCreateResponseEvent
+ eventNameFilter: CDSCreateResponseEvent
+ requestorMode: true
+ requestorPeer: CDSRequestProducer
+ requestorTimeout: 500
+ CDSDeleteRequestConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://10.10.10.184:30254/api/v1/execution-service/process
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeaders:
+ - - Authorization
+ - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: CDSDeleteResponseEvent
+ eventNameFilter: CDSDeleteResponseEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestProducer
+ requestorTimeout: 500
+ CDSReplyConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
+ httpMethod: POST
+ restRequestTimeout: 2000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: MRResponseEvent
+ eventNameFilter: MRResponseEvent
+ requestorMode: true
+ requestorPeer: CDSReplyProducer
+ requestorTimeout: 500
+ eventOutputParameters:
+ logOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ fileName: /tmp/outputevents.log
+ eventProtocolParameters:
+ eventProtocol: JSON
+ StdOutOutputter:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ standardIo: true
+ eventProtocolParameters:
+ eventProtocol: JSON
+ CDSRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSCreateSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSRequestConsumer
+ requestorTimeout: 500
+ CDSDeleteRequestProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSDeleteSubscriptionRequestEvent
+ requestorMode: true
+ requestorPeer: CDSDeleteRequestConsumer
+ requestorTimeout: 500
+ CDSReplyProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: CDSResponseStatusEvent
+ requestorMode: true
+ requestorPeer: CDSReplyConsumer
+ requestorTimeout: 500
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policies/vCPE.policies.optimization.input.tosca.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policies/vCPE.policies.optimization.input.tosca.yaml
new file mode 100644
index 000000000..126e8e6e2
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policies/vCPE.policies.optimization.input.tosca.yaml
@@ -0,0 +1,348 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+topology_template:
+ policies:
+ -
+ OSDF_CASABLANCA.Affinity_Default:
+ type: onap.policies.optimization.resource.AffinityPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Affinity_Default
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_Default
+ policy-version: 1
+ properties:
+ scope: []
+ services: []
+ resources: []
+ geography: []
+ identity: affinity_vCPE
+ applicableResources: any
+ affinityProperties:
+ qualifier: same
+ category: complex
+ -
+ OSDF_CASABLANCA.Affinity_Default_US:
+ type: onap.policies.optimization.resource.AffinityPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Affinity_Default_US
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_Default_US
+ policy-version: 1
+ properties:
+ scope: []
+ services: []
+ resources: []
+ geography: [US]
+ identity: affinity_vCPE
+ applicableResources: any
+ affinityProperties:
+ qualifier: same
+ category: complex
+ -
+ OSDF_CASABLANCA.Affinity_Default_vCPE_US_0:
+ type: onap.policies.optimization.resource.AffinityPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_Default_vCPE_US_0
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ resources: []
+ geography: [US]
+ identity: affinity_vCPE
+ applicableResources: any
+ affinityProperties:
+ qualifier: different
+ category: complex
+ -
+ OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1:
+ type: onap.policies.optimization.resource.AffinityPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Affinity_vCPE_US_Gold_1
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_vCPE_1
+ policy-version: 1
+ properties:
+ scope: [gold]
+ services: [vCPE]
+ resources: [vGMuxInfra, vG]
+ geography: [US, INTERNATIONAL]
+ identity: affinity_vCPE
+ applicableResources: any
+ affinityProperties:
+ qualifier: same
+ category: availabilityZone
+ -
+ OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1:
+ type: onap.policies.optimization.resource.AffinityPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Affinity_vCPE_US_Platinum_1
+ metadata:
+ policy-id: OSDF_CASABLANCA.Affinity_vCPE_1
+ policy-version: 1
+ properties:
+ scope: [platinum]
+ services: [vCPE]
+ resources: [vGMuxInfra, vG]
+ geography: [US, INTERNATIONAL]
+ identity: affinity_vCPE
+ applicableResources: any
+ affinityProperties:
+ qualifier: different
+ category: availabilityZone
+ -
+ OSDF_CASABLANCA.Capacity_vG_1:
+ type: onap.policies.optimization.resource.Vim_fit
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Capacity_vG_1
+ metadata:
+ policy-id: OSDF_CASABLANCA.Capacity_vG_1
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ resources: [vG]
+ geography: [US, INTERNATIONAL]
+ identity: capacity_vG
+ applicableResources: any
+ capacityProperty:
+ controller: multicloud
+ request: "{\"vCPU\": 10, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"GB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
+ -
+ OSDF_CASABLANCA.Capacity_vG_2:
+ type: onap.policies.optimization.resource.Vim_fit
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Capacity_vG_2
+ metadata:
+ policy-id: OSDF_CASABLANCA.Capacity_vG_2
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ resources: [vG]
+ geography: [US, INTERNATIONAL]
+ identity: capacity_vG
+ applicableResources: any
+ capacityProperty:
+ controller: multicloud
+ request: "{\"vCPU\": 15, \"Memory\": {\"quantity\": {\"get_param\": \"REQUIRED_MEM\"}, \"unit\": \"MB\"}, \"Storage\": {\"quantity\": {\"get_param\": \"REQUIRED_DISK\"}, \"unit\": \"GB\"}}"
+ -
+ OSDF_CASABLANCA.Distance_vG_1:
+ type: onap.policies.optimization.resource.DistancePolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.Distance_vG_1
+ metadata:
+ policy-id: OSDF_CASABLANCA.Distance_vG_1
+ policy-version: 1
+ properties:
+ scope: [platinum]
+ services: [vCPE]
+ resources: [vG]
+ geography: [US, INTERNATIONAL]
+ identity: distance-vG
+ applicableResources: any
+ distanceProperties:
+ locationInfo: customer_loc
+ distance:
+ value: 1500
+ operator: "<"
+ unit: km
+ -
+ OSDF_CASABLANCA.hpa_policy_Default:
+ type: onap.policies.optimization.resource.HpaPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.hpa_policy_Default
+ metadata:
+ policy-id: OSDF_CASABLANCA.hpa_policy_Default
+ policy-version: 1
+ properties:
+ scope: []
+ services: []
+ resources: []
+ geography: []
+ identity: hpa-vG
+ flavorFeatures:
+ -
+ id: vg_1
+ type: vnfc
+ directives:
+ - type: flavor_directives
+ attributes:
+ - attribute_name: flavor_label_vm_01
+ attribute_value: ""
+ flavorProperties:
+ -
+ hpa-feature: basicCapabilities
+ mandatory: True
+ architecture: generic
+ directives: []
+ hpa-feature-attributes:
+ - hpa-attribute-key: numVirtualCpu
+ hpa-attribute-value: 8
+ operator: ['>=']
+ unit: ""
+ - hpa-attribute-key: virtualMemSize
+ hpa-attribute-value: 6
+ operator: ['<=']
+ unit: ""
+ -
+ hpa-feature: ovsDpdk
+ mandatory: False
+ architecture: generic
+ directives: []
+ hpa-feature-attributes:
+ - hpa-attribute-key: dataProcessingAccelerationLibrary
+ hpa-attribute-value: ovsDpdk_version
+ operator: [=]
+ unit: ""
+ -
+ OSDF_CASABLANCA.hpa_policy_vG_1:
+ type: onap.policies.optimization.resource.HpaPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.hpa_policy_vG_1
+ metadata:
+ policy-id: OSDF_CASABLANCA.hpa_policy_vG_1
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE, vOtherService]
+ resources: [vG]
+ geography: []
+ identity: hpa-vG
+ flavorFeatures:
+ -
+ id: vg_1
+ type: vnfc
+ directives:
+ - type: flavor_directives
+ attributes:
+ - attribute_name: flavor_label_vm_01
+ attribute_value: ""
+ flavorProperties:
+ -
+ hpa-feature: basicCapabilities
+ mandatory: True
+ architecture: generic
+ directives: []
+ hpa-feature-attributes:
+ - hpa-attribute-key: numVirtualCpu
+ hpa-attribute-value: 6
+ operator: ['>=']
+ unit: ""
+ - hpa-attribute-key: virtualMemSize
+ hpa-attribute-value: 4
+ operator: ['<=']
+ unit: ""
+ -
+ hpa-feature: ovsDpdk
+ mandatory: False
+ architecture: generic
+ directives: []
+ hpa-feature-attributes:
+ - hpa-attribute-key: dataProcessingAccelerationLibrary
+ hpa-attribute-value: ovsDpdk_version
+ operator: [=]
+ unit: ""
+ -
+ OSDF_CASABLANCA.queryPolicy_vCPE:
+ type: onap.policies.optimization.service.QueryPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.queryPolicy_vCPE
+ metadata:
+ policy-id: OSDF_CASABLANCA.queryPolicy_vCPE
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ geography: [US, INTERNATIONAL]
+ identity: vCPE_Query_Policy
+ queryProperties:
+ -
+ attribute: locationId
+ attribute_location: customerLocation
+ value: ""
+ -
+ attribute: id
+ attribute_location: "vpnInfo.vpnId"
+ value: ""
+ -
+ attribute: upstreamBW
+ attribute_location: "vpnInfo.upstreamBW"
+ value: ""
+ -
+ attribute: customerLatitude
+ attribute_location: customerLatitude
+ value: 1.1
+ -
+ attribute: customerLongitude
+ attribute_location: customerLongitude
+ value: 2.2
+ -
+ OSDF_CASABLANCA.SubscriberPolicy_v1:
+ type: onap.policies.optimization.service.SubscriberPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.SubscriberPolicy_v1
+ metadata:
+ policy-id: OSDF_CASABLANCA.SubscriberPolicy_v1
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ identity: subscriber_vCPE
+ subscriberProperties:
+ subscriberName: [subscriber_x, subscriber_y]
+ subscriberRole: [platinum]
+ provStatus: [CAPPED]
+ -
+ OSDF_CASABLANCA.SubscriberPolicy_v2:
+ type: onap.policies.optimization.service.SubscriberPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.SubscriberPolicy_v2
+ metadata:
+ policy-id: OSDF_CASABLANCA.SubscriberPolicy_v2
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ identity: subscriber_vCPE
+ subscriberProperties:
+ subscriberName: [subscriber_a, subscriber_b]
+ subscriberRole: [gold]
+ provStatus: [CAPPED]
+ -
+ OSDF_CASABLANCA.vnfPolicy_vG:
+ type: onap.policies.optimization.resource.VnfPolicy
+ version: 1.0.0
+ type_version: 1.0.0
+ name: OSDF_CASABLANCA.vnfPolicy_vG
+ metadata:
+ policy-id: OSDF_CASABLANCA.vnfPolicy_vG
+ policy-version: 1
+ properties:
+ scope: []
+ services: [vCPE]
+ resources: [vG]
+ geography: [US, INTERNATIONAL]
+ identity: vnf_vG
+ applicableResources: any
+ vnfProperties:
+ -
+ inventoryProvider: aai
+ serviceType: ""
+ inventoryType: cloudRegionId
+ customerId: ""
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Match.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Match.yaml
new file mode 100644
index 000000000..88b870580
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Match.yaml
@@ -0,0 +1,8 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Match:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Match
+ description: Base Policy Type for matchable Policies
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Naming.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Naming.yaml
new file mode 100644
index 000000000..bde730cd7
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Naming.yaml
@@ -0,0 +1,102 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Naming:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Naming
+ description: Virtual policy node for naming
+ properties:
+ policy-instance-name:
+ type: string
+ naming-models:
+ type: list
+ entry_schema:
+ type: policy.data.naming-model-entity
+data_types:
+ policy.data.naming-model-entity:
+ derived_from: tosca.datatypes.Root
+ properties:
+ nfRole:
+ type: string
+ required: false
+ metadata:
+ matchable: true
+ naming-type:
+ type: string
+ required: true
+ metadata:
+ matchable: true
+ naming-recipe:
+ type: string
+ required: true
+ name-operation:
+ type: string
+ required: false
+ naming-properties:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.naming-property
+ policy.data.naming-property:
+ derived_from: tosca.datatypes.Root
+ properties:
+ property-name:
+ type: string
+ required: true
+ metadata:
+ matchable: true
+ property-value:
+ type: string
+ required: false
+ property-operation:
+ type: string
+ required: false
+ source-system:
+ type: string
+ required: false
+ source-endpoint:
+ type: string
+ required: false
+ increment-sequence:
+ type: policy.data.increment-sequence
+ required: false
+ policy.data.increment-sequence:
+ derived_from: tosca.datatypes.Root
+ properties:
+ scope:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - CLOUD_REGION_ID
+ - LOCATION_CLLI
+ - VNF
+ - VM
+ - VFMODULE
+ - PRECEEDING
+ - TRAILING
+ - ENTIRETY
+ sequence-type:
+ type: string
+ require: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - numeric
+ - alpha-numeric
+ start-value:
+ type: string
+ required: true
+ max:
+ type: string
+ required: false
+ increment:
+ type: string
+ required: true
+ length:
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Optimization.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Optimization.yaml
new file mode 100644
index 000000000..7fe0e59de
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.Optimization.yaml
@@ -0,0 +1,33 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Optimization:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Optimization
+ description: The base policy type for all policies that govern optimization
+ properties:
+ scope:
+ description: Scope for the policy - could be for a specific release.
+ type: list
+ metadata:
+ matchable: true
+ required: true
+ entry_schema:
+ type: string
+ geography:
+ description: One or more geographic regions
+ type: list
+ metadata:
+ matchable: true
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - US
+ - International
+ identity:
+ description: Used internally for identification
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.Common.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.Common.yaml
new file mode 100644
index 000000000..3dc979220
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.Common.yaml
@@ -0,0 +1,28 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.guard.Common:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.Common
+ description: |
+ This is the base Policy Type for Guard policies that guard the execution of Operational
+ Policies.
+ properties:
+ actor:
+ type: string
+ description: Specifies the Actor the guard applies to.
+ required: true
+ operation:
+ type: string
+ description: Specified the operation that the actor is performing the guard applies to.
+ required: true
+ timeRange:
+ type: tosca.datatypes.TimeInterval
+ description: |
+ An optional range of time during the day the guard policy is valid for.
+ required: false
+ id:
+ type: string
+ description: The Control Loop id this applies to.
+ required: false
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml
new file mode 100644
index 000000000..f2b67e18f
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml
@@ -0,0 +1,16 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.guard.common.Blacklist:
+ derived_from: onap.policies.controlloop.guard.Common
+ type_version: 1.0.0
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.common.Blacklist
+ description: Supports blacklist of entity id's from performing control loop actions on.
+ properties:
+ blacklist:
+ type: list
+ description: List of entity id's not allowed to have control loop operations on.
+ required: true
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Filter.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Filter.yaml
new file mode 100644
index 000000000..ea8e92aaf
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.Filter.yaml
@@ -0,0 +1,66 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.guard.common.Filter:
+ derived_from: onap.policies.controlloop.guard.Common
+ type_version: 1.0.0
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.common.Filter
+ description: Supports filtering of A&AI entities such as vnf-id, type, service, geographic region, etc.
+ properties:
+ algorithm:
+ type: string
+ description: Designates the precendence of blacklist vs whitelist
+ required: true
+ default: blacklist-overrides
+ constraints:
+ - valid_values: ["blacklist-overrides", "whitelist-overrides"]
+ filters:
+ type: list
+ description: List of filters to be applied.
+ required: true
+ entry_schema:
+ type: onap.datatypes.guard.filter
+data_types:
+ onap.datatypes.guard.filter:
+ derived_from: tosca.nodes.Root
+ properties:
+ field:
+ type: string
+ description: Name of the field to perform the filter on using the A&AI <node>.<property> syntax.
+ required: true
+ constraints:
+ - valid_values:
+ - generic-vnf.vnf-name
+ - generic-vnf.vnf-id
+ - generic-vnf.vnf-type
+ - generic-vnf.nf-naming-code
+ - vserver.vserver-id
+ - cloud-region.cloud-region-id
+ filter:
+ type: string
+ description: The filter value itself. For example, "RegionOne" "vFWCL*"
+ required: true
+ function:
+ type: string
+ description: The function applied to the filter.
+ required: true
+ constraints:
+ - valid_values:
+ - string-equal
+ - string-equal-ignore-case
+ - string-regexp-match
+ - string-contains
+ - string-greater-than
+ - string-greater-than-or-equal
+ - string-less-than
+ - string-less-than-or-equal
+ - string-starts-with
+ - string-ends-with
+ blacklist:
+ type: boolean
+ description: |
+ Indicates if the filter should be treated as a blacklist (true)
+ or whitelist (false).
+ required: true
+ default: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml
new file mode 100644
index 000000000..3e31ec218
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml
@@ -0,0 +1,26 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.guard.common.FrequencyLimiter:
+ derived_from: onap.policies.controlloop.guard.Common
+ type_version: 1.0.0
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.common.FrequencyLimiter
+ description: Supports limiting the frequency of actions being taken by a Actor.
+ properties:
+ timeWindow:
+ type: integer
+ description: The time window to count the actions against.
+ required: true
+ timeUnits:
+ type: string
+ description: The units of time the window is counting.
+ required: true
+ constraints:
+ - valid_values: ["second", "minute", "hour", "day", "week", "month", "year"]
+ limit:
+ type: integer
+ description: The limit
+ required: true
+ constraints:
+ - greater_than: 0
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.MinMax.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.MinMax.yaml
new file mode 100644
index 000000000..8f93572bf
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.common.MinMax.yaml
@@ -0,0 +1,24 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.guard.common.MinMax:
+ derived_from: onap.policies.controlloop.guard.Common
+ type_version: 1.0.0
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.common.MinMax
+ description: |
+ Supports Min/Max number of entity for scaling operations. Although min and max fields are marked as not
+ required, you need to have at least one or the other.
+ properties:
+ target:
+ type: string
+ required: true
+ description: The target entity that has scaling restricted
+ min:
+ type: integer
+ required: false
+ description: The minimum instances of this entity
+ max:
+ type: integer
+ required: false
+ description: The maximum instances of this entity
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml
new file mode 100644
index 000000000..eaeee605d
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml
@@ -0,0 +1,27 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.Guard:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.controlloop.Guard
+ description: Guard Policies for Control Loop Operational Policies
+ onap.policies.controlloop.guard.Coordination:
+ derived_from: onap.policies.controlloop.Guard
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.Coordination
+ description: Guard Policies for Control Loop Coordination
+ onap.policies.controlloop.guard.coordination.FirstBlocksSecond:
+ derived_from: onap.policies.controlloop.guard.Coordination
+ version: 1.0.0
+ name: onap.policies.controlloop.guard.coordination.FirstBlocksSecond
+ description: Supports one Control Loop blocking another
+ properties:
+ controlLoop:
+ type: list
+ description: Specific Control Loops to which to apply this guard
+ required: true
+ constraint:
+ length: 2
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.Common.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.Common.yaml
new file mode 100644
index 000000000..9b3b057b8
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.Common.yaml
@@ -0,0 +1,143 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ 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
+
+data_types:
+ 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
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Apex.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Apex.yaml
new file mode 100644
index 000000000..a0c5b2456
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Apex.yaml
@@ -0,0 +1,26 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ 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
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Drools.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Drools.yaml
new file mode 100644
index 000000000..69d73db58
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.controlloop.operational.common.Drools.yaml
@@ -0,0 +1,14 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.controlloop.operational.common.Drools:
+ derived_from: onap.policies.controlloop.operational.Common
+ type_version: 1.0.0
+ version: 1.0.0
+ name: onap.policies.controlloop.operational.common.Drools
+ description: Operational policies for Drools PDP
+ properties:
+ controllerName:
+ type: string
+ description: Drools controller properties
+ required: false
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml
new file mode 100644
index 000000000..c50392eca
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Monitoring
+ description: a base policy type for all policies that govern monitoring provisioning
+ onap.policies.monitoring.dcae-pm-mapper:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ properties:
+ pm-mapper-filter:
+ type: map
+ description: PM mapper filter on measInfo, measInfoId, measType, instanceId
+ entry_schema:
+ type: onap.datatypes.monitoring.pm-mapper-filter
+data_types:
+ onap.datatypes.monitoring.pm-mapper-filter:
+ derived_from: tosca.datatypes.Root
+ properties:
+ filters:
+ type: list
+ description: Filter configuration
+ #default: []
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.filters
+ onap.datatypes.monitoring.filters:
+ derived_from: tosca.datatypes.Root
+ properties:
+ pmDefVsn:
+ type: string
+ description: PM Dictionary version
+ required: true
+ nfType:
+ type: string
+ description: NF type
+ required: true
+ vendor:
+ type: string
+ description: Vendor name
+ required: true
+ measTypes:
+ type: list
+ description: Measurement types to collect
+ #default: []
+ required: true
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml
new file mode 100644
index 000000000..8ac9b7484
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml
@@ -0,0 +1,132 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Monitoring
+ description: a base policy type for all policies that govern monitoring provisioning
+ onap.policies.monitoring.dcae-pm-subscription-handler:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ properties:
+ subscription:
+ type: map
+ description: PM Subscription Handler Subscription
+ entry_schema:
+ type: onap.datatypes.monitoring.subscription
+data_types:
+ onap.datatypes.monitoring.subscription:
+ derived_from: tosca.datatypes.Root
+ properties:
+ subscriptionName:
+ type: string
+ description: Name of the subscription
+ required: true
+ administrativeState:
+ type: string
+ description: State of the subscription
+ required: true
+ constraints:
+ - valid_values:
+ - LOCKED
+ - UNLOCKED
+ fileBasedGP:
+ type: integer
+ description: File based granularity period
+ required: true
+ fileLocation:
+ type: string
+ description: ROP file location
+ required: true
+ nfTypeModelInvariantId:
+ type: string
+ description: Network function invariant ID
+ required: true
+ nfFilter:
+ type: map
+ description: Network function filter
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.nfFilter
+ measurementGroups:
+ type: list
+ description: Measurement Groups
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementGroups
+ onap.datatypes.monitoring.nfFilter:
+ derived_from: tosca.datatypes.Root
+ properties:
+ nfNames:
+ type: list
+ description: List of network functions
+ required: true
+ #default: []
+ entry_schema:
+ type: string
+ swVersions:
+ type: list
+ description: List of software versions
+ required: true
+ #default: []
+ entry_schema:
+ type: string
+ onap.datatypes.monitoring.measurementGroups:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementGroup:
+ type: map
+ description: Measurement Group
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementGroup
+ onap.datatypes.monitoring.measurementGroup:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementTypes:
+ type: list
+ description: List of measurement types
+ required: true
+ #default: []
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementTypes
+ managedObjectDNsBasic:
+ type: list
+ description: List of managed object distinguished names
+ required: true
+ #default: []
+ entry_schema:
+ type: onap.datatypes.monitoring.managedObjectDNsBasics
+ onap.datatypes.monitoring.measurementTypes:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementType:
+ type: map
+ description: Measurement type object
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementType
+ onap.datatypes.monitoring.measurementType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementType:
+ type: string
+ description: Measurement type
+ required: true
+ onap.datatypes.monitoring.managedObjectDNsBasics:
+ derived_from: tosca.datatypes.Root
+ properties:
+ managedObjectDNsBasic:
+ type: map
+ description: Managed object distinguished name object
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.managedObjectDNsBasic
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ derived_from: tosca.datatypes.Root
+ properties:
+ DN:
+ type: string
+ description: Managed object distinguished name
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml
new file mode 100644
index 000000000..58e60e98d
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml
@@ -0,0 +1,128 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Monitoring
+ description: a base policy type for all policies that govern monitoring provisioning
+ onap.policies.monitoring.dcae-restconfcollector:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ properties:
+ rcc_policy:
+ type: list
+ description: RCC Policy JSON
+ entry_schema:
+ type: onap.datatypes.monitoring.rcc_policy
+data_types:
+ onap.datatypes.monitoring.rcc_policy:
+ derived_from: tosca.datatypes.Root
+ properties:
+ controller_name:
+ type: string
+ description: Name of controller
+ required: true
+ controller_restapiUrl:
+ type: string
+ description: Controller's ip and port
+ required: true
+ controller_restapiUser:
+ type: string
+ description: Controller's username
+ required: true
+ controller_restapiPassword:
+ type: string
+ description: Controller's password
+ required: true
+ controller_accessTokenUrl:
+ type: string
+ description: URL to get access token
+ required: true
+ controller_accessTokenFile:
+ type: string
+ description: Access token file path
+ required: true
+ controller_accessTokenMethod:
+ type: string
+ description: Access token method POST/GET/PUT etc
+ required: true
+ constraints:
+ - valid_values:
+ - post
+ - get
+ - put
+ controller_subsMethod:
+ type: string
+ description: Subscription method POST/GET/PUT etc
+ required: true
+ default: post
+ constraints:
+ - valid_values:
+ - post
+ - get
+ - put
+ controller_subscriptionUrl:
+ type: string
+ description: URL to establish subscription
+ required: true
+ controller_disableSsl:
+ type: boolean
+ description: Option to disable ssl
+ required: true
+ default: true
+ event_details:
+ type: list
+ description: event details
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.rcc_event_details
+ onap.datatypes.monitoring.rcc_event_details:
+ derived_from: tosca.datatypes.Root
+ properties:
+ event_name:
+ type: string
+ description: event name
+ required: true
+ event_description:
+ type: string
+ description: description of event
+ required: false
+ event_sseventUrlEmbed:
+ type: boolean
+ description: Whether SSE url is embedded in subscription response
+ required: true
+ default: true
+ event_sseventsField:
+ type: string
+ description: Field name to access SSE url in subscription response
+ required: true
+ event_sseventsUrl:
+ type: string
+ description: Explicit SSE url
+ required: true
+ event_subscriptionTemplate:
+ type: string
+ description: Subscription template file path
+ required: true
+ event_unSubscriptionTemplate:
+ type: string
+ description: Unsubscription template file path
+ required: false
+ event_ruleId:
+ type: integer
+ description: Rule Id
+ required: false
+ modifyData:
+ type: boolean
+ description: Whether to modify the received SSE event
+ required: true
+ default: false
+ modifyMethod:
+ type: string
+ description: The java method name to modify data
+ required: false
+ userData:
+ type: string
+ description: The user specific data
+ required: false
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml
new file mode 100644
index 000000000..408e8cd00
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml
@@ -0,0 +1,19 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+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.dcaegen2.collectors.datafile.datafile-app-server:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ name: onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server
+ properties:
+ buscontroller_feed_publishing_endpoint:
+ type: string
+ description: DMAAP Bus Controller feed endpoint
+ datafile.policy:
+ type: string
+ description: datafile Policy JSON as string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.tcagen2.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.tcagen2.yaml
new file mode 100644
index 000000000..04026b323
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.monitoring.tcagen2.yaml
@@ -0,0 +1,161 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Monitoring
+ description: a base policy type for all policies that govern monitoring provisioning
+ onap.policies.monitoring.tcagen2:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ name: onap.policies.monitoring.tcagen2
+ properties:
+ tca.policy:
+ type: onap.datatypes.monitoring.tca_policy
+ description: TCA Policy JSON
+ required: true
+data_types:
+ onap.datatypes.monitoring.metricsPerEventName:
+ derived_from: tosca.datatypes.Root
+ properties:
+ controlLoopSchemaType:
+ type: string
+ required: true
+ description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM
+ constraints:
+ - valid_values:
+ - VM
+ - VNF
+ eventName:
+ type: string
+ required: true
+ description: Event name to which thresholds need to be applied
+ policyName:
+ type: string
+ required: true
+ description: TCA Policy Scope Name
+ policyScope:
+ type: string
+ required: true
+ description: TCA Policy Scope
+ policyVersion:
+ type: string
+ required: true
+ description: TCA Policy Scope Version
+ thresholds:
+ type: list
+ required: true
+ description: Thresholds associated with eventName
+ entry_schema:
+ type: onap.datatypes.monitoring.thresholds
+ onap.datatypes.monitoring.tca_policy:
+ derived_from: tosca.datatypes.Root
+ properties:
+ domain:
+ type: string
+ required: true
+ description: Domain name to which TCA needs to be applied
+ default: measurementsForVfScaling
+ constraints:
+ - equal: measurementsForVfScaling
+ metricsPerEventName:
+ type: list
+ required: true
+ description: Contains eventName and threshold details that need to be applied to given eventName
+ entry_schema:
+ type: onap.datatypes.monitoring.metricsPerEventName
+ onap.datatypes.monitoring.thresholds:
+ derived_from: tosca.datatypes.Root
+ properties:
+ closedLoopControlName:
+ type: string
+ required: true
+ description: Closed Loop Control Name associated with the threshold
+ closedLoopEventStatus:
+ type: string
+ required: true
+ description: Closed Loop Event Status of the threshold
+ constraints:
+ - valid_values:
+ - ONSET
+ - ABATED
+ direction:
+ type: string
+ required: true
+ description: Direction of the threshold
+ constraints:
+ - valid_values:
+ - LESS
+ - LESS_OR_EQUAL
+ - GREATER
+ - GREATER_OR_EQUAL
+ - EQUAL
+ fieldPath:
+ type: string
+ required: true
+ description: Json field Path as per CEF message which needs to be analyzed for TCA
+ constraints:
+ - valid_values:
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait
+ - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage
+ - $.event.measurementsForVfScalingFields.meanRequestLatency
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree
+ - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed
+ - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value
+ severity:
+ type: string
+ required: true
+ description: Threshold Event Severity
+ constraints:
+ - valid_values:
+ - CRITICAL
+ - MAJOR
+ - MINOR
+ - WARNING
+ - NORMAL
+ thresholdValue:
+ type: integer
+ required: true
+ description: Threshold value for the field Path inside CEF message
+ version:
+ type: string
+ required: true
+ description: Version number associated with the threshold
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Apex.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Apex.yaml
new file mode 100644
index 000000000..d2a7632f3
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Apex.yaml
@@ -0,0 +1,203 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Native:
+ derived_from: tosca.policies.Root
+ description: a base policy type for all native PDP policies
+ version: 1.0.0
+ name: onap.policies.Native
+ onap.policies.native.Apex:
+ derived_from: onap.policies.Native
+ description: a policy type for native apex policies
+ version: 1.0.0
+ name: onap.policies.native.Apex
+ properties:
+ engine_service:
+ type: onap.datatypes.native.apex.EngineService
+ description: APEX Engine Service Parameters
+ inputs:
+ type: map
+ description: Inputs for handling events coming into the APEX engine
+ entry_schema:
+ type: onap.datatypes.native.apex.EventHandler
+ outputs:
+ type: map
+ description: Outputs for handling events going out of the APEX engine
+ entry_schema:
+ type: onap.datatypes.native.apex.EventHandler
+ environment:
+ type: list
+ description: Envioronmental parameters for the APEX engine
+ entry_schema:
+ type: onap.datatypes.native.apex.Environment
+
+data_types:
+ onap.datatypes.native.apex.EngineService:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ description: Specifies the engine name
+ required: false
+ default: "ApexEngineService"
+ version:
+ type: string
+ description: Specifies the engine version in double dotted format
+ required: false
+ default: "1.0.0"
+ id:
+ type: integer
+ description: Specifies the engine id
+ required: true
+ instance_count:
+ type: integer
+ description: Specifies the number of engine threads that should be run
+ required: true
+ deployment_port:
+ type: integer
+ description: Specifies the port to connect to for engine administration
+ required: false
+ default: 1
+ policy_model_file_name:
+ type: string
+ description: The name of the file from which to read the APEX policy model
+ required: false
+ policy_type_impl:
+ type: string
+ description: The policy type implementation from which to read the APEX policy model
+ required: false
+ periodic_event_period:
+ type: string
+ description: The time interval in milliseconds for the periodic scanning event, 0 means don't scan
+ required: false
+ engine:
+ type: onap.datatypes.native.apex.engineservice.Engine
+ description: The parameters for all engines in the APEX engine service
+ required: true
+ onap.datatypes.native.apex.EventHandler:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ description: Specifies the event handler name, if not specified this is set to the key name
+ required: false
+ carrier_technology:
+ type: onap.datatypes.native.apex.CarrierTechnology
+ description: Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)
+ required: true
+ event_protocol:
+ type: onap.datatypes.native.apex.EventProtocol
+ description: Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)
+ required: true
+ event_name:
+ type: string
+ description: Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent
+ required: false
+ event_name_filter:
+ type: string
+ description: Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through
+ required: false
+ synchronous_mode:
+ type: boolean
+ description: Specifies the event handler is syncronous (receive event and send response)
+ required: false
+ default: false
+ synchronous_peer:
+ type: string
+ description: The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode
+ required: false
+ synchronous_timeout:
+ type: integer
+ description: The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode
+ required: false
+ requestor_mode:
+ type: boolean
+ description: Specifies the event handler is in requestor mode (send event and wait for response mode)
+ required: false
+ default: false
+ requestor_peer:
+ type: string
+ description: The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode
+ required: false
+ requestor_timeout:
+ type: integer
+ description: The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode
+ required: false
+ onap.datatypes.native.apex.CarrierTechnology:
+ derived_from: tosca.datatypes.Root
+ properties:
+ label:
+ type: string
+ description: The label (name) of the carrier technology (such as REST, Kafka, WebSocket)
+ required: true
+ plugin_parameter_class_name:
+ type: string
+ description: The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class
+ required: false
+ onap.datatypes.native.apex.EventProtocol:
+ derived_from: tosca.datatypes.Root
+ properties:
+ label:
+ type: string
+ description: The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)
+ required: true
+ event_protocol_plugin_class:
+ type: string
+ description: The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class
+ required: false
+ onap.datatypes.native.apex.Environment:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ description: The name of the environment variable
+ required: true
+ value:
+ type: string
+ description: The value of the environment variable
+ required: true
+ onap.datatypes.native.apex.engineservice.Engine:
+ derived_from: tosca.datatypes.Root
+ properties:
+ context:
+ type: onap.datatypes.native.apex.engineservice.engine.Context
+ description: The properties for handling context in APEX engines, defaults to using Java maps for context
+ required: false
+ executors:
+ type: map
+ description: The plugins for policy executors used in engines such as javascript, MVEL, Jython
+ required: true
+ entry_schema:
+ description: The plugin class path for this policy executor
+ type: string
+ onap.datatypes.native.apex.engineservice.engine.Context:
+ derived_from: tosca.datatypes.Root
+ properties:
+ distributor:
+ type: onap.datatypes.native.apex.Plugin
+ description: The plugin to be used for distributing context between APEX PDPs at runtime
+ required: false
+ schemas:
+ type: map
+ description: The plugins for context schemas available in APEX PDPs such as Java and Avro
+ required: false
+ entry_schema:
+ type: onap.datatypes.native.apex.Plugin
+ locking:
+ type: onap.datatypes.native.apex.Plugin
+ description: The plugin to be used for locking context in and between APEX PDPs at runtime
+ required: false
+ persistence:
+ type: onap.datatypes.native.apex.Plugin
+ description: The plugin to be used for persisting context for APEX PDPs at runtime
+ required: false
+ onap.datatypes.native.apex.Plugin:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ description: The name of the executor such as Javascript, Jython or MVEL
+ required: true
+ plugin_class_name:
+ type: string
+ description: The class path of the plugin class for this executor
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Drools.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Drools.yaml
new file mode 100644
index 000000000..0ae96dbc2
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Drools.yaml
@@ -0,0 +1,118 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Native:
+ derived_from: tosca.policies.Root
+ description: a base policy type for all native PDP policies
+ version: 1.0.0
+ name: onap.policies.Native
+ onap.policies.native.Drools:
+ derived_from: onap.policies.Native
+ description: a base policy type for all native PDP policies
+ version: 1.0.0
+ name: onap.policies.native.Drools
+ onap.policies.native.drools.Controller:
+ derived_from: onap.policies.native.Drools
+ description: a policy type for a drools controller configuration
+ version: 1.0.0
+ name: onap.policies.native.drools.Controller
+ properties:
+ controllerName:
+ type: string
+ required: true
+ description: the drools controller name
+ sourceTopics:
+ type: list
+ required: false
+ description: source topics and applicable events
+ entry_schema:
+ type: onap.datatypes.dmaap.topic
+ sinkTopics:
+ type: list
+ required: false
+ description: sink topics and applicable events
+ entry_schema:
+ type: onap.datatypes.dmaap.topic
+ customConfig:
+ type: map
+ required: false
+ description: any use case specific configurations relevant to the drools controller
+ entry_schema:
+ type: string
+ onap.policies.native.drools.Artifact:
+ derived_from: onap.policies.native.Drools
+ description: a policy type for native drools artifact policies
+ version: 1.0.0
+ name: onap.policies.native.drools.Artifact
+ properties:
+ rulesArtifact:
+ type: onap.datatypes.native.rules_artifact
+ required: true
+ description: the GAV information of the maven artifact
+ controller:
+ type: onap.datatypes.drools.controller.relation
+ required: true
+ description: the drools controller to which the current native policy is assigned
+
+data_types:
+ onap.datatypes.dmaap.topic:
+ derived_from: tosca.datatypes.Root
+ properties:
+ topicName:
+ type: string
+ required: true
+ description: the dmaap topic name
+ events:
+ type: list
+ required: true
+ description: events used by this topic
+ entry_schema:
+ type: onap.datatypes.dmaap.events
+ onap.datatypes.dmaap.events:
+ derived_from: tosca.datatypes.Root
+ properties:
+ eventClass:
+ type: string
+ required: true
+ description: the event canonical class for serialization
+ eventFilter:
+ type: string
+ required: false
+ description: the JSONPath based condition to filter out the events to serialize
+ customSerialization:
+ type: onap.datatypes.dmaap.custom_serialization
+ required: false
+ description: overrides the default serialization/deserialization mechanisms with custom ones
+ onap.datatypes.dmaap.custom_serialization:
+ derived_from: tosca.datatypes.Root
+ properties:
+ customSerializerClass:
+ type: string
+ required: true
+ description: the class that contains the JSON parser serializer/deserializer.
+ jsonParser:
+ type: string
+ required: true
+ description: static field in customSerialized class with the json parser (currently only gson supported)
+ onap.datatypes.native.rules_artifact:
+ derived_from: tosca.datatypes.Root
+ properties:
+ groupId:
+ type: string
+ required: true
+ description: the groupId of the maven artifact
+ artifactId:
+ type: string
+ required: true
+ description: the artifactId of the maven artifact
+ version:
+ type: string
+ required: true
+ description: the version of the maven artifact
+ onap.datatypes.drools.controller.relation:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ description: the name of drools controller policy
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Xacml.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Xacml.yaml
new file mode 100644
index 000000000..eb25cdb91
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.native.Xacml.yaml
@@ -0,0 +1,20 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.Native:
+ derived_from: tosca.policies.Root
+ description: a base policy type for all native PDP policies
+ version: 1.0.0
+ name: onap.policies.Native
+ onap.policies.native.Xacml:
+ derived_from: onap.policies.Native
+ description: a policy type for native xacml policies
+ version: 1.0.0
+ name: onap.policies.native.Xacml
+ properties:
+ policy:
+ type: string
+ required: true
+ description: The XML XACML 3.0 PolicySet or Policy
+ metadata:
+ encoding: Base64
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Resource.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Resource.yaml
new file mode 100644
index 000000000..6b3a2460d
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Resource.yaml
@@ -0,0 +1,25 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.Resource:
+ derived_from: onap.policies.Optimization
+ version: 1.0.0
+ name: onap.policies.optimization.Resource
+ description: The base policy type for all policies that govern optimization for a Resource in a Service.
+ properties:
+ services:
+ description: One or more services that the policy applies to.
+ type: list
+ metadata:
+ matchable: true
+ required: true
+ entry_schema:
+ type: string
+ resources:
+ description: One or more VNF resources that the policy applies to.
+ type: list
+ metadata:
+ matchable: true
+ required: true
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Service.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Service.yaml
new file mode 100644
index 000000000..8b37a67e7
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.Service.yaml
@@ -0,0 +1,17 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.Service:
+ derived_from: onap.policies.Optimization
+ version: 1.0.0
+ name: onap.policies.optimization.Service
+ description: The base policy type for all policies that govern optimization for a Service.
+ properties:
+ services:
+ description: One or more services that the policy applies to.
+ type: list
+ metadata:
+ matchable: true
+ required: true
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml
new file mode 100644
index 000000000..bb6adb0aa
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml
@@ -0,0 +1,33 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.AffinityPolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.AffinityPolicy
+ properties:
+ applicableResources:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - any
+ - all
+ affinityProperties:
+ type: policy.data.affinityProperties_properties
+ required: true
+data_types:
+ policy.data.affinityProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ qualifier:
+ type: string
+ constraints:
+ - valid_values:
+ - same
+ - different
+ category:
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.DistancePolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.DistancePolicy.yaml
new file mode 100644
index 000000000..f41dcfd6f
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.DistancePolicy.yaml
@@ -0,0 +1,58 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.DistancePolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.DistancePolicy
+ properties:
+ applicableResources:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - any
+ - all
+ distanceProperties:
+ type: policy.data.distanceProperties_properties
+ required: true
+data_types:
+ policy.data.distanceProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ locationInfo:
+ type: string
+ required: true
+ distance:
+ type: policy.data.distance_properties
+ required: true
+ entry_schema:
+ type: policy.data.distance_properties
+ policy.data.distance_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ value:
+ type: string
+ required: true
+ operator:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - <
+ - <=
+ - '>'
+ - '>='
+ - =
+ unit:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - km
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.HpaPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.HpaPolicy.yaml
new file mode 100644
index 000000000..dfe30774b
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.HpaPolicy.yaml
@@ -0,0 +1,105 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.HpaPolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.HpaPolicy
+ properties:
+ flavorFeatures:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.flavorFeatures_properties
+data_types:
+ policy.data.flavorFeatures_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ id:
+ type: string
+ required: true
+ type:
+ type: string
+ required: true
+ directives:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.directives_properties
+ flavorProperties:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.flavorProperties_properties
+ policy.data.directives_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ type:
+ type: string
+ attributes:
+ type: list
+ entry_schema:
+ type: policy.data.directives_attributes_properties
+ policy.data.directives_attributes_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ attribute_name:
+ type: string
+ attribute_value:
+ type: string
+ policy.data.flavorProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ hpa-feature:
+ type: string
+ required: true
+ mandatory:
+ type: string
+ required: true
+ score:
+ type: string
+ required: false
+ architecture:
+ type: string
+ required: true
+ hpa-version:
+ type: string
+ required: true
+ directives:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.directives_properties
+ hpa-feature-attributes:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.hpa-feature-attributes_properties
+ policy.data.hpa-feature-attributes_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ hpa-attribute-key:
+ type: string
+ required: true
+ hpa-attribute-value:
+ type: string
+ required: true
+ operator:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - <
+ - <=
+ - '>'
+ - '>='
+ - =
+ - '!='
+ - any
+ - all
+ - subset
+ unit:
+ type: string
+ required: false
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml
new file mode 100644
index 000000000..b0f77d67e
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml
@@ -0,0 +1,68 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.OptimizationPolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.OptimizationPolicy
+ properties:
+ objective:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - minimize
+ - maximize
+ objectiveParameter:
+ type: policy.data.objectiveParameter_properties
+ required: true
+data_types:
+ policy.data.objectiveParameter_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ parameterAttributes:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.parameterAttributes_properties
+ operator:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - '*'
+ - +
+ - '-'
+ - /
+ - '%'
+ policy.data.parameterAttributes_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ resources:
+ type: string
+ required: true
+ customerLocationInfo:
+ type: string
+ required: true
+ parameter:
+ type: string
+ required: true
+ weight:
+ type: string
+ required: true
+ operator:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - '*'
+ - +
+ - '-'
+ - /
+ - '%'
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.PciPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.PciPolicy.yaml
new file mode 100644
index 000000000..e636582df
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.PciPolicy.yaml
@@ -0,0 +1,32 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.PciPolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.PciPolicy
+ properties:
+ pciProperties:
+ type: list
+ required: false
+ entry_schema:
+ type: policy.data.pciProperties_properties
+data_types:
+ policy.data.pciProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ algoCategory:
+ type: string
+ required: false
+ pciOptmizationAlgoName:
+ type: string
+ required: false
+ pciOptimizationNwConstraint:
+ type: string
+ required: false
+ pciOptimizationPriority:
+ type: string
+ required: false
+ pciOptimizationTimeConstraint:
+ type: string
+ required: false
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.Vim_fit.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.Vim_fit.yaml
new file mode 100644
index 000000000..cb387dda1
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.Vim_fit.yaml
@@ -0,0 +1,30 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.Vim_fit:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.Vim_fit
+ properties:
+ applicableResources:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - any
+ - all
+ capacityProperties:
+ type: policy.data.capacityProperties_properties
+ required: true
+data_types:
+ policy.data.capacityProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ controller:
+ type: string
+ required: true
+ request:
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.VnfPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.VnfPolicy.yaml
new file mode 100644
index 000000000..30b8b7212
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.resource.VnfPolicy.yaml
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.resource.VnfPolicy:
+ derived_from: onap.policies.optimization.Resource
+ version: 1.0.0
+ name: onap.policies.optimization.resource.VnfPolicy
+ properties:
+ applicableResources:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - any
+ - all
+ vnfProperties:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.vnfProperties_properties
+data_types:
+ policy.data.vnfProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ inventoryProvider:
+ type: string
+ required: true
+ serviceType:
+ type: string
+ required: true
+ inventoryType:
+ type: list
+ required: true
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - serviceInstanceId
+ - vnfName
+ - cloudRegionId
+ - vimId
+ customerId:
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.QueryPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.QueryPolicy.yaml
new file mode 100644
index 000000000..2ff263b24
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.QueryPolicy.yaml
@@ -0,0 +1,26 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.service.QueryPolicy:
+ derived_from: onap.policies.optimization.Service
+ version: 1.0.0
+ name: onap.policies.optimization.service.QueryPolicy
+ properties:
+ queryProperties:
+ type: list
+ required: true
+ entry_schema:
+ type: policy.data.queryProperties_properties
+data_types:
+ policy.data.queryProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ attribute:
+ type: string
+ required: true
+ value:
+ type: string
+ required: true
+ attribute_location:
+ type: string
+ required: true
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
new file mode 100644
index 000000000..81dea2c3c
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
@@ -0,0 +1,36 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+policy_types:
+ onap.policies.optimization.service.SubscriberPolicy:
+ derived_from: onap.policies.optimization.Service
+ version: 1.0.0
+ name: onap.policies.optimization.service.SubscriberPolicy
+ properties:
+ subscriberProperties:
+ type: policy.data.subscriberProperties_properties
+ required: true
+data_types:
+ policy.data.subscriberProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ subscriberName:
+ type: list
+ required: true
+ metadata:
+ contextProvider: true
+ entry_schema:
+ type: string
+ subscriberRole:
+ type: list
+ required: true
+ metadata:
+ contextMatchable: scope
+ entry_schema:
+ type: string
+ provStatus:
+ type: list
+ required: true
+ metadata:
+ contextAttribute: true
+ entry_schema:
+ type: string
+
diff --git a/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/utils/servicetemplates/pm_control_loop_tosca.yaml b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/utils/servicetemplates/pm_control_loop_tosca.yaml
new file mode 100644
index 000000000..7d92a0884
--- /dev/null
+++ b/tosca-controlloop/participant/participant-impl/participant-impl-policy/src/test/resources/utils/servicetemplates/pm_control_loop_tosca.yaml
@@ -0,0 +1,614 @@
+tosca_definitions_version: tosca_simple_yaml_1_3
+policy_types:
+ onap.policies.Monitoring:
+ derived_from: tosca.policies.Root
+ version: 1.0.0
+ name: onap.policies.Monitoring
+ description: a base policy type for all policies that govern monitoring provisioning
+ onap.policies.monitoring.dcae-pm-subscription-handler:
+ derived_from: onap.policies.Monitoring
+ version: 1.0.0
+ properties:
+ subscription:
+ type: map
+ description: PM Subscription Handler Subscription
+ entry_schema:
+ type: onap.datatypes.monitoring.subscription
+data_types:
+ onap.datatypes.monitoring.subscription:
+ derived_from: tosca.datatypes.Root
+ properties:
+ subscriptionName:
+ type: string
+ description: Name of the subscription
+ required: true
+ administrativeState:
+ type: string
+ description: State of the subscription
+ required: true
+ constraints:
+ - valid_values:
+ - LOCKED
+ - UNLOCKED
+ fileBasedGP:
+ type: integer
+ description: File based granularity period
+ required: true
+ fileLocation:
+ type: string
+ description: ROP file location
+ required: true
+ nfTypeModelInvariantId:
+ type: string
+ description: Network function invariant ID
+ required: true
+ nfFilter:
+ type: map
+ description: Network function filter
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.nfFilter
+ measurementGroups:
+ type: list
+ description: Measurement Groups
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementGroups
+ onap.datatypes.monitoring.nfFilter:
+ derived_from: tosca.datatypes.Root
+ properties:
+ nfNames:
+ type: list
+ description: List of network functions
+ required: true
+ #default: []
+ entry_schema:
+ type: string
+ swVersions:
+ type: list
+ description: List of software versions
+ required: true
+ #default: []
+ entry_schema:
+ type: string
+ onap.datatypes.monitoring.measurementGroups:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementGroup:
+ type: map
+ description: Measurement Group
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementGroup
+ onap.datatypes.monitoring.measurementGroup:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementTypes:
+ type: list
+ description: List of measurement types
+ required: true
+ #default: []
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementTypes
+ managedObjectDNsBasic:
+ type: list
+ description: List of managed object distinguished names
+ required: true
+ #default: []
+ entry_schema:
+ type: onap.datatypes.monitoring.managedObjectDNsBasics
+ onap.datatypes.monitoring.measurementTypes:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementType:
+ type: map
+ description: Measurement type object
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.measurementType
+ onap.datatypes.monitoring.measurementType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ measurementType:
+ type: string
+ description: Measurement type
+ required: true
+ onap.datatypes.monitoring.managedObjectDNsBasics:
+ derived_from: tosca.datatypes.Root
+ properties:
+ managedObjectDNsBasic:
+ type: map
+ description: Managed object distinguished name object
+ required: true
+ entry_schema:
+ type: onap.datatypes.monitoring.managedObjectDNsBasic
+ onap.datatypes.monitoring.managedObjectDNsBasic:
+ derived_from: tosca.datatypes.Root
+ properties:
+ DN:
+ type: string
+ description: Managed object distinguished name
+ required: true
+capability_types:
+ org.onap.EventProducer:
+ properties:
+ carrier_protocol_type:
+ type: string
+ required: true
+ constraints:
+ - valid_values:
+ - DMAAP_message_router
+ - SOMETHING_ELSE
+ - REST
+ data_format:
+ type: string
+ required: true
+ constraints:
+ - valid_values:
+ - JSON
+ - YAML
+ - JMS
+ event_format:
+ type: string
+ required: true
+ event_format_version:
+ type: string
+ required: false
+ config_keys:
+ type: list
+ required: false
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - all valid values should be added here
+ - if not specified, events of any config key may be generated
+ - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
+ etc.'
+ version: 0.0.1
+ derived_from: tosca.capabilities.Root
+ org.onap.EventConsumer:
+ properties:
+ responding_capability:
+ type: string
+ required: false
+ carrier_protocol_type:
+ type: string
+ required: true
+ constraints:
+ - valid_values:
+ - DMAAP_message_router
+ - SOMETHING_ELSE
+ - REST
+ data_format:
+ type: string
+ required: true
+ constraints:
+ - valid_values:
+ - JSON
+ - YAML
+ - JMS
+ - all valid values should be added here
+ event_format:
+ type: string
+ description: 'examples for event_format: Ves_specification, LinkUp, VnfConfigured,
+ etc.'
+ required: true
+ event_format_version:
+ type: string
+ description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
+ required: false
+ config_keys:
+ type: list
+ required: false
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - all valid values should be added here
+ - if not specified, events of any config key may be generated
+ - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
+ etc.'
+ version: 0.0.1
+ derived_from: tosca.capabilities.Root
+node_types:
+ org.onap.DynamicConfig:
+ properties:
+ application_name:
+ type: string
+ description: Value used to tie the config to an application ? should we be
+ using a relationship here instead?
+ required: true
+ application_version:
+ type: string
+ required: true
+ application_provider:
+ type: string
+ required: false
+ data_types:
+ type: object
+ required: false
+ schema:
+ type: object
+ required: false
+ version: 0.0.1
+ derived_from: tosca.nodes.Root
+ org.onap.APP:
+ properties:
+ application_name:
+ type: string
+ description: Human readable name for the application Product
+ required: false
+ provider:
+ type: string
+ description: Provider of the application and of the descriptor
+ required: true
+ application_version:
+ type: string
+ description: Software version of the application
+ required: true
+ blueprint_id:
+ type: string
+ description: A reference to the app blueprint
+ required: false
+ monitoring_policy:
+ type: string
+ description: A reference to the monitoring policy
+ required: false
+ requirements:
+ - receive:
+ capability: org.onap.EventProducer
+ relationship: org.onap.PropagateEvent
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ - send:
+ capability: org.onap.EventConsumer
+ relationship: org.onap.PropagateEvent
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ version: 0.0.1
+ derived_from: tosca.nodes.Root
+ org.onap.EventRelay:
+ properties:
+ event_format:
+ type: string
+ description: 'examples for event_format: Ves_specification, etc.'
+ required: true
+ event_format_version:
+ type: string
+ description: 'examples for event_format_version: 5.28.4, 7.30.1, etc.'
+ required: true
+ config_keys:
+ type: list
+ required: false
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - all valid values should be added here
+ - if not specified, events of any config key is relayed
+ - 'examples for config_key: ves-measurement, ves-syslog, tca_handle_out,
+ etc.'
+ supported_carrier_protocols:
+ type: map
+ description: 'A map describing supported carrier protocols and translations.
+ The tuples define what protocol combinations are supported on the producer
+ and consumer side: e.g. { REST: REST, DMAAP: REST, DMAAP: DMAAP}'
+ required: true
+ key_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - DMAAP_message_router
+ - SOMETHING_ELSE
+ - REST
+ - all valid values should be added here
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - DMAAP_message_router
+ - SOMETHING_ELSE
+ - REST
+ - all valid values should be added here
+ supported_data_formats:
+ type: map
+ description: 'Is a map describing supported data formats and translation.
+ The tuples define what protocol combinations are supported on the producer
+ and consumer side: e.g. { JSON: JSON, JMS: JSON, YAML:YAML }'
+ required: true
+ key_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - JSON
+ - JMS
+ - YAML
+ - etc
+ - all valid values should be added here
+ entry_schema:
+ type: string
+ constraints:
+ - valid_values:
+ - JSON
+ - JMS
+ - YAML
+ - etc
+ - all valid values should be added here
+ requirements:
+ - receive:
+ capability: org.onap.EventProducer
+ relationship: org.onap.PropagateEvent
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ - send:
+ capability: org.onap.EventConsumer
+ relationship: org.onap.PropagateEvent
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ version: 0.0.1
+ derived_from: tosca.nodes.Root
+relationship_types:
+ org.onap.PropagateEvent:
+ properties:
+ config_keys:
+ type: list
+ description: The relationship type used on requirements to org.onap.EventProducer
+ and org.onap.EventConsumer capabilities. Filters events by specific config_keys
+ to be transferred by this relationship. That is, any event with a specific
+ config_key found in the list is transferred. If list is not defined or is
+ empty, events with all config_keys are transferred.
+ required: false
+ entry_schema:
+ type: string
+ version: 0.0.1
+ derived_from: tosca.relationships.Root
+topology_template:
+ inputs:
+ pm_subscription_topic:
+ type: string
+ pm_subscription_response_topic:
+ type: string
+ pm_subscription_handler_blueprint_id:
+ type: string
+ pm_subscription_operational_policy_id:
+ type: string
+ pm_subscription_cds_blueprint_id:
+ type: string
+ enable_tls:
+ type: string
+ node_templates:
+ org.onap.PM_Subscription_Handler:
+ type: org.onap.APP
+ type_version: 0.0.0
+ properties:
+ application_name: PM Subscription Handler
+ provider: Ericsson
+ application_version: 1.0.0
+ artifact_id:
+ get_input: pm_subscription_handler_blueprint_id
+ description: Is this a reference to the DCAE Cloudify Blueprint that is
+ already stored(or will be stored before CL configuration & instatiation)
+ in DCAE Inventory?
+ artifact_config:
+ enable_tls:
+ get_input: enable_tls
+ pmsh_publish_topic_name:
+ get_input: pm_subscription_topic
+ capabilities:
+ pm-subscription-event-publisher:
+ properties:
+ carrier_protocol_type: DMAAP_message_router
+ data_format: JSON
+ event_format: pm-subscription-event-format
+ event_format_version: 1.0.0
+ attributes:
+ type: org.onap.EventProducer
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ pm-subscription-event-receiver:
+ properties:
+ carrier_protocol_type: DMAAP_message_router
+ data_format: JSON
+ event_format: pm-subscription-event-response-format
+ event_format_version: 1.0.0
+ relationships:
+ - type: tosca.relationships.DependsOn
+ - description: any ideas on a better realtionship ? or is it better to
+ just use the root realtionship ?
+ - target: org.onap.PM_Monitoring_Policy
+ attributes:
+ type: org.onap.EventConsumer
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ version: 0.0.0
+ org.onap.PM_Monitoring_Policy:
+ type: org.onap.DynamicConfig
+ type_version: 0.0.0
+ properties:
+ application_name: PM Subscription Handler
+ application_version: 1.0.0
+ provider: Ericsson
+ data_types:
+ measurementType:
+ type: string
+ DN:
+ type: string
+ nfFilter:
+ properties:
+ nfNames:
+ type: list
+ entry_schema: string
+ modelInvariantIDs:
+ type: list
+ entry_schema:
+ type: string
+ modelVersionIDs:
+ type: list
+ entry_schema:
+ type: string
+ measurementGroup:
+ properties:
+ masurementTypes:
+ type: list
+ entry_schema:
+ type: measurementType
+ managedObjectDNsBasic:
+ type: list
+ entry_schema:
+ type: DN
+ schema:
+ subscription:
+ subscriptionName:
+ type: string
+ required: true
+ administrativeState:
+ type: string
+ required: true
+ filebasedGP:
+ type: integer
+ required: true
+ fileLocation:
+ type: string
+ required: true
+ nfFilter:
+ type: nfFilter
+ measurementGroups:
+ type: list
+ entry_schema:
+ type: measurementGroup
+ version: 0.0.0
+ description: Should I be showing a dependency between PM Subscription Handler
+ and the PM Monitoring Policy
+ org.onap.PM_Policy:
+ type: org.onap.APP
+ type_version: 0.0.0
+ properties:
+ application_name: PM Subscription Operational Policy
+ provider: Ericsson
+ application_version: 1.0.0
+ artifact_id:
+ get_input: pm_subscription_operational_policy_id
+ artifact_config: NOT_DEFINED
+ requirements:
+ - receive_0:
+ capability: pm-subscription-event-publisher
+ node: org.onap.PM_Subscription_Handler
+ relationship: NOT_DEFINED
+ properties:
+ config_keys:
+ - topic_name:
+ get_input: pm_subscription_topic
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ - send_0:
+ capability: cds-rest-receive
+ node: org.onap.CDS
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ - receive_1:
+ capability: cds-rest-response
+ node: org.onap.CDS
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ - send_1:
+ capability: pm-subscription-event-receiver
+ node: org.onap.PM_Subscription_Handler
+ relationship: NOT_DEFINED
+ properties:
+ config_keys:
+ - topic_name:
+ get_input: pm_subscription_response_topic
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ capabilities:
+ pm-subscription-response-event-publisher:
+ properties:
+ type: org.onap.EventProducer
+ carrier_protocol_type: DMAAP_message_router
+ data_format: JSON
+ event_format: pm-subscription-event-response-format
+ event_format_version: 1.0.0
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ version: 0.0.0
+ org.onap.PM_CDS_Blueprint:
+ type: org.onap.APP
+ type_version: 0.0.0
+ properties:
+ application_name: PM Subscription CDS Blueprint
+ provider: Ericsson
+ application_version: 1.0.0
+ artifact_id:
+ get_input: pm_subscription_cds_blueprint_id
+ capabilities:
+ cds-rest-receive:
+ properties:
+ type: org.onap.EventConsumer
+ protocol_type: REST
+ data_format: JSON
+ event_format: cds_action_format
+ event_format_version: 1.0.0
+ responding_capability: cds-rest-response
+ occurrences:
+ - 0.0
+ - UNBOUNDED
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ cds-rest-response:
+ properties:
+ type: org.onap.EventProducer
+ protocol_type: REST
+ data_format: JSON
+ event_format: cds_action_response_format
+ event_format_version: 1.0.0
+ occurrences:
+ - 0.0
+ type: string
+ type_version: 0.0.0
+ version: 0.0.0
+ version: 0.0.0
+ org.onap.controlloop0:
+ type: org.onap.APP
+ type_version: 0.0.0
+ properties:
+ application_name: Test Control Loop
+ provider: Ericsson
+ application_version: 1.0.0
+ status: NOT_DEPLOYED
+ version: 0.0.0
+version: 0.0.0
+