
# 更新密钥
#### 功能介绍
更新密钥
#### URI
PUT /v3/{project_id}/ai-mgr/secrets/{secret_id}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                       |
|:---|:---|:---|:---|
| secret_id  | 是    | String | 密钥ID，从专业版HiLens控制台密钥管理[获取密钥列表](https://support.huaweicloud.com/api-hilens/getSecretsListUsingGET.html)获取 |
| project_id | 是    | String | 项目ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-hilens/hilens_07_0020.html)                     |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                 |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 租户Token。获取方法请参见[获取Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html) |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                                                      | 描述                 |
|:---|:---|:---|:---|
| workspace_id | 否    | String                                                                                                    | 工作空间ID。默认为default。 |
| secret       | 是    | [SecretObjectInSecretRequestBody] object | 密钥信息               |
   
 表4SecretObjectInSecretRequestBody 
| 参数          | 是否必选 | 参数类型                                                              | 描述                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| name        | 是    | String                                                            | 密钥名称，以小写英文字母开头，4-64位，可以使用小写英文、数字、中划线（-），不能以中划线结尾。                                                                                                                                                         |
| description | 否    | String                                                            | 密钥描述,最大长度255，不允许\^ \~ # $ % \& \* \< \> ( ) \[ \] { } ' " \\。                                                                                                                                             |
| secrets     | 是    | Array of [Secret] objects | secrets是一个列表，由多个字典组成，数量上限为100个。字典的key和value均为字符串。key由大小写字母，中划线（*-* ）开头，由数字、大小写字母、点号（*.* ）、中划线（*-* ）、下划线（*_*）组成，最小长度为1，最大长度63个字符, value不能含有字符不允许\^ \~ # $ \|% \& \< \> ( ) \[ \] { } '' " \\，最大长度20480个字符。 |
| tags        | 是    | Array of [Tag] objects       | tags是一个列表，由多个字典组成，数量上限为20个。字典的key和value均为字符串。key由数字、大小写字母、点号（*.* ）、中划线（*-* ）、下划线（*_* ）组成，最小长度为1，最大长度36个字符, value由数字、大小写字母、点号（*.* ）、中划线（*-* ）、下划线（*_* ）, 斜线（*\\*）组成，最小长度为1，最大长度43个字符。                      |
   
 表5Secret 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                   |
|:---|:---|:---|:---|
| key   | 是    | String | 密钥key，最大长度63个字符。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_"                                                      |
| value | 是    | String | 密钥value，每个值最大长度10000个字符，删除时如果value有值按照key/value删除，如果value没值，则按照key删除。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_" |
   
 表6Tag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                |
|:---|:---|:---|:---|
| key   | 是    | String | 标签key，最大长度36个字符。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_"                                                   |
| value | 是    | String | 标签value，每个值最大长度43个字符，删除时如果value有值按照key/value删除，如果value没值，则按照key删除。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_" |
   
#### 响应参数
**状态码： 200**
表7响应Body参数 
| 参数           | 参数类型                                                     | 描述     |
|:---|:---|:---|
| workspace_id | String                                                   | 工作空间ID |
| secret       | [secret] object | 密钥     |
   
 表8secret 
| 参数          | 参数类型                                                               | 描述     |
|:---|:---|:---|
| id          | String                                                             | 密钥ID   |
| name        | String                                                             | 密钥名称   |
| description | String                                                             | 密钥描述   |
| project_id  | String                                                             | 项目ID   |
| created_at  | String                                                             | 密钥创建时间 |
| updated_at  | String                                                             | 密钥更新时间 |
| secrets     | Array of [Secret] objects | 密钥列表   |
| tags        | Array of [Tag] objects       | 标签列表   |
   
 表9Secret 
| 参数    | 参数类型   | 描述                                                                                                   |
|:---|:---|:---|
| key   | String | 密钥key，最大长度63个字符。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_"                                                      |
| value | String | 密钥value，每个值最大长度10000个字符，删除时如果value有值按照key/value删除，如果value没值，则按照key删除。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_" |
   
 表10Tag 
| 参数    | 参数类型   | 描述                                                                                                |
|:---|:---|:---|
| key   | String | 标签key，最大长度36个字符。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_"                                                   |
| value | String | 标签value，每个值最大长度43个字符，删除时如果value有值按照key/value删除，如果value没值，则按照key删除。不能为空，只能包含大小写字母，数字，中划线"-"，下划线"_" |
   
#### 请求示例
更新某个密钥
```
PUT https://{endpoint}/v3/{project_id}/ai-mgr/secrets/{secret_id}
{
  "workspace_id" : "string",
  "secret" : {
    "name" : "string",
    "description" : "string",
    "secrets" : [ {
      "key" : "string",
      "value" : "string"
    } ],
    "tags" : [ {
      "key" : "string",
      "value" : "string"
    } ]
  }
}
```
#### 响应示例
**状态码： 200**
请求成功
```
{
  "workspace_id" : "string",
  "secret" : {
    "id" : "string",
    "name" : "string",
    "description" : "string",
    "project_id" : "string",
    "created_at" : "string",
    "updated_at" : "string",
    "secrets" : [ {
      "key" : "string",
      "value" : "string"
    } ],
    "tags" : [ {
      "key" : "string",
      "value" : "string"
    } ]
  }
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 请求成功     |
| 401 | 认证不通过    |
| 403 | 拒绝执行请求   |
| 404 | 请求的资源不存在 |
| 500 | 服务器内部错误  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-hilens/ErrorCode.html)。
