@@ -279,6 +279,24 @@ be used.
279
279
280
280
For Private Service Connect forwarding rules that forward traffic to Google
281
281
APIs, a network must be provided.` ,
282
+ },
283
+ "network_tier" : {
284
+ Type : schema .TypeString ,
285
+ Computed : true ,
286
+ Optional : true ,
287
+ ForceNew : true ,
288
+ ValidateFunc : verify .ValidateEnum ([]string {"PREMIUM" , "STANDARD" , "" }),
289
+ Description : `This signifies the networking tier used for configuring
290
+ this load balancer and can only take the following values:
291
+ 'PREMIUM', 'STANDARD'.
292
+
293
+ For regional ForwardingRule, the valid values are 'PREMIUM' and
294
+ 'STANDARD'. For GlobalForwardingRule, the valid value is
295
+ 'PREMIUM'.
296
+
297
+ If this field is not specified, it is assumed to be 'PREMIUM'.
298
+ If 'IPAddress' is specified, this value must be equal to the
299
+ networkTier of the Address. Possible values: ["PREMIUM", "STANDARD"]` ,
282
300
},
283
301
"no_automate_dns_zone" : {
284
302
Type : schema .TypeBool ,
@@ -500,6 +518,12 @@ func resourceComputeGlobalForwardingRuleCreate(d *schema.ResourceData, meta inte
500
518
} else if v , ok := d .GetOkExists ("target" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (targetProp )) && (ok || ! reflect .DeepEqual (v , targetProp )) {
501
519
obj ["target" ] = targetProp
502
520
}
521
+ networkTierProp , err := expandComputeGlobalForwardingRuleNetworkTier (d .Get ("network_tier" ), d , config )
522
+ if err != nil {
523
+ return err
524
+ } else if v , ok := d .GetOkExists ("network_tier" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (networkTierProp )) && (ok || ! reflect .DeepEqual (v , networkTierProp )) {
525
+ obj ["networkTier" ] = networkTierProp
526
+ }
503
527
serviceDirectoryRegistrationsProp , err := expandComputeGlobalForwardingRuleServiceDirectoryRegistrations (d .Get ("service_directory_registrations" ), d , config )
504
528
if err != nil {
505
529
return err
@@ -737,6 +761,9 @@ func resourceComputeGlobalForwardingRuleRead(d *schema.ResourceData, meta interf
737
761
if err := d .Set ("target" , flattenComputeGlobalForwardingRuleTarget (res ["target" ], d , config )); err != nil {
738
762
return fmt .Errorf ("Error reading GlobalForwardingRule: %s" , err )
739
763
}
764
+ if err := d .Set ("network_tier" , flattenComputeGlobalForwardingRuleNetworkTier (res ["networkTier" ], d , config )); err != nil {
765
+ return fmt .Errorf ("Error reading GlobalForwardingRule: %s" , err )
766
+ }
740
767
if err := d .Set ("service_directory_registrations" , flattenComputeGlobalForwardingRuleServiceDirectoryRegistrations (res ["serviceDirectoryRegistrations" ], d , config )); err != nil {
741
768
return fmt .Errorf ("Error reading GlobalForwardingRule: %s" , err )
742
769
}
@@ -1097,6 +1124,10 @@ func flattenComputeGlobalForwardingRuleTarget(v interface{}, d *schema.ResourceD
1097
1124
return v
1098
1125
}
1099
1126
1127
+ func flattenComputeGlobalForwardingRuleNetworkTier (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1128
+ return v
1129
+ }
1130
+
1100
1131
func flattenComputeGlobalForwardingRuleServiceDirectoryRegistrations (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1101
1132
if v == nil {
1102
1133
return v
@@ -1277,6 +1308,10 @@ func expandComputeGlobalForwardingRuleTarget(v interface{}, d tpgresource.Terraf
1277
1308
return v , nil
1278
1309
}
1279
1310
1311
+ func expandComputeGlobalForwardingRuleNetworkTier (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1312
+ return v , nil
1313
+ }
1314
+
1280
1315
func expandComputeGlobalForwardingRuleServiceDirectoryRegistrations (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1281
1316
l := v .([]interface {})
1282
1317
req := make ([]interface {}, 0 , len (l ))
0 commit comments