aboutsummaryrefslogtreecommitdiffstats
path: root/examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml')
-rw-r--r--examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml483
1 files changed, 483 insertions, 0 deletions
diff --git a/examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml b/examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml
new file mode 100644
index 000000000..6adfcebcf
--- /dev/null
+++ b/examples/src/main/resources/clamp/acm/gentleguidance/sampleAcmToscaWithMultipleElements.yml
@@ -0,0 +1,483 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 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=========================================================
+# This is a sample ACM tosca template that contains multiple ACM elements.
+# The definition comprises the following ACM elements: a policy Acm element for creating and deploying a sample policy,
+# a http Acm element for executing http requests, and a k8s Acm element for deploying helm chart of nginx app.
+
+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.acm.httpAutomationCompositionElement.RestRequest:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ restRequestId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ typeVersion: 1.0.0
+ required: true
+ description: The name and version of a REST request to be sent to a REST endpoint
+ httpMethod:
+ type: string
+ required: true
+ constraints:
+ - valid_values: [ POST, PUT, GET, DELETE ]
+ description: The REST method to use
+ path:
+ type: string
+ required: true
+ description: The path of the REST request relative to the base URL
+ body:
+ type: string
+ required: false
+ description: The body of the REST request for PUT and POST requests
+ expectedResponse:
+ type: integer
+ required: true
+ constraints: [ ]
+ description: THe expected HTTP status code for the REST request
+ org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity:
+ version: 1.0.0
+ derived_from: tosca.datatypes.Root
+ properties:
+ configurationEntityId:
+ type: onap.datatypes.ToscaConceptIdentifier
+ typeVersion: 1.0.0
+ required: true
+ description: The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element
+ restSequence:
+ type: list
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest
+ typeVersion: 1.0.0
+ description: A sequence of REST commands to send to the REST endpoint
+policy_types:
+ # The following policy types will be created in policy framework by the acm policy participant
+ 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.dummyPolicy:
+ derived_from: tosca.policies.Root
+ description: a dummy policy type
+ version: 1.0.0
+ name: onap.policies.dummyPolicy
+node_types:
+ org.onap.policy.clamp.acm.Participant:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ requred: false
+ org.onap.policy.clamp.acm.AutomationCompositionElement:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ required: false
+ metadata:
+ common: true
+ description: Specifies the organization that provides the automation composition element
+ participant_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ metadata:
+ common: true
+ participantType:
+ type: onap.datatypes.ToscaConceptIdentifier
+ required: true
+ metadata:
+ common: true
+ description: The identity of the participant type that hosts this type of Automation Composition Element
+ startPhase:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ metadata:
+ common: true
+ description: A value indicating the start phase in which this automation composition element will be started, the
+ first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped
+ in reverse start phase order. Automation Composition Elements with the same start phase are started and
+ stopped simultaneously
+ uninitializedToPassiveTimeout:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ default: 60
+ metadata:
+ common: true
+ description: The maximum time in seconds to wait for a state chage from uninitialized to passive
+ passiveToRunningTimeout:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ default: 60
+ metadata:
+ common: true
+ description: The maximum time in seconds to wait for a state chage from passive to running
+ runningToPassiveTimeout:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ default: 60
+ metadata:
+ common: true
+ description: The maximum time in seconds to wait for a state chage from running to passive
+ passiveToUninitializedTimeout:
+ type: integer
+ required: false
+ constraints:
+ - greater_or_equal: 0
+ default: 60
+ metadata:
+ common: true
+ description: The maximum time in seconds to wait for a state chage from passive to uninitialized
+ org.onap.policy.clamp.acm.AutomationComposition:
+ version: 1.0.1
+ derived_from: tosca.nodetypes.Root
+ properties:
+ provider:
+ type: string
+ required: false
+ metadata:
+ common: true
+ description: Specifies the organization that provides the automation composition element
+ elements:
+ type: list
+ required: true
+ metadata:
+ common: true
+ entry_schema:
+ type: onap.datatypes.ToscaConceptIdentifier
+ description: Specifies a list of automation composition element definitions that make up this automation composition definition
+ org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
+ properties:
+ policy_type_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: true
+ policy_id:
+ type: onap.datatypes.ToscaConceptIdentifier
+ requred: false
+ org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
+ properties:
+ chart:
+ type: string
+ required: true
+ configs:
+ type: list
+ required: false
+ requirements:
+ type: string
+ requred: false
+ templates:
+ type: list
+ required: false
+ entry_schema:
+ values:
+ type: string
+ requred: true
+ org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
+ version: 1.0.1
+ derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
+ properties:
+ baseUrl:
+ type: string
+ required: true
+ description: The base URL to be prepended to each path, identifies the host for the REST endpoints.
+ httpHeaders:
+ type: map
+ required: false
+ entry_schema:
+ type: string
+ description: HTTP headers to send on REST requests
+ configurationEntities:
+ type: map
+ required: true
+ entry_schema:
+ type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
+ typeVersion: 1.0.0
+ description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests
+
+topology_template:
+ inputs:
+ sample_decisionMaker_policy:
+ type: onap.datatypes.ToscaConceptIdentifier
+ description: The ID of the operational policy to use
+ default:
+ name: operational.apex.decisionMaker
+ version: 1.0.0
+ node_templates:
+ org.onap.policy.clamp.acm.PolicyParticipant:
+ version: 2.3.1
+ type: org.onap.policy.clamp.acm.Participant
+ type_version: 1.0.1
+ description: Participant for DCAE microservices
+ properties:
+ provider: ONAP
+ org.onap.policy.clamp.sample_decisionMakerPolicyAutomationCompositionElement:
+ # The policy Acm element that deploys decision maker policy in policy framework.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
+ type_version: 1.0.0
+ description: Automation composition element for deploying sample decision maker policy
+ properties:
+ provider: Ericsson
+ participant_id:
+ name: org.onap.PM_Policy
+ version: 1.0.0
+ participantType:
+ name: org.onap.policy.clamp.acm.PolicyParticipant
+ version: 2.3.1
+ policy_type_id:
+ name: onap.policies.native.Apex
+ version: 1.0.0
+ policy_id:
+ get_input: sample_decisionMaker_policy
+ org.onap.policy.clamp.acm.KubernetesParticipant:
+ version: 2.3.4
+ type: org.onap.policy.clamp.acm.Participant
+ type_version: 1.0.1
+ description: Participant for K8S
+ properties:
+ provider: ONAP
+ org.onap.policy.clamp.Nginx_K8SMicroserviceAutomationCompositionElement:
+ # The k8s Acm element that deploys the helm chart of nginx-ingress from nginx repo.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
+ type_version: 1.0.0
+ description: Automation composition element for the K8S microservice to deploy nginx app
+ properties:
+ provider: ONAP
+ participant_id:
+ name: K8sParticipant0
+ version: 1.0.0
+ participantType:
+ name: org.onap.policy.clamp.acm.KubernetesParticipant
+ version: 2.3.4
+ chart:
+ chartId:
+ name: nginx-ingress
+ version: 0.9.1
+ namespace: onap
+ releaseName: nginxapp
+ repository:
+ repoName: nginx-stable
+ address: https://helm.nginx.com/stable
+ org.onap.policy.clamp.acm.HttpParticipant:
+ version: 2.3.4
+ type: org.onap.policy.clamp.acm.Participant
+ type_version: 1.0.1
+ description: Participant for Http requests
+ properties:
+ provider: ONAP
+ org.onap.policy.clamp.Http_AutomationCompositionElement:
+ # Sample Acm element that executes http GET and POST requests on a single entity.
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+ type_version: 1.0.1
+ description: Automation composition element for the http requests of PMSH microservice
+ properties:
+ provider: ONAP
+ participant_id:
+ name: HttpParticipant0
+ version: 1.0.0
+ participantType:
+ name: org.onap.policy.clamp.acm.HttpParticipant
+ version: 2.3.4
+ uninitializedToPassiveTimeout: 180
+ startPhase: 1
+ baseUrl: https://httpbin.org
+ httpHeaders:
+ Content-Type: application/json
+ configurationEntities:
+ - configurationEntityId:
+ name: entity1
+ version: 1.0.1
+ restSequence:
+ - restRequestId:
+ name: request1
+ version: 1.0.1
+ httpMethod: GET
+ path: get
+ expectedResponse: 200
+ - restRequestId:
+ name: request2
+ version: 1.0.1
+ httpMethod: POST
+ path: post
+ body: 'sample request body'
+ expectedResponse: 200
+ org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
+ # The ACM definition that comprises multiple Acm elements
+ version: 1.2.3
+ type: org.onap.policy.clamp.acm.AutomationComposition
+ type_version: 1.0.0
+ description: Automation composition with multiple Acm elements
+ properties:
+ provider: ONAP
+ elements:
+ - name: org.onap.policy.clamp.sample_decisionMakerPolicyAutomationCompositionElement
+ version: 1.2.3
+ - name: org.onap.policy.clamp.Nginx_K8SMicroserviceAutomationCompositionElement
+ version: 1.2.3
+ - name: org.onap.policy.clamp.Http_AutomationCompositionElement
+ version: 1.2.3
+ policies:
+ - operational.apex.decisionMaker:
+ type: onap.policies.native.Apex
+ type_version: 1.0.0
+ name: operational.apex.decisionMaker
+ version: 1.0.0
+ metadata:
+ metadataSetName: apexMetadata_decisionMaker
+ metadataSetVersion: 1.0.0
+ properties:
+ engineServiceParameters:
+ name: MyApexEngine
+ version: 0.0.1
+ id: 45
+ instanceCount: 4
+ deploymentPort: 12561
+ 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
+ taskParameters:
+ - key: ParameterKey1
+ value: ParameterValue1
+ - taskId: AAILookupTask:0.0.1
+ key: SomeKeyForThisTask
+ value: Value
+ eventInputParameters:
+ GuardRequestorConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ parameters:
+ url: http://111.222.333.444:5555/pdp/api/getDecision
+ httpMethod: POST
+ restRequestTimeout: 2000
+ httpHeader: Authorization:aaaaaaaaa== ClientAuth:bbbbbbbbb=
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventName: GuardResponseEvent
+ eventNameFilter: GuardResponseEvent
+ requestorMode: true
+ requestorPeer: GuardRequestorProducer
+ requestorTimeout: 500
+ DCAEConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT/APEX/1?timeout=60000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ nameAlias: closedLoopControlName
+ versionAlias: version
+ sourceAlias: from
+ pojoField: VirtualControlLoopEvent
+ eventName: ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e
+ APPCConsumer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/APPC-LCM-WRITE/APEX/1?timeout=60000
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ versionAlias: version
+ pojoField: APPCLCMResponseEvent
+ eventName: APPCRestartVNFResponseEvent
+ eventNameFilter: APPCRestartVNFResponseEvent
+ eventOutputParameters:
+ logProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: FILE
+ parameters:
+ fileName: "/tmp/VCPEEventsOut.json"
+ eventProtocolParameters:
+ eventProtocol: JSON
+ GuardRequestorProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTREQUESTOR
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+ eventProtocolParameters:
+ eventProtocol: JSON
+ eventNameFilter: GuardRequestEvent
+ requestorMode: true
+ requestorPeer: GuardRequestorConsumer
+ requestorTimeout: 500
+ APPCProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/APPC-LCM-READ
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ versionAlias: version
+ sourceAlias: from
+ pojoField: APPCLCMRequestEvent
+ eventNameFilter: APPCRestartVNFRequestEvent
+ PolicyLogProducer:
+ carrierTechnologyParameters:
+ carrierTechnology: RESTCLIENT
+ parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+ parameters:
+ url: http://message-router:3904/events/POLICY-CL-MGT
+ eventProtocolParameters:
+ eventProtocol: JSON
+ parameters:
+ versionAlias: version
+ sourceAlias: from
+ pojoField: VirtualControlLoopNotification
+ eventNameFilter: ControlLoopLogEvent
+ \ No newline at end of file