Adding examples for openapi specification 30/132630/1
authorlapentafd <francesco.lapenta@est.tech>
Tue, 6 Dec 2022 21:34:12 +0000 (21:34 +0000)
committerlapentafd <francesco.lapenta@est.tech>
Thu, 8 Dec 2022 09:55:23 +0000 (09:55 +0000)
Issue-ID: POLICY-4435
Change-Id: Icc45000058a579a076bbb0c2ae9bf3e66bce6f67
Signed-off-by: lapentafd <francesco.lapenta@est.tech>
26 files changed:
runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.yaml [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.json [new file with mode: 0644]
runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.yaml [new file with mode: 0644]

diff --git a/runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.json b/runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.json
new file mode 100644 (file)
index 0000000..20602f7
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+    "affectedAutomationCompositionDefinitions": [
+        {
+            "name": "org.onap.policy.clamp.acm.HttpParticipant",
+            "version": "2.3.4"
+        },
+        {
+            "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"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/deleteCompositionDefinitionResponse.yaml
new file mode 100644 (file)
index 0000000..893205d
--- /dev/null
@@ -0,0 +1,12 @@
+compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+affectedAutomationCompositionDefinitions:
+- name: org.onap.policy.clamp.acm.HttpParticipant
+  version: 2.3.4
+- 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
diff --git a/runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.json b/runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.json
new file mode 100644 (file)
index 0000000..b662bc6
--- /dev/null
@@ -0,0 +1,6 @@
+{
+    "affectedAutomationComposition": {
+        "name": "InstanceHttp",
+        "version": "1.0.1"
+    }
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/deleteCompositionInstanceResponse.yaml
new file mode 100644 (file)
index 0000000..1fbca51
--- /dev/null
@@ -0,0 +1,3 @@
+affectedAutomationComposition:
+  name: InstanceHttp
+  version: 1.0.1
diff --git a/runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.json b/runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.json
new file mode 100644 (file)
index 0000000..bef6791
--- /dev/null
@@ -0,0 +1,491 @@
+{
+    "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"
+                            }
+                        },
+                        "participant_id": {
+                            "name": "participant_id",
+                            "type": "onap.datatypes.ToscaConceptIdentifier",
+                            "type_version": "0.0.0",
+                            "required": true,
+                            "metadata": {
+                                "common": "true"
+                            }
+                        },
+                        "participantType": {
+                            "name": "participantType",
+                            "type": "onap.datatypes.ToscaConceptIdentifier",
+                            "type_version": "0.0.0",
+                            "description": "The identity of the participant type that hosts this type of Automation Composition Element",
+                            "required": true,
+                            "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"
+                            }
+                        },
+                        "passiveToRunningTimeout": {
+                            "name": "passiveToRunningTimeout",
+                            "type": "integer",
+                            "type_version": "0.0.0",
+                            "description": "The maximum time in seconds to wait for a state chage from passive to running",
+                            "default": 60.0,
+                            "required": false,
+                            "constraints": [
+                                {
+                                    "greater_or_equal": "0"
+                                }
+                            ],
+                            "metadata": {
+                                "common": "true"
+                            }
+                        },
+                        "runningToPassiveTimeout": {
+                            "name": "runningToPassiveTimeout",
+                            "type": "integer",
+                            "type_version": "0.0.0",
+                            "description": "The maximum time in seconds to wait for a state chage from running to passive",
+                            "default": 60.0,
+                            "required": false,
+                            "constraints": [
+                                {
+                                    "greater_or_equal": "0"
+                                }
+                            ],
+                            "metadata": {
+                                "common": "true"
+                            }
+                        },
+                        "passiveToUninitializedTimeout": {
+                            "name": "passiveToUninitializedTimeout",
+                            "type": "integer",
+                            "type_version": "0.0.0",
+                            "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized",
+                            "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.1",
+                    "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.1",
+                        "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.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.1",
+                        "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.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.1",
+                        "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.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"
+                    }
+                }
+            },
+            "name": "tosca",
+            "version": "1.0.0",
+            "metadata": {}
+        }
+    ]
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.yaml b/runtime-acm/src/main/resources/openapi/examples/getAllCompositionDefinitions.yaml
new file mode 100644 (file)
index 0000000..001e07d
--- /dev/null
@@ -0,0 +1,393 @@
+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'
+        participant_id:
+          name: participant_id
+          type: onap.datatypes.ToscaConceptIdentifier
+          type_version: 0.0.0
+          required: true
+          metadata:
+            common: 'true'
+        participantType:
+          name: participantType
+          type: onap.datatypes.ToscaConceptIdentifier
+          type_version: 0.0.0
+          description: The identity of the participant type that hosts this type of
+            Automation Composition Element
+          required: true
+          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'
+        passiveToRunningTimeout:
+          name: passiveToRunningTimeout
+          type: integer
+          type_version: 0.0.0
+          description: The maximum time in seconds to wait for a state chage from
+            passive to running
+          default: 60.0
+          required: false
+          constraints:
+          - greater_or_equal: '0'
+          metadata:
+            common: 'true'
+        runningToPassiveTimeout:
+          name: runningToPassiveTimeout
+          type: integer
+          type_version: 0.0.0
+          description: The maximum time in seconds to wait for a state chage from
+            running to passive
+          default: 60.0
+          required: false
+          constraints:
+          - greater_or_equal: '0'
+          metadata:
+            common: 'true'
+        passiveToUninitializedTimeout:
+          name: passiveToUninitializedTimeout
+          type: integer
+          type_version: 0.0.0
+          description: The maximum time in seconds to wait for a state chage from
+            passive to uninitialized
+          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.1
+      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.1
+        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.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.1
+        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.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.1
+        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.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
+  name: tosca
+  version: 1.0.0
+  metadata: {}
diff --git a/runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.json b/runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.json
new file mode 100644 (file)
index 0000000..55b99b2
--- /dev/null
@@ -0,0 +1,72 @@
+{
+    "automationCompositionList": [
+        {
+            "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "elements": {
+                "709c62b3-8918-41b9-a747-d21eb79c6c23": {
+                    "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
+                    "definition": {
+                        "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+                        "version": "1.2.3"
+                    },
+                    "participantType": {
+                        "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                        "version": "2.3.4"
+                    },
+                    "participantId": {
+                        "name": "HttpParticipant0",
+                        "version": "1.0.0"
+                    },
+                    "state": "UNINITIALISED",
+                    "orderedState": "UNINITIALISED",
+                    "description": "Sink Automation Composition Element for the Demo",
+                    "propertiesMap": {}
+                },
+                "709c62b3-8918-41b9-a747-d21eb79c6c25": {
+                    "id": "709c62b3-8918-41b9-a747-d21eb79c6c25",
+                    "definition": {
+                        "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+                        "version": "1.2.3"
+                    },
+                    "participantType": {
+                        "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                        "version": "2.3.4"
+                    },
+                    "participantId": {
+                        "name": "HttpParticipant0",
+                        "version": "1.0.0"
+                    },
+                    "state": "UNINITIALISED",
+                    "orderedState": "UNINITIALISED",
+                    "description": "Bridge Automation Composition Element for the Demo",
+                    "propertiesMap": {}
+                },
+                "709c62b3-8918-41b9-a747-d21eb79c6c24": {
+                    "id": "709c62b3-8918-41b9-a747-d21eb79c6c24",
+                    "definition": {
+                        "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+                        "version": "1.2.3"
+                    },
+                    "participantType": {
+                        "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                        "version": "2.3.4"
+                    },
+                    "participantId": {
+                        "name": "HttpParticipant0",
+                        "version": "1.0.0"
+                    },
+                    "state": "UNINITIALISED",
+                    "orderedState": "UNINITIALISED",
+                    "description": "Starter Automation Composition Element for the Demo",
+                    "propertiesMap": {}
+                }
+            },
+            "primed": false,
+            "name": "InstanceHttp",
+            "version": "1.0.1",
+            "description": "Demo automation composition instance Http"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/getCompositionInstancesResponse.yaml
new file mode 100644 (file)
index 0000000..3fa6506
--- /dev/null
@@ -0,0 +1,54 @@
+automationCompositionList:
+- compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+  state: UNINITIALISED
+  orderedState: UNINITIALISED
+  elements:
+    709c62b3-8918-41b9-a747-d21eb79c6c23:
+      id: 709c62b3-8918-41b9-a747-d21eb79c6c23
+      definition:
+        name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement
+        version: 1.2.3
+      participantType:
+        name: org.onap.policy.clamp.acm.HttpParticipant
+        version: 2.3.4
+      participantId:
+        name: HttpParticipant0
+        version: 1.0.0
+      state: UNINITIALISED
+      orderedState: UNINITIALISED
+      description: Sink Automation Composition Element for the Demo
+      propertiesMap: {}
+    709c62b3-8918-41b9-a747-d21eb79c6c25:
+      id: 709c62b3-8918-41b9-a747-d21eb79c6c25
+      definition:
+        name: onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement
+        version: 1.2.3
+      participantType:
+        name: org.onap.policy.clamp.acm.HttpParticipant
+        version: 2.3.4
+      participantId:
+        name: HttpParticipant0
+        version: 1.0.0
+      state: UNINITIALISED
+      orderedState: UNINITIALISED
+      description: Bridge Automation Composition Element for the Demo
+      propertiesMap: {}
+    709c62b3-8918-41b9-a747-d21eb79c6c24:
+      id: 709c62b3-8918-41b9-a747-d21eb79c6c24
+      definition:
+        name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
+        version: 1.2.3
+      participantType:
+        name: org.onap.policy.clamp.acm.HttpParticipant
+        version: 2.3.4
+      participantId:
+        name: HttpParticipant0
+        version: 1.0.0
+      state: UNINITIALISED
+      orderedState: UNINITIALISED
+      description: Starter Automation Composition Element for the Demo
+      propertiesMap: {}
+  primed: false
+  name: InstanceHttp
+  version: 1.0.1
+  description: Demo automation composition instance Http
diff --git a/runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.json b/runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.json
new file mode 100644 (file)
index 0000000..37ea189
--- /dev/null
@@ -0,0 +1,487 @@
+{
+    "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"
+                    }
+                },
+                "participant_id": {
+                    "name": "participant_id",
+                    "type": "onap.datatypes.ToscaConceptIdentifier",
+                    "type_version": "0.0.0",
+                    "required": true,
+                    "metadata": {
+                        "common": "true"
+                    }
+                },
+                "participantType": {
+                    "name": "participantType",
+                    "type": "onap.datatypes.ToscaConceptIdentifier",
+                    "type_version": "0.0.0",
+                    "description": "The identity of the participant type that hosts this type of Automation Composition Element",
+                    "required": true,
+                    "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"
+                    }
+                },
+                "passiveToRunningTimeout": {
+                    "name": "passiveToRunningTimeout",
+                    "type": "integer",
+                    "type_version": "0.0.0",
+                    "description": "The maximum time in seconds to wait for a state chage from passive to running",
+                    "default": 60.0,
+                    "required": false,
+                    "constraints": [
+                        {
+                            "greater_or_equal": "0"
+                        }
+                    ],
+                    "metadata": {
+                        "common": "true"
+                    }
+                },
+                "runningToPassiveTimeout": {
+                    "name": "runningToPassiveTimeout",
+                    "type": "integer",
+                    "type_version": "0.0.0",
+                    "description": "The maximum time in seconds to wait for a state chage from running to passive",
+                    "default": 60.0,
+                    "required": false,
+                    "constraints": [
+                        {
+                            "greater_or_equal": "0"
+                        }
+                    ],
+                    "metadata": {
+                        "common": "true"
+                    }
+                },
+                "passiveToUninitializedTimeout": {
+                    "name": "passiveToUninitializedTimeout",
+                    "type": "integer",
+                    "type_version": "0.0.0",
+                    "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized",
+                    "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.1",
+            "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.1",
+                "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.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.1",
+                "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.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.1",
+                "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.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"
+            }
+        }
+    },
+    "name": "tosca",
+    "version": "1.0.0",
+    "metadata": {}
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.yaml b/runtime-acm/src/main/resources/openapi/examples/getSingleCompositionDefinition.yaml
new file mode 100644 (file)
index 0000000..5e2c611
--- /dev/null
@@ -0,0 +1,391 @@
+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'
+      participant_id:
+        name: participant_id
+        type: onap.datatypes.ToscaConceptIdentifier
+        type_version: 0.0.0
+        required: true
+        metadata:
+          common: 'true'
+      participantType:
+        name: participantType
+        type: onap.datatypes.ToscaConceptIdentifier
+        type_version: 0.0.0
+        description: The identity of the participant type that hosts this type of
+          Automation Composition Element
+        required: true
+        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'
+      passiveToRunningTimeout:
+        name: passiveToRunningTimeout
+        type: integer
+        type_version: 0.0.0
+        description: The maximum time in seconds to wait for a state chage from passive
+          to running
+        default: 60.0
+        required: false
+        constraints:
+        - greater_or_equal: '0'
+        metadata:
+          common: 'true'
+      runningToPassiveTimeout:
+        name: runningToPassiveTimeout
+        type: integer
+        type_version: 0.0.0
+        description: The maximum time in seconds to wait for a state chage from running
+          to passive
+        default: 60.0
+        required: false
+        constraints:
+        - greater_or_equal: '0'
+        metadata:
+          common: 'true'
+      passiveToUninitializedTimeout:
+        name: passiveToUninitializedTimeout
+        type: integer
+        type_version: 0.0.0
+        description: The maximum time in seconds to wait for a state chage from passive
+          to uninitialized
+        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.1
+    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.1
+      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.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.1
+      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.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.1
+      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.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
+name: tosca
+version: 1.0.0
+metadata: {}
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.json b/runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.json
new file mode 100644 (file)
index 0000000..20602f7
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+    "affectedAutomationCompositionDefinitions": [
+        {
+            "name": "org.onap.policy.clamp.acm.HttpParticipant",
+            "version": "2.3.4"
+        },
+        {
+            "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"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/postCommissionCompositionDefinitionsResponse.yaml
new file mode 100644 (file)
index 0000000..893205d
--- /dev/null
@@ -0,0 +1,12 @@
+compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+affectedAutomationCompositionDefinitions:
+- name: org.onap.policy.clamp.acm.HttpParticipant
+  version: 2.3.4
+- 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
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.json b/runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.json
new file mode 100644 (file)
index 0000000..61314cf
--- /dev/null
@@ -0,0 +1,410 @@
+{
+  "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",
+          "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.1",
+      "derived_from": "tosca.nodetypes.Root",
+      "properties": {
+        "provider": {
+          "type": "string",
+          "required": 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",
+          "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.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.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",
+            "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.1",
+        "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.1",
+        "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.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
+                }
+              ]
+            }
+          ]
+        }
+      },
+      "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement": {
+        "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 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.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
+                }
+              ]
+            }
+          ]
+        }
+      },
+      "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement": {
+        "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 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.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
+                }
+              ]
+            }
+          ]
+        }
+      },
+      "onap.policy.clamp.ac.element.AutomationCompositionDefinition": {
+        "version": "1.2.3",
+        "type": "org.onap.policy.clamp.acm.AutomationComposition",
+        "type_version": "1.0.1",
+        "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"
+            }
+          ]
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.yaml b/runtime-acm/src/main/resources/openapi/examples/postCompositionDefinitions.yaml
new file mode 100644 (file)
index 0000000..c602098
--- /dev/null
@@ -0,0 +1,312 @@
+# ============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=========================================================
+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
+        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.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: 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
+        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.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.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
+          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.1
+      description: Participant for Http requests
+      properties:
+        provider: ONAP
+    onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement:
+      # Http config for AC Element Starter.
+      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 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.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
+    onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement:
+      # Http config for AC Element Bridge.
+      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 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.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
+    onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement:
+      # Http config for AC Element Sink.
+      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 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.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
+
+    onap.policy.clamp.ac.element.AutomationCompositionDefinition:
+      version: 1.2.3
+      type: org.onap.policy.clamp.acm.AutomationComposition
+      type_version: 1.0.1
+      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
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.json b/runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.json
new file mode 100644 (file)
index 0000000..d288603
--- /dev/null
@@ -0,0 +1,64 @@
+{
+    "name": "InstanceHttp",
+    "version": "1.0.1",
+    "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+    "state": "UNINITIALISED",
+    "orderedState": "UNINITIALISED",
+    "description": "Demo automation composition instance Http",
+    "elements": {
+        "709c62b3-8918-41b9-a747-d21eb79c6c24": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c24",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Starter Automation Composition Element for the Demo"
+        },
+        "709c62b3-8918-41b9-a747-d21eb79c6c25": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c25",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Bridge Automation Composition Element for the Demo"
+        },
+        "709c62b3-8918-41b9-a747-d21eb79c6c23": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Sink Automation Composition Element for the Demo"
+        }
+    }
+}
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.yaml b/runtime-acm/src/main/resources/openapi/examples/postCompositionInstance.yaml
new file mode 100644 (file)
index 0000000..96111aa
--- /dev/null
@@ -0,0 +1,49 @@
+name: InstanceHttp
+version: 1.0.1
+compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+state: UNINITIALISED
+orderedState: UNINITIALISED
+description: Demo automation composition instance Http
+elements:
+  709c62b3-8918-41b9-a747-d21eb79c6c24:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c24
+    definition:
+      name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Starter Automation Composition Element for the Demo
+  709c62b3-8918-41b9-a747-d21eb79c6c25:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c25
+    definition:
+      name: onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Bridge Automation Composition Element for the Demo
+  709c62b3-8918-41b9-a747-d21eb79c6c23:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c23
+    definition:
+      name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Sink Automation Composition Element for the Demo
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.json b/runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.json
new file mode 100644 (file)
index 0000000..b662bc6
--- /dev/null
@@ -0,0 +1,6 @@
+{
+    "affectedAutomationComposition": {
+        "name": "InstanceHttp",
+        "version": "1.0.1"
+    }
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/postCompositionInstancesResponse.yaml
new file mode 100644 (file)
index 0000000..1fbca51
--- /dev/null
@@ -0,0 +1,3 @@
+affectedAutomationComposition:
+  name: InstanceHttp
+  version: 1.0.1
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.json b/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.json
new file mode 100644 (file)
index 0000000..78b81d6
--- /dev/null
@@ -0,0 +1,410 @@
+{
+  "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",
+          "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"
+            }
+          ]
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.yaml b/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdate.yaml
new file mode 100644 (file)
index 0000000..cacadce
--- /dev/null
@@ -0,0 +1,312 @@
+# ============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=========================================================
+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
+        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:
+      # Http config for AC Element Starter.
+      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:
+      # Http config for AC Element Bridge.
+      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:
+      # Http config for AC Element Sink.
+      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
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.json b/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.json
new file mode 100644 (file)
index 0000000..20602f7
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+    "affectedAutomationCompositionDefinitions": [
+        {
+            "name": "org.onap.policy.clamp.acm.HttpParticipant",
+            "version": "2.3.4"
+        },
+        {
+            "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"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/putCompositionDefinitionUpdateResponse.yaml
new file mode 100644 (file)
index 0000000..893205d
--- /dev/null
@@ -0,0 +1,12 @@
+compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+affectedAutomationCompositionDefinitions:
+- name: org.onap.policy.clamp.acm.HttpParticipant
+  version: 2.3.4
+- 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
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.json b/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.json
new file mode 100644 (file)
index 0000000..2b3d968
--- /dev/null
@@ -0,0 +1,64 @@
+{
+    "name": "InstanceHttp",
+    "version": "1.0.1",
+    "compositionId": "562ed027-2689-481a-b3a5-e284b1fbc33f",
+    "state": "UNINITIALISED",
+    "orderedState": "PASSIVE",
+    "description": "Demo automation composition instance Http",
+    "elements": {
+        "709c62b3-8918-41b9-a747-d21eb79c6c24": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c24",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Starter Automation Composition Element for the Demo"
+        },
+        "709c62b3-8918-41b9-a747-d21eb79c6c25": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c25",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Bridge Automation Composition Element for the Demo"
+        },
+        "709c62b3-8918-41b9-a747-d21eb79c6c23": {
+            "id": "709c62b3-8918-41b9-a747-d21eb79c6c23",
+            "definition": {
+                "name": "onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement",
+                "version": "1.2.3"
+            },
+            "participantId": {
+                "name": "HttpParticipant0",
+                "version": "1.0.0"
+            },
+            "participantType": {
+                "name": "org.onap.policy.clamp.acm.HttpParticipant",
+                "version": "2.3.4"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "Sink Automation Composition Element for the Demo"
+        }
+    }
+}
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.yaml b/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdate.yaml
new file mode 100644 (file)
index 0000000..3628c63
--- /dev/null
@@ -0,0 +1,49 @@
+name: InstanceHttp
+version: 1.0.1
+compositionId: 562ed027-2689-481a-b3a5-e284b1fbc33f
+state: UNINITIALISED
+orderedState: PASSIVE
+description: Demo automation composition instance Http
+elements:
+  709c62b3-8918-41b9-a747-d21eb79c6c24:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c24
+    definition:
+      name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Starter Automation Composition Element for the Demo
+  709c62b3-8918-41b9-a747-d21eb79c6c25:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c25
+    definition:
+      name: onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Bridge Automation Composition Element for the Demo
+  709c62b3-8918-41b9-a747-d21eb79c6c23:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c23
+    definition:
+      name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement
+      version: 1.2.3
+    participantId:
+      name: HttpParticipant0
+      version: 1.0.0
+    participantType:
+      name: org.onap.policy.clamp.acm.HttpParticipant
+      version: 2.3.4
+    state: UNINITIALISED
+    orderedState: UNINITIALISED
+    description: Sink Automation Composition Element for the Demo
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.json b/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.json
new file mode 100644 (file)
index 0000000..b662bc6
--- /dev/null
@@ -0,0 +1,6 @@
+{
+    "affectedAutomationComposition": {
+        "name": "InstanceHttp",
+        "version": "1.0.1"
+    }
+}
\ No newline at end of file
diff --git a/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.yaml b/runtime-acm/src/main/resources/openapi/examples/putCompositionInstanceUpdateResponse.yaml
new file mode 100644 (file)
index 0000000..1fbca51
--- /dev/null
@@ -0,0 +1,3 @@
+affectedAutomationComposition:
+  name: InstanceHttp
+  version: 1.0.1