Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
257 lines (197 sloc) 13.1 KB

ALIYUN::ECS::Instance {#concept_51198_zh .concept}

ALIYUN::ECS::Instance is used to create an ECS instance.

Syntax {#section_ljn_3d2_lfb .section}

{
  "Type": "ALIYUN::ECS::Instance",
  "Properties": {
    "DiskMappings": List,
    "IoOptimized": String,
    "InternetChargeType": String,
    "PrivateIpAddress": String,
    "SystemDiskDiskName": String,
    "VpcId": String,
    "Description": String,
    "Tags": List,
    "HostName": String,
    "ImageId": String,
    "InstanceChargeType": String,
    "VSwitchId": String,
    "Password": String,
    "InstanceType": String,
    "SystemDiskCategory": String,
    "SystemDiskSize": Number,
    "ZoneId": String,
    "InternetMaxBandwidthOut": Integer,
    "InstanceName": String,
    "InternetMaxBandwidthIn": Integer,
    "UserData": String,
    "SecurityGroupId": String,
    "Period": Number,
    "AllocatePublicIP": Boolean,
    "SystemDiskDescription": String,
    "KeyPairName": String,
    "RamRoleName": String,
    "SpotPriceLimit": String,
    "SpotStrategy": String,
    "DeletionProtection": Boolean
  }
}

Properties {#section_atw_kd2_lfb .section}

Name Type Required Editable Description Validity
ImageId String Yes Yes The ID of the image used to start the ECS instance. You can use public images, custom images, and Alibaba Cloud Marketplace images. When editing a template, you can specify the image type and version or only the image type. ROS automatically selects an appropriate public image ID.

You can use the wildcard character (*) to represent part of an image ID.

Take all Ubuntu public images provided by Alibaba Cloud as an example. You can use one of the following methods to specify the public image ID for the ECS instance:

If you enter ubuntu,

the system matches it with the following ID: ubuntu16_0402_64_20G_alibase_20170818.vhd

If you enter ubuntu_14,

the system matches it with the following ID: ubuntu_14_0405_64_20G_alibase_20170824.vhd

If you enter ubuntu*14*32,

the system matches it with the following ID: ubuntu_14_0405_32_40G_alibase_20170711.vhd

If you enter ubuntu_16_0402_32,

the system matches it with the following ID: ubuntu_16_0402_32_40G_alibase_20170711.vhd

| |InstanceType|String|Yes|No|The type of the ECS instance. For more information, see ECS instance types.|None| |SecurityGroupId|String|Yes|No|The ID of the security group to which the created instance belongs.|None| |Description|String|No|No|The description of the ECS instance.|The description must be 1 to 256 characters in length.| |InstanceName|String|No|No|The name of the ECS instance.|The name must be 1 to 128 characters in length and can contain letters, digits, underscores (_), periods (.), and hyphens (-).| |Password|String|No|No|The password used to log on to the ECS instance.| The password must be 8 to 30 characters in length.

It must contain letters, digits, and special characters.

The following special characters are allowed: parentheses (()), apostrophes ('), tildes (~), exclamation points (!), at signs (@), number signs (#), dollar signs ($), percent signs (%), caret signs (^), ampersands (&), asterisks (*), minus signs (-), plus signs (+), equal signs (=), vertical bars (|), braces ({ }), brackets ([ ]), colons (:), semicolons (;), angle brackets (< >), commas (,), periods (.), question marks (?), and forward slashes (/). If you specify the Password parameter in the API request, use HTTPS to secure the API and protect your password.

| |HostName|String|No|No|The hostname of the ECS instance.| The hostname must be at least 2 characters in length.

It cannot start or end with a period (.) or a hyphen (-), nor can it contain consecutive periods (.) or hyphens (-).

For Windows-based instances, the hostname must be 2 to 15 characters in length and can contain letters, digits, and hyphens (-). It cannot contain periods (.) and cannot be composed of only digits.

For Linux-based instances, the hostname must be 2 to 30 characters in length and can contain letters, digits, hyphens (-), and periods (.). You can use periods (.) to separate a name into multiple segments.

| |AllocatePublicIP|Boolean|No|No|Indicates whether the system assigns a public IP address to the instance. If InternetMaxBandwidthOut is set to 0, no public IP addresses are assigned.|Default value: true.| |PrivateIpAddress|String|No|No|The private IP address of an instance in a VPC. The specified IP address must not be used by other instances in the VPC.|None| |InternetChargeType|String|No|No|The billing method for access over the Internet.| Valid values: PayByBandwidth and PayByTraffic.

Default value: PayByTraffic.

| |InternetMaxBandwidthIn|Integer|No|No|The maximum inbound bandwidth from the Internet. Unit: Mbit/s.|Valid values: 1 to 100. Default value: 100.| |InternetMaxBandwidthOut|Integer|No|No|The maximum outbound bandwidth to the Internet. Unit: Mbit/s.| Valid values in PayByBandwidth mode: 0 to 200. Default value: 0.

Valid values in PayByTraffic mode: 1 to 200. You must specify this parameter if you choose to use the PayByTraffic mode.

| |IoOptimized|String|No|No|Indicates whether to create an I/O optimized instance.|Valid values: none (non-I/O optimized) and optimized (I/O optimized). Default value: none.| |DiskMappings|List|No|No|The list of disks to be attached to the ECS instance.|A maximum of four disks can be attached.| |SystemDiskCategory|String|No|No|The type of a system disk.|Valid values: cloud, cloud_efficiency, cloud_ssd, and ephemeral_ssd.| |SystemDiskDescription|String|No|No|The description of the system disk.|None| |SystemDiskDiskName|String|No|No|The name of the system disk.|None| |SystemDiskSize|Number|No|Yes|The size of the system disk. Unit: GB.| Valid values: 40 to 500.

If a custom image is used to create a system disk, make sure that the system disk size is greater than the image size.

| |Tags|List|No|No|The custom tags.|A maximum of four tags are supported. The format is [{"Key":"tagKey","Value":"tagValue"}, {"Key":"tagKey2","Value":"tagValue2"}].| |UserData|String|No|No|The user information you provide when you create an ECS instance.|The size of the user data is limited to 16 KB. You need to convert the data into Base64-encoded strings. If the data contains special characters, add a backslash (\) immediately before each special character.| |ZoneId|String|No|No|The ID of the zone where the ECS instance resides.|None| |VpcId|String|No|No|The ID of the VPC.|None| |VSwitchId|String|No|No|The ID of the VSwitch.|None| |InstanceChargeType|String|No|No|The billing method of the ECS instance.| Valid values: PrePaid and PostPaid.

Default value: PostPaid. If you set this parameter to PrePaid, make sure you have sufficient balance in your account. Otherwise, the instance fails to be created.

| |Period|Number|No|No|The subscription period of the instance. This parameter must be set when InstanceChargeType is set to PrePaid. This parameter is inapplicable when InstanceChargeType is set to PostPaid.|Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, and 36. Unit: month.| |KeyPairName|String|No|No|The name of the key pair that is used to connect to the ECS instance.| For Windows-based instances, this parameter is empty by default.

For Linux-based instances, the Password parameter still takes effect if this parameter is specified. However, logon by password is disabled, and the KeyPairName value is used.

| |RamRoleName|String|No|No|The RAM role name of the instance. You can call the ListRoles operation to query the role name. For more information, see CreateRole and ListRoles.|None| |SpotPriceLimit|String|No|No|The maximum hourly price of the instance.|This parameter is applicable only when SpotStrategy is set to SpotWithPriceLimit. Three decimal places are allowed at most.| |SpotStrategy|String|No|No|The spot strategy for a Pay-As-You-Go instance.|This parameter is applicable only when InstanceChargeType is set to PostPaid. Valid values:NoSpot: indicates a regular Pay-As-You-Go instance.

SpotWithPriceLimit: indicates a Pay-As-You-Go instance with the maximum hourly price.

SpotAsPriceGo: indicates that the system automatically offers a spot hourly price for an instance based on the supply-demand statistics. The spot price is limited to the cost of resources you actually use.

Default value: NoSpot.

| |DedicatedHostId|String|No|No| Indicates whether to create an ECS instance that runs on a dedicated host (DDH). You can use the API to query the list of DDH IDs.

After you set the DedicatedHostId parameter, the system automatically ignores the SpotStrategy and SpotPriceLimit settings in the request. This is because you cannot create preemptible instances on DDHs.

|None| |PeriodUnit|String|No|No|The unit of the billing cycle.When the PeriodUnit parameter is set to Week:

  • Valid values for the Period parameter: 1, 2, 3, and 4.
  • Valid values for the AutoRenewPeriod parameter: 1, 2, and 3.

When the PeriodUnit parameter is set to Month:- Valid values for the Period parameter: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60.

  • Valid values for the AutoRenewPeriod parameter: 1, 2, 3, 6, and 12.

Default value: Month.|Valid values: Week and Month. Default value: Month.| |AutoRenewPeriod|Number|No|No|The period your subscription is automatically extended by after an instance expires. This parameter is required when AutoRenew is set to True. Valid values: 1, 2, 3, 6, and 12.|Valid values: 1, 2, 3, 6, and 12.| |AutoRenew|String|No|No|Indicates whether to enable automatic renewal for an instance. Default value: False. This parameter is applicable only when InstanceChargeType is set to PrePaid.|Valid values:- True: indicates that automatic renewal is enabled for an instance.

  • False: indicates that automatic renewal is disabled for an instance.

| |DeletionProtection|Boolean|No|No|The release protection property of the instance. It indicates whether you can use the ECS console or call the DeleteInstance operation to release the instance.|Valid values: true and false.|

DiskMappings syntax { .section}

"DiskMappings": [
  {
    "Category": String,
    "DiskName": String,
    "Description": String,
    "Device": String,
    "SnapshotId": String,
    "Size": String
  }
]

DiskMappings properties { .section}

Name Type Required Editable Description Validity
Size String Yes No The size of a data disk. Unit: GB. None
Category String No No The type of the data disk. Valid values: cloud, cloud_efficiency, cloud_ssd, and ephemeral_ssd.

Default value: cloud.

| |DiskName|String|No|No|The name of the data disk.|The name must be 1 to 128 characters in length and can contain letters, digits, underscores (_), periods (.), and hyphens (-).| |Description|String|No|No|The description of the data disk.|The description must be 2 to 256 characters in length. This parameter is empty by default.| |Device|String|No|No|The device name of the data disk.|If you do not set this parameter, the system allocates a device name in alphabetical order from /dev/xvdb to /dev/xvdz.| |SnapshotId|String|No|No|The ID of the snapshot used to create the data disk.|None|

Tags syntax { .section}

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

Tags properties { .section}

Name Type Required Editable Description Validity
Key String Yes No None None
Value String No No None None

Response parameters {#section_dx4_222_lfb .section}

Fn::GetAtt

  • InstanceId: the ID of an instance in a VPC. It is a globally unique identifier (GUID) generated by the system for the instance.
  • PrivateIp: the private IP address of an instance in a VPC. This parameter is applicable only when the NetworkType parameter is set to VPC.
  • InnerIp: the private IP address of an instance in a classic network. This parameter is applicable only when the NetworkType parameter is set to Classic.
  • PublicIp: the list of public IP addresses of instances in a classic network. This parameter is applicable only when the NetworkType parameter is set to Classic.
  • ZoneId: the ID of the zone where the instance resides.
  • HostName: the hostname of the instance.

Examples {#section_z3v_222_lfb .section}

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "WebServer": {
      "Type": "ALIYUN::ECS::Instance",
      "Properties": {
        "ImageId": "m-25l0rc****",
        "InstanceType": "ecs.t1.small",
        "SecurityGroupId": "sg-25zwc****",
        "ZoneId": "cn-beijing-b",
        "Tags": [{
            "Key": "tiantt",
            "Value": "ros"
        },{
            "Key": "tiantt1",
            "Value": "ros1"
        }
        ]
      }
    }
  },
  "Outputs": {
    "InstanceId": {
         "Value": {"get_attr": ["WebServer","InstanceId"]}
    },
    "PublicIp": {
         "Value": {"get_attr": ["WebServer","PublicIp"]}
    }
  }
}
You can’t perform that action at this time.