github.com/morlay/goqcloud@v0.0.0-20181123023149-b00e0b0b9afc/clients/vpc/create_vpn_connection.go (about)

     1  package vpc
     2  
     3  import (
     4  	github_com_morlay_goqcloud "github.com/morlay/goqcloud"
     5  )
     6  
     7  // 创建VPN通道
     8  // https://cloud.tencent.com/document/api/215/17522
     9  
    10  type CreateVpnConnectionRequest struct {
    11  	// 对端网关ID,例如:cgw-2wqq41m9,可通过DescribeCustomerGateways接口查询对端网关。
    12  	CustomerGatewayId string `name:"CustomerGatewayId"`
    13  	// IKE配置(Internet Key Exchange,因特网密钥交换),IKE具有一套自保护机制,用户配置网络安全协议
    14  	IKEOptionsSpecification *IKEOptionsSpecification `name:"IKEOptionsSpecification,omitempty"`
    15  	// IPSec配置,腾讯云提供IPSec安全会话设置
    16  	IPSECOptionsSpecification *IPSECOptionsSpecification `name:"IPSECOptionsSpecification,omitempty"`
    17  	// 预共享密钥。
    18  	PreShareKey string `name:"PreShareKey"`
    19  	// 区域
    20  	Region string `name:"Region"`
    21  	// SPD策略组,例如:{"10.0.0.5/24":["172.123.10.5/16"]},10.0.0.5/24是vpc内网段172.123.10.5/16是IDC网段。用户指定VPC内哪些网段可以和您IDC中哪些网段通信。
    22  	SecurityPolicyDatabases []*SecurityPolicyDatabase `name:"SecurityPolicyDatabases"`
    23  	// VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。
    24  	VpcId string `name:"VpcId"`
    25  	// 通道名称,可任意命名,但不得超过60个字符。
    26  	VpnConnectionName string `name:"VpnConnectionName"`
    27  	// VPN网关实例ID。
    28  	VpnGatewayId string `name:"VpnGatewayId"`
    29  }
    30  
    31  func (req *CreateVpnConnectionRequest) Invoke(client github_com_morlay_goqcloud.Client) (*CreateVpnConnectionResponse, error) {
    32  	resp := &CreateVpnConnectionResponse{}
    33  	err := client.Request("vpc", "CreateVpnConnection", "2017-03-12").Do(req, resp)
    34  	return resp, err
    35  }
    36  
    37  type CreateVpnConnectionResponse struct {
    38  	github_com_morlay_goqcloud.TencentCloudBaseResponse
    39  	// 通道实例对象。
    40  	VpnConnection VpnConnection `json:"VpnConnection"`
    41  }