接口功能介绍
查询用户可用的产品是否可售,支持云主机、云硬盘、弹性公网IP产品的可售查询。
接口约束
渠道用户产品未售罄可售,非渠道用户产品未售罄且用户当前配额有余量可售。
URI
GET /v4/region/check-demand
路径参数
无
Query参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
regionID | 是 | String | 资源池ID | ||
azName | 否 | String | 可用区名称(云主机规格资源池4.0区分az) | ||
productType | 是 | String | 产品类型 可选值:ecs:云主机,eip:IP,ebs:磁盘 | ||
flavorID | 否 | String | productType为ecs时传,云主机规格ID(获取规格列表/v4/common/get-ecs-flavors,取flavorID或specName) | ||
specName | 否 | String | productType为ecs时传,主机规格名称(specName和flavorID可二选一,都传以flavorID为准,获取规格列表/v4/common/get-ecs-flavors,取specName) | ||
ecsAmount | 否 | Integer | productType为ecs时传,云主机需求量(可选,不传默认为1) | 1 | |
ebsType | 否 | String | productType为ebs时传,磁盘类型: SATA/SAS/SSD/SATA-KUNPENG/SATA-HAIGUANG/SAS-KUNPENG/SAS-HAIGUANG/SSD-genric | ||
ebsSize | 否 | Integer | productType为ebs时传,磁盘大小 | 1 | |
eipAmount | 否 | Integer | productType为eip时传,IP需求量(可选,不传默认为1) | 1 |
请求参数
请求头header参数
无
请求体body参数
无
响应参数
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
statusCode | Integer | 返回状态码('800为成功,900为失败) ,默认值:800 | 800 | |
errorCode | String | 错误码,为product.module.code三段式码。为空表示成功。 | ||
message | String | 失败时的错误描述,一般为英文描述 | ||
description | String | 失败时的错误描述,一般为中文描述 | ||
returnObj | Object | 返回参数 | returnObj | |
error | String | 错误码,为product.module.code三段式码。请求成功时不返回该字段 | Region.FlavorSaleCheck.SaleOut |
表 returnObj
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
satisfied | Boolean | 是否可售 | ||
sellout | Boolean | 是否售罄 | ||
hasQuota | Boolean | 用户配额余量是否满足(paas带channel的调用不会返回) | ||
quotaInfo | Object | 产品用户配额信息(paas带channel的调用不会返回) | ||
usedInfo | Object | 用户已用量信息(paas带channel的调用不会返回) |
枚举参数
无
请求示例
请求url
云主机:/v4/region/check-demand?regionID=41f64827f25f468595ffa3a5deb5d15d&azName=az1&productType=ecs&specName=s7.small.1&ecsAmount=1
云主机:/v4/region/check-demand?regionID=41f64827f25f468595ffa3a5deb5d15d&azName=az1&productType=ecs&flavorID=d7d12e87-35e3-6d65-9a4d-c3efddf73d83&ecsAmount=1
磁盘:/v4/region/check-demand?regionID=41f64827f25f468595ffa3a5deb5d15d&azName=az1&productType=ebs&ebsType=SATA&ebsSize=30
IP:/v4/region/check-demand?regionID=41f64827f25f468595ffa3a5deb5d15d&azName=az1&productType=eip&ipAmount=1
请求头header
无
请求体body
无
响应示例
成功响应示例:
云主机:
{
"statusCode": 800,
"message": "success",
"returnObj": {
"satisfied": true,
"sellout": false,
"hasQuota": true,
"quotaInfo": {
"ecsCountQuota": 100,
"cpuVcoreQutoa": 10000,
"memQuota": 100000
},
"usedInfo": {
"ecsCount": 10,
"cpuVcoreCount": 2000,
"memUsed": 40000
}
}
}
硬盘:
{
"returnObj": {
"satisfied": true,
"sellout": false,
"hasQuota": true,
"usedInfo": {
"ebsSize": 10710,
"ebsCount": 34
},
"quotaInfo": {
"ebsSizeQuota": 32768,
"ebsCountQuota": 200
}
},
"errorCode": "",
"message": "",
"description": "",
"statusCode": 800
}
IP:
{
"returnObj": {
"hasQuota": true,
"usedInfo": {
"ipCount": 60
},
"satisfied": true,
"quotaInfo": {
"ipCountQuota": 150
},
"sellout": false
},
"errorCode": "",
"message": "",
"description": "",
"statusCode": 800
}
失败响应示例:
配额不足:
{
"description": "CPU用户配额500,已使用225,此次需求900",
"returnObj": {
"hasQuota": false,
"quotaInfo": {
"ecsCountQuota": 10000,
"cpuVcoreQutoa": 500,
"memQuota": 409600
},
"usedInfo": {
"ecsCount": 106,
"memUsed": 631.0,
"cpuVcoreCount": 225
}
},
"errorCode": "Region.DemandCheck.UserQuotaLimited",
"error": "Region.DemandCheck.UserQuotaLimited",
"details": "",
"message": "User quota not met",
"statusCode": 900
}
产品售罄:
{
"description": "规格已售罄",
"returnObj": {
"satisfied": false,
"sellout": true,
"hasQuota": true,
"usedInfo": {
"ipCount": 12
},
"quotaInfo": {
"ipCountQuota": 50
}
},
"errorCode": "Region.FlavorSaleCheck.SaleOut",
"error": "Region.FlavorSaleCheck.SaleOut",
"details": "",
"message": "flavor sale out",
"statusCode": 900
}
状态码
请参考 状态码
错误码
请参考 错误码