forked from aliyun/oos-templates
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathACS::ECS::ModifyCreditSpecification.json
100 lines (100 loc) · 2.66 KB
/
ACS::ECS::ModifyCreditSpecification.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
{
"FormatVersion": "OOS-2019-06-01",
"Description": "Modify the column credit specification for the T5 series instance.",
"Parameters": {
"regionId": {
"Description": "The ID of region.",
"Type": "String",
"Default": "{{ ACS::RegionId }}"
},
"instanceId": {
"Description": "The instance ID you will handle.",
"Type": "String",
"MinLength": 1,
"MaxLength": 30
},
"creditSpecification": {
"Description": "The creditSpecification of instance.",
"Type": "String",
"AllowedValues": [
"Standard",
"Unlimited"
]
}
},
"Tasks": [
{
"Name": "getInstanceCreditSpecification",
"Action": "ACS::ExecuteApi",
"Description": "Get instance credit specification.",
"Properties": {
"Service": "ECS",
"API": "DescribeInstances",
"Parameters": {
"RegionId": "{{ regionId }}",
"InstanceIds": [
"{{ instanceId }}"
]
}
},
"Outputs": {
"creditSpecification": {
"Type": "String",
"ValueSelector": "Instances.Instance[].CreditSpecification"
}
}
},
{
"Name": "chooseNextTask",
"Action": "ACS::Choice",
"Description": "Choose next task by ECS instance creditSpecification.",
"Properties": {
"DefaultTask": "modifyCreditSpecification",
"Choices": [
{
"When": {
"Fn::Equals": [
"{{ creditSpecification }}",
"{{ getInstanceCreditSpecification.creditSpecification }}"
]
},
"NextTask": "untilInstanceReady"
}
]
}
},
{
"Name": "modifyCreditSpecification",
"Action": "ACS::ExecuteAPI",
"Description": "Changes the type of creditSpecification instance.",
"Properties": {
"Service": "ECS",
"API": "ModifyInstanceAttribute",
"Parameters": {
"RegionId": "{{ regionId }}",
"InstanceId": "{{ instanceId }}",
"CreditSpecification": "{{ creditSpecification }}"
}
}
},
{
"Name": "untilInstanceReady",
"Action": "ACS::WaitFor",
"Description": "Waits for the ECS instance to enter specified status.",
"Properties": {
"Service": "ECS",
"API": "DescribeInstances",
"Parameters": {
"RegionId": "{{ regionId }}",
"InstanceIds": [
"{{ instanceId }}"
]
},
"DesiredValues": [
"{{ creditSpecification }}"
],
"PropertySelector": "Instances.Instance[].CreditSpecification"
}
}
]
}