@@ -74,6 +74,22 @@ func ResourceComputeNetworkPeeringRoutesConfig() *schema.Resource {
74
74
Required : true ,
75
75
Description : `Name of the peering.` ,
76
76
},
77
+ "export_subnet_routes_with_public_ip" : {
78
+ Type : schema .TypeBool ,
79
+ Computed : true ,
80
+ Optional : true ,
81
+ Description : `Whether subnet routes with public IP range are exported.
82
+ IPv4 special-use ranges are always exported to peers and
83
+ are not controlled by this field.` ,
84
+ },
85
+ "import_subnet_routes_with_public_ip" : {
86
+ Type : schema .TypeBool ,
87
+ Computed : true ,
88
+ Optional : true ,
89
+ Description : `Whether subnet routes with public IP range are imported.
90
+ IPv4 special-use ranges are always imported from peers and
91
+ are not controlled by this field.` ,
92
+ },
77
93
"project" : {
78
94
Type : schema .TypeString ,
79
95
Optional : true ,
@@ -111,6 +127,18 @@ func resourceComputeNetworkPeeringRoutesConfigCreate(d *schema.ResourceData, met
111
127
} else if v , ok := d .GetOkExists ("import_custom_routes" ); ok || ! reflect .DeepEqual (v , importCustomRoutesProp ) {
112
128
obj ["importCustomRoutes" ] = importCustomRoutesProp
113
129
}
130
+ exportSubnetRoutesWithPublicIpProp , err := expandNestedComputeNetworkPeeringRoutesConfigExportSubnetRoutesWithPublicIp (d .Get ("export_subnet_routes_with_public_ip" ), d , config )
131
+ if err != nil {
132
+ return err
133
+ } else if v , ok := d .GetOkExists ("export_subnet_routes_with_public_ip" ); ok || ! reflect .DeepEqual (v , exportSubnetRoutesWithPublicIpProp ) {
134
+ obj ["exportSubnetRoutesWithPublicIp" ] = exportSubnetRoutesWithPublicIpProp
135
+ }
136
+ importSubnetRoutesWithPublicIpProp , err := expandNestedComputeNetworkPeeringRoutesConfigImportSubnetRoutesWithPublicIp (d .Get ("import_subnet_routes_with_public_ip" ), d , config )
137
+ if err != nil {
138
+ return err
139
+ } else if v , ok := d .GetOkExists ("import_subnet_routes_with_public_ip" ); ok || ! reflect .DeepEqual (v , importSubnetRoutesWithPublicIpProp ) {
140
+ obj ["importSubnetRoutesWithPublicIp" ] = importSubnetRoutesWithPublicIpProp
141
+ }
114
142
115
143
obj , err = resourceComputeNetworkPeeringRoutesConfigEncoder (d , meta , obj )
116
144
if err != nil {
@@ -243,6 +271,12 @@ func resourceComputeNetworkPeeringRoutesConfigRead(d *schema.ResourceData, meta
243
271
if err := d .Set ("import_custom_routes" , flattenNestedComputeNetworkPeeringRoutesConfigImportCustomRoutes (res ["importCustomRoutes" ], d , config )); err != nil {
244
272
return fmt .Errorf ("Error reading NetworkPeeringRoutesConfig: %s" , err )
245
273
}
274
+ if err := d .Set ("export_subnet_routes_with_public_ip" , flattenNestedComputeNetworkPeeringRoutesConfigExportSubnetRoutesWithPublicIp (res ["exportSubnetRoutesWithPublicIp" ], d , config )); err != nil {
275
+ return fmt .Errorf ("Error reading NetworkPeeringRoutesConfig: %s" , err )
276
+ }
277
+ if err := d .Set ("import_subnet_routes_with_public_ip" , flattenNestedComputeNetworkPeeringRoutesConfigImportSubnetRoutesWithPublicIp (res ["importSubnetRoutesWithPublicIp" ], d , config )); err != nil {
278
+ return fmt .Errorf ("Error reading NetworkPeeringRoutesConfig: %s" , err )
279
+ }
246
280
247
281
return nil
248
282
}
@@ -281,6 +315,18 @@ func resourceComputeNetworkPeeringRoutesConfigUpdate(d *schema.ResourceData, met
281
315
} else if v , ok := d .GetOkExists ("import_custom_routes" ); ok || ! reflect .DeepEqual (v , importCustomRoutesProp ) {
282
316
obj ["importCustomRoutes" ] = importCustomRoutesProp
283
317
}
318
+ exportSubnetRoutesWithPublicIpProp , err := expandNestedComputeNetworkPeeringRoutesConfigExportSubnetRoutesWithPublicIp (d .Get ("export_subnet_routes_with_public_ip" ), d , config )
319
+ if err != nil {
320
+ return err
321
+ } else if v , ok := d .GetOkExists ("export_subnet_routes_with_public_ip" ); ok || ! reflect .DeepEqual (v , exportSubnetRoutesWithPublicIpProp ) {
322
+ obj ["exportSubnetRoutesWithPublicIp" ] = exportSubnetRoutesWithPublicIpProp
323
+ }
324
+ importSubnetRoutesWithPublicIpProp , err := expandNestedComputeNetworkPeeringRoutesConfigImportSubnetRoutesWithPublicIp (d .Get ("import_subnet_routes_with_public_ip" ), d , config )
325
+ if err != nil {
326
+ return err
327
+ } else if v , ok := d .GetOkExists ("import_subnet_routes_with_public_ip" ); ok || ! reflect .DeepEqual (v , importSubnetRoutesWithPublicIpProp ) {
328
+ obj ["importSubnetRoutesWithPublicIp" ] = importSubnetRoutesWithPublicIpProp
329
+ }
284
330
285
331
obj , err = resourceComputeNetworkPeeringRoutesConfigEncoder (d , meta , obj )
286
332
if err != nil {
@@ -376,6 +422,14 @@ func flattenNestedComputeNetworkPeeringRoutesConfigImportCustomRoutes(v interfac
376
422
return v
377
423
}
378
424
425
+ func flattenNestedComputeNetworkPeeringRoutesConfigExportSubnetRoutesWithPublicIp (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
426
+ return v
427
+ }
428
+
429
+ func flattenNestedComputeNetworkPeeringRoutesConfigImportSubnetRoutesWithPublicIp (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
430
+ return v
431
+ }
432
+
379
433
func expandNestedComputeNetworkPeeringRoutesConfigPeering (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
380
434
return v , nil
381
435
}
@@ -388,6 +442,14 @@ func expandNestedComputeNetworkPeeringRoutesConfigImportCustomRoutes(v interface
388
442
return v , nil
389
443
}
390
444
445
+ func expandNestedComputeNetworkPeeringRoutesConfigExportSubnetRoutesWithPublicIp (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
446
+ return v , nil
447
+ }
448
+
449
+ func expandNestedComputeNetworkPeeringRoutesConfigImportSubnetRoutesWithPublicIp (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
450
+ return v , nil
451
+ }
452
+
391
453
func resourceComputeNetworkPeeringRoutesConfigEncoder (d * schema.ResourceData , meta interface {}, obj map [string ]interface {}) (map [string ]interface {}, error ) {
392
454
// Stick request in a networkPeering block as in
393
455
// https://cloud.google.com/compute/docs/reference/rest/v1/networks/updatePeering
0 commit comments