
# 修改VPN服务端 - UpdateVPNServer
#### 功能介绍
根据VPN服务端ID，修改指定的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:p2cVpnGateway:updateServer | write | p2cVpnGateway | g:ResourceTag/\<tag-key\> | -  | - scm:cert:export  - scm:cert:list  - iam:identityProviders:getIdentityProvider  - iam:identityProviders:listProtocols  - iam:identityProviders:listIdentityProviders   |
   
#### URI
PUT /v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}
表1参数说明 
| 名称            | 类型     | 是否必选 | 描述                                                                                  |
|:---|:---|:---|:---|
| project_id    | String | 是    | 项目ID，可以通过[获取项目ID](https://support.huaweicloud.com/api-vpn/vpn_api_0051.html)获取项目ID。 |
| vpn_server_id | String | 是    | VPN服务端ID。                                                                           |
   
#### 请求消息
- 请求参数
  表2请求参数 
  | 名称         | 类型                                                                              | 必选 | 描述            |
  |:---|:---|:---|:---|
  | vpn_server | [UpdateServerRequest] object | 是  | 更新VPN服务端请求对象。 |
     
   表3UpdateServerRequest 
  | 名称                 | 类型                                                                              | 必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  |:---|:---|:---|:---|
  | client_cidr        | String                                                                          | 否  | - 功能说明：客户端网段。客户端建立连接时，会从该网段分配一个虚拟IP地址。  - 格式："点分十进制/掩码"格式，例如192.168.1.0/24。  - 约束： - 客户端网段不能和网关所在VPC默认路由表中的路由存在冲突。  - 客户端网段不能和本服务端中本端网段列表的网段存在冲突。  - 客户端网段地址池的IP地址数量需大于网关最大连接数的四倍。  - 客户端网段不能使用以下特殊网段：0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/4, 240.0.0.0/4, 169.254.0.0/16。     |
  | local_subnets      | Array of strings                                                                | 否  | - 功能说明：本端网段列表。本端网段是需要访问的云上的目的网段，该网段需要通过VPN与用户侧网络进行互通。  - 格式："点分十进制/掩码"格式，例如10.10.1.0/24。  - 约束： - 至少有一个本端网段，默认最多支持填写20个网段。  - 本端网段不能使用以下特殊网段：0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/4, 240.0.0.0/4。                                                                                                                                                                                                                                                            |
  | server_certificate | [server_certificate] object | 否  | 服务端证书，推荐使用强密码算法的证书，如RSA3072/4096。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | ssl_options        | [ssl_options] object        | 否  | SSL隧道协议的可选配置项。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | client_auth_type   | String                                                                          | 否  | - 功能说明：客户端认证类型。  - 取值范围： CERT：证书认证。 LOCAL_PASSWORD：口令认证（本地）。 IAM：IAM认证。 FEDERATED：联邦认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | dns_servers        | Array of strings                                                                | 否  | - 功能说明：DNS服务端列表，最多两个DNS  - 格式："点分十进制"格式，例如172.16.1.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | idp_name           | String                                                                          | 否  | - 功能说明：身份提供商名称。客户端认证类型为联邦认证时，必填。  - 约束： - 客户端认证类型为联邦认证时，必填。 客户端认证类型不为联邦认证时，不能填入。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     
   表4server_certificate 
  | 名称 | 类型     | 必选 | 描述                                   |
  |:---|:---|:---|:---|
  | id | String | 是  | 功能说明：证书ID，为CCM(云证书与管理服务)中已上传证书的证书ID。 |
     
   表5ssl_options 
  | 名称                   | 类型      | 必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  |:---|:---|:---|:---|
  | protocol             | String  | 否  | - 功能说明：协议。  - 取值范围：TCP  - 默认值：TCP                                                                                                                                                                                                                                                                                   |
  | port                 | Integer | 否  | - 功能说明：端口号。  - 取值范围： - 443  - 1194    - 默认值：443。                             |
  | encryption_algorithm | String  | 否  | - 功能说明：加密算法。  - 取值范围： - AES-128-GCM  - AES-256-GCM    - 默认值：AES-128-GCM。   |
     
  
- 请求样例
  ```
  PUT https://{Endpoint}/v5/{project_id}/p2c-vpn-gateways/vpn-servers/{vpn_server_id}
  {
    "vpn_server": {
      "client_cidr": "192.168.10.0/24",
      "local_subnets": [
        "172.16.0.0/24",
        "172.16.1.0/24"
      ],
      "server_certificate": {
        "id": "scs1717051012106"
      },
      "ssl_options": {
        "protocol": "TCP",
        "port": 443,
        "encryption_algorithm": "AES-128-GCM"
      },
      "client_auth_type": "CERT"
    }
  }
  ```
  
 
#### 响应消息
- 响应参数 返回状态码为 200: successful operation。
  表6响应Body参数列表 
  | 名称         | 类型     | 描述    |
  |:---|:---|:---|
  | request_id | string | 请求id。 |
     
  
- 响应示例
  ```
  {
    "request_id": "c63d850876bcddbdfbd11776cce57914"
  }
  ```
  
 
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-vpn/vpn_api_0052.html)。
