Skip to content

Commit 546edd3

Browse files
drebesdanawillow
authored andcommitted
provider/google: remote_traffic_selector for google_compute_vpn_tunnel (hashicorp#11020)
1 parent 5625656 commit 546edd3

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

builtin/providers/google/resource_compute_vpn_tunnel.go

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ func resourceComputeVpnTunnel() *schema.Resource {
7272
Set: schema.HashString,
7373
},
7474

75+
"remote_traffic_selector": &schema.Schema{
76+
Type: schema.TypeSet,
77+
Optional: true,
78+
ForceNew: true,
79+
Elem: &schema.Schema{Type: schema.TypeString},
80+
Set: schema.HashString,
81+
},
82+
7583
"project": &schema.Schema{
7684
Type: schema.TypeString,
7785
Optional: true,
@@ -124,15 +132,24 @@ func resourceComputeVpnTunnelCreate(d *schema.ResourceData, meta interface{}) er
124132
}
125133
}
126134

135+
var remoteTrafficSelectors []string
136+
if v := d.Get("remote_traffic_selector").(*schema.Set); v.Len() > 0 {
137+
remoteTrafficSelectors = make([]string, v.Len())
138+
for i, v := range v.List() {
139+
remoteTrafficSelectors[i] = v.(string)
140+
}
141+
}
142+
127143
vpnTunnelsService := compute.NewVpnTunnelsService(config.clientCompute)
128144

129145
vpnTunnel := &compute.VpnTunnel{
130-
Name: name,
131-
PeerIp: peerIp,
132-
SharedSecret: sharedSecret,
133-
TargetVpnGateway: targetVpnGateway,
134-
IkeVersion: int64(ikeVersion),
135-
LocalTrafficSelector: localTrafficSelectors,
146+
Name: name,
147+
PeerIp: peerIp,
148+
SharedSecret: sharedSecret,
149+
TargetVpnGateway: targetVpnGateway,
150+
IkeVersion: int64(ikeVersion),
151+
LocalTrafficSelector: localTrafficSelectors,
152+
RemoteTrafficSelector: remoteTrafficSelectors,
136153
}
137154

138155
if v, ok := d.GetOk("description"); ok {

website/source/docs/providers/google/r/compute_vpn_tunnel.html.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ The following arguments are supported:
104104
custom subnetted network. Refer to Google documentation for more
105105
information.
106106

107+
* `remote_traffic_selector` - (Optional) Specifies which CIDR ranges the VPN
108+
tunnel can route to the remote side. Mandatory if the VPN gateway is attached to a
109+
custom subnetted network. Refer to Google documentation for more
110+
information.
111+
107112
* `project` - (Optional) The project in which the resource belongs. If it
108113
is not provided, the provider project is used.
109114

0 commit comments

Comments
 (0)