调用CreateInstance创建实例。

使用说明

  • 单用户调用频率:10次/秒。
  • 由于创建实例是异步操作,建议您适当增加请求时间。当API返回Code=0时仅代表请求成功,并不代表成功创建实例,在请求成功时会返回实例ID,然后您可以根据实例ID查询实例是否创建成功。
  • InvalidUserData.NotInWhiteList接口限制条件:只有配置了购买权限的相关白名单才可以进行创建,否则报错。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateInstance

系统规定参数。取值:CreateInstance

InstanceType String ens.se1.tiny

实例规格。

实例规格详情请参见使用限制

EnsRegionId String cn-hangzhou

地域。

Password String yourPassword:1

实例的密码。

长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。可以设置以下特殊符号:
()`~!@#$%^&*-_+=|{}[]:;'<>,.?/
Period String 12

购买资源的时长,取值范围:1~912,单位:月。

ImageId String yourImage ID

镜像文件ID,启动实例时选择的镜像资源。

SystemDisk.Size String 40

系统盘大小,单位为GiB。取值:2040,不能比镜像小,需要为10的倍数。

Quantity String 1

实例数量。

DataDisk.1.Size String 50

第一块数据盘的容量大小,单位为GiB,容量至少为20 GiB且为10的倍数。

InternetChargeType String 95BandwidthByMonth

如果您第一次创建该参数为必传。如果已有实例资源,则默认按照已存在的计费方式。取值:

  • BandwidthByDay:日峰值带宽。
  • 95BandwidthByMonth:月95峰值带宽。
AutoRenewPeriod String 12

每次自动续费的时长,当参数AutoRenew取值True时为必填。取值:1~12,单位:月。

AutoRenew String True

是否要自动续费。取值:True|False(默认值)。

IpType String ipv4

IP类型。取值:

  • ipv4(默认值):IPv4。
  • ipv6:IPv6。
  • ipv4Andipv6:IPv4和IPv6。
KeyPairName String TestKeyPairName

密钥对名称。仅支持传单个名称。

UserData String #!/bin/sh echo "Hello World. The time is now $(date -R)!" | tee /home/output.txt

自定义数据,以#!开头。目前,最长支持256字符,最大支持16 KB。传参内容仅支持自定义数据Script,不支持InstanceMetaData渲染。

您可传入自定义数据。数据以Base64的方式编码。调用API发起请求时,不会加密您设置的自定义数据,建议您不要以明文方式传入机密的信息,例如:密码和私钥等。如果需要传入密码和私钥等内容,请您对内容进行加密后,然后以Base64的方式编码后再传入。在实例内部以同样的方式反解密。

详情请参见数据格式

VSwitchId String YourVSwitchId

交换机ID。

PrivateIpAddress String 10.10.10.10

内网地址。

如果传了内网地址,则vSwitch必传。vSwitch需要先创建好,否则会报错。

PaymentType String Subscription

支付方式。目前为固定值Subscription:预付费实例,暂不支持修改。

InstanceName String test:Instance_Name.1-2

实例的名称。命名规则如下所示:

  • 长度为2~128个英文或中文字符。
  • 必须以大小字母或中文开头,不能以http://和https://开头。
  • 可以包含数字、半角冒号(:)、下划线(_)、英文句号(.)或者连字符(-)。

如果没有指定该参数,默认值为实例的InstanceId。

HostName String test-HostName

云服务器的主机名。

通用命名规则:英文句号(.)和短横线(-)不能作为首尾字符,更不能连续使用。

具体实例命名规则如下:

  • Windows实例:字符长度为2~15,不支持英文句号(.),不能全是数字。允许大小写英文字母、数字和短横线(-)。
  • 其他类型实例(Linux等):字符长度为2~64,支持多个英文句号(.),英文句号之间为一段,每段允许大小写英文字母、数字和短横线(-)。
UniqueSuffix Boolean false

是否为HostNameInstanceName添加有序后缀。有序后缀从001开始递增,最大不能超过999

例如:LocalHost001LocalHost002MyInstance001MyInstance002

默认值:false

PublicIpIdentification Boolean true

公网IP是否可以分配给指定实例。取值:

  • true(默认值):可以分配。
  • false:不可以分配。
PasswordInherit Boolean false

是否使用镜像预设的密码。取值:

  • true:使用镜像预设的密码,且Password参数必须为空,同时您需要确保使用的镜像已经设置了密码。
  • false:不使用镜像预设的密码。

返回数据

名称 类型 示例值 描述
RequestId String 4A431388-2D4B-46F4-A96B-D4E6BD0688C1

请求ID。

InstanceIds Array of String [i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]

实例ID列表。

Code Integer 0

返回码,成功返回0。

说明 如果您通过SDK方式调用该API会返回Integer类型,通用方式或者HTTP方式调用会返回字符串类型。

示例

请求示例

http(s)://ens.aliyuncs.com/?Action=CreateInstance
&InstanceType=ens.se1.tiny
&EnsRegionId=cn-hangzhou
&Password=yourPassword:1
&Period=12
&ImageId=yourImage ID
&SystemDisk.Size=40
&Quantity=1
&DataDisk.1.Size=50
&InternetChargeType=95BandwidthByMonth
&AutoRenewPeriod=12
&AutoRenew=True
&IpType=ipv4
&KeyPairName=TestKeyPairName
&UserData=#!/bin/sh  echo "Hello World.  The time is now $(date -R)!" | tee /home/output.txt
&VSwitchId=YourVSwitchId
&PrivateIpAddress=10.10.10.10
&PaymentType=Subscription
&InstanceName=test:Instance_Name.1-2
&HostName=test-HostName
&UniqueSuffix=false
&PublicIpIdentification=true
&PasswordInherit=false
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateInstanceResponse>
    <RequestId>4A431388-2D4B-46F4-A96B-D4E6BD0688C1</RequestId>
    <InstanceIds>[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]</InstanceIds>
    <Code>0</Code>
</CreateInstanceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "4A431388-2D4B-46F4-A96B-D4E6BD0688C1",
  "InstanceIds" : [ "[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]" ],
  "Code" : 0
}

错误码

HttpCode 错误码 错误信息 描述
400 NoPermission Permission denied. 没有足够的权限,请联系云账号管理员授予您相应权限。

访问错误中心查看更多错误码。