Nombre de la plantilla
ACS-ECS-BulkyModifyInstanceChargeType: modifica masivamente el método de facturación de instancias ECS.
Descripción de la plantilla
Cambia el método de facturación de varias instancias ECS simultáneamente.
Tipo de plantilla
Automatizada
Propietario
Alibaba Cloud
Parámetros de entrada
|
Parámetro |
Descripción |
Tipo |
Obligatorio |
Valor predeterminado |
Límite |
|
targets |
Instancias ECS de destino. |
Json |
Sí |
||
|
regionId |
ID de región. |
String |
No |
{{ ACS::RegionId }} |
|
|
instanceChargeType |
Método de facturación objetivo para las instancias. |
String |
No |
PostPaid |
|
|
periodUnit |
Unidad de duración de la renovación. |
String |
No |
Month |
|
|
period |
Duración de la renovación. |
Number |
No |
1 |
|
|
includeDataDisks |
Indica si también se debe convertir la facturación de los discos de datos. |
Boolean |
No |
False |
|
|
networkChargeType |
Método de facturación de red objetivo. |
String |
No |
PayByTraffic |
|
|
rateControl |
Concurrencia de ejecución de tareas. |
Json |
No |
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
|
|
OOSAssumeRole |
Rol de RAM que asume OOS. |
String |
No |
"" |
Parámetros de salida
Ninguno
Permisos obligatorios
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:ModifyInstanceChargeType",
"ecs:ModifyInstanceNetworkSpec"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Detalles
El código fuente de la plantilla está disponible en ACS-ECS-BulkyModifyInstanceChargeType.yml en GitHub.
Contenido de la plantilla
FormatVersion: OOS-2019-06-01
Description:
en: Changes the billing method for multiple instances.
zh-cn: Changes the billing method for multiple instances.
name-en: ACS-ECS-BulkyModifyInstanceChargeType
name-zh-cn: Change the billing method for multiple instances
categories:
- instance_manage
Parameters:
regionId:
Type: String
Label:
en: Region ID
zh-cn: Region ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: Target Instance
zh-cn: Target Instance
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
instanceChargeType:
Label:
en: Target Billing Method for Instance
zh-cn: Target Billing Method for Instance
Type: String
AllowedValues:
- PostPaid
- PrePaid
Default: PostPaid
periodUnit:
Label:
en: Unit of Renewal Duration
zh-cn: Unit of Renewal Duration
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: If PeriodUnit is Week, the valid values of Period are 1 to 4. If PeriodUnit is Month, the valid values of Period are 1 to 12, 24, 36, 48, and 60.
Label:
en: Renewal Duration
zh-cn: Renewal Duration
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: Specifies whether to convert all pay-as-you-go data disks attached to the instance to subscription.
Label:
en: Convert Data Disks
zh-cn: Convert Data Disks
Type: Boolean
Default: false
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
networkChargeType:
Label:
en: Target Billing Method for Network
zh-cn: Target Billing Method for Network
Type: String
AllowedValues:
- PayByBandwidth
- PayByTraffic
- ''
AssociationPropertyMetadata:
ValueLabelMapping:
PayByBandwidth: Pay-by-bandwidth
PayByTraffic: Pay-by-traffic
'': Do not change the billing method
Default: PayByTraffic
rateControl:
Label:
en: Task Execution Concurrency Rate
zh-cn: Task Execution Concurrency Rate
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: RAM Role for OOS to Assume
zh-cn: RAM Role for OOS to Assume
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Gets ECS instances.
zh-cn: Get ECS instances.
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
- Name: modifyInstanceChargeType
Description:
en: Modifies the instance billing method.
zh-cn: Modify instance billing method.
Action: ACS::ECS::ModifyInstanceChargeType
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceChargeType: '{{ instanceChargeType }}'
networkChargeType: '{{ networkChargeType }}'
period: '{{ period }}'
periodUnit: '{{ periodUnit }}'
includeDataDisks: '{{ includeDataDisks }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.Instances.Instance[].InstanceId }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- instanceChargeType
- period
- periodUnit
- includeDataDisks
- networkChargeType
Label:
default:
zh-cn: Billing Method Parameters
en: Billing Method Parameters
- Parameters:
- regionId
- targets
Label:
default:
zh-cn: Select Instances
en: Select ECS Instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: Advanced Options
en: Advanced Options