-
Notifications
You must be signed in to change notification settings - Fork 35
/
prepay-instance.yml
205 lines (205 loc) · 5.07 KB
/
prepay-instance.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
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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建预付费ECS实例,含VPC、子网、安全组,支持自定义配置与公网IP选项,提供实例克隆及订单管理功能。
en: Create prepaid ECS instances inclusive of VPC, subnet, and security group configurations,
supporting custom specifications and the option for public IP addresses, with
features for instance cloning and order management included.
Parameters:
PeriodType:
Type: String
Label: ECS Period Type
Description: ECS Period Type.
Default: Monthly
ImageId:
Type: String
Label: ECS Image Id
Description: Image Id, represents the image resource to startup one ECS instance,
<a href='#/product/cn-beijing/list/imageList' target='_blank'>View image resources</a>
Default: centos_7
InstanceType:
Type: String
Label: ECS Instance Type
Description: The ECS instance type, <a href='#/product/cn-beijing/list/typeList'
target='_blank'>View instance types</a>
Default: ecs.t6-c4m1.large
SystemDiskCategory:
Type: String
Description: Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd.Old
instances will not be changed.
Default: cloud_essd
AllowedValues:
- cloud
- cloud_efficiency
- cloud_ssd
- cloud_essd
- ephemeral_ssd
LoginPassword:
Type: String
Description: ECS Login Password
MinLength: 8
MaxLength: 41
NoEcho: true
PublicIp:
Type: Boolean
Label: Allocate Public IP or Not
Description: Allocate Public IP or Not
Default: false
VpcName:
Type: String
Description: Vpc Name
Default: mytest
VSwitchName:
Type: String
Description: VSwitch Name
Default: mytest
SecurityGroupName:
Type: String
Description: Security Group Name
Default: mytest
InstanceName:
Type: String
Description: Instance Name
Default: mytest
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName:
Ref: VpcName
CidrBlock: 192.168.0.0/16
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
VpcId:
Ref: Vpc
VSwitchName:
Ref: VSwitchName
CidrBlock: 192.168.0.0/16
SecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
VpcId:
Ref: Vpc
SecurityGroupName:
Ref: SecurityGroupName
PrepayInstance:
Type: ALIYUN::ECS::PrepayInstance
Properties:
VpcId:
Ref: Vpc
VSwitchId:
Ref: VSwitch
SecurityGroupId:
Ref: SecurityGroup
ImageId:
Ref: ImageId
InstanceChargeType: PrePaid
MinAmount: 1
MaxAmount: 1
Period: 1
PeriodUnit: Month
PeriodType:
Ref: PeriodType
InstanceName:
Ref: InstanceName
IoOptimized: 'True'
AllocatePublicIP:
Ref: PublicIp
InstanceType:
Ref: InstanceType
SystemDiskCategory:
Ref: SystemDiskCategory
Password:
Ref: LoginPassword
MergePay:
Type: ALIYUN::ROS::MergePay
Properties:
OrderIds:
- Fn::GetAtt:
- PrepayInstance
- OrderId
DependsOn: PrepayInstance
WaitOrder:
Type: ALIYUN::BSS::WaitOrder
Properties:
OrderIds:
- Fn::GetAtt:
- PrepayInstance
- OrderId
WaitForOrderProduced: true
DependsOn: MergePay
PrepayInstanceGroupClone:
Type: ALIYUN::ECS::PrepayInstanceGroupClone
Properties:
PeriodType:
Ref: PeriodType
MinAmount: 1
MaxAmount: 1
Period: 1
SourceInstanceId:
Fn::Select:
- 0
- Fn::GetAtt:
- PrepayInstance
- InstanceIds
DependsOn: WaitOrder
Outputs:
CloneOrder:
Value:
Fn::GetAtt:
- PrepayInstanceGroupClone
- OrderId
PublicIps:
Description: Public IP address list of created ecs instance.
Value:
Fn::GetAtt:
- PrepayInstance
- PublicIps
RelatedOrderIds:
Description: The related order id list of created ecs instances
Value:
Fn::GetAtt:
- PrepayInstance
- RelatedOrderIds
PrivateIps:
Description: Private IP address list of created ecs instance. Only for VPC instance.
Value:
Fn::GetAtt:
- PrepayInstance
- PrivateIps
HostNames:
Description: Host names of created instance.
Value:
Fn::GetAtt:
- PrepayInstance
- HostNames
InnerIps:
Description: Inner IP address list of the specified instance. Only for classical
instance.
Value:
Fn::GetAtt:
- PrepayInstance
- InnerIps
ZoneIds:
Description: Zone id of created instance.
Value:
Fn::GetAtt:
- PrepayInstance
- ZoneIds
OrderId:
Description: The order id list of created instance.
Value:
Fn::GetAtt:
- PrepayInstance
- OrderId
InstanceIds:
Description: The instance id list of created ecs instance
Value:
Fn::GetAtt:
- PrepayInstance
- InstanceIds