ACS-SMC-BulkyVerifyInstances
Template name
ACS-SMC-BulkyVerifyInstances: Verifies target instances in Server Migration Center (SMC)
Template description
Verifies multiple target instances by running commands through Server Migration Center (SMC).
Template type
Automation
Owner
Alibaba Cloud
Input parameters
|
Parameter |
Description |
Type |
Required |
Default |
Constraints |
|
targets |
The target instances to verify. |
Json |
Yes |
||
|
regionId |
The region ID. |
String |
No |
{{ ACS::RegionId }} |
|
|
commandType |
The type of the Cloud Assistant command. |
String |
No |
RunShellScript |
|
|
commandContent |
The content of the command. |
String |
No |
"" |
|
|
timeout |
The command execution timeout, in seconds. |
Number |
No |
600 |
|
|
workingDir |
The directory on the instance where the command is executed. |
String |
No |
"" |
|
|
rateControl |
The settings for rate control, such as concurrency and error tolerance. |
Json |
No |
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
|
|
OOSAssumeRole |
The RAM role that OOS assumes. |
String |
No |
"" |
Output parameters
|
Parameter |
Description |
Type |
|
instanceCheckResults |
The command output from each verified instance. |
List |
Required permissions
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DeleteInstance",
"ecs:DeleteSecurityGroup",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:InstallCloudAssistant",
"ecs:RebootInstance",
"ecs:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"vpc:DeleteVSwitch",
"vpc:DeleteVpc",
"vpc:DescribeVSwitches",
"vpc:DescribeVpcs"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Details
ACS-SMC-BulkyVerifyInstances details
Template content
FormatVersion: OOS-2019-06-01
Description:
en: Verifies multiple instances by running commands.
zh-cn: SMC执行指定的多个实例,并通过执行命令验证目标实例
name-en: ACS-SMC-BulkyVerifyInstances
name-zh-cn: SMC验证目标实例
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: 地域ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: 目标实例
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
commandType:
Label:
en: CommandType
zh-cn: 云助手命令类型
Type: String
AllowedValues:
- RunBatScript
- RunPowerShellScript
- RunShellScript
Default: RunShellScript
commandContent:
Label:
en: CommandContent
zh-cn: 云助手命令
Type: String
AssociationProperty: Code
Default: ''
timeout:
Label:
en: Timeout
zh-cn: 执行命令的超时时间
Type: Number
Default: 600
workingDir:
Label:
en: WorkingDir
zh-cn: 运行命令的目录
Type: String
Default: ''
rateControl:
Label:
en: RateControl
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: Retrieves the target ECS instances.
zh-cn: 获取ECS实例
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: doInstanceCheck
Action: 'ACS::ECS::SMCVerifyInstanceByRunCommand'
Description:
en: Runs a Cloud Assistant command on each instance for verification.
zh-cn: 执行云助手命令检查实例
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
commandContent: '{{ commandContent }}'
commandType: '{{ commandType }}'
workingDir: '{{ workingDir }}'
timeout: '{{ timeout }}'
Outputs:
commandOutput:
Type: String
ValueSelector: invocationOutput
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
Outputs:
commandOutputs:
AggregateType: 'Fn::ListJoin'
AggregateField: commandOutput
Outputs:
instanceCheckResults:
Type: List
Value: '{{ doInstanceCheck.commandOutputs }}'