All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ECS::ElasticityAssurance

Last Updated:Mar 25, 2024

ALIYUN::ECS::ElasticityAssurance is used to create an elasticity assurance.

Syntax

{
  "Type": "ALIYUN::ECS::ElasticityAssurance",
  "Properties": {
    "Description": String,
    "InstanceAmount": Integer,
    "PrivatePoolOptions": Map,
    "ZoneId": String,
    "ResourceGroupId": String,
    "StartTime": String,
    "Period": Integer,
    "InstanceTypes": List,
    "Tags": List,
    "PeriodUnit": String
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

Description

String

No

Yes

The description of the elasticity assurance.

The description must be 2 to 256 characters in length. The description can contain letters and cannot start with http:// or https://.

InstanceAmount

Integer

Yes

No

The total number of instances for which you want to reserve the capacity of an instance type.

Valid values: 1 to 1000.

PrivatePoolOptions

Map

No

Yes

The configurations of the elasticity assurance.

For more information, see PrivatePoolOptions properties.

ZoneId

String

Yes

No

The zone ID of the elasticity assurance.

You can use an elasticity assurance to reserve resources within only a single zone.

ResourceGroupId

String

No

No

The ID of the resource group to which to assign the elasticity assurance.

None.

StartTime

String

No

No

The time when the elasticity assurance takes effect.

The default value is the time when the elasticity assurance is created by using ALIYUN::ECS::ElasticityAssurance. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC+0. For more information, see ISO 8601 Time Format.

Period

Integer

No

No

The subscription duration.

The unit of the subscription duration is determined by the PeriodUnit value.

  • Valid values of Period when PeriodUnit is set to Month: 1 to 9.

  • Valid values of Period when PeriodUnit is set to Year: 1 to 5.

InstanceTypes

List

Yes

No

The instance types.

You can create an elasticity assurance to reserve the capacity of only a single instance type.

Tags

List

No

No

The tags to add to the elasticity assurance.

You can add up to 20 tags. For more information, see Tags properties.

PeriodUnit

String

No

No

The unit of the subscription duration.

Valid values:

  • Month

  • Year (default)

PrivatePoolOptions syntax

"PrivatePoolOptions": {
  "MatchCriteria": String,
  "Name": String
}

PrivatePoolOptions properties

Property

Type

Required

Editable

Description

Constraint

MatchCriteria

String

No

No

The type of the private pool with which you want to associate the elasticity assurance.

Valid values:

  • Open: open private pool

  • Target: specified private pool

Name

String

No

Yes

The name of the elasticity assurance.

The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).

Tags syntax

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags properties

Property

Type

Required

Editable

Description

Constraint

Value

String

No

No

The value of the tag to add to the elasticity assurance.

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://.

Key

String

No

No

The key of the tag to add to the elasticity assurance.

The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with aliyun or acs:. The tag key cannot contain http:// or https://.

Return values

Fn::GetAtt

PrivatePoolOptionsId: the ID of the elasticity assurance.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      Description:
        AssociationProperty: TextArea
        Description:
          en: 'The description of the elasticity assurance. 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
      InstanceAmount:
        Description:
          en: 'The total number of instances for which to reserve capacity of an instance
            type.
    
            Valid values: 1 to 1000.'
        MaxValue: 1000
        MinValue: 1
        Required: true
        Type: Number
      InstanceTypes:
        AssociationProperty: List[Parameter]
        AssociationPropertyMetadata:
          Parameter:
            Required: false
            Type: String
        Description:
          en: Instance type. Currently, an elasticity assurance can be created to reserve
            the capacity of a single instance type.
        MaxLength: 1
        MinLength: 1
        Required: true
        Type: Json
      Period:
        AssociationProperty: PayPeriod
        Description:
          en: 'The effective duration of the elasticity assurance. The unit of the effective
            duration is determined by the PeriodUnit value. Valid values:
    
            When the PeriodUnit parameter is set to Month, the valid values are 1, 2,
            3, 4, 5, 6, 7, 8, and 9.
    
            When the PeriodUnit parameter is set to Year, the valid values are 1, 2, 3,
            4, and 5.
    
            Default value: 1.'
        Required: false
        Type: Number
      PeriodUnit:
        AllowedValues:
        - Month
        - Year
        AssociationProperty: PayPeriodUnit
        Description:
          en: 'The unit of the effective duration of the elasticity assurance. Valid values:
    
            Month
    
            Year
    
            Default value: Year.'
        Required: false
        Type: String
      PrivatePoolOptions:
        AssociationPropertyMetadata:
          Parameters:
            MatchCriteria:
              AllowedValues:
              - Open
              - Target
              Description:
                en: 'The type of the private pool with which to associate the elasticity
                  assurance. Valid values:
    
                  Open: open private pool
    
                  Target: targeted private pool
    
                  Default value: Open.'
              Required: false
              Type: String
            Name:
              Description:
                en: The name of the elasticity assurance. The description 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 elasticity assurance.
        Required: false
        Type: String
      StartTime:
        Description:
          en: The time when the elasticity assurance takes effect. The default value is
            the time when the CreateElasticityAssurance operation is called to create
            the elasticity assurance. 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
      Tags:
        AssociationProperty: List[Parameters]
        AssociationPropertyMetadata:
          ListMetadata:
            Order:
            - Key
            - Value
          Parameters:
            Key:
              Description:
                en: 'The key of tag N to add to the elasticity assurance. Valid values
                  of N: 1 to 20. The tag key cannot be an empty string. The tag key must
                  be 1 to 128 characters in length and cannot contain http:// or https://.
                  The tag key cannot start with acs: or aliyun.'
              Required: false
              Type: String
            Value:
              Description:
                en: 'The value of tag N to add to the elasticity assurance. 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 zone ID of the elasticity assurance. Currently, an elasticity assurance
            can be used to reserve resources within a single zone.
        Required: true
        Type: String
    Resources:
      ElasticityAssurance:
        Properties:
          Description:
            Ref: Description
          InstanceAmount:
            Ref: InstanceAmount
          InstanceTypes:
            Ref: InstanceTypes
          Period:
            Ref: Period
          PeriodUnit:
            Ref: PeriodUnit
          PrivatePoolOptions:
            Ref: PrivatePoolOptions
          ResourceGroupId:
            Ref: ResourceGroupId
          StartTime:
            Ref: StartTime
          Tags:
            Ref: Tags
          ZoneId:
            Ref: ZoneId
        Type: ALIYUN::ECS::ElasticityAssurance
    Outputs:
      PrivatePoolOptionsId:
        Description: The ID of the elasticity assurance.
        Value:
          Fn::GetAtt:
          - ElasticityAssurance
          - PrivatePoolOptionsId
                            
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "Description": {
          "AssociationProperty": "TextArea",
          "Type": "String",
          "Description": {
            "en": "The description of the elasticity assurance. 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.\nValid values: 1 to 1000."
          },
          "Required": true,
          "MinValue": 1,
          "MaxValue": 1000
        },
        "PrivatePoolOptions": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "MatchCriteria": {
                "Type": "String",
                "Description": {
                  "en": "The type of the private pool with which to associate the elasticity assurance. 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 elasticity assurance. The description 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 zone ID of the elasticity assurance. Currently, an elasticity assurance can be used to reserve resources within 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 elasticity assurance."
          },
          "Required": false
        },
        "StartTime": {
          "Type": "String",
          "Description": {
            "en": "The time when the elasticity assurance takes effect. The default value is the time when the CreateElasticityAssurance operation is called to create the elasticity assurance. 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
        },
        "Period": {
          "AssociationProperty": "PayPeriod",
          "Type": "Number",
          "Description": {
            "en": "The effective duration of the elasticity assurance. The unit of the effective duration is determined by the PeriodUnit value. Valid values:\nWhen the PeriodUnit parameter is set to Month, the valid values are 1, 2, 3, 4, 5, 6, 7, 8, and 9.\nWhen the PeriodUnit parameter is set to Year, the valid values are 1, 2, 3, 4, and 5.\nDefault value: 1."
          },
          "Required": false
        },
        "InstanceTypes": {
          "AssociationPropertyMetadata": {
            "Parameter": {
              "Type": "String",
              "Required": false
            }
          },
          "AssociationProperty": "List[Parameter]",
          "Type": "Json",
          "Description": {
            "en": "Instance type. Currently, an elasticity assurance can be created to reserve the capacity of a single instance type."
          },
          "Required": true,
          "MinLength": 1,
          "MaxLength": 1
        },
        "Tags": {
          "AssociationPropertyMetadata": {
            "Parameters": {
              "Value": {
                "Type": "String",
                "Description": {
                  "en": "The value of tag N to add to the elasticity assurance. 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 elasticity assurance. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key must be 1 to 128 characters in length and cannot contain http:// or https://. The tag key cannot start with acs: or aliyun."
                },
                "Required": false
              }
            },
            "ListMetadata": {
              "Order": [
                "Key",
                "Value"
              ]
            }
          },
          "AssociationProperty": "List[Parameters]",
          "Type": "Json",
          "Required": false,
          "MaxLength": 20
        },
        "PeriodUnit": {
          "AssociationProperty": "PayPeriodUnit",
          "Type": "String",
          "Description": {
            "en": "The unit of the effective duration of the elasticity assurance. Valid values:\nMonth\nYear\nDefault value: Year."
          },
          "AllowedValues": [
            "Month",
            "Year"
          ],
          "Required": false
        }
      },
      "Resources": {
        "ElasticityAssurance": {
          "Type": "ALIYUN::ECS::ElasticityAssurance",
          "Properties": {
            "Description": {
              "Ref": "Description"
            },
            "InstanceAmount": {
              "Ref": "InstanceAmount"
            },
            "PrivatePoolOptions": {
              "Ref": "PrivatePoolOptions"
            },
            "ZoneId": {
              "Ref": "ZoneId"
            },
            "ResourceGroupId": {
              "Ref": "ResourceGroupId"
            },
            "StartTime": {
              "Ref": "StartTime"
            },
            "Period": {
              "Ref": "Period"
            },
            "InstanceTypes": {
              "Ref": "InstanceTypes"
            },
            "Tags": {
              "Ref": "Tags"
            },
            "PeriodUnit": {
              "Ref": "PeriodUnit"
            }
          }
        }
      },
      "Outputs": {
        "PrivatePoolOptionsId": {
          "Description": "The ID of the elasticity assurance.",
          "Value": {
            "Fn::GetAtt": [
              "ElasticityAssurance",
              "PrivatePoolOptionsId"
            ]
          }
        }
      }
    }