说明:
1. 接口描述
本接口 (RunInstancesHour) 用于创建一个或多个指定配置的按量计费实例。
接口请求域名:cvm.api.qcloud.com
API 创建的实例遵循 购买约束 文档所描述的数量限制,和官网所创建的实例共用配额。
CPU 与内存具体的配比限制参见 实例规格。
实例的创建需要一定时间,本接口不会立刻返回实例结果。而是返回一个 InstanceId,在此期间可以通过 DescribeInstances 接口查询该实例的状态。如果状态由“创建中”变为“正在运行”,则为创建成功。
实例创建成功后为“正在运行”的状态,无需再次调用 StartInstances 来启动。
不支持带宽包用户购买按量计费实例。
如需要更改带宽,请在实例创建成功后,使用接口 UpdateInstanceBandwidthHour 更改,公网带宽不指定默认为0。
本接口暂不支持在创建实例的同时绑定安全组,所创建的实例默认所有端口都放通,建议用户在创建实例之后使用ModifySecurityGroupsOfInstance 接口给对应云服务器关联的安全组。
支持的实例类型:
机型 | 系列1 | 系列2 |
标准型 | CVM.S1 | CVM.S2 |
高 IO 型 | CVM.I1 | CVM.I2 |
内存型 | CVM.M1 | CVM.M2 |
计算型 | - | CVM.C2 |
2. 输入参数
参数名称 | 是否必选 | 类型 | 描述 |
zoneId | 是 | Int | 可用区 ID。 |
cpu | 是 | Int | CPU 核数,具体限制见上。 |
mem | 是 | Int | 内存大小(GB),具体限制见上。 |
imageId | 是 | String | |
storageSize | 是 | Int | |
instanceType | 否 | String | 实例类型(例如高 IO 型等)。默认为 CVM.S1 。更多实例类型,可在上文查看“实例类型”一节。 |
imageType | 否 | Int | 镜像类型。1:私有镜像、2:公有镜像、3:镜像市场、4:共享镜像。默认为2。如果您指定非公有镜像的 ImageId ,则必须指定ImageType,如使用公有镜像,则无需ImageType 参数。 |
bandwidthType | 否 | String | |
bandwidth | 否 | Int | 公网带宽(Mbps),当按流量计费时为公网带宽峰值。默认为0 |
wanIp | 否 | Int | 是否开通公网 IP。1:开通,0:不开通。 bandwidth 大于0,可自由选择开通与否,默认开通公网 IP;bandwidth 为0,则不分配公网IP。 |
vpcId | 否 | String | 私有网络 ID。私有网络下为必填,不填则为基础网络。 |
subnetId | 否 | String | |
isVpcGateway | 否 | Int | |
storageType | 否 | Int | 硬盘类型。硬盘类型。1:本地硬盘、2:普通云硬盘、3:本地 SSD 硬盘;默认为本地硬盘。关于硬盘类型的选择请参见 云硬盘,可选硬盘类型受到实例类型(InstanceType)限制。另外允许购买的最大容量也因硬盘类型的不同而有所差异。 |
rootSize | 否 | Int | 系统盘大小(GB)。Linux/BSD 系统调整范围为20~50G,最小调整步长为10G,默认免费分配20G。Windows 不可调整,默认为免费分配50G。系统盘类型须与 storageType 所指定的一致。 |
password | 否 | String | 实例密码。未设置则为随机产生,并通过站内信下发。Linux实例密码必须8到16位,至少包括两项[a-z,A-Z]、[0-9] 和 [( ) ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。Windows 实例密码必须12到16位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) ~ ! @ # $ % ^ & * - + = { } [ ] : ; ' , . ? /]中的特殊符号。 |
keyId | 否 | String | |
needSecurityAgent | 否 | Int | |
needMonitorAgent | 否 | Int | |
projectId | 否 | Int | 项目 ID,不填为默认项目。 |
instanceName | 否 | String | 实例名称,可任意命名,但不得超过60个字符。默认为“未命名”。 |
goodsNum | 否 | Int | 购买实例数量。默认为1, 最大100。 |
clientToken | 否 | String | 保证此 API 幂等的 Token ,最多64字符。不同的 API 请求携带相同的 Token 视为同一请求,可以防止客户端请求API时因为网络异常而重试,导致多次创建实例的情况。 |
privateIpAddresses.n | 否 | array of Strings | 私有子网 IP 数组,目前只支持一个 IP。在创建实例、修改实例 VPC 属性操作中可使用此参数。 |
3. 输出参数
参数名称 | 类型 | 描述 |
code | Int | |
message | String | 模块错误信息描述,与接口相关。 |
unInstanceIds | Array |
4. 错误码
错误码 | 描述 |
InvalidParameter.PasswordNotConformSpecs | 密码不合规范 |
InvalidParameter.InvaildZoneId | zoneId 不合法 |
InnerError.VpcError | 内部错误 VPC |
OperationConstraints.AccountBalanceNotEnough | 您的余额不足,请先充值 |
OperationFail.SystemBusy | 资源购买繁忙 |
InvalidParameter.InvalidIpFormat | ip 格式不正确 |
InvalidParameter.NotSupportReservedIp | 保留 IP 不可使用 |
InvalidParameter.IpNotInCidrRange | IP 不在子网内 |
InvalidParameter.IpInUse | IP 已经被使用 |
5. 示例
输入
https://cvm.api.qcloud.com/v2/index.php?Action=RunInstancesHour&imageId=img-3wnd9xpl&bandwidth=1&cpu=1&mem=2&storageType=1&storageSize=50&goodsNum=1&zoneId=100001
输出
{"code": 0,"message": "ok","unInstanceIds": ["xxxx1","xxxx2"]}