模板名稱
ACS-ESS-LifeCycleModifyInstanceChargeType 使用生命週期掛鈎修改執行個體付費方式
模板描述
使用生命週期掛鈎修改執行個體付費方式
模板類型
自動化
所有者
Alibaba Cloud
輸入參數
參數名稱 | 描述 | 類型 | 是否必填 | 預設值 | 約束 |
instanceChargeType | 執行個體需要修改的目標計費方式 | String | 否 | PostPaid | |
periodUnit | 續約時間長度的時間單位 | String | 否 | Month | |
period | 續約時間長度 | Number | 否 | 1 | |
includeDataDisks | 是否轉換資料盤 | Boolean | 否 | False | |
networkChargeType | 網路需要修改的目標計費方式 | String | 否 | PayByTraffic | |
lifecycleActionResult | 生命週期掛鈎等待狀態結束後的下一步動作 | String | 否 | ABANDON | |
regionId | 地區ID | String | 否 | ${regionId} | |
instanceIds | ECS執行個體ID列表 | List | 否 | ['${instanceIds}'] | |
lifecycleHookId | 生命週期掛鈎ID | String | 否 | ${lifecycleHookId} | |
rateControl | 任務執行的並發比率 | Json | 否 | {'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} | |
lifecycleActionToken | 執行個體關聯的特定伸縮活動的令牌 | String | 否 | ${lifecycleActionToken} | |
OOSAssumeRole | OOS扮演的RAM角色 | String | 否 | "" |
輸出參數
無
執行此模板需要的權限原則
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:ModifyInstanceChargeType",
"ecs:ModifyInstanceNetworkSpec"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ess:CompleteLifecycleAction"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
詳情
ACS-ESS-LifeCycleModifyInstanceChargeType詳情
模板內容
FormatVersion: OOS-2019-06-01
Description:
en: Use lifecycleHook to modify instance charge type in the specified scaling activity
zh-cn: 使用生命週期掛鈎修改執行個體付費方式
name-en: ACS-ESS-LifeCycleModifyInstanceChargeType
name-zh-cn: 使用生命週期掛鈎修改執行個體付費方式
categories:
- elastic_manage
Parameters:
instanceChargeType:
Label:
en: InstanceChargeType
zh-cn: 執行個體需要修改的目標計費方式
Type: String
AllowedValues:
- PostPaid
- PrePaid
Default: PostPaid
periodUnit:
Label:
en: PeriodUnit
zh-cn: 續約時間長度的時間單位
Type: String
AllowedValues:
- Week
- Month
Default: Month
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
period:
Description:
en: The period of the instance
zh-cn: PeriodUnit=Week時,Period取值:1~4,PeriodUnit=Month時,Period取值:1~12,24, 36, 48, 60
Label:
en: Period
zh-cn: 續約時間長度
Type: Number
Default: 1
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
includeDataDisks:
Description:
en: Specifies whether to change the billing method of all data disks attached to the instance from pay-as-you-go to subscription
zh-cn: 是否將執行個體掛載的所有隨用隨付資料盤一起轉換為訂用帳戶資料盤
Label:
en: IncludeDataDisks
zh-cn: 是否轉換資料盤
Type: Boolean
Default: false
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
networkChargeType:
Label:
en: NetworkChargeType
zh-cn: 網路需要修改的目標計費方式
Type: String
AllowedValues:
- PayByBandwidth
- PayByTraffic
Default: PayByTraffic
lifecycleActionResult:
Label:
en: LifecycleActionResult
zh-cn: 生命週期掛鈎等待狀態結束後的下一步動作
Description:
en: After the command execution fails, the lifecycle hook waits for the next action after the state ends
zh-cn: 命令執行失敗後,生命週期掛鈎等待狀態結束後的下一步動作
Type: String
AllowedValues:
- ABANDON
- ROLLBACK
- CONTINUE
Default: ABANDON
regionId:
Label:
en: RegionId
zh-cn: 地區ID
Description:
en: The ID of region
zh-cn: 地區ID,請使用Auto Scaling系統預設值 ${regionId}
Type: String
Default: ${regionId}
instanceIds:
Label:
en: InstanceIds
zh-cn: ECS執行個體ID列表
Description:
en: The ID list of the ECS instance
zh-cn: ECS執行個體ID列表,請使用Auto Scaling系統預設值 ["${instanceId}"]
Type: List
Default:
- ${instanceIds}
lifecycleHookId:
Label:
en: LifecycleHookId
zh-cn: 生命週期掛鈎ID
Description:
en: The ID of the lifecycle hook
zh-cn: 生命週期掛鈎ID,請使用Auto Scaling系統預設值 ${lifecycleHookId}
Type: String
Default: ${lifecycleHookId}
rateControl:
Label:
en: RateControl
zh-cn: 任務執行的並發比率
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
lifecycleActionToken:
Label:
en: LifecycleActionToken
zh-cn: 執行個體關聯的特定伸縮活動的令牌
Description:
en: The token that indicates a specific scaling activity associated with an instance
zh-cn: 執行個體關聯的特定伸縮活動的令牌,請使用Auto Scaling系統預設值 ${lifecycleActionToken}
Type: String
Default: ${lifecycleActionToken}
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: sleepTask
Action: ACS::Sleep
Properties:
Duration: 10s
- Name: modifyInstanceChargeType
OnError: CompleteLifecycleActionForAbandon
OnSuccess: CompleteLifecycleActionForContinue
Description:
en: Modify instance charge type
zh-cn: 修改執行個體計費方式
Action: ACS::ECS::ModifyInstanceChargeType
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceChargeType: '{{ instanceChargeType }}'
networkChargeType: '{{ networkChargeType }}'
period: '{{ period }}'
periodUnit: '{{ periodUnit }}'
includeDataDisks: '{{ includeDataDisks }}'
Loop:
Items: '{{ instanceIds }}'
RateControl: '{{ rateControl }}'
- Name: CompleteLifecycleActionForContinue
Action: ACS::ExecuteAPI
Description:
en: Modify lifecycle action for continue
zh-cn: 修改伸縮活動的等待狀態為繼續完成
OnSuccess: ACS::END
Properties:
Service: ESS
API: CompleteLifecycleAction
Parameters:
RegionId: '{{ regionId }}'
LifecycleHookId: '{{ lifecycleHookId }}'
LifecycleActionToken: '{{ lifecycleActionToken }}'
LifecycleActionResult: CONTINUE
- Name: CompleteLifecycleActionForAbandon
Action: ACS::ExecuteAPI
Description:
en: Complete lifecycle action for Abandon
zh-cn: 修改伸縮活動的等待狀態為棄用
Properties:
Service: ESS
API: CompleteLifecycleAction
Parameters:
RegionId: '{{ regionId }}'
LifecycleHookId: '{{ lifecycleHookId }}'
LifecycleActionToken: '{{ lifecycleActionToken }}'
LifecycleActionResult: '{{ lifecycleActionResult }}'