All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ECS::InstanceClone

Last Updated:Dec 08, 2023

ALIYUN::ECS::InstanceClone is used to clone an Elastic Compute Service (ECS) instance.

Syntax

{
  "Type": "ALIYUN::ECS::InstanceClone",
  "Properties": {
    "DeletionProtection": Boolean,
    "DiskMappings": List,
    "LoadBalancerIdToAttach": String,
    "Description": String,
    "BackendServerWeight": Integer,
    "Tags": List,
    "SecurityGroupId": String,
    "RamRoleName": String,
    "ImageId": String,
    "ResourceGroupId": String,
    "SpotPriceLimit": String,
    "InstanceChargeType": String,
    "SourceInstanceId": String,
    "Period": Number,
    "SpotStrategy": String,
    "Password": String,
    "InstanceName": String,
    "ZoneId": String,
    "KeyPairName": String,
    "InternetMaxBandwidthIn": Integer
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

ResourceGroupId

String

No

No

The ID of the resource group to which the source ECS instance belongs.

None.

SourceInstanceId

String

Yes

No

The ID of the source ECS instance.

You can clone all data and settings of the source ECS instance, including the instance type, image, bandwidth metering method, bandwidth limit, and network type. If the source ECS instance belongs to multiple security groups, the new instance is added to the first security group.

BackendServerWeight

Integer

No

No

The Server Load Balancer (SLB) weight of the new ECS instance.

Valid values: 0 to 100.

Default value: 100.

LoadBalancerIdToAttach

String

No

No

The ID of the SLB instance to which you want to attach the new ECS instance.

None.

Description

String

No

No

The description of the new ECS instance.

The description can be up to 256 characters in length.

ImageId

String

No

Yes

The ID of the image that is used to start the new ECS instance. You can use a public image, a custom image, or an Alibaba Cloud Marketplace image.

To specify a public image, you can enter a partial image ID. Fuzzy search is supported by public images. Examples:

  • If you enter ubuntu, the system matches it with the following image ID: ubuntu16_0402_64_20G_alibase_20170818.vhd.

  • If you enter ubuntu_14, the system matches it with the following image ID: ubuntu_14_0405_64_20G_alibase_20170824.vhd.

  • If you enter ubuntu*14*32, the system matches it with the following image ID: ubuntu_14_0405_32_40G_alibase_20170711.vhd.

  • If you enter ubuntu_16_0402_32, the system matches it with the following image ID: ubuntu_16_0402_32_40G_alibase_20170711.vhd.

SecurityGroupId

String

No

No

The ID of the security group to which the new ECS instance belongs.

None.

InstanceName

String

No

Yes

The instance name.

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

Password

String

No

No

The password of the new ECS instance.

The password must be 8 to 30 characters in length

and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.

The following special characters are supported: ( ) ' ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' < > , . ? /.

If you specify this property, you must call specific Resource Orchestration Service (ROS) API operations by using HTTPS to protect your password.

DiskMappings

List

No

Yes

The disks that you want to attach to the new ECS instance.

You can attach up to 16 disks.

For more information, see DiskMappings properties.

Tags

List

No

Yes

The tags that you want to add to the new ECS instance.

You can add up to 20 tags in the following format: [{"Key":"tagKey","Value":"tagValue"},{"Key":"tagKey2","Value":"tagValue2"}].

For more information, see Tags properties.

ZoneId

String

No

No

The zone ID of the new ECS instance.

None.

InstanceChargeType

String

No

No

The billing method of the new ECS instance.

Valid values:

  • PrePaid: subscription.

    Note

    If you set this property to PrePaid, make sure that you have sufficient balance in your Alibaba Cloud account. If you have insufficient balance in your Alibaba Cloud account, the instance fails to be created.

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

Period

Number

No

No

The subscription duration of the new ECS instance.

Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, and 36.

Unit: months.

This property is required if you set the InstanceChargeType property to PrePaid. This property is optional if you set the InstanceChargeType property to PostPaid.

KeyPairName

String

No

Yes

The name of the key pair that is used to connect to the new ECS instance.

Windows instances: By default, this property is empty.

Linux instances: The Password property takes effect even if you specify the KeyPairName property. However, logon by password is disabled, and the value of the KeyPairName property is used by default.

RamRoleName

String

No

No

The Resource Access Management (RAM) role of the new ECS instance.

For more information, see CreateRole and ListRoles.

SpotPriceLimit

String

No

No

The maximum hourly price that you specify for the new ECS instance.

The value of this property can contain up to three decimal places. This property takes effect when you set the SpotStrategy property to SpotWithPriceLimit.

SpotStrategy

String

No

No

The bidding policy for the pay-as-you-go instance.

This property takes effect when you set the InstanceChargeType property to PostPaid. Valid values:

  • NoSpot (default): The instance is created as a regular pay-as-you-go instance.

  • SpotWithPriceLimit: The instance is created as a preemptible instance for which you specify the maximum hourly price.

  • SpotAsPriceGo: The instance is created as a preemptible instance whose price is based on the market price at the time of purchase. The market price cannot exceed the price of a pay-as-you-go instance.

DeletionProtection

Boolean

No

No

The release protection attribute of the new ECS instance. You can use this property to specify whether you can release the ECS instance by calling the DeleteInstance API operation.

Valid values:

  • true

  • true (false)

InternetMaxBandwidthIn

Integer

No

No

The maximum outbound bandwidth over the Internet.

Unit: Mbit/s.  

Valid values: 0 to 200.

Default value: 200.  

DiskMappings syntax

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

DiskMappings properties

Property

Type

Required

Editable

Description

Constraint

Size

String

Yes

No

The size of the data disk.

Valid values: 20 to 500.

Unit: GB.

Category

String

No

No

The category of the data disk.

Valid values:

  • cloud: basic disk

  • cloud_ssd: standard SSD

  • cloud_essd: Enhanced SSD (ESSD)

  • cloud_efficiency: ultra disk

  • ephemeral_ssd: local SSD

For I/O optimized instances, the default value is cloud_efficiency. For non-I/O optimized instances, the default value is cloud.

DiskName

String

No

No

The name of the data disk.

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

PerformanceLevel

String

No

No

The performance level (PL) of the enhanced SSD (ESSD) that is used as the system disk.

Valid values:

  • PL0: An ESSD can provide up to 10,000 random read/write IOPS.

  • PL1 (default): An ESSD can provide up to 50,000 random read/write IOPS.

  • PL2: An ESSD can provide up to 100,000 random read/write IOPS.

  • PL3: An ESSD can provide up to 1,000,000 random read/write IOPS.

For more information about how to select the PLs of ESSDs, see ESSDs.

Description

String

No

No

The description of the data disk.

The description must be 2 to 256 characters in length.

By default, this property is empty.

Device

String

No

No

The mount target of the data disk.

This property will be removed. We recommend that you use other properties to improve code compatibility.

SnapshotId

String

No

No

The ID of the snapshot that you want to use to create the data disk.

None.

Tags syntax

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

Tags properties

Property

Type

Required

Editable

Description

Constraint

Key

String

Yes

No

The tag key.

The tag key must be 1 to 128 characters in length and cannot contain http:// or https://. The tag key cannot start with aliyun or acs:.

Value

String

No

No

The tag value.

The tag value can be up to 128 characters in length and cannot contain http:// or https://. The tag value cannot start with aliyun or acs:.

Return values

Fn::GetAtt

  • InstanceId: the instance ID. The instance ID is a globally unique identifier (GUID) that is generated by the system.

  • PrivateIp: the private IP address of the new ECS instance in a virtual private cloud (VPC). This property takes effect when you set the NetworkType property to vpc.

  • InnerIp: the private IP address of the new ECS instance in the classic network. This property takes effect when you set the NetworkType property to classic.

  • PublicIp: the public IP address of the new ECS instance in the classic network. This property takes effect when you set the NetworkType property to classic.

  • ZoneId: the zone ID of the new ECS instance.

  • HostName: the hostname of the new ECS instance.

  • PrimaryNetworkInterfaceId: the ID of the primary elastic network interface (ENI).

  • SecurityGroupIds: the IDs of security groups to which the new ECS instance belongs.

Examples

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Description: Test ECS Instance Clone
Parameters:
  RegionId:
    Type: String
    AssociationProperty: ALIYUN::ECS::RegionId
  SourceInstanceId:
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance::InstanceId
    AssociationPropertyMetadata:
      RegionId: ${RegionId}
Resources:
  InstanceClone:
    Type: ALIYUN::ECS::InstanceClone
    Properties:
      SourceInstanceId:
        Ref: SourceInstanceId

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test ECS Instance Clone",
  "Parameters": {
    "RegionId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::RegionId"
    },
    "SourceInstanceId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance::InstanceId",
      "AssociationPropertyMetadata": {
        "RegionId": "${RegionId}"
      }
    }
  },
  "Resources": {
    "InstanceClone": {
      "Type": "ALIYUN::ECS::InstanceClone",
      "Properties": {
        "SourceInstanceId": {
          "Ref": "SourceInstanceId"
        }
      }
    }
  }
}

For more examples, visit AccessControl.json and AccessControl.yml.