summaryrefslogtreecommitdiffstats
path: root/cds-regression-test/cba/cba/ansible-python-dg/Definitions/ansible-python.json
blob: eb39f305017a97dc866e6221a8d417c3e29d3ea6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
{
  "metadata": {
    "template_author": "Selffish",
    "author-email": "test@bell.ca",
    "template_name": "RT-ansible-python-dg",
    "template_version": "1.0.0",
    "template_tags": "Bell, CBA, test"
  },
  "dsl_definitions": {
    "ansible-remote-endpoint": {
      "type": "token-auth",
      "url": "http://cds-regression-mockserver/ansible-python-dg/success",
      "token": "Bearer J9gEtMDqf7P4YsJ7444fioY9VAhLDIs1"
    },
    "remote-executor": {
      "type": "token-auth",
      "host": "regression-cdsce-cds-ce",
      "port": "50051",
      "token": "Basic Y2NzZGthcHBzOmNjc2RrYXBwcw=="
    }
  },
  "topology_template": {
    "workflows": {
      "run-dg": {
        "steps": {
          "process": {
            "description": "Run ansible then pass artifacts to command executor",
            "target": "execute-dg",
            "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": {
          "execute-command-logs": {
            "type": "string",
            "value": {
              "get_attribute": [
                "python",
                "execute-command-logs"
              ]
            }
          }
        }
      }
    },
    "node_templates": {
      "execute-dg": {
        "type": "dg-generic",
        "properties": {
          "content": {
            "get_artifact": [
              "SELF",
              "dg"
            ]
          },
          "dependency-node-templates": [
            "ansible",
            "python"
          ]
        },
        "artifacts": {
          "dg": {
            "type": "artifact-directed-graph",
            "file": "Plans/ansible-python-dg.xml"
          }
        }
      },
      "ansible": {
        "type": "component-remote-ansible-executor",
        "interfaces": {
          "ComponentRemoteAnsibleExecutor": {
            "operations": {
              "process": {
                "inputs": {
                  "endpoint-selector": "*ansible-remote-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"
                  }
                }
              }
            }
          }
        }
      },
      "python": {
        "type": "component-remote-python-executor",
        "interfaces": {
          "ComponentRemotePythonExecutor": {
            "operations": {
              "process": {
                "implementation": {
                  "primary": "component-script",
                  "timeout": 1800,
                  "operation_host": "SELF"
                },
                "inputs": {
                  "endpoint-selector": "remote-executor",
                  "command": "python rt-python.py",
                  "dynamic-properties": {
                    "get_attribute": [
                      "ansible",
                      "ansible-artifacts"
                    ]
                  },
                  "packages": [
                    {
                      "type": "pip",
                      "package": [
                        "requests"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "artifacts": {
          "component-script": {
            "type": "artifact-script-python",
            "file": "Scripts/rt-python.py"
          }
        }
      }
    }
  }
}