
# 创建服务委托 - CreateV2Agency
#### 功能介绍
创建服务委托，将指定权限策略授权给AI DataLake服务。用户可通过传入支持的委托权限策略，选择性地授予相应权限。此接口为同步接口，无配套使用接口和特殊场景。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0003.html)。
#### URI
POST /v2/agencies
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**：用户Token。 **约束限制**：不涉及。 **取值范围**：长度不超过65534个字符。 **默认取值**：不涉及。 |
   
表2请求Body参数 
| 参数           | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| policy_names | 否    | Array of strings | **参数解释**：权限策略列表，指定需要授权给AI DataLake服务的权限策略。 **约束限制**：创建委托时，必须包含 AI_DATALAKE_COMMON_POLICY、AI_DATALAKE_SELF_POLICY、AI_DATALAKE_LAKEFORMATION_POLICY、AI_DATALAKE_LTS_POLICY 四个必需策略。 **取值范围**： - AI_DATALAKE_COMMON_POLICY：基础服务权限策略。   - AI_DATALAKE_SELF_POLICY：AIDataLake服务自身访问权限策略，用于服务内部资源访问。   - AI_DATALAKE_LAKEFORMATION_POLICY：LakeFormation功能相关权限策略。   - AI_DATALAKE_LTS_POLICY：日志功能相关权限策略。   - AI_DATALAKE_SMN_POLICY：消息通知功能相关权限策略，用来将系统通知消息转发到SMN。   - AI_DATALAKE_AOM_POLICY：AOM功能相关权限策略。   - AI_DATALAKE_SWR_POLICY：镜像包注册功能相关权限策略。   - AI_DATALAKE_VPCEP_POLICY：网络打通功能相关权限策略。   - AI_DATALAKE_DNS_POLICY：DNS相关权限策略。   - AI_DATALAKE_OBS_POLICY：OBS相关权限策略。   - AI_DATALAKE_VPC_POLICY：VPC相关权限策略。   - AI_DATALAKE_DCS_POLICY：DCS相关权限策略。   - AI_DATALAKE_DEW_POLICY：DEW相关权限策略。    **默认取值**：不涉及。 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数          | 参数类型   | 描述                                                                     |
|:---|:---|:---|
| agency_name | String | **参数解释**：委托名称。 **取值范围**：长度1\~128个字符。 |
   
**状态码：400**
表4响应Body参数 
| 参数           | 参数类型   | 描述                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：401**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。    |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~512个字符。  |
| solution_msg | String | **参数解释**：解决方案。 **取值范围**：长度为0\~4096个字符。 |
   
**状态码：403**
表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个字符。 |
   
#### 请求示例
用户为AI DataLake服务创建委托。并授权全部必选策略（COMMON/SELF/LAKEFORMATION/LTS）和AI_DATALAKE_OBS_POLICY可选策略。
```
POST /v2/agencies
{
  "policy_names" : [ "AI_DATALAKE_COMMON_POLICY", "AI_DATALAKE_SELF_POLICY", "AI_DATALAKE_LTS_POLICY", "AI_DATALAKE_OBS_POLICY", "AI_DATALAKE_LAKEFORMATION_POLICY" ]
}
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "agency_name" : "ai_datalake_admin_trust"
}
```
**状态码：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."
}
```
**状态码：408**
请求超时。
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
内部服务器错误。
```
{
  "error_code" : "AIDataLake.00011001",
  "error_msg" : "Internal error.",
  "solution_msg" : "Contact technical support or try again later."
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 200 | 请求成功。    |
| 400 | 请求参数错误。  |
| 401 | 未授权。     |
| 403 | 禁止访问。    |
| 404 | 资源未找到。   |
| 408 | 请求超时。    |
| 500 | 内部服务器错误。 |
   
