
# 创建用户 - CreateUser
#### 功能介绍
创建用户。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0100.html)。
#### URI
POST /v1/{project_id}/users
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，您可以从[获取项目ID](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0033.html)中获取。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头，从而通过身份认证，获得操作API的权限，[获取Token](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0011.html)接口响应消息头中X-Subject-Token的值即为Token。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32768\]个字符。 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数       | 是否必选 | 参数类型                                                         | 描述                                                                                                                                                        |
|:---|:---|:---|:---|
| name     | 是    | String                                                       | **参数解释**： 用户名，长度1\~60之间，首位不能为数字，特殊字符只能包含下划线"_"、中划线"-"和空格。 **约束限制**： 不涉及 **取值范围**： 支持字母、数字、空格、下划线、中划线，长度为\[1-60\]个字符。 **默认取值**： 不涉及                        |
| password | 是    | String                                                       | **参数解释**： 用户密码，在8-32位之间支持用户自定义密码长度，至少包含以下四种字符中的两种： 大写字母、小写字母、数字和特殊字符。 **约束限制**： 不涉及 **取值范围**： 必须包含至少两类字符（大写字母、小写字母、数字、特殊字符），长度为\[8-32\]个字符。 **默认取值**： 不涉及 |
| role     | 是    | String                                                       | **参数解释**： 角色类型：管理员（ADMIN）、操作者（OPERATOR）。 **约束限制**： 不涉及 **取值范围**： - ADMIN：管理员 - OPERATOR：操作者 **默认取值**： 不涉及                                                 |
| email    | 否    | String                                                       | **参数解释**： 用户邮箱，需符合邮箱格式。 **约束限制**： 不涉及 **取值范围**： 邮箱格式（字母、数字、下划线、点、加号、@、点、域名），长度为\[0-128\]个字符。 **默认取值**： 不涉及                                                |
| phone    | 否    | String                                                       | **参数解释**： 用户手机号，纯数字，长度大于等于5位，小于等于32位。必须与国家码同时存在。 **约束限制**： 必须与areacode同时存在 **取值范围**： 仅支持纯数字，长度为\[5-32\]个字符。 **默认取值**： 不涉及                                 |
| areacode | 否    | String                                                       | **参数解释**： 国家码。中国大陆为"0086"。 **约束限制**： 必须与phone同时存在 **取值范围**： 仅支持纯数字，长度为\[1-10\]个字符。 **默认取值**： 不涉及                                                          |
| settings | 否    | [UserSettingDto] object | **参数解释**： 用户设置。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                                 |
   
 表4UserSettingDto 
| 参数                | 是否必选 | 参数类型    | 描述                                                                     |
|:---|:---|:---|:---|
| job_quota         | 是    | Integer | **参数解释**： 允许同时运行的作业数。 **约束限制**： 不涉及 **取值范围**： 1-100 **默认取值**： 不涉及      |
| job_timeout       | 是    | Integer | **参数解释**： 作业执行超时时长，单位天。 **约束限制**： 不涉及 **取值范围**： 1-60 **默认取值**： 不涉及     |
| cpu_quota         | 是    | Integer | **参数解释**： 作业的CPU资源配额，单位核。 **约束限制**： 不涉及 **取值范围**： 1-1024 **默认取值**： 不涉及 |
| mem_quota         | 是    | Integer | **参数解释**： 作业的内存资源配额，单位GB。 **约束限制**： 不涉及 **取值范围**： 1-1024 **默认取值**： 不涉及 |
| projects_per_user | 否    | Integer | **参数解释**： 用户可创建项目数配额。 **约束限制**： 不涉及 **取值范围**： 0-20 **默认取值**： 2         |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数 | 参数类型   | 描述                                                        |
|:---|:---|:---|
| id | String | **参数解释**： 用户ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
#### 请求示例
创建用户，用户名为example_user，密码为example，角色为ADMIN，邮箱为example@XXXX.com，电话为12345678910，作业配额为10，作业超时时长为1天，CPU的核数配额为50，内存的配额为128GB，用户可创建的项目数为2。
```
https://{endpoint}/v1/{project_id}/users
{
  "name" : "example_user",
  "password" : "example",
  "role" : "ADMIN",
  "email" : "example@XXXX.com",
  "phone" : "12345678910",
  "areacode" : "0086",
  "settings" : {
    "job_quota" : 10,
    "cpu_quota" : 50,
    "mem_quota" : 128,
    "job_timeout" : 1,
    "projects_per_user" : 2
  }
}
```
#### 响应示例
**状态码：201**
CREATED
```
{
  "id" : "7116d09f88fa41908676fdd4b039..."
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 201 | CREATED |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ai4sservice/ErrorCode.html)。
