
# 更新裸金属服务器元数据 - UpdateBaremetalServerMetadata
#### 功能介绍
更新裸金属服务器元数据。
- 如果元数据中没有待更新字段，则自动添加该字段。
- 如果元数据中已存在待更新字段，则直接更新字段值。
- 如果元数据中的字段不再请求参数中，则保持不变。
 
#### 约束
裸金属服务器状态（裸金属服务器的OS-EXT-STS:vm_state属性）必须是active、stopped、paused。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/BMS/doc?api=UpdateBaremetalServerMetadata)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-bms/bms_api_0900.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                           | 别名 | 依赖的授权项            |
  |:---|:---|:---|:---|:---|:---|
  | bms:servers:updateMetadata | write | instance\*  | - g:EnterpriseProjectId  - g:ResourceTag/\<tag-key\>  - bms:MetadataAgencyName   | -  | iam:agencies:pass |
     
  
 
#### URI
POST /v1/{project_id}/baremetalservers/{server_id}/metadata
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                            |
|:---|:---|:---|
| project_id | 是    | 项目ID。 获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-bms/bms_api_appendix_03.html)。                            |
| server_id  | 是    | 裸金属服务器ID。 可以从裸金属服务器控制台查询，或者通过调用[查询裸金属服务器列表（废弃）](https://support.huaweicloud.com/api-bms/bms_api_0709.html)获取。 |
   
#### 请求参数
表2请求参数说明 
| 参数       | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| metadata | 是    | Object | 用户自定义metadata键值对。 结构体允许为空，取值为空时不更新数据。 键。 最大长度255个Unicode字符，不能为空。可以为大写字母（A-Z）、小写字母（a-z）、数字（0-9）、中划线（-）、下划线（_）、冒号（:）和小数点（.）。 值。 最大长度为255个Unicode字符。 |
   
#### 请求示例
更新ID为cf2a8b97-b5c6-47ef-9714-eb27adf26e5b的裸金属服务器的元数据，自定义metadata键值对为key和value。
```
POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/metadata
```
```
{
    "metadata": {
        "key": "value"
    }
}
```
#### 响应参数
表3参数说明 
| 参数       | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| metadata | 是    | Object | 用户自定义metadata键值对。 结构体允许为空，取值为空时不更新数据。 键。 最大长度255个Unicode字符，不能为空。可以为大写字母（A-Z）、小写字母（a-z）、数字（0-9）、中划线（-）、下划线（_）、冒号（:）和小数点（.）。 值。 最大长度为255个Unicode字符。 |
   
#### 响应示例
```
{
    "metadata":{
        "key": "value"
    }
}
```
#### 返回值
正常返回值：
| 返回值 | 说明           |
|:---|:---|
| 200 | 服务器已成功处理了请求。 |
   
其他返回值请参考[状态码](https://support.huaweicloud.com/api-bms/bms_api_0801.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-bms/bms_api_0802.html)。
