-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathACS-ECS-ConvertsPublicIPToNewEIPByInstanceId.yml
131 lines (131 loc) · 3.7 KB
/
ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId.yml
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
FormatVersion: OOS-2019-06-01
Description:
en: Converts the public IP address of a VPC-connected ECS instance with another Elastic IP (EIP) address
zh-cn: 将一台网络类型为专有网络VPC的ECS实例的公网IP转化为其它弹性公网IP
name-en: ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId
name-zh-cn: 将一台实例的公网IP转化为其它弹性公网IP
categories:
- instance_manage
Parameters:
instanceId:
Label:
en: InstanceId
zh-cn: ECS实例ID
Type: String
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: modifyInstanceNetworkSpec
Action: ACS::ExecuteAPI
Description:
en: Modifies the network charge type of the ECS instance with the specified parameters
zh-cn: 转换ECS实例网络付费方式
Properties:
Service: ECS
API: ModifyInstanceNetworkSpec
Parameters:
InstanceId: '{{ instanceId }}'
NetworkChargeType: PayByTraffic
- Name: convertNatPublicIpToEip
Action: ACS::ExecuteApi
Description:
en: Converts the public IP address of a VPC-connected ECS instance to an Elastic IP (EIP) address
zh-cn: 将一台网络类型为专有网络VPC的ECS实例的公网IP转化为弹性公网IP
Properties:
Service: ECS
API: ConvertNatPublicIpToEip
Parameters:
InstanceId: '{{ instanceId }}'
- Name: getInstanceEIP
Action: ACS::ExecuteApi
Description:
en: Gets ECS instance EIP
zh-cn: 获取实例弹性公网IP
Properties:
Service: ECS
API: DescribeInstances
Parameters:
InstanceId:
- '{{ instanceId }}'
Outputs:
allocationId:
Type: String
ValueSelector: Instances.Instance[].EipAddress.AllocationId
- Name: unassociateEipAddress
Action: ACS::ExecuteApi
Description:
en: Elastic public network IP (EIP) is unbound from an ECS instacne
zh-cn: 弹性公网IP(EIP)从绑定的ECS实例上解绑
Properties:
Service: ECS
API: UnassociateEipAddress
Parameters:
InstanceId: '{{ instanceId }}'
AllocationId: '{{ getInstanceEIP.allocationId }}'
- Name: AllocateEipAddress
Action: ACS::ExecuteAPI
Description:
en: Allocate an Eip address
zh-cn: 申请一个弹性公网IP
Properties:
Service: ECS
API: AllocateEipAddress
Parameters: Null
Outputs:
AllocationId:
Type: String
ValueSelector: AllocationId
EipAddress:
Type: String
ValueSelector: EipAddress
- Name: DescribeEipAddresses
Action: ACS::WaitFor
Description:
en: Waits for the Eip to enter Available status
zh-cn: 等待EIP可用
Properties:
Service: VPC
API: DescribeEipAddresses
Parameters:
AllocationId: '{{ AllocateEipAddress.AllocationId }}'
DesiredValues:
- Available
PropertySelector: EipAddresses.EipAddress[].Status
- Name: AssociateEipAddress
Action: ACS::ExecuteAPI
Description:
en: Bind the new EIP to the ECS instance in the same region
zh-cn: 绑定新EIP到同地域的ECS实例上
Properties:
Service: ECS
API: AssociateEipAddress
Parameters:
InstanceId: '{{ InstanceId }}'
AllocationId: '{{ AllocateEipAddress.AllocationId }}'
Outputs:
AllocationId:
Type: String
Value: '{{ AllocateEipAddress.AllocationId }}'
EipAddress:
Type: String
Value: '{{ AllocateEipAddress.EipAddress }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- instanceId
Label:
default:
zh-cn: 选择实例
en: Select Ecs Instances
- Parameters:
- OOSAssumeRole
Label:
default:
zh-cn: 高级选项
en: Control Options