
# 配额校验 - CheckQuota
#### 功能介绍
配额校验，购买服务器前可用调用该接口，校验本次创建服务器资源是否足够。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/WorkspaceApp/doc?api=CheckQuota)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                  | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:quotas:get | Read | -           | -   | -  | -      |
     
  
 
#### URI
GET /v1/{project_id}/check/quota
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目唯一标识。 |
   
表2Query参数 
| 参数               | 是否必选 | 参数类型    | 描述                                      |
|:---|:---|:---|:---|
| product_id       | 是    | String  | 产品id。                                   |
| flavor_id        | 否    | String  | 规格id。                                   |
| subscription_num | 是    | Integer | 订单需要创建总实例数、订购数量。                        |
| disk_size        | 是    | Integer | 单台实例所需的磁盘大小（最大系统盘1块*1024、数据盘10块*32768）。 |
| disk_num         | 是    | Integer | 单台实例所需的磁盘数量（最大系统盘1块、数据盘10块）。            |
| is_period        | 否    | Boolean | 是否包周期。                                  |
| deh_id           | 否    | String  | 主机id。                                   |
| cluster_id       | 否    | String  | 云专属分布式存储池id。                            |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数              | 参数类型                                                                            | 描述                      |
|:---|:---|:---|
| is_enough       | Boolean                                                                         | 配额是否足够true：足够 false：不足。 |
| quota_remainder | Array of [QuotaRemainderData] objects | 配额剩余数量信息。               |
   
 表5QuotaRemainderData 
| 参数        | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| type      | String  | 配额-资源类型： - GPU_INSTANCES：GPU资源实例数，单位个。   - INSTANCES：普通实例数，单位个。   - VOLUME_GIGABYTES：磁盘总容量，单位GB。   - VOLUMES：磁盘数量，单位个。   - CORES：CPU数量，单位个。   - MEMORY：内存容量，单位MB。    |
| remainder | Integer | 剩余配额。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| need      | Integer | 所需配额。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：403**
表8响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：404**
表9响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：405**
表10响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：500**
表11响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：503**
表12响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
#### 请求示例
```
/v1/a4da8115c9d8464ead3a38309130523f/check/quota?disk_size=60&subscription_num=1&disk_num=1&product_id=workspace.appstream.general.xlarge.2
```
#### 响应示例
**状态码：200**
校验本次订单提交资源是否足额响应类。
```
{
  "is_enough" : true,
  "quota_remainder" : [ {
    "type" : "INSTANCES",
    "remainder" : 490,
    "need" : 1
  }, {
    "type" : "VOLUME_GIGABYTES",
    "remainder" : 69360,
    "need" : 60
  }, {
    "type" : "VOLUMES",
    "remainder" : 9990,
    "need" : 1
  }, {
    "type" : "CORES",
    "remainder" : 39980,
    "need" : 2
  }, {
    "type" : "MEMORY",
    "remainder" : 99959040,
    "need" : 4096
  } ]
}
```
#### 状态码
| 状态码 | 描述                      |
|:---|:---|
| 200 | 校验本次订单提交资源是否足额响应类。      |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。  |
| 401 | 鉴权失败。                   |
| 403 | 没有操作权限。                 |
| 404 | 找不到资源。                  |
| 405 | 请求中指定的方法不被允许。           |
| 500 | 服务内部错误，具体返回错误码请参见错误码说明。 |
| 503 | 服务不可用。                  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode_0.html)。
