ALIYUN::ECS::CapacityReservation类型用于创建容量预定服务。
语法
{
"Type": "ALIYUN::ECS::CapacityReservation",
"Properties": {
"InstanceAmount": Integer,
"Description": String,
"PrivatePoolOptions": Map,
"ZoneId": String,
"ResourceGroupId": String,
"EndTime": String,
"EndTimeType": String,
"InstanceType": String,
"Tags": List
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
InstanceAmount | Integer | 是 | 是 | 在一个实例规格内,需要预留的实例的总数量。 | 取值范围1~1000。 |
Description | String | 否 | 是 | 容量预定服务的描述信息。 | 长度为2~256个英文或中文字符,不能以 |
PrivatePoolOptions | Map | 否 | 是 | 容量预定服务配置。 | 更多信息,请参考PrivatePoolOptions属性。 |
ZoneId | String | 是 | 否 | 容量预定服务所属地域下的可用区ID。 | 目前仅支持在一个可用区下创建容量预定服务。 |
ResourceGroupId | String | 否 | 否 | 容量预定服务所在的企业资源组ID。 | 无 |
EndTime | String | 否 | 是 | 容量预定服务的失效时间。 | 时间格式以ISO8601为标准,并需要使用UTC+0时间,格式为 |
EndTimeType | String | 否 | 是 | 容量预定服务的失效方式。 | 取值:
|
InstanceType | String | 是 | 否 | 实例规格。 | 目前仅支持为一个实例规格设置容量预定服务。您可以调用DescribeInstanceTypes查询云服务器ECS提供的实例规格信息。 |
Tags | List | 否 | 否 | 实例标签。 | 最多支持20个,更多信息请参考Tags属性。 |
PrivatePoolOptions语法
"PrivatePoolOptions": {
"MatchCriteria": String,
"Name": String
}
PrivatePoolOptions属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MatchCriteria | String | 否 | 否 | 容量预定服务生效后生成的私有资源池的类型。 | 取值:
|
Name | String | 否 | 是 | 容量预定服务的名称。 | 长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以 |
Tags语法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Value | String | 否 | 否 | 容量预定服务的标签值。 | 一旦传入该值,允许为空字符串。最多支持128个字符,不能以 |
Key | String | 否 | 否 | 容量预定服务的标签键。 | 一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以 |
返回值
Fn::GetAtt
PrivatePoolOptionsId:容量预定服务ID。
示例
YAML
格式ROSTemplateFormatVersion: '2015-09-01' Parameters: Description: AssociationProperty: TextArea Description: en: 'The description of the capacity reservation. The description must be 2 to 256 characters in length and cannot start with http:// or https://. This parameter is empty by default.' Required: false Type: String EndTime: Description: en: The time when the capacity reservation expires. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. For more information, see ISO 8601. Required: false Type: String EndTimeType: AllowedValues: - Limited - Unlimited Description: en: 'The release mode of the capacity reservation. Valid values: Limited: The capacity reservation is automatically released at the specified time. If you specify this parameter, you must also specify the EndTime parameter. Unlimited: The capacity reservation must be manually released. You can release it anytime.' Required: false Type: String InstanceAmount: Description: en: The total number of instances for which to reserve capacity of an instance type. MaxValue: 1000 MinValue: 1 Required: true Type: Number InstanceType: Description: en: The instance type. A capacity reservation can be created to reserve the capacity of only a single instance type. You can call the DescribeInstanceTypes operation to query the instance types provided by ECS. Required: true Type: String PrivatePoolOptions: AssociationPropertyMetadata: Parameters: MatchCriteria: AllowedValues: - Open - Target Description: en: 'The type of the private pool to generate after the capacity reservation takes effect. Valid values: Open: open private pool Target: targeted private pool Default value: Open.' Required: false Type: String Name: Description: en: The name of the capacity reservation. The name must be 2 to 128 characters in length. The description must start with a letter but cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Required: false Type: String Required: false Type: Json ResourceGroupId: AssociationProperty: ALIYUN::ECS::ResourceGroup::ResourceGroupId Description: en: The ID of the resource group to which to assign the capacity reservation. Required: false Type: String Tags: AssociationProperty: List[Parameters] AssociationPropertyMetadata: ListMetadata: Order: - Key - Value Parameters: Key: Description: en: 'The key of tag N to add to the capacity reservation. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot contain http:// or https://. It cannot start with acs: or aliyun.' Required: false Type: String Value: Description: en: 'The value of tag N to add to the capacity reservation. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with acs:. The tag value cannot contain http:// or https://.' Required: false Type: String MaxLength: 20 Required: false Type: Json ZoneId: AssociationProperty: ZoneId Description: en: The ID of zone N within the region in which to create the capacity reservation. A capacity reservation can reserve resources within only a single zone. Required: true Type: String Resources: CapacityReservation: Properties: Description: Ref: Description EndTime: Ref: EndTime EndTimeType: Ref: EndTimeType InstanceAmount: Ref: InstanceAmount InstanceType: Ref: InstanceType PrivatePoolOptions: Ref: PrivatePoolOptions ResourceGroupId: Ref: ResourceGroupId Tags: Ref: Tags ZoneId: Ref: ZoneId Type: ALIYUN::ECS::CapacityReservation Outputs: PrivatePoolOptionsId: Description: The ID of the capacity reservation. Value: Fn::GetAtt: - CapacityReservation - PrivatePoolOptionsId
JSON
格式{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "Description": { "AssociationProperty": "TextArea", "Type": "String", "Description": { "en": "The description of the capacity reservation. The description must be 2 to 256 characters in length and cannot start with http:// or https://.\nThis parameter is empty by default." }, "Required": false }, "InstanceAmount": { "Type": "Number", "Description": { "en": "The total number of instances for which to reserve capacity of an instance type." }, "Required": true, "MinValue": 1, "MaxValue": 1000 }, "EndTime": { "Type": "String", "Description": { "en": "The time when the capacity reservation expires. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. For more information, see ISO 8601." }, "Required": false }, "PrivatePoolOptions": { "AssociationPropertyMetadata": { "Parameters": { "MatchCriteria": { "Type": "String", "Description": { "en": "The type of the private pool to generate after the capacity reservation takes effect. Valid values:\nOpen: open private pool\nTarget: targeted private pool\nDefault value: Open." }, "AllowedValues": [ "Open", "Target" ], "Required": false }, "Name": { "Type": "String", "Description": { "en": "The name of the capacity reservation. The name must be 2 to 128 characters in length. The description must start with a letter but cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-)." }, "Required": false } } }, "Type": "Json", "Required": false }, "ZoneId": { "AssociationProperty": "ZoneId", "Type": "String", "Description": { "en": "The ID of zone N within the region in which to create the capacity reservation. A capacity reservation can reserve resources within only a single zone." }, "Required": true }, "ResourceGroupId": { "AssociationProperty": "ALIYUN::ECS::ResourceGroup::ResourceGroupId", "Type": "String", "Description": { "en": "The ID of the resource group to which to assign the capacity reservation." }, "Required": false }, "EndTimeType": { "Type": "String", "Description": { "en": "The release mode of the capacity reservation. Valid values:\nLimited: The capacity reservation is automatically released at the specified time. If you specify this parameter, you must also specify the EndTime parameter.\nUnlimited: The capacity reservation must be manually released. You can release it anytime." }, "AllowedValues": [ "Limited", "Unlimited" ], "Required": false }, "InstanceType": { "Type": "String", "Description": { "en": "The instance type. A capacity reservation can be created to reserve the capacity of only a single instance type. You can call the DescribeInstanceTypes operation to query the instance types provided by ECS." }, "Required": true }, "Tags": { "AssociationPropertyMetadata": { "Parameters": { "Value": { "Type": "String", "Description": { "en": "The value of tag N to add to the capacity reservation. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with acs:. The tag value cannot contain http:// or https://." }, "Required": false }, "Key": { "Type": "String", "Description": { "en": "The key of tag N to add to the capacity reservation. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot contain http:// or https://. It cannot start with acs: or aliyun." }, "Required": false } }, "ListMetadata": { "Order": [ "Key", "Value" ] } }, "AssociationProperty": "List[Parameters]", "Type": "Json", "Required": false, "MaxLength": 20 } }, "Resources": { "CapacityReservation": { "Type": "ALIYUN::ECS::CapacityReservation", "Properties": { "Description": { "Ref": "Description" }, "InstanceAmount": { "Ref": "InstanceAmount" }, "EndTime": { "Ref": "EndTime" }, "PrivatePoolOptions": { "Ref": "PrivatePoolOptions" }, "ZoneId": { "Ref": "ZoneId" }, "ResourceGroupId": { "Ref": "ResourceGroupId" }, "EndTimeType": { "Ref": "EndTimeType" }, "InstanceType": { "Ref": "InstanceType" }, "Tags": { "Ref": "Tags" } } } }, "Outputs": { "PrivatePoolOptionsId": { "Description": "The ID of the capacity reservation.", "Value": { "Fn::GetAtt": [ "CapacityReservation", "PrivatePoolOptionsId" ] } } } }