
# 修改角色信息 - UpdateRole
#### 功能介绍
修改角色信息。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/LakeFormation/doc?api=UpdateRole)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-lakeformation/abcd.html)。
#### URI
PUT /v1/{project_id}/instances/{instance_id}/roles/{role_name}
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释:** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-lakeformation/lakeformation_04_0026.html)。 **约束限制:** 长度为1\~64个字符 **取值范围:** 长度为1\~64个字符 **默认取值:** 不涉及 |
| instance_id | 是    | String | **参数解释:** LakeFormation实例ID。创建实例时自动生成。例如：2180518f-42b8-4947-b20b-adfc53981a25。 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                 |
| role_name   | 是    | String | **参数解释:** 角色名称。 **约束限制:** 只能包含字母、数字、下划线，且长度为1到49个字符。 **取值范围:** 长度为1\~49个字符 **默认取值:** 不涉及                                                                                 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | Array of strings | **参数解释:** 租户token。 **约束限制:** 数组元素个数为1\~100 **取值范围:** 数组元素个数为1\~100 **默认取值:** 不涉及 |
   
表3请求Body参数 
| 参数               | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| description      | 否    | String               | **参数解释:** 描述信息。最大长度为4000个字符 **约束限制:** 长度为0\~4000个字符 **取值范围:** 不涉及 **默认取值:** 不涉及                    |
| role_name        | 是    | String               | **参数解释:** 角色名称。只能包含字母、数字、下划线，且长度为1到49个字符 **约束限制:** 长度为1\~49个字符 **取值范围:** 长度为1\~49个字符 **默认取值:** 不涉及 |
| parameters       | 否    | Map\<String,String\> | **参数解释:** 参数 **约束限制:** 长度为0\~256个字符 **取值范围:** 长度为0\~256个字符 **默认取值:** 不涉及                           |
| external_role_id | 否    | String               | **参数解释:** 用户端角色id，创建时指定，不可修改 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                             |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数               | 参数类型                 | 描述                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| role_name        | String               | **参数解释:** 角色名称。只能包含字母、数字、下划线，且长度为1到49个字符                                                                                                                                                                                                                           |
| description      | String               | **参数解释:** 描述信息。最大长度为4000个字符。当无描述信息时，则description值为null，当值为null时，响应Body无该参数                                                                                                                                                                                         |
| principal_source | String               | **参数解释:** 主体来源： IAM-云用户 SAML-联邦 LDAP-LDAP用户 LOCAL-本地用户 AGENTTENANT-委托 OTHER-其它 |
| parameters       | Map\<String,String\> | **参数解释:** 参数                                                                                                                                                                                                                                                       |
| external_role_id | String               | **参数解释:** 用户端角色id，创建时指定，不可修改                                                                                                                                                                                                                                       |
| create_time      | String               | **参数解释:** 创建时间                                                                                                                                                                                                                                                     |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                             |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：401**
表6响应Body参数 
| 参数           | 参数类型   | 描述                                             |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：403**
表7响应Body参数 
| 参数         | 参数类型                                        | 描述                                           |
|:---|:---|:---|
| error      | [Error] object | **参数解释:** 错误信息 |
| error_code | String                                      | **参数解释:** 错误码  |
| error_msg  | String                                      | **参数解释:** 错误描述 |
| title      | String                                      | **参数解释:** 标题   |
   
 表8Error 
| 参数         | 参数类型   | 描述                                           |
|:---|:---|:---|
| error_code | String | **参数解释:** 错误码  |
| error_msg  | String | **参数解释:** 错误描述 |
| title      | String | **参数解释:** 标题   |
| message    | String | **参数解释:** 错误信息 |
| code       | String | **参数解释:** 状态码  |
   
**状态码：404**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                             |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：408**
表10响应Body参数 
| 参数           | 参数类型   | 描述                                             |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：500**
表11响应Body参数 
| 参数           | 参数类型   | 描述                                             |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
#### 请求示例
```
PUT https://{endpoint}/v1/{project_id}/instances/{instance_id}/roles/{role_name}
{
  "description" : "test description",
  "role_name" : "admin"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "role_name" : "admin",
  "description" : "string",
  "principal_source" : "LOCAL"
}
```
**状态码：400**
Bad Request
```
{
  "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",
    "error_code" : null,
    "error_msg" : null,
    "title" : "Forbidden"
  },
  "error_code" : "403",
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}
```
**状态码：404**
Not Found
```
{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}
```
**状态码：408**
Request Timeout
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
Internal Server Error
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 404 | Not Found             |
| 408 | Request Timeout       |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-lakeformation/ErrorCode.html)。
