Nama template
ACS-SMC-BulkyVerifyInstances – Memverifikasi instans target
Deskripsi template
Menjalankan perintah untuk memverifikasi beberapa instance tujuan sekaligus di Server Migration Center (SMC).
Tipe template
Otomatis
Pemilik
Alibaba Cloud
Parameter input
Parameter | Deskripsi | Type | Diperlukan | Nilai default | Batasan |
targets | Instance tujuan. | Json | Ya | ||
regionId | ID wilayah. | String | Tidak | {{ ACS::RegionId }} | |
commandType | Tipe perintah Cloud Assistant. | String | Tidak | RunShellScript | |
commandContent | Konten perintah Cloud Assistant. | String | Tidak | "" | |
timeout | Periode timeout perintah. | Number | Tidak | 600 | |
workingDir | Direktori tempat perintah dijalankan. | String | Tidak | "" | |
rateControl | Concurrent Task Execution Rate | Json | Tidak | {'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} | |
OOSAssumeRole | Peran Resource Access Management (RAM) yang diasumsikan oleh CloudOps Orchestration Service (OOS). | String | Tidak | "" |
Parameter output
Parameter | Deskripsi | Tipe |
instanceCheckResults | List |
Kebijakan izin yang diperlukan untuk mengeksekusi template
{
"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"
}
]
}
Detail
Untuk informasi lebih lanjut, lihat ACS-SMC-BulkyVerifyInstances di GitHub.
Konten Template
FormatVersion: OOS-2019-06-01
Description:
en: Bulky verify instance by commands
zh-cn: SMC menjalankan beberapa instance yang ditentukan dan memverifikasi instance target melalui eksekusi perintah
name-en: ACS-SMC-BulkyVerifyInstances
name-zh-cn: SMC Verifikasi Instance Target
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: ID Wilayah
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: Instance Target
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
commandType:
Label:
en: CommandType
zh-cn: Jenis Perintah Assistant Cloud
Type: String
AllowedValues:
- RunBatScript
- RunPowerShellScript
- RunShellScript
Default: RunShellScript
commandContent:
Label:
en: CommandContent
zh-cn: Perintah Assistant Cloud
Type: String
AssociationProperty: Code
Default: ''
timeout:
Label:
en: Timeout
zh-cn: Batas waktu eksekusi perintah
Type: Number
Default: 600
workingDir:
Label:
en: WorkingDir
zh-cn: Direktori untuk menjalankan perintah
Type: String
Default: ''
rateControl:
Label:
en: RateControl
zh-cn: Rasio konkurensi eksekusi tugas
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: Peran RAM yang dimainkan oleh OOS
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Views the ECS instances
zh-cn: Mendapatkan instance 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: Execute cloud assistant command to check Instance.
zh-cn: Menjalankan perintah assistant cloud untuk memeriksa instance
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 }}'