53ca04a5da63779e59bad3c98bde57dbc2832171
[ccsdk/cds.git] /
1 {
2   "tosca_definitions_version": "controller_blueprint_1_0_0",
3   "metadata": {
4     "template_author": "Serge Simard",
5     "author-email": "serge@agilitae.com",
6     "user-groups": "ADMIN, OPERATION",
7     "template_name": "remote_ansible",
8     "template_version": "1.0.0",
9     "template_tags": "tosca"
10   },
11   "imports": [
12     {
13       "file": "Definitions/data_types.json"
14     },
15     {
16       "file": "Definitions/relationship_types.json"
17     },
18     {
19       "file": "Definitions/artifact_types.json"
20     },
21     {
22       "file": "Definitions/node_types.json"
23     },
24     {
25       "file": "Definitions/policy_types.json"
26     }
27   ],
28   "dsl_definitions": {
29     "ansible-remote-endpoint": {
30       "type": "token-auth",
31       "url": "http://142.44.184.236",
32       "token": "Bearer J9gEtMDqf7P4YsJ74fioY9VAhLDIs1"
33     }
34   },
35   "topology_template": {
36     "workflows": {
37       "execute-remote-ansible": {
38         "steps": {
39           "process": {
40             "description": "Execute Remote Ansible Script",
41             "target": "execute-remote-ansible",
42             "activities": [
43               {
44                 "call_operation": ""
45               }
46             ]
47           }
48         },
49         "inputs": {
50           "endpoint-selector": {
51             "required": true,
52             "type": "string"
53           },
54           "job-template-name": {
55             "required": true,
56             "type": "string"
57           },
58           "limit": {
59             "required": false,
60             "type": "string"
61           },
62           "inventory": {
63             "required": false,
64             "type": "string"
65           },
66           "tags": {
67             "required": false,
68             "type": "string"
69           },
70           "skip-tags": {
71             "required": false,
72             "type": "string"
73           },
74           "extra-vars" : {
75             "required" : false,
76             "type" : "json"
77           }
78         },
79         "outputs": {
80           "ansible-command-status": {
81             "type": "string",
82             "value": {
83               "get_attribute": [
84                 "execute-remote-ansible",
85                 "ansible-command-status"
86               ]
87             }
88           },
89           "ansible-command-logs": {
90             "type": "string",
91             "value": {
92               "get_attribute": [
93                 "execute-remote-ansible",
94                 "ansible-command-logs"
95               ]
96             }
97           }
98         }
99       }
100     },
101     "node_templates": {
102       "execute-remote-ansible": {
103         "type": "component-remote-ansible-executor",
104         "interfaces": {
105           "ComponentRemoteAnsibleExecutor": {
106             "operations": {
107               "process": {
108                 "inputs": {
109                   "endpoint-selector": { "get_input": "endpoint-selector" },
110                   "job-template-name": { "get_input": "job-template-name" },
111                   "limit": { "get_input": "limit" },
112                   "inventory": { "get_input": "inventory" },
113                   "extra-vars": { "get_input": "extra-vars" },
114                   "tags": { "get_input": "tags" },
115                   "skip-tags": { "get_input": "skip-tags" }
116                 }
117               }
118             }
119           }
120         }
121       }
122     }
123   }
124 }