背景介绍
本文介绍如何通过OOS自动给名称中包涵特定字符的ECS打标签。
操作步骤
- 登录OOS控制台,点击创建模板。
- 输入模板名称(ECS-TagInstancesByInstanceName),点击YAML,输出模板内容(见附录),点击创建模板。
- 重复创建模板步骤,创建第二个模板(ECS-BulkyTagInstancesByInstanceName),创建完成后点击创建执行。
- 配置模板参数,实例选择全部。配置完成后点击下一步:确定,然后创建执行。
- 执行完成后在ECS控制台查看实例,OOS模板参数中配置的标签已绑定到ECS实例。
附录
- 模板ECS-TagInstancesByInstanceName 的内容:
FormatVersion OOS-2019-06-01 Description name-en ECS-TagInstancesByInstanceName name-zh-cn 根据实例名称为ECS实例绑定标签 en Tag ECS instances by instance name zh-cn 根据实例名称为ECS实例绑定标签 Parameters regionId Type String Label en RegionId zh-cn 地域ID AssociationProperty RegionId Default'{{ ACS::RegionId }}' instanceInfo Type Json Label en InstanceInfo zh-cn 实例信息 instanceNameStartsField Type String Label en InstanceNameStartsField zh-cn 实例名称开头字段 tags Label en Tags zh-cn 要为ECS实例绑定的标签 Type Json AssociationProperty Tags Tasks Name tagResources Action ACS ExecuteApi When Fn::Equals true Fn::Jq First "{{ instanceNameStartsField }}") .InstanceName | startswith('{{ instanceInfo }}' Description en Creates and attaches tag to ECS instance zh-cn 创建并挂载标签到ECS实例 Properties Service ECS API TagResources Parameters RegionId'{{ regionId }}' ResourceIds Fn::Select InstanceId '{{ instanceInfo }}' ResourceType Instance Tags'{{ tags }}'
- 模板 ECS-BulkyTagInstancesByInstanceName 内容:
FormatVersion OOS-2019-06-01 Description name-en ECS-BulkyTagInstancesByInstanceName name-zh-cn 批量根据实例名称为ECS实例绑定标签 en Bulky tag ECS instances by instance name zh-cn 批量根据实例名称为ECS实例绑定标签 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 timerTrigger Type Json Label en TimerTrigger zh-cn 定时类型 AssociationProperty ALIYUN OOS Component TimerTrigger instanceNameStartsField Type String Label en InstanceNameStartsField zh-cn 实例名称开头字段 tags Label en Tags zh-cn 要为ECS实例绑定的标签 Type Json AssociationProperty Tags rateControl Label en RateControl zh-cn 任务执行的并发比率 Type Json AssociationProperty RateControl Default Mode Concurrency MaxErrors0 Concurrency10 OOSAssumeRole Label en OOSAssumeRole zh-cn OOS扮演的RAM角色 Type String Default OOSServiceRole RamRole'{{ OOSAssumeRole }}' Tasks Name timerTrigger Action ACS TimerTrigger Description en Triggers 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 }}' Name getInstance Description en Views the ECS instances zh-cn 获取ECS实例 Action ACS SelectTargets Properties ResourceType ALIYUN ECS Instance RegionId'{{ regionId }}' Filters '{{ targets }}' Outputs instanceIds Type List ValueSelector'Instances.Instance | map( {"InstanceId": (.InstanceId),"InstanceName": (.InstanceName)})[]' Name tagResources Action ACS Template Description en Creates and attaches tag to ECS instance zh-cn 创建并挂载标签到ECS实例 Properties TemplateName ECS-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 设置参数 en Configure Parameters Parameters regionId targets Label default zh-cn 选择实例 en Select Ecs Instances Parameters rateControl OOSAssumeRole Label default zh-cn 高级选项 en Control Options