@@ -24,9 +24,10 @@ func resourceComputeVpnGateway() *schema.Resource {
24
24
},
25
25
26
26
"network" : & schema.Schema {
27
- Type : schema .TypeString ,
28
- Required : true ,
29
- ForceNew : true ,
27
+ Type : schema .TypeString ,
28
+ Required : true ,
29
+ ForceNew : true ,
30
+ DiffSuppressFunc : compareSelfLinkOrResourceName ,
30
31
},
31
32
32
33
"description" : & schema.Schema {
@@ -69,16 +70,13 @@ func resourceComputeVpnGatewayCreate(d *schema.ResourceData, meta interface{}) e
69
70
}
70
71
71
72
name := d .Get ("name" ).(string )
72
- network , err := getNetworkLink (d , config , "network" )
73
- if err != nil {
74
- return err
75
- }
73
+ network := ParseNetworkFieldValue (d .Get ("network" ).(string ), config )
76
74
77
75
vpnGatewaysService := compute .NewTargetVpnGatewaysService (config .clientCompute )
78
76
79
77
vpnGateway := & compute.TargetVpnGateway {
80
78
Name : name ,
81
- Network : network ,
79
+ Network : network . RelativeLink () ,
82
80
}
83
81
84
82
if v , ok := d .GetOk ("description" ); ok {
@@ -87,12 +85,12 @@ func resourceComputeVpnGatewayCreate(d *schema.ResourceData, meta interface{}) e
87
85
88
86
op , err := vpnGatewaysService .Insert (project , region , vpnGateway ).Do ()
89
87
if err != nil {
90
- return fmt .Errorf ("Error Inserting VPN Gateway %s into network %s: %s" , name , network , err )
88
+ return fmt .Errorf ("Error Inserting VPN Gateway %s into network %s: %s" , name , network . Name , err )
91
89
}
92
90
93
91
err = computeOperationWait (config , op , project , "Inserting VPN Gateway" )
94
92
if err != nil {
95
- return fmt .Errorf ("Error Waiting to Insert VPN Gateway %s into network %s: %s" , name , network , err )
93
+ return fmt .Errorf ("Error Waiting to Insert VPN Gateway %s into network %s: %s" , name , network . Name , err )
96
94
}
97
95
98
96
return resourceComputeVpnGatewayRead (d , meta )
@@ -120,6 +118,9 @@ func resourceComputeVpnGatewayRead(d *schema.ResourceData, meta interface{}) err
120
118
return handleNotFoundError (err , d , fmt .Sprintf ("VPN Gateway %q" , d .Get ("name" ).(string )))
121
119
}
122
120
121
+ d .Set ("name" , vpnGateway .Name )
122
+ d .Set ("description" , vpnGateway .Description )
123
+ d .Set ("network" , vpnGateway .Network )
123
124
d .Set ("self_link" , vpnGateway .SelfLink )
124
125
d .SetId (name )
125
126
0 commit comments