provider/google: remote_traffic_selector for google_compute_vpn_tunnel
This commit is contained in:
parent
017d7ebf4f
commit
b41efe7dc7
|
@ -72,6 +72,14 @@ func resourceComputeVpnTunnel() *schema.Resource {
|
||||||
Set: schema.HashString,
|
Set: schema.HashString,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"remote_traffic_selector": &schema.Schema{
|
||||||
|
Type: schema.TypeSet,
|
||||||
|
Optional: true,
|
||||||
|
ForceNew: true,
|
||||||
|
Elem: &schema.Schema{Type: schema.TypeString},
|
||||||
|
Set: schema.HashString,
|
||||||
|
},
|
||||||
|
|
||||||
"project": &schema.Schema{
|
"project": &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
|
@ -124,15 +132,24 @@ func resourceComputeVpnTunnelCreate(d *schema.ResourceData, meta interface{}) er
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var remoteTrafficSelectors []string
|
||||||
|
if v := d.Get("remote_traffic_selector").(*schema.Set); v.Len() > 0 {
|
||||||
|
remoteTrafficSelectors = make([]string, v.Len())
|
||||||
|
for i, v := range v.List() {
|
||||||
|
remoteTrafficSelectors[i] = v.(string)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vpnTunnelsService := compute.NewVpnTunnelsService(config.clientCompute)
|
vpnTunnelsService := compute.NewVpnTunnelsService(config.clientCompute)
|
||||||
|
|
||||||
vpnTunnel := &compute.VpnTunnel{
|
vpnTunnel := &compute.VpnTunnel{
|
||||||
Name: name,
|
Name: name,
|
||||||
PeerIp: peerIp,
|
PeerIp: peerIp,
|
||||||
SharedSecret: sharedSecret,
|
SharedSecret: sharedSecret,
|
||||||
TargetVpnGateway: targetVpnGateway,
|
TargetVpnGateway: targetVpnGateway,
|
||||||
IkeVersion: int64(ikeVersion),
|
IkeVersion: int64(ikeVersion),
|
||||||
LocalTrafficSelector: localTrafficSelectors,
|
LocalTrafficSelector: localTrafficSelectors,
|
||||||
|
RemoteTrafficSelector: remoteTrafficSelectors,
|
||||||
}
|
}
|
||||||
|
|
||||||
if v, ok := d.GetOk("description"); ok {
|
if v, ok := d.GetOk("description"); ok {
|
||||||
|
|
|
@ -104,6 +104,11 @@ The following arguments are supported:
|
||||||
custom subnetted network. Refer to Google documentation for more
|
custom subnetted network. Refer to Google documentation for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
|
* `remote_traffic_selector` - (Optional) Specifies which CIDR ranges the VPN
|
||||||
|
tunnel can route to the remote side. Mandatory if the VPN gateway is attached to a
|
||||||
|
custom subnetted network. Refer to Google documentation for more
|
||||||
|
information.
|
||||||
|
|
||||||
* `project` - (Optional) The project in which the resource belongs. If it
|
* `project` - (Optional) The project in which the resource belongs. If it
|
||||||
is not provided, the provider project is used.
|
is not provided, the provider project is used.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue