@@ -63,6 +63,11 @@ func resourceComputeForwardingRule() *schema.Resource {
63
63
ValidateFunc : validation .StringInSlice ([]string {"TCP" , "UDP" , "ESP" , "AH" , "SCTP" , "ICMP" , "" }, false ),
64
64
DiffSuppressFunc : caseDiffSuppress ,
65
65
},
66
+ "all_ports" : {
67
+ Type : schema .TypeBool ,
68
+ Optional : true ,
69
+ ForceNew : true ,
70
+ },
66
71
"backend_service" : {
67
72
Type : schema .TypeString ,
68
73
Optional : true ,
@@ -230,6 +235,12 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
230
235
} else if v , ok := d .GetOkExists ("target" ); ! isEmptyValue (reflect .ValueOf (targetProp )) && (ok || ! reflect .DeepEqual (v , targetProp )) {
231
236
obj ["target" ] = targetProp
232
237
}
238
+ allPortsProp , err := expandComputeForwardingRuleAllPorts (d .Get ("all_ports" ), d , config )
239
+ if err != nil {
240
+ return err
241
+ } else if v , ok := d .GetOkExists ("all_ports" ); ! isEmptyValue (reflect .ValueOf (allPortsProp )) && (ok || ! reflect .DeepEqual (v , allPortsProp )) {
242
+ obj ["allPorts" ] = allPortsProp
243
+ }
233
244
networkTierProp , err := expandComputeForwardingRuleNetworkTier (d .Get ("network_tier" ), d , config )
234
245
if err != nil {
235
246
return err
@@ -346,6 +357,9 @@ func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{})
346
357
if err := d .Set ("target" , flattenComputeForwardingRuleTarget (res ["target" ], d )); err != nil {
347
358
return fmt .Errorf ("Error reading ForwardingRule: %s" , err )
348
359
}
360
+ if err := d .Set ("all_ports" , flattenComputeForwardingRuleAllPorts (res ["allPorts" ], d )); err != nil {
361
+ return fmt .Errorf ("Error reading ForwardingRule: %s" , err )
362
+ }
349
363
if err := d .Set ("network_tier" , flattenComputeForwardingRuleNetworkTier (res ["networkTier" ], d )); err != nil {
350
364
return fmt .Errorf ("Error reading ForwardingRule: %s" , err )
351
365
}
@@ -528,6 +542,10 @@ func flattenComputeForwardingRuleTarget(v interface{}, d *schema.ResourceData) i
528
542
return ConvertSelfLinkToV1 (v .(string ))
529
543
}
530
544
545
+ func flattenComputeForwardingRuleAllPorts (v interface {}, d * schema.ResourceData ) interface {} {
546
+ return v
547
+ }
548
+
531
549
func flattenComputeForwardingRuleNetworkTier (v interface {}, d * schema.ResourceData ) interface {} {
532
550
return v
533
551
}
@@ -645,6 +663,10 @@ func expandComputeForwardingRuleTarget(v interface{}, d TerraformResourceData, c
645
663
return url + v .(string ), nil
646
664
}
647
665
666
+ func expandComputeForwardingRuleAllPorts (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
667
+ return v , nil
668
+ }
669
+
648
670
func expandComputeForwardingRuleNetworkTier (v interface {}, d TerraformResourceData , config * Config ) (interface {}, error ) {
649
671
return v , nil
650
672
}
0 commit comments