
# 更新计算资源 - UpdateV2Compute
#### 功能介绍
更新计算资源，支持修改名称、描述、容量、DNS配置、高级属性、标签等信息。此接口为异步接口，可通过查询计算资源操作记录列表接口获取操作结果，具体请参见[查询计算资源操作记录列表](https://support.huaweicloud.com/api-aidatalake/ListV2ComputeVersions.html)。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0003.html)。
#### URI
PUT /v2/workspaces/{workspace_id}/computes/{compute_id}
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                       |
|:---|:---|:---|:---|
| workspace_id | 是    | String | **参数解释**：工作空间ID。 **约束限制**：不涉及。 **取值范围**：长度为32\~36的英文字符、数字和中划线的组合。 **默认取值**：不涉及。 |
| compute_id   | 是    | String | **参数解释**：计算资源ID。 **约束限制**：不涉及。 **取值范围**：长度为36个英文字母、数字和中划线的组合。 **默认取值**：不涉及。     |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**：用户Token。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型                                                                    | 描述                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| name        | 否    | String                                                                  | **参数解释**：计算资源名称。 **约束限制**：不涉及。 **取值范围**：长度为1\~63个字符，遵循RFC 1035规范，支持小写字母、数字、中划线，必须字母开头、字母或数字结尾。 **默认取值**：不涉及。 |
| description | 否    | String                                                                  | **参数解释**：资源描述信息。 **约束限制**：不涉及。 **取值范围**：不允许输入感叹号、小于号、大于号、等号、与号、双引号、单引号字符。长度为0\~512个字符。 **默认取值**：不涉及。         |
| capacity    | 否    | Array of [CapacityItem] objects | **参数解释**：计算资源容量配置。 **约束限制**：不涉及。                                                                                                                                                   |
   
 表4CapacityItem 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| type      | 否    | String  | **参数解释**：资源类型。 **约束限制**：不涉及。 **取值范围**： - CPU：CPU资源。   - GPU：GPU资源。   - NPU：NPU资源。    **默认取值**：不涉及。 |
| capacity  | 否    | Integer | **参数解释**：资源数量。 **约束限制**：不涉及。 **取值范围**：0\~48000。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| spec_code | 否    | String  | **参数解释**：资源规格。 **约束限制**：不涉及。 **取值范围**：长度为1\~64个字符，从规格列表查询获取。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数          | 参数类型                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| id          | String                                                                                   | **参数解释**：计算资源ID。 **取值范围**：长度为1\~36的英文字母、数字和中划线的组合。                                                                                                                                                                                                                                                                                                                                          |
| name        | String                                                                                   | **参数解释**：计算资源名称。 **取值范围**：长度为1\~63个字符，遵循RFC 1035规范，支持小写字母、数字、中划线，必须字母开头、字母或数字结尾。                                                                                                                                                                                                                                                                                                            |
| description | String                                                                                   | **参数解释**：资源描述信息。 **取值范围**：字符长度为0\~512个字符。                                                                                                                                                                                                                                                                                                                                                   |
| charge_mode | String                                                                                   | **参数解释**：计费模式。 **取值范围**： - postPaid：按需计费。   - prePaid：包周期计费。    |
| capacity    | Array of [ResourceCapacityItem] objects | **参数解释**：计算资源容量配置。                                                                                                                                                                                                                                                                                                                                                                                                             |
| tags        | Array of [Tag] objects                                   | **参数解释**：标签列表。                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表6ResourceCapacityItem 
| 参数          | 参数类型    | 描述                                                                                  |
|:---|:---|:---|
| type        | String  | **参数解释**：资源类型。 **取值范围**：CPU、GPU、NPU。             |
| capacity    | Integer | **参数解释**：资源容量数量。 **取值范围**：0\~48000。              |
| spec_code   | String  | **参数解释**：规格编码。 **取值范围**：长度为1\~64的英文字母、数字和中划线的组合。 |
| resource_id | String  | **参数解释**：资源ID。 **取值范围**：长度为1\~64的英文字母、数字和中划线的组合。 |
   
 表7Tag 
| 参数    | 参数类型   | 描述                                                                                         |
|:---|:---|:---|
| key   | String | **参数解释**：标签键。 **取值范围**：长度为1\~128个英文字符、数字、下划线、中划线、句点的组合。 |
| value | String | **参数解释**：标签值。 **取值范围**：长度为0\~255个字符。                    |
   
**状态码：400**
表8响应Body参数 
| 参数           | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：401**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：403**
表10响应Body参数 
| 参数           | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：404**
表11响应Body参数 
| 参数           | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：500**
表12响应Body参数 
| 参数           | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
#### 请求示例
更新指定计算资源的配置信息，支持修改名称、描述、容量、DNS配置、高级属性、标签等。其中workspace_id为工作空间ID，compute_id为需要更新的计算资源ID。
```
PUT /v2/workspaces/{workspace_id}/computes/{compute_id}
{
  "name" : "compute-01",
  "description" : "测试计算资源",
  "capacity" : [ {
    "type" : "CPU",
    "capacity" : 64,
    "spec_code" : "aidatalake.cpu.x86.general.1c2g"
  } ],
  "charge_mode" : "postPaid",
  "tags" : [ {
    "key" : "test",
    "value" : "ai"
  } ]
}
```
#### 响应示例
**状态码：200**
请求下发成功。
```
{
  "id" : "03141229-84cd-4b1b-9733-dd124320c125",
  "name" : "compute-01",
  "description" : "测试计算资源",
  "charge_mode" : "postPaid",
  "capacity" : [ {
    "type" : "CPU",
    "capacity" : 64,
    "spec_code" : "aidatalake.cpu.x86.general.1c2g"
  } ],
  "tags" : [ {
    "key" : "test",
    "value" : "ai"
  } ]
}
```
**状态码：400**
请求参数错误。
```
{
  "error_code" : "AIDataLake.00010151",
  "error_msg" : "Parameter value is invalid.",
  "solution_msg" : "Please input valid parameter value."
}
```
**状态码：401**
未授权。
```
{
  "error_code" : "APIGW.0301",
  "error_msg" : "Incorrect IAM authentication information: decrypt token fail.",
  "solution_msg" : "Check whether the IAM authentication information is correct."
}
```
**状态码：403**
禁止访问。
```
{
  "error_code" : "AIDataLake.00010150",
  "error_msg" : "The operation is not allowed.",
  "solution_msg" : "Check whether the operation is allowed in the current status."
}
```
**状态码：404**
资源未找到。
```
{
  "error_code" : "AIDataLake.00010009",
  "error_msg" : "No resources found.",
  "solution_msg" : "Enter correct resource and project IDs."
}
```
**状态码：500**
内部服务器错误。
```
{
  "error_code" : "AIDataLake.00011001",
  "error_msg" : "Internal error.",
  "solution_msg" : "Contact technical support or try again later."
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 请求下发成功。  |
| 400 | 请求参数错误。  |
| 401 | 未授权。     |
| 403 | 禁止访问。    |
| 404 | 资源未找到。   |
| 500 | 内部服务器错误。 |
   
