
# 更新虚拟网关信息 - UpdateVirtualGateway
#### 功能介绍
更新虚拟网关的信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dc/zh-cn_topic_0055025302.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dc/dc_08_3000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项              | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | dcaas:vgw:update | Write | vgw \*      | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
PUT /v3/{project_id}/dcaas/virtual-gateways/{virtual_gateway_id}
表1路径参数 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                                                                                                                      |
|:---|:---|:---|:---|
| project_id         | 是    | String | 租户项目ID 最小长度：**0** 最大长度：**36** |
| virtual_gateway_id | 是    | String | 虚拟网关ID                                                                                                                                                                  |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 获取Token，请参考《统一身份认证服务API参考》的"获取用户Token"章节。请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 最小长度：**0** 最大长度：**10240** |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                                            | 描述       |
|:---|:---|:---|:---|
| virtual_gateway | 否    | [UpdateVirtualGateway] object | 更新虚拟网关参数 |
   
 表4UpdateVirtualGateway 
| 参数                  | 是否必选 | 参数类型             | 描述                                                                                                                                                                          |
|:---|:---|:---|:---|
| name                | 否    | String           | 更新虚拟网关的名称 最小长度：**0** 最大长度：**64**  |
| description         | 否    | String           | 虚拟网关的描述信息 最小长度：**0** 最大长度：**128** |
| local_ep_group      | 否    | Array of strings | 虚拟网关到访问云上服务IPv4子网列表，通常是vpc的cidrs。 数组长度：**1 - 200**                                                     |
| local_ep_group_ipv6 | 否    | Array of strings | 虚拟网关到访问云上服务IPv6子网列表，通常是vpc的cidrs。 数组长度：**1 - 50**                                                      |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数              | 参数类型                                                                                                 | 描述     |
|:---|:---|:---|
| virtual_gateway | [VirtualGateway] object | 虚拟网关对象 |
| request_id      | String                                                                                               | 操作请求ID |
   
 表6VirtualGateway 
| 参数                    | 参数类型                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| id                    | String                                                                                   | 虚拟网关的ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| vpc_id                | String                                                                                   | 虚拟网关接入的VPC的ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| tenant_id             | String                                                                                   | 实例所属项目ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| name                  | String                                                                                   | 虚拟网关的名称                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| description           | String                                                                                   | 虚拟网关的描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| type                  | String                                                                                   | 虚拟网关类型：default                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| local_ep_group        | Array of strings                                                                         | 虚拟网关到访问云上服务IPv4子网列表，通常是vpc的cidrs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| local_ep_group_ipv6   | Array of strings                                                                         | 预留字段用于虚拟网关到访问云上服务IPv6子网列表，通常是vpc的cidrs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| admin_state_up        | Boolean                                                                                  | 管理状态：true或false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| status                | String                                                                                   | 操作状态。取值范围： - ACTIVE：正常   - DOWN：不可用   - BUILD：开通中   - ERROR：异常   - PENDING_CREATE：创建中   - PENDING_UPDATE：修改中   - PENDING_DELETE：删除中    |
| bgp_asn               | Integer                                                                                  | 虚拟网关本地的BGP自治域号(asn)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| enterprise_project_id | String                                                                                   | **参数解释：** 实例所属企业项目ID。 **取值范围：** 最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"，"0"表示默认企业项目。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| device_id             | String                                                                                   | 归属的设备ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| redundant_device_id   | String                                                                                   | 归属的冗余设备ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| public_border_group   | String                                                                                   | 归属的可用区对应的边界组(public border group)，标识是否homezone局点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| tags                  | Array of [Tag] objects | 标签信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表7Tag 
| 参数    | 参数类型   | 描述                                                         |
|:---|:---|:---|
| key   | String | 标签键，取值可以包含任意语种字母、数字、空格，以及_.:=+-@特殊字符，但首尾不能含有空格，不能以_sys_开头。 |
| value | String | 标签值，格式为取值可以包含任意语种字母、数字、空格，以及_.:/=+-@特殊字符。                  |
   
#### 请求示例
更新虚拟网关名称和描述，将虚拟网关访问云上服务IPv4子网列表修改为192.168.3.0/24。
```
PUT https://{dc_endpoint}/v3/0605768a3300d5762f82c01180692873/dcaas/virtual-gateways/20082c1b-3c99-48d8-8e8c-116af5d7e9f0
{
  "virtual_gateway" : {
    "name" : "update-vgw-c7b22",
    "description" : "",
    "local_ep_group" : [ "192.168.3.0/24" ]
  }
}
```
#### 响应示例
**状态码：200**
OK
- 成功更新接入虚拟私有云的虚拟网关信息。
  ```
  {
    "virtual_gateway" : {
      "id" : "20082c1b-3c99-48d8-8e8c-116af5d7e9f0",
      "name" : "update-vgw-c7b22",
      "description" : "",
      "tenant_id" : "0605768a3300d5762f82c01180692873",
      "vpc_id" : "6592c28e-95d7-4b0a-9f61-004fdf03420c",
      "device_id" : "26.151.63.100",
      "redundant_device_id" : "26.152.128.20",
      "type" : "default",
      "status" : "ACTIVE",
      "admin_state_up" : true,
      "bgp_asn" : 64512,
      "local_ep_group" : [ "192.168.3.0/24" ],
      "enterprise_project_id" : "0",
      "public_border_group" : "center"
    },
    "request_id" : "765f7aaf8f2edd0e719de564ef72e2de"
  }
  ```
  
 
#### SDK代码示例
SDK代码示例如下。
- [Java]
  更新虚拟网关名称和描述，将虚拟网关访问云上服务IPv4子网列表修改为192.168.3.0/24。
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.dc.v3.region.DcRegion;
  import com.huaweicloud.sdk.dc.v3.*;
  import com.huaweicloud.sdk.dc.v3.model.*;
  import java.util.List;
  import java.util.ArrayList;
  public class UpdateVirtualGatewaySolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          DcClient client = DcClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(DcRegion.valueOf("<YOUR REGION>"))
                  .build();
          UpdateVirtualGatewayRequest request = new UpdateVirtualGatewayRequest();
          request.withVirtualGatewayId("{virtual_gateway_id}");
          UpdateVirtualGatewayRequestBody body = new UpdateVirtualGatewayRequestBody();
          List<String> listVirtualGatewayLocalEpGroup = new ArrayList<>();
          listVirtualGatewayLocalEpGroup.add("192.168.3.0/24");
          UpdateVirtualGateway virtualGatewaybody = new UpdateVirtualGateway();
          virtualGatewaybody.withName("update-vgw-c7b22")
              .withDescription("")
              .withLocalEpGroup(listVirtualGatewayLocalEpGroup);
          body.withVirtualGateway(virtualGatewaybody);
          request.withBody(body);
          try {
              UpdateVirtualGatewayResponse response = client.updateVirtualGateway(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  更新虚拟网关名称和描述，将虚拟网关访问云上服务IPv4子网列表修改为192.168.3.0/24。
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdkdc.v3.region.dc_region import DcRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdkdc.v3 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = DcClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(DcRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = UpdateVirtualGatewayRequest()
          request.virtual_gateway_id = "{virtual_gateway_id}"
          listLocalEpGroupVirtualGateway = [
              "192.168.3.0/24"
          ]
          virtualGatewaybody = UpdateVirtualGateway(
              name="update-vgw-c7b22",
              description="",
              local_ep_group=listLocalEpGroupVirtualGateway
          )
          request.body = UpdateVirtualGatewayRequestBody(
              virtual_gateway=virtualGatewaybody
          )
          response = client.update_virtual_gateway(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  更新虚拟网关名称和描述，将虚拟网关访问云上服务IPv4子网列表修改为192.168.3.0/24。
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      dc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := dc.DcClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := dc.NewDcClient(hcClient)
      request := &model.UpdateVirtualGatewayRequest{}
  request.VirtualGatewayId = "{virtual_gateway_id}"
  var listLocalEpGroupVirtualGateway = []string{
          "192.168.3.0/24",
      }
  nameVirtualGateway:= "update-vgw-c7b22"
  descriptionVirtualGateway:= ""
  virtualGatewaybody := &model.UpdateVirtualGateway{
  Name: &nameVirtualGateway,
  Description: &descriptionVirtualGateway,
  LocalEpGroup: &listLocalEpGroupVirtualGateway,
  }
  request.Body = &model.UpdateVirtualGatewayRequestBody{
  VirtualGateway: virtualGatewaybody,
  }
  response, err := client.UpdateVirtualGateway(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/DC/sdk?api=UpdateVirtualGateway)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dc/ErrorCode.html)。
