创建实例询价

最近更新时间:2023-08-09 11:20:14

说明:

当前页面接口为旧版 API,未来可能停止维护,目前不展示在左侧导航。云服务器 API 3.0 版本接口定义更加规范,访问时延下降显著,建议使用 云服务器 API 3.0

1. 接口描述

本接口(InquiryPriceRunInstances)用于创建实例询价。
接口请求域名:cvm.api.qcloud.com
本接口仅允许针对购买限制范围内的实例配置进行询价, 详见:创建实例

2. 输入参数

以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数 页面。

名称 类型 是否必选 描述
Version String 表示API版本号,主要用于标识请求的不同API版本。 本接口第一版本可传:2017-03-12。
InstanceChargeType String 实例 计费类型
  • PREPAID:预付费,即包年包月
  • POSTPAID_BY_HOUR:按小时后付费
    默认值:POSTPAID_BY_HOUR。
  • InstanceChargePrepaid InstanceChargePrepaid object 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
    Placement Placement object 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
    InstanceType String 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口 DescribeInstanceTypeConfigs 来获得最新的规格表或参见 CVM 实例配置 描述。若不指定该参数,则默认机型为 S1.SMALL1。
    ImageId String 指定有效的 镜像 ID,格式形如img-xxx。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • 公共镜像自定义镜像共享镜像的镜像 ID 可通过登录 控制台 查询;服务镜像市场的镜像ID可通过云市场查询。
  • 通过调用接口 DescribeImages,取返回信息中的ImageId字段。
  • SystemDisk SystemDisk object 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
    DataDisks.N array of DataDisk objects 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘,当前仅支持购买的时候指定一个数据盘。
    VirtualPrivateCloud VirtualPrivateCloud object 私有网络相关信息配置。通过该参数可以指定私有网络的 ID,子网 ID 等信息。若不指定该参数,则默认使用基础网络。若在此参数中指定了私有网络 IP,那么 InstanceCount 参数只能为1。
    InternetAccessible InternetAccessible object 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。
    InstanceCount Integer 购买实例数量。取值范围:[1,100]。默认取值:1。指定购买实例的数量不能超过用户所能购买的剩余配额数量,具体配额相关限制详见 CVM 实例购买限制
    InstanceName String 实例显示名称。如果不指定则默认显示"未命名"。最大长度不能超60个字节。
    LoginSettings LoginSettings object 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。
    SecurityGroupIds.N array of Strings 实例所属安全组。该参数可以通过调用 DescribeSecurityGroups 的返回值中的 sgId 字段来获取。若不指定该参数,则默认不绑定安全组不绑定安全组将暴露所有端口到公网和内网,实例的所有业务(如80、443等端口)将均可被访问,但会有一定的安全风险,建议选择按需新建的安全组。当前仅支持购买的时候指定一个安全组。
    EnhancedService EnhancedService object 增强服务。通过该参数可以指定是否开启云安全、腾讯云可观测平台等服务。若不指定该参数,则默认开启腾讯云可观测平台、云安全服务。
    ClientToken String 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    更多详细信息请参阅:如何保证幂等性。

    3. 输出参数

    参数名称 类型 描述
    Price Price object 该参数表示对应配置实例的价格。
    RequestId String 唯一请求 ID。每次请求都会返回一个唯一的 RequestId,当客户调用接口失败找后台研发人员处理时需提供该 RequestId 具体值。

    接口执行正常返回参数示例

    {
        "Response": {
            "InstanceIdSet": [
                "xxx1",
                "xxx2"
            ],
            "RequestId": "eac6b301-a322-493a-8e36-83b295459397"
        }
    }

    接口执行异常返回参数示例

    {
      "Response": {
        "Error": {
          "Code": "AuthFailure",
          "Message": "qcloud was not able to validate the provided access credentials"
        },
        "RequestId": "eac6b301-a322-493a-8e36-83b295459397"
      }
    }

    4. 错误码

    以下错误码表仅列出了该接口的业务逻辑错误码,更多错误码详见 公共错误码

    错误码 描述
    InvalidParameterValue 无效参数值。参数值格式错误或者参数值不被支持等。
    InvalidParameterValue.Range 表示参数取值范围不合法。
    InvalidParameterCombination 表示参数组合不正确。
    MissingParameter 参数缺失。该请求涉及的必选参数缺失。
    InvalidPermission 账户权限限制,无法进行该操作。
    AccountQualificationRestrictions 该请求账户未通过资格审计。
    InvalidZone.MismatchRegion 指定的可用区ID不合法或不属于指定 Region 底下的可用区。
    InvalidHostId.NotFound 指定的 HostId 不存在,或不属于该请求账号所有。
    InvalidPeriod 指定的购买时长不在合理取值范围内。
    InvalidInstanceType.Malformed 指定InstanceType参数格式不合法。
    InstancesQuotaLimitExceeded 表示当前创建的实例个数超过了该账户允许购买的剩余配额数。
    InvalidInstanceName.TooLong 指定的InstanceName字符串长度超出限制,必须小于等于60字节。
    InvalidPassword 表示指定的密码复杂度符合限制要求。
    InvalidClientToken.TooLong 指定的ClientToken字符串长度超出限制,必须小于等于64字节。

    5. Examples

    示例1

    说明:

    最简单参数的购买询价:
    只传必传的Zone和镜像ID,其他均采用系统默认值,具体配置如下:实例所在位置为广州二区,镜像ID为:img-pmqg1cw7。

    请求参数

      https://cvm.api.qcloud.com/v2/index.php?Action=InquiryPriceRunInstances
      &Version=2017-03-12
      &Placement.Zone=ap-guangzhou-2
      &ImageId=img-pmqg1cw7
      &<<a href="/document/api/213/11650">公共请求参数</a>>

    返回参数

    {
        "Response": {
            "Price": {
                "InstancePrice": {
                    "UnitPrice": "0.34",
                    "ChargeUnit": "HOUR"
                }
            }
        }
    }

    示例2

    说明:

    包年包月实例购买询价:
    实例所在位置为广州二区,付费模式为包年包月,购买一个月,到期自动续费,镜像ID为:img-pmqg1cw7,选择机型为:1C1G标准型(S1.SMALL1),50G大小本地普通系统盘,带100G大小本地普通数据盘,基础网络,公网付费模式为流量按小时后付费,外网带宽上限10Mbps,分配公网IP,实例命名为QCLOUD-TEST,设置登录密码未Qcloud@TestApi123++,安装腾讯云可观测平台云安全,购买数量为1台。

    请求参数

      https://cvm.api.qcloud.com/v2/index.php?Action=InquiryPriceRunInstances
      &Placement.Zone=ap-guangzhou-2
      &InstanceChargeType=PREPAID
      &InstanceChargePrepaid.Period=1
      &InstanceChargePrepaid.RenewFlag=NOTIFY_AND_AUTO_RENEW
      &ImageId=img-pmqg1cw7
      &InstanceType=S1.SMALL1
      &SystemDisk.DiskType=LOCAL_BASIC
      &SystemDisk.DiskSize=50
      &DataDisks.0.DiskType=LOCAL_BASIC
      &DataDisks.0.DiskSize=100
      &InternetAccessible.InternetChargeType=TRAFFIC_POSTPAID_BY_HOUR
      &InternetAccessible.InternetMaxBandwidthOut=10
      &InternetAccessible.PublicIpAssigned=TRUE
      &InstanceName=QCLOUD-TEST
      &LoginSettings.Password=Qcloud@TestApi123++
      &EnhancedService.SecurityService.Enabled=TRUE
      &EnhancedService.MonitorService.Enabled=TRUE
      &InstanceCount=1
      &<公共请求参数>

    返回参数

    {
        "Response": {
            "Price": {
                "InstancePrice": {
                    "OriginalPrice": "45.00",
                    "DiscountPrice": "45.00"
                },
                "BandwidthPrice": {
                    "UnitPrice": "0.80",
                    "ChargeUnit": "GB"
                }
            }
        }
    }

    示例3

    说明:

    按小时后付费实例购买询价:
    实例所在位置为广州二区,付费模式为按小时后付费,镜像ID为:img-pmqg1cw7,选择机型为:1C1G标准型(S1.SMALL1),50G大小本地普通系统盘,带100G大小本地普通数据盘,基础网络,公网付费模式为流量按小时后付费,外网带宽上限10Mbps,分配公网IP,实例命名为QCLOUD-TEST,设置登录密码未Qcloud@TestApi123++,安装腾讯云可观测平台云安全,购买数量为1台。

    请求参数

      https://cvm.api.qcloud.com/v2/index.php?Action=InquiryPriceRunInstances
      &Placement.Zone=ap-guangzhou-2
      &InstanceChargeType=POSTPAID_BY_HOUR
      &ImageId=img-pmqg1cw7
      &InstanceType=S1.SMALL1
      &SystemDisk.DiskType=LOCAL_BASIC
      &SystemDisk.DiskSize=50
      &DataDisks.0.DiskType=LOCAL_BASIC
      &DataDisks.0.DiskSize=100
      &InternetAccessible.InternetChargeType=TRAFFIC_POSTPAID_BY_HOUR
      &InternetAccessible.InternetMaxBandwidthOut=10
      &InternetAccessible.PublicIpAssigned=TRUE
      &InstanceName=QCLOUD-TEST
      &LoginSettings.Password=Qcloud@TestApi123++
      &EnhancedService.SecurityService.Enabled=TRUE
      &EnhancedService.MonitorService.Enabled=TRUE
      &InstanceCount=1
      &<公共请求参数>

    返回参数

    {
        "Response": {
            "Price": {
                "InstancePrice": {
                    "UnitPrice": "0.34",
                    "ChargeUnit": "HOUR"
                },
                "BandwidthPrice": {
                    "UnitPrice": "0.80",
                    "ChargeUnit": "GB"
                }
            }
        }
    }