All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::EHPC::Queue

更新時間:Jul 05, 2026

Use ALIYUN::EHPC::Queue to create a queue for a specified E-HPC cluster.

Syntax

{
  "Type": "ALIYUN::EHPC::Queue",
  "Properties": {
    "ClusterId": String,
    "ComputeNodes": List,
    "EnableScaleIn": Boolean,
    "EnableScaleOut": Boolean,
    "HostnameSuffix": String,
    "HostnamePrefix": String,
    "InterConnect": String,
    "InitialCount": Integer,
    "MaxCount": Integer,
    "MinCount": Integer,
    "QueueName": String,
    "VSwitchIds": List
  }
}

Properties

Parameter

Type

Required

Editable

Description

Constraint

ClusterId

String

No

No

The cluster ID.

None

ComputeNodes

List

No

Yes

The hardware configurations for the compute nodes in the queue.

Length: Minimum 0, maximum 10. For more information, see ComputeNodes Properties.

EnableScaleIn

Boolean

No

Yes

Whether to enable auto scale-in for the queue.

Valid values:

  • true

  • false

EnableScaleOut

Boolean

No

Yes

Whether to enable auto scale-out for the queue.

Valid values:

  • true

  • false

HostnamePrefix

String

No

Yes

The hostname prefix for new compute nodes.

None

HostnameSuffix

String

No

Yes

The hostname suffix for the compute nodes in the queue.

None

InitialCount

Integer

No

No

The initial number of compute nodes in the queue.

None

InterConnect

String

No

Yes

The network interconnect type for compute nodes in the queue.

None

MaxCount

Integer

No

Yes

The maximum number of compute nodes in the queue.

None

MinCount

Integer

No

Yes

The minimum number of compute nodes in the queue.

None

QueueName

String

No

No

The queue name.

None

VSwitchIds

List

No

Yes

The IDs of the VSwitches for the compute nodes in the queue.

Length: Minimum 0, maximum 5.

ComputeNodes syntax

"ComputeNodes": [
  {
    "SystemDisk": Map,
    "AutoRenewPeriod": Integer,
    "EnableHt": Boolean,
    "InstanceChargeType": String,
    "AutoRenew": Boolean,
    "ImageId": String,
    "Period": Integer,
    "SpotPriceLimit": Number,
    "Duration": Integer,
    "InstanceType": String,
    "SpotStrategy": String,
    "PeriodUnit": String
  }
]

ComputeNodes properties

Parameter

Type

Required

Editable

Description

Constraints

AutoRenew

Boolean

No

Yes

Specifies whether to enable auto-renewal.

This parameter applies only when InstanceChargeType is set to PrePaid. Valid values:

** true: Enables auto-renewal.

** false: Disables auto-renewal.

Default value: false.

AutoRenewPeriod

Integer

No

Yes

The auto-renewal period.

Valid values:

When PeriodUnit is Week: 1, 2, 3.

When PeriodUnit is Month: 1, 2, 3, 6, 12, 24, 36, 48, 60.

Default value: 1.

Duration

Integer

No

Yes

The protection period of the spot instance.

Unit: hours. Default value: 1. Valid values:

** 1: Guarantees that the instance runs for at least one hour after creation. After this period, the system continuously compares your bid to the market price and checks resource availability to decide whether to retain or release the instance.

** 0: No protection period is provided. The system immediately compares your bid to the market price and checks resource availability to determine whether to retain or release the instance.

EnableHt

Boolean

No

Yes

Specifies whether to enable hyper-threading on the node.

Valid values:

  • true: Enables hyper-threading.

  • false: Disables hyper-threading.

ImageId

String

No

Yes

The ID of the image used to launch the instance.

None

InstanceChargeType

String

No

Yes

The instance billing method.

Valid values:

  • PrePaid: subscription.

  • PostPaid: pay-as-you-go (default).

InstanceType

String

No

Yes

The instance type of the ECS instance.

None

Period

Integer

No

Yes

The subscription duration.

The unit is specified by PeriodUnit. Required only when InstanceChargeType is set to PrePaid. If DedicatedHostId is specified, Period cannot exceed the remaining subscription duration of the dedicated host. Valid values:

When PeriodUnit is Week: 1, 2, 3, 4.

When PeriodUnit is Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60.

PeriodUnit

String

No

Yes

The unit of the subscription period.

Valid values:

  • Week

  • Month (default)

SpotPriceLimit

Number

No

Yes

The maximum hourly price for the spot instance.

Supports up to three decimal places. This parameter applies only when SpotStrategy is set to SpotWithPriceLimit.

SpotStrategy

String

No

Yes

The spot strategy for pay-as-you-go instances.

This parameter applies only when InstanceChargeType is set to PostPaid. Valid values:

  • NoSpot (default): A regular pay-as-you-go instance.

  • SpotWithPriceLimit: A spot instance for which you specify a maximum price.

  • SpotAsPriceGo: The system automatically bids at the current market price.

SystemDisk

Map

No

Yes

The system disk configuration for the node.

For more information, see SystemDisk properties.

SystemDisk syntax

"SystemDisk": {
  "Category": String,
  "Size": Integer,
  "Level": String
}

SystemDisk properties

Parameter

Type

Required

Editable

Description

Constraints

Category

String

No

Yes

The category of the system disk.

Valid values:

  • cloud_efficiency: ultra disk

  • cloud_ssd: SSD cloud disk

  • cloud_essd: ESSD

  • cloud: standard cloud disk

Level

String

No

Yes

The performance level of an ESSD used as the system disk.

Valid values:

  • PL0: Up to 10,000 random read/write IOPS per disk.

  • PL1 (default): Up to 50,000 random read/write IOPS per disk.

  • PL2: Up to 100,000 random read/write IOPS per disk.

  • PL3: Up to 1,000,000 random read/write IOPS per disk.

Size

Integer

No

Yes

The system disk size, in GiB.

Valid values:

  • cloud_efficiency: 40 to 32,768

  • cloud_ssd: 40 to 32,768

  • cloud_essd: The value range depends on the performance level of the ESSD:

  • PL0: 40 to 65,536

  • PL1: 40 to 65,536

  • PL2: 461 to 65,536

  • PL3: 1,261 to 65,536

  • cloud: 40 to 500

Return value

Fn::GetAtt

  • VSwitchIds: The IDs of the VSwitches available to the compute nodes in the queue.

  • CreateTime: The creation time of the queue.

  • ComputeNodes: The hardware configurations for the compute nodes in the queue.

  • InterConnect: The interconnect network type between compute nodes in the queue.

  • MaxCount: The maximum number of compute nodes in the queue.

  • HostnamePrefix: The hostname prefix for new compute nodes.

  • EnableScaleIn: Indicates whether scale-in is enabled for the queue.

  • HostnameSuffix: The hostname suffix for the compute nodes in the queue.

  • UpdateTime: The update time of the queue.

  • EnableScaleOut: Indicates whether scale-out is enabled for the queue.

  • QueueName: The name of the queue.

  • InitialCount: The initial number of compute nodes in the queue.

  • MinCount: The minimum number of compute nodes in the queue.

Examples

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  InterConnect:
    Type: String
    Description:
      en: The network interconnect type for compute nodes in the queue.
    Default: Null
    Required: false
  EnableScaleOut:
    Type: Boolean
    Description:
      en: |-
        Whether to enable auto scale-out for the queue. Valid values:
        *   true
        *   false
    Default: Null
    Required: false
  HostnamePrefix:
    Type: String
    Description:
      en: The hostname prefix for added compute nodes.
    Default: Null
    Required: false
  ClusterId:
    Type: String
    Description:
      en: The ID of the cluster.
    Default: Null
    Required: false
  ComputeNodes:
    Description:
      en: 'The hardware configurations for the compute nodes in the queue. Supports 1 to 10 configurations.'
    Required: false
    Default: Null
    Type: Json
    MinLength: 0
    MaxLength: 10
    AssociationProperty: List[Parameter]
    AssociationPropertyMetadata:
      Parameter:
        Description:
          en: 'The hardware configurations for the compute nodes in the queue. Supports 1 to 10 configurations.'
        Required: false
        Default: Null
        Type: Json
        AssociationPropertyMetadata:
          Parameters:
            SystemDisk:
              Description:
                en: The configuration of the system disk.
              Required: false
              Default: Null
              Type: Json
              AssociationPropertyMetadata:
                Parameters:
                  Category:
                    Type: String
                    Description:
                      en: |-
                        The type of the system disk. Valid values:
                        *   cloud_efficiency: Efficient Cloud Disk
                        *   cloud_ssd: SSD Cloud Disk
                        *   cloud_essd: ESSD Cloud Disk
                        *   cloud: Basic Cloud Disk
                    Default: Null
                    Required: false
                  Level:
                    Type: String
                    Description:
                      en: |-
                        The performance level of the ESSD Cloud Disk when used as the system disk. Valid values: 
                        *   PL0: up to 10,000 random read/write IOPS.
                        *   PL1 (default): up to 50,000 random read/write IOPS.
                        *   PL2: up to 100,000 random read/write IOPS.
                        *   PL3: up to 1,000,000 random read/write IOPS.
                    Default: Null
                    Required: false
                  Size:
                    Type: Number
                    Description:
                      en: |-
                        The size of the system disk, in GiB. Valid ranges: 
                        *   cloud_efficiency: 40–32,768 
                        *   cloud_ssd: 40–32,768
                        *   cloud_essd: The valid range depends on the value of `Level`: 
                           * PL0: 40–65,536 
                           * PL1: 40–65,536 
                           * PL2: 461–65,536 
                           * PL3: 1,261–65,536 
                        *   cloud: 40–500 
                    Default: Null
                    Required: false
            PeriodUnit:
              Type: String
              Description:
                en: |-
                  The subscription period unit. This parameter is required only when `InstanceChargeType` is `PrePaid`. Valid values: 
                  *   Week
                  *   Month (default)
              AssociationProperty: PayPeriodUnit
              AllowedValues:
                - Week
                - Month
              Default: Null
              Required: false
            EnableHt:
              Type: Boolean
              Description:
                en: |-
                  Whether to enable Hyper-Threading for the node. Valid values: 
                  *   true
                  *   false
              Default: Null
              Required: false
            AutoRenewPeriod:
              Type: Number
              Description:
                en: |-
                  The auto-renewal period. This is valid only when `AutoRenew` is set to `true`. Valid values: 
                  *   If `PeriodUnit` is `Week`: 1, 2, 3. 
                  *   If `PeriodUnit` is `Month`: 1, 2, 3, 6, 12, 24, 36, 48, 60. 
                  Default: 1.
              AllowedValues:
                - 1
                - 2
                - 3
                - 6
                - 12
                - 24
                - 36
                - 48
                - 60
              Default: Null
              Required: false
            Period:
              Type: Number
              Description:
                en: |-
                  The subscription duration. The unit is specified by `PeriodUnit`. This parameter is required only when `InstanceChargeType` is `PrePaid`. If you specify `DedicatedHostId`, the value of `Period` cannot exceed the remaining subscription period of the dedicated host. Valid values: 
                  *   If `PeriodUnit` is `Week`: 1, 2, 3, 4.
                  *   If `PeriodUnit` is `Month`: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60.
              AssociationProperty: PayPeriod
              AllowedValues:
                - 1
                - 2
                - 3
                - 4
                - 5
                - 6
                - 7
                - 8
                - 9
                - 12
                - 24
                - 36
                - 48
                - 60
              Default: Null
              Required: false
            ImageId:
              Type: String
              Description:
                en: The ID of the image used to create the instance.
              Default: Null
              Required: false
            AutoRenew:
              Type: Boolean
              Description:
                en: |-
                  Whether to enable auto-renewal for the instance. This applies only when `InstanceChargeType` is `PrePaid`. Valid values: 
                  *   true: Enables auto-renewal.
                  *   false: Disables auto-renewal.
                  Default: false.
              Default: Null
              Required: false
            SpotPriceLimit:
              Type: Number
              Description:
                en: The maximum hourly price for the spot instance, which can have up to three decimal places. This parameter is required and takes effect only when `SpotStrategy` is set to `SpotWithPriceLimit`.
              Default: Null
              Required: false
            InstanceChargeType:
              Type: String
              Description:
                en: |-
                  The billing method of the instance. Valid values: 
                  *   PrePaid: Subscription. 
                  *   PostPaid: Pay-As-You-Go (default).
              AssociationPropertyMetadata:
                LocaleKey: InstanceChargeType
              AllowedValues:
                - PostPaid
                - PrePaid
              Required: false
              Default: Null
            Duration:
              Type: Number
              Description:
                en: |-
                  The protection period of the preemptible instance, in hours. Default value: 1. Valid values: 
                  *   1: Guarantees a one-hour runtime after creation. After this period, instance retention depends on the bid price, market price, and resource availability.
                  *   0: No runtime guarantee. The instance can be reclaimed at any time based on the bid price, market price, and resource availability.
              AllowedValues:
                - 0
                - 1
              Default: Null
              Required: false
            SpotStrategy:
              Type: String
              Description:
                en: |-
                  The bidding strategy for the instance. This parameter is valid only when `InstanceChargeType` is `PostPaid`. Valid values: 
                  *   NoSpot (default): A regular Pay-As-You-Go instance.
                  *   SpotWithPriceLimit: A spot instance for which you specify a maximum hourly price.
                  *   SpotAsPriceGo: The system automatically bids at the current market price.
              AllowedValues:
                - NoSpot
                - SpotWithPriceLimit
                - SpotAsPriceGo
              Default: Null
              Required: false
            InstanceType:
              Type: String
              Description:
                en: The instance type of the compute node.
              Default: Null
              Required: false
  EnableScaleIn:
    Type: Boolean
    Description:
      en: |-
        Whether to enable auto scale-in for the queue. Valid values:
        *   true
        *   false
    Default: Null
    Required: false
  VSwitchIds:
    Description:
      en: The IDs of the VSwitches for the compute nodes in the queue.
    Required: false
    Default: Null
    Type: Json
    MinLength: 0
    MaxLength: 5
    AssociationProperty: List[Parameter]
    AssociationPropertyMetadata:
      Parameter:
        Type: String
        Description:
          en: The ID of the VSwitch.
        AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          ZoneId: ${ZoneId}
          VpcId: ${VpcId}
        Default: Null
        Required: false
  HostnameSuffix:
    Type: String
    Description:
      en: The hostname suffix of the compute nodes in the queue.
    Default: Null
    Required: false
  MaxCount:
    Type: Number
    Description:
      en: The maximum number of compute nodes in the queue.
    Default: Null
    Required: false
  MinCount:
    Type: Number
    Description:
      en: The minimum number of compute nodes in the queue.
    Default: Null
    Required: false
  QueueName:
    Type: String
    Description:
      en: The name of the queue.
    Default: Null
    Required: false
  InitialCount:
    Type: Number
    Description:
      en: The initial number of compute nodes in the queue.
    Default: Null
    Required: false
Resources:
  ExtensionResource:
    Type: ALIYUN::EHPC::Queue
    Properties:
      InterConnect:
        Ref: InterConnect
      EnableScaleOut:
        Ref: EnableScaleOut
      HostnamePrefix:
        Ref: HostnamePrefix
      ClusterId:
        Ref: ClusterId
      ComputeNodes:
        Ref: ComputeNodes
      EnableScaleIn:
        Ref: EnableScaleIn
      VSwitchIds:
        Ref: VSwitchIds
      HostnameSuffix:
        Ref: HostnameSuffix
      MaxCount:
        Ref: MaxCount
      MinCount:
        Ref: MinCount
      QueueName:
        Ref: QueueName
      InitialCount:
        Ref: InitialCount
Outputs:
  UpdateTime:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - UpdateTime
    Description: The time when the queue was last updated.
  InterConnect:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - InterConnect
    Description: The network interconnect type for compute nodes in the queue.
  EnableScaleOut:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableScaleOut
    Description: Whether auto scale-out is enabled for the queue.
  HostnamePrefix:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - HostnamePrefix
    Description: The hostname prefix for added compute nodes.
  ComputeNodes:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ComputeNodes
    Description: The hardware configurations of the compute nodes in the queue.
  QueueName:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - QueueName
    Description: The name of the queue.
  EnableScaleIn:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableScaleIn
    Description: Whether auto scale-in is enabled for the queue.
  VSwitchIds:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - VSwitchIds
    Description: The IDs of the VSwitches for the compute nodes in the queue.
  HostnameSuffix:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - HostnameSuffix
    Description: The hostname suffix of the compute nodes in the queue.
  MaxCount:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MaxCount
    Description: The maximum number of compute nodes in the queue.
  MinCount:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MinCount
    Description: The minimum number of compute nodes in the queue.
  CreateTime:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - CreateTime
    Description: The time when the queue was created.
  InitialCount:
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - InitialCount
    Description: The initial number of compute nodes in the queue.
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InterConnect": {
      "Type": "String",
      "Description": {
        "en": "The network interconnect type for compute nodes in the queue."
      },
      "Default": null,
      "Required": false
    },
    "EnableScaleOut": {
      "Type": "Boolean",
      "Description": {
        "en": "Whether to enable auto scale-out for the queue. Valid values:\n*   true\n*   false"
      },
      "Default": null,
      "Required": false
    },
    "HostnamePrefix": {
      "Type": "String",
      "Description": {
        "en": "The hostname prefix for added compute nodes."
      },
      "Default": null,
      "Required": false
    },
    "ClusterId": {
      "Type": "String",
      "Description": {
        "en": "The ID of the cluster."
      },
      "Default": null,
      "Required": false
    },
    "ComputeNodes": {
      "Description": {
        "en": "The hardware configurations for the compute nodes in the queue. Supports 1 to 10 configurations."
      },
      "Required": false,
      "Default": null,
      "Type": "Json",
      "MinLength": 0,
      "MaxLength": 10,
      "AssociationProperty": "List[Parameter]",
      "AssociationPropertyMetadata": {
        "Parameter": {
          "Description": {
            "en": "The hardware configurations for the compute nodes in the queue. Supports 1 to 10 configurations."
          },
          "Required": false,
          "Default": null,
          "Type": "Json",
          "AssociationPropertyMetadata": {
            "Parameters": {
              "SystemDisk": {
                "Description": {
                  "en": "The configuration of the system disk."
                },
                "Required": false,
                "Default": null,
                "Type": "Json",
                "AssociationPropertyMetadata": {
                  "Parameters": {
                    "Category": {
                      "Type": "String",
                      "Description": {
                        "en": "The type of the system disk. Valid values:\n*   cloud_efficiency: Efficient Cloud Disk\n*   cloud_ssd: SSD Cloud Disk\n*   cloud_essd: ESSD Cloud Disk\n*   cloud: Basic Cloud Disk"
                      },
                      "Default": null,
                      "Required": false
                    },
                    "Level": {
                      "Type": "String",
                      "Description": {
                        "en": "The performance level of the ESSD Cloud Disk when used as the system disk. Valid values: \n*   PL0: up to 10,000 random read/write IOPS.\n*   PL1 (default): up to 50,000 random read/write IOPS.\n*   PL2: up to 100,000 random read/write IOPS.\n*   PL3: up to 1,000,000 random read/write IOPS."
                      },
                      "Default": null,
                      "Required": false
                    },
                    "Size": {
                      "Type": "Number",
                      "Description": {
                        "en": "The size of the system disk, in GiB. Valid ranges: \n*   cloud_efficiency: 40–32,768 \n*   cloud_ssd: 40–32,768\n*   cloud_essd: The valid range depends on the value of `Level`: \n   * PL0: 40–65,536 \n   * PL1: 40–65,536 \n   * PL2: 461–65,536 \n   * PL3: 1,261–65,536 \n*   cloud: 40–500 "
                      },
                      "Default": null,
                      "Required": false
                    }
                  }
                }
              },
              "PeriodUnit": {
                "Type": "String",
                "Description": {
                  "en": "The subscription period unit. This parameter is required only when `InstanceChargeType` is `PrePaid`. Valid values: \n*   Week\n*   Month (default)"
                },
                "AssociationProperty": "PayPeriodUnit",
                "AllowedValues": [
                  "Week",
                  "Month"
                ],
                "Default": null,
                "Required": false
              },
              "EnableHt": {
                "Type": "Boolean",
                "Description": {
                  "en": "Whether to enable Hyper-Threading for the node. Valid values: \n*   true\n*   false"
                },
                "Default": null,
                "Required": false
              },
              "AutoRenewPeriod": {
                "Type": "Number",
                "Description": {
                  "en": "The auto-renewal period. This is valid only when `AutoRenew` is set to `true`. Valid values: \n*   If `PeriodUnit` is `Week`: 1, 2, 3. \n*   If `PeriodUnit` is `Month`: 1, 2, 3, 6, 12, 24, 36, 48, 60. \nDefault: 1."
                },
                "AllowedValues": [
                  1,
                  2,
                  3,
                  6,
                  12,
                  24,
                  36,
                  48,
                  60
                ],
                "Default": null,
                "Required": false
              },
              "Period": {
                "Type": "Number",
                "Description": {
                  "en": "The subscription duration. The unit is specified by `PeriodUnit`. This parameter is required only when `InstanceChargeType` is `PrePaid`. If you specify `DedicatedHostId`, the value of `Period` cannot exceed the remaining subscription period of the dedicated host. Valid values: \n*   If `PeriodUnit` is `Week`: 1, 2, 3, 4.\n*   If `PeriodUnit` is `Month`: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, 60."
                },
                "AssociationProperty": "PayPeriod",
                "AllowedValues": [
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  12,
                  24,
                  36,
                  48,
                  60
                ],
                "Default": null,
                "Required": false
              },
              "ImageId": {
                "Type": "String",
                "Description": {
                  "en": "The ID of the image used to create the instance."
                },
                "Default": null,
                "Required": false
              },
              "AutoRenew": {
                "Type": "Boolean",
                "Description": {
                  "en": "Whether to enable auto-renewal for the instance. This applies only when `InstanceChargeType` is `PrePaid`. Valid values: \n*   true: Enables auto-renewal.\n*   false: Disables auto-renewal.\nDefault: false."
                },
                "Default": null,
                "Required": false
              },
              "SpotPriceLimit": {
                "Type": "Number",
                "Description": {
                  "en": "The maximum hourly price for the spot instance, which can have up to three decimal places. This parameter is required and takes effect only when `SpotStrategy` is set to `SpotWithPriceLimit`."
                },
                "Default": null,
                "Required": false
              },
              "InstanceChargeType": {
                "Type": "String",
                "Description": {
                  "en": "The billing method of the instance. Valid values: \n*   PrePaid: Subscription. \n*   PostPaid: Pay-As-You-Go (default)."
                },
                "AssociationPropertyMetadata": {
                  "LocaleKey": "InstanceChargeType"
                },
                "AllowedValues": [
                  "PostPaid",
                  "PrePaid"
                ],
                "Required": false,
                "Default": null
              },
              "Duration": {
                "Type": "Number",
                "Description": {
                  "en": "The protection period of the preemptible instance, in hours. Default value: 1. Valid values: \n*   1: Guarantees a one-hour runtime after creation. After this period, instance retention depends on the bid price, market price, and resource availability.\n*   0: No runtime guarantee. The instance can be reclaimed at any time based on the bid price, market price, and resource availability."
                },
                "AllowedValues": [
                  0,
                  1
                ],
                "Default": null,
                "Required": false
              },
              "SpotStrategy": {
                "Type": "String",
                "Description": {
                  "en": "The bidding strategy for the instance. This parameter is valid only when `InstanceChargeType` is `PostPaid`. Valid values: \n*   NoSpot (default): A regular Pay-As-You-Go instance.\n*   SpotWithPriceLimit: A spot instance for which you specify a maximum hourly price.\n*   SpotAsPriceGo: The system automatically bids at the current market price."
                },
                "AllowedValues": [
                  "NoSpot",
                  "SpotWithPriceLimit",
                  "SpotAsPriceGo"
                ],
                "Default": null,
                "Required": false
              },
              "InstanceType": {
                "Type": "String",
                "Description": {
                  "en": "The instance type of the compute node."
                },
                "Default": null,
                "Required": false
              }
            }
          }
        }
      }
    },
    "EnableScaleIn": {
      "Type": "Boolean",
      "Description": {
        "en": "Whether to enable auto scale-in for the queue. Valid values:\n*   true\n*   false"
      },
      "Default": null,
      "Required": false
    },
    "VSwitchIds": {
      "Description": {
        "en": "The IDs of the VSwitches for the compute nodes in the queue."
      },
      "Required": false,
      "Default": null,
      "Type": "Json",
      "MinLength": 0,
      "MaxLength": 5,
      "AssociationProperty": "List[Parameter]",
      "AssociationPropertyMetadata": {
        "Parameter": {
          "Type": "String",
          "Description": {
            "en": "The ID of the VSwitch."
          },
          "AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "ZoneId": "${ZoneId}",
            "VpcId": "${VpcId}"
          },
          "Default": null,
          "Required": false
        }
      }
    },
    "HostnameSuffix": {
      "Type": "String",
      "Description": {
        "en": "The hostname suffix of the compute nodes in the queue."
      },
      "Default": null,
      "Required": false
    },
    "MaxCount": {
      "Type": "Number",
      "Description": {
        "en": "The maximum number of compute nodes in the queue."
      },
      "Default": null,
      "Required": false
    },
    "MinCount": {
      "Type": "Number",
      "Description": {
        "en": "The minimum number of compute nodes in the queue."
      },
      "Default": null,
      "Required": false
    },
    "QueueName": {
      "Type": "String",
      "Description": {
        "en": "The name of the queue."
      },
      "Default": null,
      "Required": false
    },
    "InitialCount": {
      "Type": "Number",
      "Description": {
        "en": "The initial number of compute nodes in the queue."
      },
      "Default": null,
      "Required": false
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::EHPC::Queue",
      "Properties": {
        "InterConnect": {
          "Ref": "InterConnect"
        },
        "EnableScaleOut": {
          "Ref": "EnableScaleOut"
        },
        "HostnamePrefix": {
          "Ref": "HostnamePrefix"
        },
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "ComputeNodes": {
          "Ref": "ComputeNodes"
        },
        "EnableScaleIn": {
          "Ref": "EnableScaleIn"
        },
        "VSwitchIds": {
          "Ref": "VSwitchIds"
        },
        "HostnameSuffix": {
          "Ref": "HostnameSuffix"
        },
        "MaxCount": {
          "Ref": "MaxCount"
        },
        "MinCount": {
          "Ref": "MinCount"
        },
        "QueueName": {
          "Ref": "QueueName"
        },
        "InitialCount": {
          "Ref": "InitialCount"
        }
      }
    }
  },
  "Outputs": {
    "UpdateTime": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "UpdateTime"
        ]
      },
      "Description": "The time when the queue was last updated."
    },
    "InterConnect": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "InterConnect"
        ]
      },
      "Description": "The network interconnect type for compute nodes in the queue."
    },
    "EnableScaleOut": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableScaleOut"
        ]
      },
      "Description": "Whether auto scale-out is enabled for the queue."
    },
    "HostnamePrefix": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "HostnamePrefix"
        ]
      },
      "Description": "The hostname prefix for added compute nodes."
    },
    "ComputeNodes": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ComputeNodes"
        ]
      },
      "Description": "The hardware configurations of the compute nodes in the queue."
    },
    "QueueName": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "QueueName"
        ]
      },
      "Description": "The name of the queue."
    },
    "EnableScaleIn": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableScaleIn"
        ]
      },
      "Description": "Whether auto scale-in is enabled for the queue."
    },
    "VSwitchIds": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "VSwitchIds"
        ]
      },
      "Description": "The IDs of the VSwitches for the compute nodes in the queue."
    },
    "HostnameSuffix": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "HostnameSuffix"
        ]
      },
      "Description": "The hostname suffix of the compute nodes in the queue."
    },
    "MaxCount": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MaxCount"
        ]
      },
      "Description": "The maximum number of compute nodes in the queue."
    },
    "MinCount": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MinCount"
        ]
      },
      "Description": "The minimum number of compute nodes in the queue."
    },
    "CreateTime": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "CreateTime"
        ]
      },
      "Description": "The time when the queue was created."
    },
    "InitialCount": {
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "InitialCount"
        ]
      },
      "Description": "The initial number of compute nodes in the queue."
    }
  }
}