CreateInstance - 创建实例

调用CreateInstance创建实例。

接口说明

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

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ens:CreateInstancecreate
*Instance
acs:ens:*:{#accountId}:instance/*

请求参数

名称类型必填描述示例值
InstanceTypestring

实例规格。

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

ens.se1.tiny
EnsRegionIdstring

地域。

cn-hangzhou
Passwordstring

实例的密码。

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

yourPassword:1
Periodstring

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

12
ImageIdstring

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

yourImage ID
SystemDisk.Sizestring

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

40
Quantitystring

实例数量。

1
DataDisk.1.Sizestring

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

50
InternetChargeTypestring

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

  • BandwidthByDay:日峰值带宽。

  • 95BandwidthByMonth:月 95 峰值带宽。

95BandwidthByMonth
AutoRenewPeriodstring

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

12
AutoRenewstring

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

True
IpTypestring

IP 类型。取值:

  • ipv4(默认值):IPv4。

  • ipv6:IPv6。

  • ipv4Andipv6:IPv4 和 IPv6。

ipv4
KeyPairNamestring

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

TestKeyPairName
UserDatastring

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

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

详情请参见数据格式

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

交换机 ID。

YourVSwitchId
PrivateIpAddressstring

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

10.10.10.10
PaymentTypestring

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

Subscription
InstanceNamestring

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

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

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

test:Instance_Name.1-2
HostNamestring

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

具体实例命名规则如下:

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

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

例如:LocalHost001LocalHost002MyInstance001MyInstance002

默认值:false

false
PublicIpIdentificationboolean

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

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

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

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

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

4A431388-2D4B-46F4-A96B-D4E6BD0688C1
InstanceIdsarray

实例 ID 列表。

InstanceIdstring

实例 ID 列表。

[i-7ecpqvkicnchxccozrp****,i-6ecpqvkicnchxccozrp****]
Codeinteger

返回码,成功返回 0。

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

示例

正常返回示例

JSON格式

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

错误码

HTTP status code错误码错误信息描述
400StockNotEnoughThe specified instance type has insufficient resource.-
400InvalidUserData.NotInWhiteListThe specified user is not authroized to perform this operation.-
400MissingParameterThe input parameter that is mandatory for processing this request is not supplied.-
400InstanceIdNotFoundThe input parameter instancdId that is not found.指定的实例ID不存在。
400NoPermissionPermission denied.没有足够的权限,请联系云账号管理员授予您相应权限。
400CallInterfaceCall Interface Happen Error.接口调用出错。
400InvalidParameterThe input parameter is Invalid.-
400StockNotEnoughThe specified configuration is unavailable. Reconfigure and try again.-
400InvalidParameter.%sThe specified field %s invalid. Please check it again.-
400InvalidParameterThe errorMessage is %s. Please check it again.-
400StockNotEnoughThe specified EnsRegionId is unavailable. Reconfigure and try again.-
400StockNotEnoughThe specified InstanceSpec is unavailable. Reconfigure and try again.-
400InvalidDiskSize.ValueNotSupportedThe specified disk capacity is invalid. Specify another capacity and try again.-
400InvalidParameter.BandwidthThe specified parameter InternetChargeType is not valid.-
400StockNotEnoughThe specified node has insufficient resource.-
400InvalidParameter.ImageThe specified image does not support.-
400StockNotEnoughYou have reached the purchase default limit.-
400InvalidParameter.InstanceTypeThe specified parameter InstanceType is not valid.-
400InvalidAccountStatus.NotEnoughBalanceYour account does not have enough balance.-
400unsupported_Ipv6FeatureThis ensregion does not support creating instance of the IPv6 type. Select another type.-
400Forbidden.CreateInstanceThe user is not in the Goods whitelist of creating instance interface.-
400ENS_OperationUnsupported_KeyPairNameThe KeyPairNameis not available or image not support ssh key.-
400ENS_DependencyViolation_WindowsInstanceThe instance creating is window, only user password to login.-
400ENS_PASSWORDORKEYPAIRNAME_MODULE_NOT_CHOOSENThe required module pwd or keyPairName is not inputed-
400MissingParameterThe input parameter %s that is mandatory for processing this request is not supplied.-
400InvalidPrivateIpAddressSpecified private IP address is not in the CIDR block of virtual switch.-
400InvalidVSwitchId.NotFoundSpecified virtual switch does not exist.指定的虚拟交换机 ID 不存在。
400InvalidPrivateIpAddress.DuplicatedSpecified private IP address is duplicated.-
400InvalidPasswordParam.MismatchThe input password should be null when passwordInherit is true.-

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

变更历史

变更时间变更内容概要操作
2023-10-12OpenAPI 错误码发生变更查看变更详情
2023-03-03OpenAPI 错误码发生变更查看变更详情