forked from aliyun/oos-templates
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathACS::CS::RunCommand.json
125 lines (125 loc) · 3.02 KB
/
ACS::CS::RunCommand.json
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
{
"FormatVersion": "OOS-2019-06-01",
"Description": "Run command on CS instance.",
"Parameters": {
"clusterId": {
"Description": "The ID of cluster.",
"Type": "String"
},
"commandContent": {
"Description": "The content of command.",
"Type": "String",
"AssociationProperty": "Code"
},
"OOSAssumeRole": {
"Description": "The RAM role to be assumed by OOS.",
"Type": "String",
"Default": "OOSServiceRole"
}
},
"RamRole": "{{ OOSAssumeRole }}",
"Tasks": [
{
"Name": "getClusterType",
"Action": "ACS::ExecuteAPI",
"Description": "Views cluster type.",
"Properties": {
"Service": "CS",
"API": "DescribeClusters",
"Method": "GET",
"URI": "/clusters/{{clusterId}}"
},
"Outputs": {
"clusterType": {
"Type": "String",
"ValueSelector": ".cluster_type"
}
}
},
{
"Name": "chooseNextTask",
"Action": "ACS::Choice",
"Description": "Choose next task by cluster type.",
"Properties": {
"DefaultTask": "runFC_Command",
"Choices": [
{
"When": {
"Fn::Equals": [
"Kubernetes",
"{{ getClusterType.clusterType }}"
]
},
"NextTask": "getClusterMaster"
}
]
}
},
{
"Name": "getClusterMaster",
"Action": "ACS::ExecuteAPI",
"Description": "Views cluster master nodes.",
"Properties": {
"Service": "CS",
"API": "DescribeClusterNodes",
"Method": "GET",
"URI": "/clusters/{{clusterId}}"
},
"Outputs": {
"instanceId": {
"Type": "String",
"ValueSelector": ".outputs[10].OutputValue[]"
}
}
},
{
"Name": "runCommand",
"Action": "ACS::ECS::RunCommand",
"Description": "Executes a cloud assistant command.",
"OnSuccess": "ACS::END",
"Properties": {
"commandContent": "{{ commandContent }}",
"instanceId": "{{ getClusterMaster.instanceId }}",
"commandType": "RunShellScript"
},
"Outputs": {
"commandOutput": {
"Type": "String",
"ValueSelector": "invocationOutput"
}
}
},
{
"Name": "runFC_Command",
"Description": "Run kubectl command.",
"Action": "ACS::CS::FC-RunCommand",
"Properties": {
"clusterId": "{{ clusterId }}",
"commandContent": "{{ commandContent }}"
},
"Outputs": {
"commandOutput": {
"Type": "String",
"ValueSelector": "invokeResult"
}
}
}
],
"Outputs": {
"commandOutput": {
"Type": "String",
"Value": {
"Fn::If": [
{
"Fn::Equals": [
"Kubernetes",
"{{ getClusterType.clusterType }}"
]
},
"{{ runCommand.commandOutput }}",
"{{ runFC_Command.commandOutput }}"
]
}
}
}
}