ALIYUN::GWS::Instance is used to create an Instance.

Syntax

{
  "Type": "ALIYUN::GWS::Instance",
  "Properties": {
    "ClusterId": String,
    "SystemDiskSize": Integer,
    "InstanceChargeType": String,
    "AutoRenew": Boolean,
    "VSwitchId": String,
    "Period": Integer,
    "AllocatePublicAddress": Boolean,
    "SystemDiskCategory": String,
    "Name": String,
    "InternetChargeType": String,
    "InternetMaxBandwidthOut": Integer,
    "InternetMaxBandwidthIn": Integer,
    "ImageId": String,
    "InstanceType": String,
    "AppList": List,
    "WorkMode": String,
    "PeriodUnit": String
  }
}

Properties

Property Type Required Editable Description Constraint
ClusterId String Yes No The ID of the cluster. None
SystemDiskSize Integer Yes No The size of the system disk. None
InstanceChargeType String No No The billing method of the instance. Valid values:
  • PostPaid (default): Pay-as-you-go
  • PrePaid: subscription
AutoRenew Boolean No No Specifies whether to automatically renew the subscription. Valid values:
  • true
  • false(default)
VSwitchId String No No The ID of the VSwitch. None
Period String No No The billing cycle. This parameter takes effect only when the value of the InstanceChargeType parameter is PostPaid.
  • When the value of the PeriodUnit parameter is Week, the value range is 1 to 4.
  • When the value of the PeriodUnit parameter is Month, the value can be 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, or 60.
AllocatePublicAddress Boolean No No Specifies whether to allocate public endpoint. Valid values:
  • true
  • false
SystemDiskCategory String Yes No The category of the system disk. Valid values:
  • cloud_ssd
  • cloud_essd
Name String No Yes The ID of the instance to be created. None
InternetChargeType String No No The billing method for network usage. This parameter takes effect only when AllocatePublicAddress is set to true. Valid values:
  • PayByTraffic (default): Pay by traffic.
  • PayByBandwidth: pay-by-bandwidth
InternetMaxBandwidthOut String No No The maximum outbound bandwidth to the Internet. This parameter takes effect only when AllocatePublicAddress is set to true.

Valid values: 1 to 200.

Unit: Mbps.

InternetMaxBandwidthIn String No No The maximum inbound bandwidth from the Internet. This parameter takes effect only when AllocatePublicAddress is set to true.

Valid values: 1 to 200.

Unit: Mbps.

Default value: 200.
ImageId String Yes No The ID of the image. None
InstanceType String Yes No The specifications of the instance. None
AppList List No No The application list. This parameter takes effect only when the WorkMode parameter is set to Application.

You can add up to 10 applications.

For more information, see AppList properties.

WorkMode String Yes No Working mode. Valid values:
  • Desktop
  • Application
PeriodUnit String No No The unit of the subscription billing method.

This parameter takes effect only when the value of the InstanceChargeType parameter is PostPaid.

Valid values:
  • Week
  • Month

AppList syntax

"AppList": [
  {
    "AppArgs": String,
    "AppPath": String,
    "AppName": String
  }
]

AppList properties

Property Type Required Editable Description Constraint
AppArgs String No No The running parameters of the application. None
AppPath String No No The running path of the application. None
AppName String No No The name of the application. None

Response parameters

Fn::GetAtt

  • MaxBandwidthOut: The maximum outbound public bandwidth.
  • MaxBandwidthIn: The maximum inbound public bandwidth.
  • InstanceId: the ID of the instance.
  • ClusterId: the ID of the cluster.
  • InstanceChargeType: the billing method.
  • Name: the Name of the instance.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterId": {
      "Type": "String",
      "Description": "Cluster id"
    },
    "SystemDiskSize": {
      "Type": "Number",
      "Description": "System disk size"
    },
    "InstanceChargeType": {
      "Type": "String",
      "Description": "Instance charge type:\nPostPaid (default): Pay-As-You-Go\nPrePaid: Subscription",
      "AllowedValues": [
        "PostPaid",
        "PrePaid"
      ]
    },
    "AutoRenew": {
      "Type": "Boolean",
      "Description": "Whether auto renew",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "VSwitchId": {
      "Type": "String",
      "Description": "VSwitch id"
    },
    "Period": {
      "Type": "Number",
      "Description": "Period of subscription.\nWhen PeriodUnit is Week, the value range is 1-4\nWhen PeriodUnit is Month, the value range is 1-9, 12, 24, 36, 48, 60\nThis value is only valid when InstanceChargeType is PrePaid."
    },
    "AllocatePublicAddress": {
      "Type": "Boolean",
      "Description": "Whether to allocate a public network address",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "SystemDiskCategory": {
      "Type": "String",
      "Description": "System disk categories: cloud_ssd, cloud_essd, cloud, cloud and so on."
    },
    "Name": {
      "Type": "String",
      "Description": "The name of the Table Store instance."
    },
    "InternetChargeType": {
      "Type": "String",
      "Description": "Network charge type:\nPayByTraffic (default): Flow-per-use billing\nPayByBandwidth: fixed-bandwidth billing\nThis value is only valid when AllocatePublicAddress is true.",
      "AllowedValues": [
        "PayByTraffic",
        "PayByBandwidth"
      ]
    },
    "InternetMaxBandwidthOut": {
      "Type": "Number",
      "Description": "Maximum outbound bandwidth of the public network (in Mbps).\nValue range: 1-200\nDefault: 200\nThis value is only valid when AllocatePublicAddress is true."
    },
    "InternetMaxBandwidthIn": {
      "Type": "Number",
      "Description": "Maximum inbound bandwidth of the public network (in Mbps).\nValue range: 1-200\nDefault: 200\nThis value is only valid when AllocatePublicAddress is true."
    },
    "ImageId": {
      "Type": "String",
      "Description": "Mirror id"
    },
    "InstanceType": {
      "Type": "String",
      "Description": "Examples of specifications, see examples of racial or specifications call DescribeInstanceTypes get specification sheet."
    },
    "AppList": {
      "Type": "Json",
      "Description": "App list. This value is only valid when WorkMode is Application.",
      "MaxLength": 10
    },
    "WorkMode": {
      "Type": "String",
      "Description": "Work mode:\nDesktop\nApplication",
      "AllowedValues": [
        "Desktop",
        "Application"
      ]
    },
    "PeriodUnit": {
      "Type": "String",
      "Description": "Unit of period. Week or Month.\nThis value is only valid when InstanceChargeType is PrePaid.",
      "AllowedValues": [
        "Week",
        "Month"
      ]
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::GWS::Instance",
      "Properties": {
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "SystemDiskSize": {
          "Ref": "SystemDiskSize"
        },
        "InstanceChargeType": {
          "Ref": "InstanceChargeType"
        },
        "AutoRenew": {
          "Ref": "AutoRenew"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "Period": {
          "Ref": "Period"
        },
        "AllocatePublicAddress": {
          "Ref": "AllocatePublicAddress"
        },
        "SystemDiskCategory": {
          "Ref": "SystemDiskCategory"
        },
        "Name": {
          "Ref": "Name"
        },
        "InternetChargeType": {
          "Ref": "InternetChargeType"
        },
        "InternetMaxBandwidthOut": {
          "Ref": "InternetMaxBandwidthOut"
        },
        "InternetMaxBandwidthIn": {
          "Ref": "InternetMaxBandwidthIn"
        },
        "ImageId": {
          "Ref": "ImageId"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "AppList": {
          "Ref": "AppList"
        },
        "WorkMode": {
          "Ref": "WorkMode"
        },
        "PeriodUnit": {
          "Ref": "PeriodUnit"
        }
      }
    }
  },
  "Outputs": {
    "MaxBandwidthOut": {
      "Description": "Maximum outbound bandwidth of the public network (in Mbps)",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "MaxBandwidthOut"
        ]
      }
    },
    "MaxBandwidthIn": {
      "Description": "Maximum inbound bandwidth of the public network (in Mbps)",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "MaxBandwidthIn"
        ]
      }
    },
    "InstanceId": {
      "Description": "Instance id",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    },
    "ClusterId": {
      "Description": "Cluster id",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "ClusterId"
        ]
      }
    },
    "InstanceChargeType": {
      "Description": "Instance charge type",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceChargeType"
        ]
      }
    },
    "Name": {
      "Description": "Instance name",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "Name"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterId:
    Type: String
    Description: Cluster id
  SystemDiskSize:
    Type: Number
    Description: System disk size
  InstanceChargeType:
    Type: String
    Description: |-
      Instance charge type:
      PostPaid (default): Pay-As-You-Go
      PrePaid: Subscription
    AllowedValues:
      -PostPaid
      -PrePaid
  AutoRenew:
    Type: Boolean
    Description: Whether auto renew
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
  VSwitchId:
    Type: String
    Description: VSwitch id
  Period:
    Type: Number
    Description: |-
      Period of subscription.
      When PeriodUnit is Week and the value range is 1-4
      When PeriodUnit is Month, the value range is 1-9, 12,24,36,48,60
      This value is only valid when InstanceChargeType is PrePaid.
  AllocatePublicAddress:
    Type: Boolean
    Description: Whether to allocate a public network address
    AllowedValues:
      - 'True'
      - 'true'
      - 'False'
      - 'false'
  SystemDiskCategory:
    Type: String
    Description: 'System disk categories: cloud_ssd, cloud_essd, cloud, cloud and so on.'
  Name:
    Type: String
    Description: Instance name
  InternetChargeType:
    Type: String
    Description: |-
      Network charge type:
      PayByTraffic (default): Flow-per-use billing
      PayByBandwidth: fixed-bandwidth billing
      This value is only valid when AllocatePublicAddress is true.
    AllowedValues:
      -PayByTraffic
      -PayByBandwidth
  InternetMaxBandwidthOut:
    Type: Number
    Description: |-
      Maximum outbound bandwidth of the public network (in Mbps).
      Value range: 1-200
      Default: 200
      This value is only valid when AllocatePublicAddress is true.
  InternetMaxBandwidthIn:
    Type: Number
    Description: |-
      Maximum inbound bandwidth of the public network (in Mbps).
      Value range: 1-200
      Default: 200
      This value is only valid when AllocatePublicAddress is true.
  ImageId:
    Type: String
    Description: Mirror id
  InstanceType:
    Type: String
    Description: >-
      Examples of specifications and see examples of racial or specifications call
      DescribeInstanceTypes get specification sheet.
  AppList:
    Type: Json
    Description: App list. This value is only valid when WorkMode is Application.
    MaxLength: 10
  WorkMode:
    Type: String
    Description: |-
      Work mode:
      Desktop
      Application
    AllowedValues:
      -Desktop
      -Application
  PeriodUnit:
    Type: String
    Description: |-
      Unit of period. Week or Month.
      This value is only valid when InstanceChargeType is PrePaid.
    AllowedValues:
      -Week
      -Month
Resources:
  Instance:
    Type: 'ALIYUN::GWS::Instance'
    Properties:
      ClusterId:
        Ref: ClusterId
      SystemDiskSize:
        Ref: SystemDiskSize
      InstanceChargeType:
        Ref: InstanceChargeType
      AutoRenew:
        Ref: AutoRenew
      VSwitchId:
        Ref: VSwitchId
      Period:
        Ref: Period
      AllocatePublicAddress:
        Ref: AllocatePublicAddress
      SystemDiskCategory:
        Ref: SystemDiskCategory
      Name:
        Ref: Name
      InternetChargeType:
        Ref: InternetChargeType
      InternetMaxBandwidthOut:
        Ref: InternetMaxBandwidthOut
      InternetMaxBandwidthIn:
        Ref: InternetMaxBandwidthIn
      ImageId:
        Ref: ImageId
      InstanceType:
        Ref: InstanceType
      AppList:
        Ref: AppList
      WorkMode:
        Ref: WorkMode
      PeriodUnit:
        Ref: PeriodUnit
Outputs:
  MaxBandwidthOut:
    Description: Maximum outbound bandwidth of the public network (in Mbps)
    Value:
      'Fn::GetAtt':
        -Instance
        -MaxBandwidthOut
  MaxBandwidthIn:
    Description: Maximum inbound bandwidth of the public network (in Mbps)
    Value:
      'Fn::GetAtt':
        -Instance
        -MaxBandwidthIn
  InstanceId:
    Description: Instance id
    Value:
      'Fn::GetAtt':
        -Instance
        - InstanceId
  ClusterId:
    Description: Cluster id
    Value:
      'Fn::GetAtt':
        -Instance
        - ClusterId
  InstanceChargeType:
    Description: Instance charge type
    Value:
      'Fn::GetAtt':
        -Instance
        -InstanceChargeType
  Name:
    Description: Instance name
    Value:
      'Fn::GetAtt':
        -Instance
        -Name