背景介绍
本文介绍如何通过OOS自动给名称中包涵特定字符的ECS打标签。
操作步骤
- 登录OOS控制台,点击创建模板。
- 输入模板名称(ECS-TagInstancesByInstanceName),点击YAML,输出模板内容(见附录),点击创建模板。
- 重复创建模板步骤,创建第二个模板(ECS-BulkyTagInstancesByInstanceName),创建完成后点击创建执行。
- 配置模板参数,实例选择全部。配置完成后点击下一步:确定,然后创建执行。
- 执行完成后在ECS控制台查看实例,OOS模板参数中配置的标签已绑定到ECS实例。
附录
- 模板ECS-TagInstancesByInstanceName 的内容:
FormatVersionOOS-2019-06-01 Description name-enECS-TagInstancesByInstanceName name-zh-cn根据实例名称为ECS实例绑定标签 enTag ECS instances by instance name zh-cn根据实例名称为ECS实例绑定标签 Parameters regionId TypeString Label enRegionId zh-cn地域ID AssociationPropertyRegionId Default'{{ ACS::RegionId }}' instanceInfo TypeJson Label enInstanceInfo zh-cn实例信息 instanceNameStartsField TypeString Label enInstanceNameStartsField zh-cn实例名称开头字段 tags Label enTags zh-cn要为ECS实例绑定的标签 TypeJson AssociationPropertyTags Tasks NametagResources ActionACSExecuteApi When Fn::Equals true Fn::Jq First .InstanceName | startswith("{{ instanceNameStartsField }}") '{{ instanceInfo }}' Description enCreates and attaches tag to ECS instance zh-cn创建并挂载标签到ECS实例 Properties ServiceECS APITagResources Parameters RegionId'{{ regionId }}' ResourceIds Fn::Select InstanceId '{{ instanceInfo }}' ResourceTypeInstance Tags'{{ tags }}'
- 模板 ECS-BulkyTagInstancesByInstanceName 内容:
FormatVersionOOS-2019-06-01 Description name-enECS-BulkyTagInstancesByInstanceName name-zh-cn批量根据实例名称为ECS实例绑定标签 enBulky tag ECS instances by instance name zh-cn批量根据实例名称为ECS实例绑定标签 Parameters regionId TypeString Label enRegionId zh-cn地域ID AssociationPropertyRegionId Default'{{ ACS::RegionId }}' targets TypeJson Label enTargetInstance zh-cn目标实例 AssociationPropertyTargets AssociationPropertyMetadata ResourceTypeALIYUNECSInstance RegionIdregionId timerTrigger TypeJson Label enTimerTrigger zh-cn定时类型 AssociationPropertyALIYUNOOSComponentTimerTrigger instanceNameStartsField TypeString Label enInstanceNameStartsField zh-cn实例名称开头字段 tags Label enTags zh-cn要为ECS实例绑定的标签 TypeJson AssociationPropertyTags rateControl Label enRateControl zh-cn任务执行的并发比率 TypeJson AssociationPropertyRateControl Default ModeConcurrency MaxErrors0 Concurrency10 OOSAssumeRole Label enOOSAssumeRole zh-cnOOS扮演的RAM角色 TypeString DefaultOOSServiceRole RamRole'{{ OOSAssumeRole }}' Tasks NametimerTrigger ActionACSTimerTrigger Description enTriggers a task as scheduled by specifying type and expression zh-cn通过指定触发类型和表达式按计划触发任务 Properties Type Fn::Select type '{{timerTrigger}}' Expression Fn::Select expression '{{timerTrigger}}' EndDate Fn::Select endDate '{{ timerTrigger }}' TimeZone Fn::Select timeZone '{{ timerTrigger }}' NamegetInstance Description enViews the ECS instances zh-cn获取ECS实例 ActionACSSelectTargets Properties ResourceTypeALIYUNECSInstance RegionId'{{ regionId }}' Filters '{{ targets }}' Outputs instanceIds TypeList ValueSelector'Instances.Instance | map( {"InstanceId": (.InstanceId),"InstanceName": (.InstanceName)})[]' NametagResources ActionACSTemplate Description enCreates and attaches tag to ECS instance zh-cn创建并挂载标签到ECS实例 Properties TemplateNameECS-TagInstancesByInstanceName Parameters regionId'{{ regionId }}' instanceInfo'{{ ACS::TaskLoopItem }}' tags'{{ tags }}' instanceNameStartsField'{{ instanceNameStartsField }}' Loop RateControl'{{ rateControl }}' Items'{{ getInstance.instanceIds }}' Metadata ALIYUN::OOS::Interface ParameterGroups Parameters timerTrigger tags instanceNameStartsField Label default zh-cn设置参数 enConfigure Parameters Parameters regionId targets Label default zh-cn选择实例 enSelect Ecs Instances Parameters rateControl OOSAssumeRole Label default zh-cn高级选项 enControl Options