Skip to content

Commit 9f57be0

Browse files
Add new resource "Service LB Policy" to the provider (#10730) (#7463)
[upstream:50ad40d6cf618247cab742c7d81e8b8dc8b8b118] Signed-off-by: Modular Magician <[email protected]>
1 parent 5e68b00 commit 9f57be0

8 files changed

+1295
-2
lines changed

google-beta/provider/provider_mmv1_resources.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -459,9 +459,9 @@ var handwrittenIAMDatasources = map[string]*schema.Resource{
459459
}
460460

461461
// Resources
462-
// Generated resources: 476
462+
// Generated resources: 477
463463
// Generated IAM resources: 279
464-
// Total generated resources: 755
464+
// Total generated resources: 756
465465
var generatedResources = map[string]*schema.Resource{
466466
"google_folder_access_approval_settings": accessapproval.ResourceAccessApprovalFolderSettings(),
467467
"google_organization_access_approval_settings": accessapproval.ResourceAccessApprovalOrganizationSettings(),
@@ -1057,6 +1057,7 @@ var generatedResources = map[string]*schema.Resource{
10571057
"google_network_services_lb_traffic_extension": networkservices.ResourceNetworkServicesLbTrafficExtension(),
10581058
"google_network_services_mesh": networkservices.ResourceNetworkServicesMesh(),
10591059
"google_network_services_service_binding": networkservices.ResourceNetworkServicesServiceBinding(),
1060+
"google_network_services_service_lb_policies": networkservices.ResourceNetworkServicesServiceLbPolicies(),
10601061
"google_network_services_tcp_route": networkservices.ResourceNetworkServicesTcpRoute(),
10611062
"google_network_services_tls_route": networkservices.ResourceNetworkServicesTlsRoute(),
10621063
"google_notebooks_environment": notebooks.ResourceNotebooksEnvironment(),

google-beta/services/compute/resource_compute_backend_service.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
32663291
func 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+
43744403
func 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

Comments
 (0)