|
|
|
|
@ -72,6 +72,14 @@ func resourceComputeVpnTunnel() *schema.Resource {
|
|
|
|
|
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{
|
|
|
|
|
Type: schema.TypeString,
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
vpnTunnel := &compute.VpnTunnel{
|
|
|
|
|
Name: name,
|
|
|
|
|
PeerIp: peerIp,
|
|
|
|
|
SharedSecret: sharedSecret,
|
|
|
|
|
TargetVpnGateway: targetVpnGateway,
|
|
|
|
|
IkeVersion: int64(ikeVersion),
|
|
|
|
|
LocalTrafficSelector: localTrafficSelectors,
|
|
|
|
|
Name: name,
|
|
|
|
|
PeerIp: peerIp,
|
|
|
|
|
SharedSecret: sharedSecret,
|
|
|
|
|
TargetVpnGateway: targetVpnGateway,
|
|
|
|
|
IkeVersion: int64(ikeVersion),
|
|
|
|
|
LocalTrafficSelector: localTrafficSelectors,
|
|
|
|
|
RemoteTrafficSelector: remoteTrafficSelectors,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if v, ok := d.GetOk("description"); ok {
|
|
|
|
|
|