Template name
ACS-ECS-BulkyStopInstancesWithPublicIp: Stops multiple ECS instances that have public IP addresses.
Template description
Stops multiple Elastic Compute Service (ECS) instances that have public IP addresses.
Template type
Automation
Owner
Alibaba Cloud
Input parameters
|
Parameter |
Description |
Type |
Required |
Default |
Constraints |
|
targets |
Target ECS instances to stop. |
Json |
Yes |
||
|
regionId |
Region ID of the instances. |
String |
No |
{{ ACS::RegionId }} |
|
|
stoppedMode |
Billing behavior after the instances are stopped. |
String |
No |
KeepCharging |
|
|
rateControl |
Concurrency and error-handling settings for the task. |
Json |
No |
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
|
|
OOSAssumeRole |
RAM role assumed by CloudOps Orchestration Service (OOS) to perform the operation. |
String |
No |
"" |
Output parameters
|
Parameter |
Description |
Type |
|
instanceIds |
IDs of the stopped instances that have public IP addresses. |
List |
Required permissions
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:StopInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Details
ACS-ECS-BulkyStopInstancesWithPublicIp Details
Template content
FormatVersion: OOS-2019-06-01
Description:
en: Stops multiple ECS instances that have public IP addresses.
zh-cn: 批量停止有公网IP的ECS实例
name-en: ACS-ECS-BulkyStopInstancesWithPublicIp
name-zh-cn: 批量停止有公网IP的ECS实例
categories:
- instance_manage
Parameters:
regionId:
Type: String
Label:
en: Region ID
zh-cn: 地域ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: Target instance
zh-cn: 目标实例
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: regionId
stoppedMode:
Description:
en: For details about the `stoppedMode` parameter, refer to this <a href="https://www.alibabacloud.com/help/document_detail/25501.html" target="_blank">document</a>.
zh-cn: 停止按量付费ECS实例后,是否继续计费,有关StoppedMode详情请<a href="https://www.alibabacloud.com/help/document_detail/25501.html" target="_blank">参考</a>
Label:
en: Stop mode
zh-cn: 停止模式
Type: String
AllowedValues:
- StopCharging
- KeepCharging
Default: KeepCharging
AssociationPropertyMetadata:
LocaleKey: ECSStoppedMode
rateControl:
Label:
en: Rate control
zh-cn: 任务执行的并发比率
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Selects the target ECS instances that have public IP addresses.
zh-cn: 获取ECS实例
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: .Instances.Instance | map(select((.EipAddress.IpAddress != "") or (.PublicIpAddress.IpAddress[]|length > 0))) | .[].InstanceId
- Name: stopInstance
Action: ACS::ECS::StopInstance
Description:
en: Stops the ECS instances
zh-cn: 停止实例
Properties:
regionId: '{{ regionId }}'
stoppedMode: '{{ stoppedMode }}'
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
Outputs:
instanceIds:
Type: List
Value: '{{ getInstance.instanceIds }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- stoppedMode
Label:
default:
zh-cn: 设置参数
en: Configure parameters
- Parameters:
- regionId
- targets
Label:
default:
zh-cn: 选择实例
en: Select ECS instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: 高级选项
en: Control options