@@ -1086,6 +1086,12 @@ alt name matches one of the specified values.`,
10861086 },
10871087 },
10881088 },
1089+ "service_lb_policy" : {
1090+ Type : schema .TypeString ,
1091+ Optional : true ,
1092+ Description : `URL to networkservices.ServiceLbPolicy resource.
1093+ Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.` ,
1094+ },
10891095 "session_affinity" : {
10901096 Type : schema .TypeString ,
10911097 Computed : true ,
@@ -1434,6 +1440,12 @@ func resourceComputeBackendServiceCreate(d *schema.ResourceData, meta interface{
14341440 } else if v , ok := d .GetOkExists ("log_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (logConfigProp )) && (ok || ! reflect .DeepEqual (v , logConfigProp )) {
14351441 obj ["logConfig" ] = logConfigProp
14361442 }
1443+ serviceLbPolicyProp , err := expandComputeBackendServiceServiceLbPolicy (d .Get ("service_lb_policy" ), d , config )
1444+ if err != nil {
1445+ return err
1446+ } else if v , ok := d .GetOkExists ("service_lb_policy" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (serviceLbPolicyProp )) && (ok || ! reflect .DeepEqual (v , serviceLbPolicyProp )) {
1447+ obj ["serviceLbPolicy" ] = serviceLbPolicyProp
1448+ }
14371449
14381450 obj , err = resourceComputeBackendServiceEncoder (d , meta , obj )
14391451 if err != nil {
@@ -1688,6 +1700,9 @@ func resourceComputeBackendServiceRead(d *schema.ResourceData, meta interface{})
16881700 if err := d .Set ("log_config" , flattenComputeBackendServiceLogConfig (res ["logConfig" ], d , config )); err != nil {
16891701 return fmt .Errorf ("Error reading BackendService: %s" , err )
16901702 }
1703+ if err := d .Set ("service_lb_policy" , flattenComputeBackendServiceServiceLbPolicy (res ["serviceLbPolicy" ], d , config )); err != nil {
1704+ return fmt .Errorf ("Error reading BackendService: %s" , err )
1705+ }
16911706 if err := d .Set ("self_link" , tpgresource .ConvertSelfLinkToV1 (res ["selfLink" ].(string ))); err != nil {
16921707 return fmt .Errorf ("Error reading BackendService: %s" , err )
16931708 }
@@ -1873,6 +1888,12 @@ func resourceComputeBackendServiceUpdate(d *schema.ResourceData, meta interface{
18731888 } else if v , ok := d .GetOkExists ("log_config" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , logConfigProp )) {
18741889 obj ["logConfig" ] = logConfigProp
18751890 }
1891+ serviceLbPolicyProp , err := expandComputeBackendServiceServiceLbPolicy (d .Get ("service_lb_policy" ), d , config )
1892+ if err != nil {
1893+ return err
1894+ } else if v , ok := d .GetOkExists ("service_lb_policy" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , serviceLbPolicyProp )) {
1895+ obj ["serviceLbPolicy" ] = serviceLbPolicyProp
1896+ }
18761897
18771898 obj , err = resourceComputeBackendServiceEncoder (d , meta , obj )
18781899 if err != nil {
@@ -3263,6 +3284,10 @@ func flattenComputeBackendServiceLogConfigSampleRate(v interface{}, d *schema.Re
32633284 return v
32643285}
32653286
3287+ func flattenComputeBackendServiceServiceLbPolicy (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
3288+ return v
3289+ }
3290+
32663291func expandComputeBackendServiceAffinityCookieTtlSec (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
32673292 return v , nil
32683293}
@@ -4371,6 +4396,10 @@ func expandComputeBackendServiceLogConfigSampleRate(v interface{}, d tpgresource
43714396 return v , nil
43724397}
43734398
4399+ func expandComputeBackendServiceServiceLbPolicy (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
4400+ return v , nil
4401+ }
4402+
43744403func resourceComputeBackendServiceEncoder (d * schema.ResourceData , meta interface {}, obj map [string ]interface {}) (map [string ]interface {}, error ) {
43754404 // The BackendService API's Update / PUT API is badly formed and behaves like
43764405 // a PATCH field for at least IAP. When sent a `null` `iap` field, the API
0 commit comments