
# 创建模块 - CreateIpdModule
#### 功能介绍
在项目下创建模块，支持创建子模块。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-projectman/projectman_api_1002.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-projectman/projectman_03_Permission.html)。
| 授权项                              | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartsreq:configuration:create | Write | -           | - codeartsreq:Model   - codeartsreq:ProjectId    | -  | -      |
   
#### URI
POST /v1/ipdprojectservice/projects/{project_id}/modules
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目32位ID，项目唯一标识。通过[查询IPD项目列表](https://support.huaweicloud.com/api-projectman/ShowIpdProjectList.html)获取，响应消息体中的**id**字段的值就是项目ID。 **约束限制**： 不涉及。 **取值范围**： 32个字符，由英文字母和数字组成。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| description   | 否    | String | **参数解释**： 模块描述信息。 **约束限制**： 不涉及。 **取值范围**： 最大255个字符。 **默认取值**： 不涉及                   |
| display_value | 是    | String | **参数解释**： 模块名称。 **约束限制**： 不涉及。 **取值范围**： 2\~30个字符。 **默认取值**： 不涉及                     |
| parent_id     | 否    | String | **参数解释**： 父模块ID，创建子模块时指定父模块。 **约束限制**： 不涉及。 **取值范围**： 18\~19个字符的数字字符串。 **默认取值**： 不涉及 |
| assignee      | 否    | String | **参数解释**： 模块责任人ID。不填则默认为项目管理员。 **约束限制**： 不涉及。 **取值范围**： 32个字符。 **默认取值**： 不涉及         |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数      | 参数类型                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| status  | String                                                                         | **参数解释**： 返回状态。 **取值范围**： - success：创建模块成功   - error：创建模块失败    |
| message | String                                                                         | **参数解释**： 返回消息。 **取值范围**： 不涉及。                                                                                                                                                                                                                                                                                                                          |
| result  | [CreateModuleResultVO] object | **参数解释**： 创建模块返回结果。                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表4CreateModuleResultVO 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| id         | String | **参数解释**： 新创建的模块ID。可以通过[查询模块树形列表](https://support.huaweicloud.com/api-projectman/ShowIpdModules.html)获取，响应消息体中的**id**字段的值就是模块ID。 **取值范围**： 18\~19个字符的数字字符串。 |
| created_by | String | **参数解释**： 模块创建人ID。 **取值范围**： 32个字符。                                                                                                                         |
| value      | String | **参数解释**： 模块唯一标识，自定义模块的value和id相同。 **取值范围**： 最大32个字符。                                                                                                       |
   
**状态码：400**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                       |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。                   |
| error_msg  | String | **参数解释**： 错误描述，对error_code的补充解释。 **取值范围**： 不涉及。 |
   
#### 请求示例
创建子模块
```
POST https://{endpoint}/v1/ipdprojectservice/projects/b54914d464d1498a97d683ef198ec448/modules
{
  "description" : "11111222",
  "display_value" : "API-M2-P-01",
  "parent_id" : 1030206424665337900,
  "assignee" : "a360371833bf4c558f796fd707b44daf"
}
```
#### 响应示例
**状态码：200**
创建模块成功
```
{
  "status" : "success",
  "message" : null,
  "result" : {
    "id" : "1030874468408406016",
    "created_by" : "a360371833bf4c558f796fd707b44daf",
    "value" : "1030874468408406016"
  }
}
```
**状态码：400**
请求失败的响应。例如无操作权限、项目不存在。
```
{
  "error_code" : "PM.02174103",
  "error_msg" : "无操作权限"
}
```
#### 状态码
| 状态码 | 描述                     |
|:---|:---|
| 200 | 创建模块成功                 |
| 400 | 请求失败的响应。例如无操作权限、项目不存在。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-projectman/ErrorCode.html)。
