
# 查询资源规格列表 - ListSpecs
#### 功能介绍
列举资源规格列表。用户可通过该接口列举资源规格列表，用户可以通过编码、类型、使用场景等参数过滤查询，支持分页。此接口为同步接口，无配套使用接口和特殊场景。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DataArtsFabric/doc?api=ListSpecs)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0014.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
#### URI
GET /v1/specs
表1Query参数 
| 参数         | 是否必选 | 参数类型             | 描述                                                                                                                                        |
|:---|:---|:---|:---|
| spec_code  | 否    | String           | 规格编码。                                                                                                                                     |
| spec_types | 否    | Array of strings | **参数解释**：通过资源规格类型检索集合。 **约束限制**：从规格列表查询获取。 **取值范围**：\[0,100\]。 **默认取值**：不涉及。                                                              |
| offset     | 否    | Integer          | **参数解释**：偏移量，表示从此偏移量开始查询。 **约束限制**：不涉及。 **取值范围**：\[0,1000000000\]。 **默认取值**：0。                                                            |
| limit      | 否    | Integer          | **参数解释**：指定每一页返回的最大条目数。 **约束限制**：不涉及。 **取值范围**：\[1,100\]。 **默认取值**：10。                                                                    |
| scenario   | 否    | Object           | **参数解释**：规格使用场景。 **约束限制**：不涉及。 **取值范围**： - 不填：表示不限制； - COMPUTE: 用于购买Ray计算资源时配置的物理节点规格； - ENDPOINT: 用于创建Endpoint时配置的资源组规格大小。 **默认取值**：不涉及。 |
#### 请求参数
无
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数         | 参数类型                                                                  | 描述                                                               |
|:---|:---|:---|
| total      | Integer                                                               | **参数解释**：总数。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。           |
| spec_codes | Array of [Spec] objects | **参数解释**：规格编码列表。 **约束限制**：不涉及。 **取值范围**：\[0,100\]。 **默认取值**：不涉及。 |
   
 表3Spec 
| 参数                   | 参数类型                                                                          | 描述                                                                                                                                                                                                |
|:---|:---|:---|
| spec_code            | String                                                                        | **参数解释**：资源规格。 **约束限制**：不涉及。 **取值范围**：从规格列表查询获取。 **默认取值**：不涉及。                                                                                                                                    |
| spec_type            | String                                                                        | **参数解释**：资源规格类型。 **约束限制**：不涉及。 **取值范围**： - APU：APU类型； - SQL_DPU：SQL DPU类型； - MU：MU类型； - RESOURCE_USAGE_UNIT：资源使用量类型； - RAY_APU：Ray APU类型； - RAY_DPU：Ray DPU类型。 - RAY_CACHE：Ray缓存资源。 **默认取值**：不涉及。 |
| resource_type        | String                                                                        | **参数解释**：资源类型。 **约束限制**：不涉及。 **取值范围**：最小长度为1，最大长度为64。 **默认取值**：不涉及。                                                                                                                               |
| stride               | Integer                                                                       | **参数解释**：资源步长。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                          |
| unit                 | String                                                                        | **参数解释**：资源单位。 **约束限制**：不涉及。 **取值范围**：最小长度为1，最大长度为16。 **默认取值**：不涉及。                                                                                                                               |
| min_stride_num       | Integer                                                                       | **参数解释**：资源步数。 **约束限制**：不涉及。 **取值范围**：最小为1，最大为10000。输入范围还需要满足规格列表接口的步长白名单。 **默认取值**：不涉及。                                                                                                          |
| max_stride_num       | Integer                                                                       | **参数解释**：资源步数。 **约束限制**：不涉及。 **取值范围**：最小为1，最大为10000。输入范围还需要满足规格列表接口的步长白名单。 **默认取值**：不涉及。                                                                                                          |
| usage_measure_id     | Integer                                                                       | **参数解释**：使用量单位标识。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                       |
| usage_factor         | String                                                                        | **参数解释**：使用量因子。 **约束限制**：不涉及。 **取值范围**：最小长度为1，最大长度为32。 **默认取值**：不涉及。                                                                                                                              |
| stride_num_whitelist | Array of integers                                                             | **参数解释**：步数白名单，返回时，步数必须是白名单中的值。 **约束限制**：不涉及。 **取值范围**：最小值为0，最大值为100。 **默认取值**：不涉及。                                                                                                               |
| extra_info           | [SpecExtraInfo] object | **参数解释**：附加信息。 **约束限制**：不涉及。                                                                                                                                                                      |
   
 表4SpecExtraInfo 
| 参数          | 参数类型   | 描述                                                                |
|:---|:---|:---|
| mu_multiple | Double | **参数解释**：模型单元换算倍数 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。       |
| mu_code     | String | **参数解释**：模型单元编码。 **约束限制**：不涉及。 **取值范围**：长度\[1,64\]。 **默认取值**：不涉及。 |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：401**
表6响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：404**
表7响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：408**
表8响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
**状态码：500**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **约束限制**：不涉及。 **取值范围**：长度为\[8,36\]个字符。 **默认取值**：不涉及。      |
| error_msg    | String | **参数解释**：错误描述。 **约束限制**：不涉及。 **取值范围**：长度为\[2,512\]个字符。 **默认取值**：不涉及。    |
| solution_msg | String | **参数解释**：解决方案描述。 **约束限制**：不涉及。 **取值范围**：长度为\[0,4096\]个字符。 **默认取值**：不涉及。 |
   
#### 请求示例
```
GET https://{endpoint}/v1/specs
```
#### 响应示例
**状态码：200**
查询规格列表响应。
```
{
  "total" : 1,
  "spec_codes" : [ {
    "spec_code" : "string",
    "spec_type" : "APU",
    "resource_type" : "hws.resource.type.fabric.ray.dpu",
    "stride" : 1,
    "unit" : "string",
    "min_stride_num" : 0,
    "max_stride_num" : 1,
    "usage_measure_id" : 6,
    "usage_factor" : "string",
    "stride_num_whitelist" : [ 12, 13 ],
    "extra_info" : {
      "mu_multiple" : 0,
      "mu_code" : "string"
    }
  } ]
}
```
**状态码：400**
BadRequest
```
{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
Forbidden
```
{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
NotFound
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
Request Time-out
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
InternalServerError
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述                  |
|:---|:---|
| 200 | 查询规格列表响应。           |
| 400 | BadRequest          |
| 401 | Unauthorized        |
| 403 | Forbidden           |
| 404 | NotFound            |
| 408 | Request Time-out    |
| 500 | InternalServerError |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-fabric/dataartsfabric_03_0028.html)。
