{ "tosca_definitions_version": "tosca_simple_yaml_1_3", "metadata": { "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f" }, "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", "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", "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", "type_version": "1.0.0" }, "description": "A sequence of REST commands to send to the REST endpoint" } } } }, "node_types": { "org.onap.policy.clamp.acm.Participant": { "version": "1.0.2", "derived_from": "tosca.nodetypes.Root", "properties": { "provider": { "type": "string", "required": false } } }, "org.onap.policy.clamp.acm.AutomationCompositionElement": { "version": "1.0.2", "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", "required": true, "metadata": { "common": true } }, "participantType": { "type": "onap.datatypes.ToscaConceptIdentifier", "required": true, "metadata": { "common": true }, "description": "The identity of the participant type that hosts this type of 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.2", "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.HttpAutomationCompositionElement": { "version": "1.0.2", "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", "type_version": "1.0.0" }, "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests" } } } }, "topology_template": { "node_templates": { "org.onap.policy.clamp.acm.HttpParticipant": { "version": "2.3.4", "type": "org.onap.policy.clamp.acm.Participant", "type_version": "1.0.2", "description": "Participant for Http requests", "properties": { "provider": "ONAP" } }, "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": { "version": "1.2.3", "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement", "type_version": "1.0.2", "description": "Automation composition element for the http requests of AC Element Starter 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": 0, "baseUrl": "http://acelement-starter:8084", "httpHeaders": { "Content-Type": "application/json", "Authorization": "Basic cnVudGltZVVzZXI6emIhWHp0RzM0" }, "configurationEntities": [ { "configurationEntityId": { "name": "onap.policy.clamp.ac.starter", "version": "1.0.0" }, "restSequence": [ { "restRequestId": { "name": "request1", "version": "1.0.2" }, "httpMethod": "POST", "path": "/onap/policy/clamp/acelement/v2/activate", "body": "{ \"receiverId\": { \"name\": \"onap.policy.clamp.ac.startertobridge\", \"version\": \"1.0.0\" }, \"timerMs\": 4000, \"elementType\": \"STARTER\", \"topicParameterGroup\": { \"server\": \"message-router\", \"listenerTopic\": \"POLICY_UPDATE_MSG\", \"publisherTopic\": \"AC_ELEMENT_MSG\", \"fetchTimeout\": 15000, \"topicCommInfrastructure\": \"dmaap\" } }", "expectedResponse": 201 } ] } ] } }, "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": { "version": "1.2.3", "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement", "type_version": "1.0.2", "description": "Automation composition element for the http requests of AC Element Bridge 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": 0, "baseUrl": "http://acelement-bridge:8084", "httpHeaders": { "Content-Type": "application/json", "Authorization": "Basic cnVudGltZVVzZXI6emIhWHp0RzM0" }, "configurationEntities": [ { "configurationEntityId": { "name": "onap.policy.clamp.ac.bridge", "version": "1.0.0" }, "restSequence": [ { "restRequestId": { "name": "request2", "version": "1.0.2" }, "httpMethod": "POST", "path": "/onap/policy/clamp/acelement/v2/activate", "body": "{ \"receiverId\": { \"name\": \"onap.policy.clamp.ac.bridgetosink\", \"version\": \"1.0.0\" }, \"timerMs\": 4000, \"elementType\": \"BRIDGE\", \"topicParameterGroup\": { \"server\": \"message-router\", \"listenerTopic\": \"POLICY_UPDATE_MSG\", \"publisherTopic\": \"AC_ELEMENT_MSG\", \"fetchTimeout\": 15000, \"topicCommInfrastructure\": \"dmaap\" } }", "expectedResponse": 201 } ] } ] } }, "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": { "version": "1.2.3", "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement", "type_version": "1.0.2", "description": "Automation composition element for the http requests of AC Element Sink 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": 0, "baseUrl": "http://acelement-sink:8084", "httpHeaders": { "Content-Type": "application/json", "Authorization": "Basic cnVudGltZVVzZXI6emIhWHp0RzM0" }, "configurationEntities": [ { "configurationEntityId": { "name": "onap.policy.clamp.ac.sink", "version": "1.0.0" }, "restSequence": [ { "restRequestId": { "name": "request3", "version": "1.0.2" }, "httpMethod": "POST", "path": "/onap/policy/clamp/acelement/v2/activate", "body": "{ \"receiverId\": { \"name\": \"onap.policy.clamp.ac.sink\", \"version\": \"1.0.0\" }, \"timerMs\": 4000, \"elementType\": \"SINK\", \"topicParameterGroup\": { \"server\": \"message-router\", \"listenerTopic\": \"POLICY_UPDATE_MSG\", \"publisherTopic\": \"AC_ELEMENT_MSG\", \"fetchTimeout\": 15000, \"topicCommInfrastructure\": \"dmaap\" } }", "expectedResponse": 201 } ] } ] } }, "onap.policy.clamp.ac.element.AutomationCompositionDefinition": { "version": "1.2.3", "type": "org.onap.policy.clamp.acm.AutomationComposition", "type_version": "1.0.2", "description": "Automation composition for Demp", "properties": { "provider": "ONAP", "elements": [ { "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement", "version": "1.2.3" }, { "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement", "version": "1.2.3" }, { "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement", "version": "1.2.3" } ] } } } } }