ALIYUN::ECS::AutoProvisioningGroup is used to create an auto provisioning group.
Syntax
{
"Type": "ALIYUN::ECS::AutoProvisioningGroup",
"Properties": {
"SpotInstancePoolsToUseCount": Integer,
"AutoProvisioningGroupName": String,
"ValidUntil": String,
"Description": String,
"PayAsYouGoAllocationStrategy": String,
"MaxSpotPrice": Number,
"LaunchTemplateId": String,
"DefaultTargetCapacityType": String,
"SpotInstanceInterruptionBehavior": String,
"SpotTargetCapacity": String,
"SpotAllocationStrategy": String,
"PayAsYouGoTargetCapacity": String,
"TotalTargetCapacity": String,
"AutoProvisioningGroupType": String,
"LaunchTemplateVersion": String,
"ValidFrom": String,
"ExcessCapacityTerminationPolicy": String,
"TerminateInstances": Boolean,
"TerminateInstancesWithExpiration": Boolean,
"CheckExecutionStatus": Boolean,
"LaunchConfiguration": Map
"LaunchTemplateConfig": List
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
SpotInstancePoolsToUseCount | Integer | No | No | The number of instances that the auto provisioning group creates by selecting the instance type of the lowest price. | The value of this property must be smaller than the relevant number that you specify in the configurations of the launch template. This property only takes effect when the SpotAllocationStrategy property is set to lowest-price. |
AutoProvisioningGroupName | String | No | No | The name of the auto provisioning group. | The name must be 2 to 128 characters in length, and can contain letters, digits, colons(:), underscores (_), and hyphens (-). The name must start with a letter but cannot start with |
ValidUntil | String | No | No | The point in time at which the auto provisioning group expires. The auto provisioning group is valid during the period of time between the point in time that is specified by the ValidFrom property and this point in time. | Specify the time in the ISO 8601 standard in the |
Description | String | No | No | The description of the auto provisioning group. | None. |
PayAsYouGoAllocationStrategy | String | No | No | The policy based on which the auto provisioning group creates pay-as-you-go instances. | Default value: lowest-price. Valid values:
|
MaxSpotPrice | Number | No | Yes | The highest price of preemptible instances in the auto provisioning group. | If you specify the MaxPrice property in LaunchTemplateConfig and the MaxSpotPrice property, the smaller value between the values of both properties is used as the highest price. |
LaunchTemplateId | String | No | No | The ID of the launch template that you associate with the auto provisioning group. | You can call the DescribeLaunchTemplates operation to query available launch templates. When you specify the LaunchTemplateId and LaunchConfiguration properties, the value of the LaunchTemplateId property takes precedence. |
DefaultTargetCapacityType | String | No | Yes | The type of supplemental instances. When the sum of the values of PayAsYouGoTargetCapacity and SpotTargetCapacity properties is smaller than the value of the TotalTargetCapacity property, the auto provisioning group creates instances of the specified billing method to meet the capacity requirements. | Default value: Spot. Valid values:
|
SpotInstanceInterruptionBehavior | String | No | No | The next operation that the system performs after the excess preemptible instances are stopped. | Default value: stop. Valid values:
|
SpotTargetCapacity | String | No | Yes | The target capacity of preemptible instances in the auto provisioning group. | This value must be smaller than the value of the TotalTargetCapacity property. |
SpotAllocationStrategy | String | No | No | The policy based on which the auto provisioning group creates preemptible instances. | Default value: lowest-price. Valid values:
|
PayAsYouGoTargetCapacity | String | No | Yes | The target capacity of pay-as-you-go instances in the auto provisioning group. | This value must be smaller than the value of the TotalTargetCapacity property. |
TotalTargetCapacity | String | Yes | Yes | The total target capacity of the auto provisioning group. | The value must be a positive integer. The total target capacity of the auto provisioning group must be at least the sum of the values of the PayAsYouGoTargetCapacity and SpotTargetCapacity properties. |
AutoProvisioningGroupType | String | No | No | The delivery type of the auto provisioning group. | Default value: maintain. Valid values:
|
LaunchTemplateVersion | String | No | No | The version of the launch template that is associated with the auto provisioning group. | You can call the DescribeLaunchTemplateVersions operation to query available versions of the launch template. |
ValidFrom | String | No | No | The point in time at which the auto provisioning group is started. The auto provisioning group is valid during the period of time between this point in time and the point in time that is specified by the ValidUntil property. | Specify the time in the ISO 8601 standard in the |
ExcessCapacityTerminationPolicy | String | No | Yes | Specifies whether to stop excess preemptible instances when the total target capacity of the auto provisioning group is reached. | Default value: no-termination. Valid values:
|
TerminateInstances | Boolean | No | No | Specifies whether to release the instances in the auto provisioning group when the auto provisioning group is deleted. | Default value: false. Valid values:
|
TerminateInstancesWithExpiration | Boolean | No | Yes | Specifies whether to stop preemptible instances when the auto provisioning group expires. | Default value: false. Valid values:
|
CheckExecutionStatus | Boolean | No | No | Specifies whether to check the execution status. | Valid values:
|
LaunchConfiguration | Map | No | No | The launch configuration. | When you specify the LaunchTemplateId and LaunchConfiguration properties, the value of the LaunchTemplateId property takes precedence. For more information, see LaunchConfiguration properties. |
LaunchTemplateConfig | List | No | No | The configurations of the launch template. | You can specify up to 20 configurations. For more information, see LaunchTemplateConfig properties. |
LaunchTemplateConfig syntax
"LaunchTemplateConfig": [
{
"Priority": Integer,
"WeightedCapacity": Integer,
"VSwitchId": String,
"InstanceType": String,
"MaxPrice": Integer
}
]
LaunchTemplateConfig properties
Property | Type | Required | Editable | Description | Constraint |
Priority | Integer | No | No | The priority of the instance type that is specified in the launch template. | The value must be an integer that is greater than or equal to 0. The value 0 indicates the highest priority. |
WeightedCapacity | Integer | No | No | The weight of the instance type that is specified in the launch template. | The value must be an integer that is greater than 0. A larger value of this property indicates that a single instance has more computing power and fewer instances are required. You can calculate the weight based on the computing power of the specified instance type and the minimum computing power of a single node in the cluster. For example, if the minimum computing power of a single node is 8 vCPUs and 60 GiB, you can set the weight of the instance type that has 8 vCPUs and 60 GiB to 1 and the weight of the instance type that has 16 vCPUs and 120 GiB to 2. |
VSwitchId | String | Yes | No | The ID of the vSwitch that is specified in the launch template. The ECS instances in the launch template are connetced to the vSwitch. | The zone of the ECS instances that are created from the launch template is determined by the vSwitch. |
InstanceType | String | No | No | The instance type that is specified in the launch template. | None. |
MaxPrice | Integer | No | No | The highest price of preemptible instances that is specified in the launch template. | None. |
LaunchConfiguration syntax
"LaunchConfiguration": {
"InstanceDescription": String,
"SystemDiskName": String,
"RamRoleName": String,
"SystemDiskCategory": String,
"SecurityGroupId": String,
"CreditSpecification": String,
"HostName": String,
"SystemDiskDescription": String,
"SystemDiskPerformanceLevel": String,
"DataDisk": List,
"InternetMaxBandwidthOut": Integer,
"IoOptimized": String,
"Tag": List,
"ImageId": String,
"ResourceGroupId": String,
"KeyPairName": String,
"PasswordInherit": Boolean,
"UserData": String,
"InstanceName": String,
"SystemDiskSize": Integer,
"InternetChargeType": String,
"SecurityEnhancementStrategy": String
}
LaunchConfiguration properties
Property | Type | Required | Editable | Description | Constraint |
InstanceDescription | String | No | No | The description of the instance. | The description must be 2 to 256 characters in length. The description cannot start with |
SystemDiskName | String | No | No | The name of the system disk. | The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). The name must start with a letter but cannot start with |
RamRoleName | String | No | No | The name of the RAM role for the instance. | None. |
SystemDiskCategory | String | No | No | The category of the system disk. | Valid values:
For non-I/O optimized instances of a retired instance type, the default value is cloud. For other types of instances, the default value is cloud_efficiency. |
SecurityGroupId | String | Yes | No | The ID of the security group to which the instance belongs. | None. |
CreditSpecification | String | No | No | The performance mode of burstable instances. | Valid values:
|
HostName | String | No | No | The hostname of the instance. | The hostname cannot start or end with a period (.) or hyphen (-). The hostname cannot contain consecutive periods (.) or hyphens (-). The hostname must meet the following requirements:
|
SystemDiskDescription | String | No | No | The description of the system disk. | The description must be 2 to 256 characters in length. The description cannot start with |
SystemDiskPerformanceLevel | String | No | No | The performance level (PL) of the ESSD that is used as a system disk. | Default value: PL0. Valid values:
|
DataDisk | List | No | No | The configurations of the data disk. | You can specify up to 16 data disks. For more information, see DataDisk properties. |
InternetMaxBandwidthOut | Integer | No | No | The maximum outbound public bandwidth. | Valid values: 0 to 100. Default value: 0. Unit: Mbit/s. |
IoOptimized | String | No | No | Specifies whether the instance is an I/O optimized instance. | Valid values:
|
Tag | List | No | No | The tags of the instance. | You can specify up to 20 tags. For more information, see Tag properties. |
ImageId | String | Yes | No | The ID of the image. | None. |
ResourceGroupId | String | No | No | The ID of the enterprise resource group to which the instance belongs. | None. |
KeyPairName | String | No | No | The name of the key pair. | For Windows instances, you can leave this property empty. By default, this property is empty. By default, password-based logon is disabled for Linux instances. |
PasswordInherit | Boolean | No | No | Specifies whether to use the preset password of an image. | Valid values:
|
UserData | String | No | No | The user data of the instance. | User data must be encoded in Base64. The maximum size of raw data is 16 KB. |
InstanceName | String | No | No | The name of the instance. | The default value of this property is the value of the InstanceId property. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). The name must start with a letter but cannot start with |
SystemDiskSize | Integer | No | No | The size of the system disk. | Valid values: 20 to 500. The size of the system disk must be greater than or equal to the size of the image. Default value: 40 or the image size. Unit: GiB. |
InternetChargeType | String | No | No | The metering method of the network. | Valid values:
Note When the pay-by-data-transfer metering method is used, the maximum inbound and outbound bandwidths are used as the maximum bandwidths instead of guaranteed bandwidths. When demands outstrip resource supplies, the maximum bandwidths may be affected. If you require guaranteed bandwidths for your instance, use the pay-by-bandwidth metering method. |
SecurityEnhancementStrategy | String | No | No | Specifies whether to enable security hardening. | Valid values:
|
DataDisk syntax
"DataDisk": [
{
"DiskName": String,
"Size": Integer,
"Category": String,
"Description": String,
"DeleteWithInstance": Boolean,
"SnapshotId": String,
"Encrypted": Boolean,
"KmsKeyId": String,
"InternetChargeType": String,
"PerformanceLevel": String
}
]
DataDisk properties
Property | Type | Required | Editable | Description | Constraint |
DiskName | String | No | No | The name of the data disk. | The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). The name must start with a letter but cannot start with |
Size | Integer | No | No | The size of the data disk. | Valid values:
Unit: GiB. |
Category | String | No | No | The category of the data disk. | Valid values:
For I/O optimized instances, the default value is cloud_efficiency. For non-I/O optimized instances, the default value is cloud. |
Description | String | No | No | The description of the data disk. | The description must be 2 to 256 characters in length. The description cannot start with |
DeleteWithInstance | Boolean | No | No | Specifies whether to release the data disk when the instance is released. | Default value: true. Valid values:
|
SnapshotId | String | No | No | The ID of the snapshot that is used to create the data disk. | If you specify this property, the size of the data disk that is specified by the Size property is ignored. The size of the snapshot that is specified by the SnapshotId property is used as the actual size of the data disk. Note If you use snapshots that are created before July 15, 2013, the system reports an error and rejects your request. Therefore, we recommend that you do not use these snapshots. |
Encrypted | Boolean | No | No | Specifies whether to encrypt the data disk. | Default value: false. Valid values:
|
KmsKeyId | String | No | No | The ID of the Key Management Service (KMS) key that is used for the data disk. | None. |
InternetChargeType | String | No | No | The metering method of the network. | Valid values:
Note When the pay-by-data-transfer metering method is used, the maximum inbound and outbound bandwidths are used as the maximum bandwidths instead of guaranteed bandwidths. When demands outstrip resource supplies, the maximum bandwidths may be affected. If you require guaranteed bandwidths for your instance, use the pay-by-bandwidth metering method. |
PerformanceLevel | String | No | No | The PL of the ESSD that is used as the data disk. | Default value: PL0. Valid values:
|
Tag syntax
"Tag": [
{
"Key": String,
"Value": String
}
]
Tag properties
Property | Type | Required | Editable | Description | Constraint |
Key | String | Yes | No | The tag key. | The tag key must be 1 to 128 characters in length, and cannot contain |
Value | String | No | No | The tag value. | The tag value must be 0 to 128 characters in length, and cannot contain |
Return values
Fn::GetAtt
AutoProvisioningGroupId: the ID of the auto provisioning group.
AutoProvisioningGroupName: the name of the auto provisioning group.
Examples
To view more examples, visit LaunchTemplate.json and LaunchTemplate.yml. In the examples, the ALIYUN::ECS::LaunchTemplate and ALIYUN::ECS::AutoProvisioningGroup resource types are used.