调用CreateInstance创建实例。

调用该接口前,请您注意:

由于创建实例是异步操作,建议您将适当增加请求时间。当API返回Code=0时仅代表请求成功,并不代表成功创建实例,在请求成功时会返回实例ID,然后您可以根据实例ID查询实例是否创建成功。

InvalidUserData.NotInWhiteList接口限制条件:只有配置了购买权限的相关白名单才可以进行创建,否则报错。

调试

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

请求参数

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

系统参数,取值:CreateInstance

DataDisk.1.Size String 50

第n个数据盘的容量大小,单位为GiB。n的取值范围为1~16

如果需要数据盘,容量至少为20G且为10的倍数,暂时只支持n=1。

EnsRegionId String cn-hangzhou

地域。

ImageId String image123

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

InstanceType String ens.se1.tiny

实例规格。

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

Period String 12

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

Quantity String 1

实例数量。

SystemDisk.Size String 40

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

Password String yourPassword:1

实例的密码。

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

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

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

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

AutoRenew String True

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

IpType String ipv4

ip类型。取值:

  • ipv4(默认值)
  • ipv6
  • ipv4Andipv6
KeyPairName String TestKeyPairName

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

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

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

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

详情请参见数据格式

VSwitchId String YourVSwitchId

交换机ID。

PrivateIpAddress String 10. 0.0.254

内网地址。

如果传了内网地址,则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

返回数据

名称 类型 示例值 描述
Code Integer 0

返回码,成功返回0。

说明 如果您通过SDK方式调用该API会返回Integer类型,通用方式或者Http方式调用会返回字符串类型。
InstanceIds List i-7ecpqvkicnchxccozrpxxxx,i-6ecpqvkicnchxccozrpxxxx

实例ID列表。

RequestId String 4A431388-2D4B-46F4-A96B-D4E6BD0688C1

请求ID。

示例

请求示例

https://ens.aliyuncs.com/?Action=CreateInstance
&EnsRegionId=cn-hangzhou
&Version=2017-11-10
&InstanceType=ens.se1.tiny
&ImageId=image123
&DataDisk.1.Size=50
&Password=xxxx
&SystemDisk.Size=40
&Quantity=1
&Period=12
&<公共请求参数>

正常返回示例

XML 格式

<CreateInstanceResponse>
  <InstanceIds>
        <InstanceId>i-7ecpqvkicnchxccozrpxxxx</InstanceId>
        <InstanceId>i-6ecpqvkicnchxccozrpxxxx</InstanceId>
  </InstanceIds>
  <RequestId>4A431388-2D4B-46F4-A96B-D4E6BD0688C1</RequestId>
  <Code>0</Code>
</CreateInstanceResponse>

JSON 格式

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

错误码

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

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