{
    "service_templates": [
        {
            "tosca_definitions_version": "tosca_simple_yaml_1_3",
            "data_types": {
                "onap.datatypes.ToscaConceptIdentifier": {
                    "properties": {
                        "name": {
                            "name": "name",
                            "type": "string",
                            "type_version": "0.0.0",
                            "required": true
                        },
                        "version": {
                            "name": "version",
                            "type": "string",
                            "type_version": "0.0.0",
                            "required": true
                        }
                    },
                    "name": "onap.datatypes.ToscaConceptIdentifier",
                    "version": "0.0.0",
                    "derived_from": "tosca.datatypes.Root",
                    "metadata": {}
                },
                "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest": {
                    "properties": {
                        "restRequestId": {
                            "name": "restRequestId",
                            "type": "onap.datatypes.ToscaConceptIdentifier",
                            "type_version": "0.0.0",
                            "description": "The name and version of a REST request to be sent to a REST endpoint",
                            "required": true
                        },
                        "httpMethod": {
                            "name": "httpMethod",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "The REST method to use",
                            "required": true,
                            "constraints": [
                                {
                                    "valid_values": [
                                        "POST",
                                        "PUT",
                                        "GET",
                                        "DELETE"
                                    ]
                                }
                            ]
                        },
                        "path": {
                            "name": "path",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "The path of the REST request relative to the base URL",
                            "required": true
                        },
                        "body": {
                            "name": "body",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "The body of the REST request for PUT and POST requests",
                            "required": false
                        },
                        "expectedResponse": {
                            "name": "expectedResponse",
                            "type": "integer",
                            "type_version": "0.0.0",
                            "description": "THe expected HTTP status code for the REST request",
                            "required": true,
                            "constraints": []
                        }
                    },
                    "name": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
                    "version": "1.0.0",
                    "derived_from": "tosca.datatypes.Root",
                    "metadata": {}
                },
                "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity": {
                    "properties": {
                        "configurationEntityId": {
                            "name": "configurationEntityId",
                            "type": "onap.datatypes.ToscaConceptIdentifier",
                            "type_version": "0.0.0",
                            "description": "The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element",
                            "required": true
                        },
                        "restSequence": {
                            "name": "restSequence",
                            "type": "list",
                            "type_version": "0.0.0",
                            "description": "A sequence of REST commands to send to the REST endpoint",
                            "required": false,
                            "entry_schema": {
                                "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest",
                                "type_version": "1.0.0"
                            }
                        }
                    },
                    "name": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
                    "version": "1.0.0",
                    "derived_from": "tosca.datatypes.Root",
                    "metadata": {}
                }
            },
            "node_types": {
                "org.onap.policy.clamp.acm.Participant": {
                    "properties": {
                        "provider": {
                            "name": "provider",
                            "type": "string",
                            "type_version": "0.0.0",
                            "required": false
                        }
                    },
                    "name": "org.onap.policy.clamp.acm.Participant",
                    "version": "1.0.1",
                    "derived_from": "tosca.nodetypes.Root",
                    "metadata": {}
                },
                "org.onap.policy.clamp.acm.AutomationCompositionElement": {
                    "properties": {
                        "provider": {
                            "name": "provider",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "Specifies the organization that provides the automation composition element",
                            "required": false,
                            "metadata": {
                                "common": "true"
                            }
                        },
                        "startPhase": {
                            "name": "startPhase",
                            "type": "integer",
                            "type_version": "0.0.0",
                            "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",
                            "required": false,
                            "constraints": [
                                {
                                    "greater_or_equal": "0"
                                }
                            ],
                            "metadata": {
                                "common": "true"
                            }
                        },
                        "uninitializedToPassiveTimeout": {
                            "name": "uninitializedToPassiveTimeout",
                            "type": "integer",
                            "type_version": "0.0.0",
                            "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive",
                            "default": 60.0,
                            "required": false,
                            "constraints": [
                                {
                                    "greater_or_equal": "0"
                                }
                            ],
                            "metadata": {
                                "common": "true"
                            }
                        }
                    },
                    "name": "org.onap.policy.clamp.acm.AutomationCompositionElement",
                    "version": "1.0.1",
                    "derived_from": "tosca.nodetypes.Root",
                    "metadata": {}
                },
                "org.onap.policy.clamp.acm.AutomationComposition": {
                    "properties": {
                        "provider": {
                            "name": "provider",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "Specifies the organization that provides the automation composition element",
                            "required": false,
                            "metadata": {
                                "common": "true"
                            }
                        },
                        "elements": {
                            "name": "elements",
                            "type": "list",
                            "type_version": "0.0.0",
                            "description": "Specifies a list of automation composition element definitions that make up this automation composition definition",
                            "required": true,
                            "entry_schema": {
                                "type": "onap.datatypes.ToscaConceptIdentifier",
                                "type_version": "0.0.0"
                            },
                            "metadata": {
                                "common": "true"
                            }
                        }
                    },
                    "name": "org.onap.policy.clamp.acm.AutomationComposition",
                    "version": "1.0.1",
                    "derived_from": "tosca.nodetypes.Root",
                    "metadata": {}
                },
                "org.onap.policy.clamp.acm.HttpAutomationCompositionElement": {
                    "properties": {
                        "baseUrl": {
                            "name": "baseUrl",
                            "type": "string",
                            "type_version": "0.0.0",
                            "description": "The base URL to be prepended to each path, identifies the host for the REST endpoints.",
                            "required": true
                        },
                        "httpHeaders": {
                            "name": "httpHeaders",
                            "type": "map",
                            "type_version": "0.0.0",
                            "description": "HTTP headers to send on REST requests",
                            "required": false,
                            "entry_schema": {
                                "type": "string",
                                "type_version": "0.0.0"
                            }
                        },
                        "configurationEntities": {
                            "name": "configurationEntities",
                            "type": "map",
                            "type_version": "0.0.0",
                            "description": "The connfiguration entities the Automation Composition Element is managing and their associated REST requests",
                            "required": true,
                            "entry_schema": {
                                "type": "org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity",
                                "type_version": "1.0.0"
                            }
                        }
                    },
                    "name": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
                    "version": "1.0.0",
                    "derived_from": "org.onap.policy.clamp.acm.AutomationCompositionElement",
                    "metadata": {}
                }
            },
            "topology_template": {
                "node_templates": {
                    "org.onap.policy.clamp.acm.HttpParticipant": {
                        "type": "org.onap.policy.clamp.acm.Participant",
                        "type_version": "1.0.1",
                        "properties": {
                            "provider": "ONAP"
                        },
                        "name": "org.onap.policy.clamp.acm.HttpParticipant",
                        "version": "2.3.4",
                        "metadata": {},
                        "description": "Participant for Http requests"
                    },
                    "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement": {
                        "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
                        "type_version": "1.0.0",
                        "properties": {
                            "provider": "ONAP",
                            "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.1"
                                            },
                                            "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
                                        }
                                    ]
                                }
                            ]
                        },
                        "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
                        "version": "1.2.3",
                        "metadata": {},
                        "description": "Automation composition element for the http requests of AC Element Starter microservice"
                    },
                    "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
                        "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
                        "type_version": "1.0.0",
                        "properties": {
                            "provider": "ONAP",
                            "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.1"
                                            },
                                            "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
                                        }
                                    ]
                                }
                            ]
                        },
                        "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
                        "version": "1.2.3",
                        "metadata": {},
                        "description": "Automation composition element for the http requests of AC Element Bridge microservice"
                    },
                    "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
                        "type": "org.onap.policy.clamp.acm.HttpAutomationCompositionElement",
                        "type_version": "1.0.0",
                        "properties": {
                            "provider": "ONAP",
                            "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.1"
                                            },
                                            "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
                                        }
                                    ]
                                }
                            ]
                        },
                        "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
                        "version": "1.2.3",
                        "metadata": {},
                        "description": "Automation composition element for the http requests of AC Element Sink microservice"
                    },
                    "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
                        "type": "org.onap.policy.clamp.acm.AutomationComposition",
                        "type_version": "1.0.1",
                        "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"
                                }
                            ]
                        },
                        "name": "onap.policy.clamp.ac.element.AutomationCompositionDefinition",
                        "version": "1.2.3",
                        "metadata": {},
                        "description": "Automation composition for Demp"
                    }
                },
                "policies": []
            },
            "name": "tosca",
            "version": "1.0.0",
            "metadata": {
                "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f"
            }
        }
    ]
}