创建模板
1.登陆OOS控制台,找到我的模板,点击创建模板。
2.选择空白模版。
3.复制下文提供的模板到YAML栏中,输入模板名称,点击创建模板
模板内容:
Description: Modify chargetype of prepaid instance charge type.
FormatVersion: OOS-2019-06-01
Parameters:
regionId:
Type: String
Description:
en: The id of region.
zh-cn: 地域ID。
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: regionId
rateControl:
Description:
en: Concurrency ratio of task execution.
zh-cn: 任务执行的并发比率。
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Description:
en: The RAM role to be assumed by OOS.
zh-cn: OOS扮演的RAM角色。
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- 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[].InstanceId'
Name: describeInstances
Action: 'ACS::ExecuteAPI'
Description:
zh-cn: Get Instance by expired time.
en: 根据到期时间过滤实例。
Properties:
Service: ECS
API: DescribeInstances
Parameters:
RegionId: '{{ regionId }}'
InstanceIds: '{{ getInstance.instanceIds }}'
InstanceChargeType: PrePaid
Filter3Key: ExpiredStartTime
Filter4Key: ExpiredEndTime
Filter3Value:
'Fn::FormatUTCTime':
- 'Fn::AddHour':
- '{{ACS::CurrentUTCTime}}'
- 24
- '%Y-%m-%dT00:00Z'
Filter4Value:
'Fn::FormatUTCTime':
- 'Fn::AddHour':
- '{{ACS::CurrentUTCTime}}'
- 48
- '%Y-%m-%dT00:00Z'
Outputs:
instanceIds:
Type: List
ValueSelector: 'Instances.Instance[].InstanceId'
Name: modifyInstanceChargeType
Description:
en: Modify instance charge type.
zh-cn: 修改实例计费方式。
Action: 'ACS::ECS::ModifyInstanceChargeType'
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceChargeType: PostPaid
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ describeInstances.instanceIds }}'
Outputs:
InstanceIds:
Type: List
Value: '{{ describeInstances.instanceIds }}'
4、定时执行模版
找到定时运维,点击创建,选择周期性重复执行,设置定时执行的规则
截图所示规则:截止规则结束时间,每天0点0分定时执行制指定模板,建议设置早上8~9点
5.模板选择,选择上文创建的模板
6.参数设置,设置目标地域,选择对应的实例。点击立即执行
7.在执行详情页中可以查看定时执行列表和所操作的资源
可以点击阅读原文关注我哦