
# 批量创建VPN用户 - CreateVPNUsers
#### 功能介绍
在指定VPN服务端下，批量创建VPN用户。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-vpn/vpn_api_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-vpn/vpn_api_0044.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
| 授权项                        | 访问级别  | 资源类型（\*为必须）   | 条件键                       | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| vpn:p2cVpnUser:batchCreate | write | p2cVpnUser    | -                         | -  | -      |
| vpn:p2cVpnUser:batchCreate | write | p2cVpnGateway | g:ResourceTag/\<tag-key\> | -  | -      |
   
#### URI
POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/batch-create
表1参数说明 
| 名称            | 类型     | 是否必选 | 描述                                                                                  |
|:---|:---|:---|:---|
| project_id    | String | 是    | 项目ID，可以通过[获取项目ID](https://support.huaweicloud.com/api-vpn/vpn_api_0051.html)获取项目ID。 |
| vpn_server_id | String | 是    | VPN服务端ID。                                                                           |
   
表2请求Header参数列表 
| 名称             | 类型     | 是否必选 | 描述                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Client-Token | String | 否    | - 功能说明：幂等性标识。  - 格式：36位UUID。   |
   
#### 请求消息
- 请求参数
  表3请求参数 
  | 名称    | 类型                                                                                                                                                                            | 是否必选 | 描述           |
  |:---|:---|:---|:---|
  | users | Array of [CreateVpnUser] objects | 是    | 创建VPN用户对象列表。 |
     
   表4CreateVpnUser 
  | 名称              | 类型     | 必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|
  | name            | String | 是  | - 功能说明：用户名。  - 格式：4\~32个字符，由英文字母、数字、点、下划线、中划线组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | password        | String | 是  | - 功能说明：用户密码。  - 约束： - 长度范围是8到32个字符。  - 至少包含以下字符中的2种：大写字母、小写字母、数字、特殊字符\`\~!@#$%\^\&\*()-_=+\\\|\[{}\];:'",\<.\>/? 和空格。  - 不能与用户名或倒序的用户名相同。                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | description     | String | 否  | - 功能说明：用户描述。  - 格式：0-64个字符，由中文、英文、数字和下划线组成。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | user_group_name | String | 否  | - 功能说明：所属用户组名。  - 约束： - 1到64个字符，可使用中文、英文字母、数字、下划线、中划线。  - 名称必须是已有用户组名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | static_ip       | String | 否  | - 功能说明：客户端的静态IP地址。  - 格式：点分十进制IPv4地址（如192.168.0.5）或者"disable"。  - 默认值：disable。表示随机分配客户端IP地址  - 约束： - 必须在客户端网段范围内  - 不能与客户端网段的网关IP相同。例如客户端网段为192.168.0.0/24，则不能指定客户端地址为192.168.0.1  - 必须填写30位掩码网段的第一个主机地址。例如对于192.168.10.4/30这个30位掩码网段中的四个IP地址，只能指定客户端地址为192.168.10.5  - 不能与其他用户指定的IP地址相同     |
     
  - 请求样例
    ```
    POST /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}/users/batch-create 
    {
      "users": [
    {
      "name": "user1",
      "password": "******",
      "description": "用户描述1",
      "user_group_name": "default"
    },
    {
      "name": "user2",
      "password": "******",
      "description": "用户描述2",
      "user_group_name": "用户组1"
    }
      ]
    }
    ```
    
   
 
#### 响应消息
- 响应参数 返回状态码为 201: successful operation。
  表5响应Body参数列表 
  | 名称            | 类型                                                                                                                                                                              | 描述                                                             |
  |:---|:---|:---|
  | invalid_users | Arrays of [InvalidVpnUser] Object | 无效VPN用户对象列表。如果invalid_users列表不为空，说明本次批量创建用户均失败，请传入正确的请求参数后再重试。 |
  | request_id    | String                                                                                                                                                                          | 请求ID。                                                          |
     
   表6InvalidVpnUser 
  | 名称              | 类型     | 描述          |
  |:---|:---|:---|
  | name            | String | 用户名称。       |
  | description     | String | 用户描述。       |
  | user_group_name | String | 所属用户组名称。    |
  | static_ip       | String | 客户端的静态IP地址。 |
  | cause           | String | 原因。         |
     
  - 响应样例
    批量创建成功响应样例：
    ```
    {
      "invalid_users": [],
      "request_id": "b19ba5a0be8f7b7f664b14596f8f35db"
    }
    ```
    存在非法用户请求时的响应样例：
    ```
    {
        "invalid_users": [
            {
                "name": "USER1",
                "description": "用户描述",
                "user_group_name": "default",
                "cause": "Duplicate user name."
            },
            {
                "name": "USER2",
                "description": "用户描述",
                "user_group_name": "default",
                "cause": "Password length invalid."
            }
        ],
        "request_id": "49b52ed16992baa4650d093b512a59b6"
    }
    ```
    
   
 
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-vpn/vpn_api_0052.html)。
