diff options
Diffstat (limited to 'cba/remote-ansible/Definitions/remote-ansible.json')
-rw-r--r-- | cba/remote-ansible/Definitions/remote-ansible.json | 281 |
1 files changed, 281 insertions, 0 deletions
diff --git a/cba/remote-ansible/Definitions/remote-ansible.json b/cba/remote-ansible/Definitions/remote-ansible.json new file mode 100644 index 0000000..59ca6c6 --- /dev/null +++ b/cba/remote-ansible/Definitions/remote-ansible.json @@ -0,0 +1,281 @@ +{ + "metadata": { + "template_author": "Selffish", + "author-email": "test@bell.ca", + "template_name": "RT-remote-ansible", + "template_version": "1.0.0", + "template_tags": "Bell, CBA, test" + }, + "dsl_definitions": { + "ansible-remote-success-endpoint": { + "type": "token-auth", + "url": .MOCK_SRV_SUCCESS, + "token": "Bearer J9gEtMDqf7P4YsJ7444fioY9VAhLDIs1" + }, + "ansible-remote-failure-endpoint": { + "type": "token-auth", + "url": .MOCK_SRV_FAIL, + "token": "Bearer J9gEtMDqf7P4YsJ7444fioY9VAhLDIs1" + }, + "ansible-remote-invalid-endpoint": { + "type": "token-auth", + "url": "http://localhost:12345", + "token": "Bearer J9gEtMDqf7P4YsJ7444fioY9VAhLDIs1" + } + }, + "topology_template": { + "workflows": { + "execute-remote-ansible-success": { + "steps": { + "process": { + "description": "Execute Remote Ansible Script", + "target": "execute-remote-ansible-success", + "activities": [ + { + "call_operation": "" + } + ] + } + }, + "inputs": { + "endpoint-selector": { + "required": true, + "type": "string" + }, + "job-template-name": { + "required": true, + "type": "string" + }, + "limit": { + "required": false, + "type": "string" + }, + "inventory": { + "required": false, + "type": "string" + }, + "tags": { + "required": false, + "type": "string" + }, + "skip-tags": { + "required": false, + "type": "string" + }, + "extra-vars" : { + "required" : false, + "type" : "json" + } + }, + "outputs": { + "ansible-command-status": { + "type": "string", + "value": { + "get_attribute": [ + "execute-remote-ansible-success", + "ansible-command-status" + ] + } + }, + "ansible-command-logs": { + "type": "string", + "value": { + "get_attribute": [ + "execute-remote-ansible-success", + "ansible-command-logs" + ] + } + } + } + }, + "connection-fail": { + "steps": { + "process": { + "description": "Execute Remote Ansible Script", + "target": "connection-fail", + "activities": [ + { + "call_operation": "" + } + ] + } + }, + "inputs": { + "endpoint-selector": { + "required": true, + "type": "string" + }, + "job-template-name": { + "required": true, + "type": "string" + }, + "limit": { + "required": false, + "type": "string" + }, + "inventory": { + "required": false, + "type": "string" + }, + "tags": { + "required": false, + "type": "string" + }, + "skip-tags": { + "required": false, + "type": "string" + }, + "extra-vars" : { + "required" : false, + "type" : "json" + } + }, + "outputs": { + "ansible-command-status": { + "type": "string", + "value": { + "get_attribute": [ + "connection-fail", + "ansible-command-status" + ] + } + }, + "ansible-command-logs": { + "type": "string", + "value": { + "get_attribute": [ + "connection-fail", + "ansible-command-logs" + ] + } + } + } + }, + "execute-remote-ansible-failure": { + "steps": { + "process": { + "description": "Execute Remote Ansible Script", + "target": "execute-remote-ansible-failure", + "activities": [ + { + "call_operation": "" + } + ] + } + }, + "inputs": { + "endpoint-selector": { + "required": true, + "type": "string" + }, + "job-template-name": { + "required": true, + "type": "string" + }, + "limit": { + "required": false, + "type": "string" + }, + "inventory": { + "required": false, + "type": "string" + }, + "tags": { + "required": false, + "type": "string" + }, + "skip-tags": { + "required": false, + "type": "string" + }, + "extra-vars" : { + "required" : false, + "type" : "json" + } + }, + "outputs": { + "ansible-command-status": { + "type": "string", + "value": { + "get_attribute": [ + "execute-remote-ansible-failure", + "ansible-command-status" + ] + } + }, + "ansible-command-logs": { + "type": "string", + "value": { + "get_attribute": [ + "execute-remote-ansible-failure", + "ansible-command-logs" + ] + } + } + } + } + }, + "node_templates": { + "execute-remote-ansible-success": { + "type": "component-remote-ansible-executor", + "interfaces": { + "ComponentRemoteAnsibleExecutor": { + "operations": { + "process": { + "inputs": { + "endpoint-selector" : "*ansible-remote-success-endpoint", + "job-template-name": { "get_input": "job-template-name" }, + "limit": { "get_input": "limit" }, + "inventory": { "get_input": "inventory" }, + "extra-vars": { "get_input": "extra-vars" }, + "tags": { "get_input": "tags" }, + "skip-tags": { "get_input": "skip-tags" } + } + } + } + } + } + }, + "connection-fail": { + "type": "component-remote-ansible-executor", + "interfaces": { + "ComponentRemoteAnsibleExecutor": { + "operations": { + "process": { + "inputs": { + "endpoint-selector" : "*ansible-remote-invalid-endpoint", + "job-template-name": { "get_input": "job-template-name" }, + "limit": { "get_input": "limit" }, + "inventory": { "get_input": "inventory" }, + "extra-vars": { "get_input": "extra-vars" }, + "tags": { "get_input": "tags" }, + "skip-tags": { "get_input": "skip-tags" } + } + } + } + } + } + }, + "execute-remote-ansible-failure": { + "type": "component-remote-ansible-executor", + "interfaces": { + "ComponentRemoteAnsibleExecutor": { + "operations": { + "process": { + "inputs": { + "endpoint-selector" : "*ansible-remote-failure-endpoint", + "job-template-name": { "get_input": "job-template-name" }, + "limit": { "get_input": "limit" }, + "inventory": { "get_input": "inventory" }, + "extra-vars": { "get_input": "extra-vars" }, + "tags": { "get_input": "tags" }, + "skip-tags": { "get_input": "skip-tags" } + } + } + } + } + } + } + } + } + } |