Skip to content

Commit fc2ef35

Browse files
Allow empty fields for serviceDiscovery, userInfo, groupInfo and deviceInfo (#16031) (#4961)
[upstream:dbf1af3f1df562b06aa7d830bb0ab1d06a1fe091] Signed-off-by: Modular Magician <[email protected]>
1 parent 693da91 commit fc2ef35

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

tfplan2cai/converters/google/resources/services/beyondcorp/beyondcorp_security_gateway.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func GetBeyondcorpSecurityGatewayApiObject(d tpgresource.TerraformResourceData,
144144
serviceDiscoveryProp, err := expandBeyondcorpSecurityGatewayServiceDiscovery(d.Get("service_discovery"), d, config)
145145
if err != nil {
146146
return nil, err
147-
} else if v, ok := d.GetOkExists("service_discovery"); !tpgresource.IsEmptyValue(reflect.ValueOf(serviceDiscoveryProp)) && (ok || !reflect.DeepEqual(v, serviceDiscoveryProp)) {
147+
} else if v, ok := d.GetOkExists("service_discovery"); ok || !reflect.DeepEqual(v, serviceDiscoveryProp) {
148148
obj["serviceDiscovery"] = serviceDiscoveryProp
149149
}
150150

@@ -409,9 +409,14 @@ func expandBeyondcorpSecurityGatewayServiceDiscovery(v interface{}, d tpgresourc
409409
return nil, nil
410410
}
411411
l := v.([]interface{})
412-
if len(l) == 0 || l[0] == nil {
412+
if len(l) == 0 {
413413
return nil, nil
414414
}
415+
416+
if l[0] == nil {
417+
transformed := make(map[string]interface{})
418+
return transformed, nil
419+
}
415420
raw := l[0]
416421
original := raw.(map[string]interface{})
417422
transformed := make(map[string]interface{})

tfplan2cai/converters/google/resources/services/beyondcorp/beyondcorp_security_gateway_application.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,21 +411,21 @@ func expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualH
411411
transformedUserInfo, err := expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualHeadersUserInfo(original["user_info"], d, config)
412412
if err != nil {
413413
return nil, err
414-
} else if val := reflect.ValueOf(transformedUserInfo); val.IsValid() && !tpgresource.IsEmptyValue(val) {
414+
} else {
415415
transformed["userInfo"] = transformedUserInfo
416416
}
417417

418418
transformedGroupInfo, err := expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualHeadersGroupInfo(original["group_info"], d, config)
419419
if err != nil {
420420
return nil, err
421-
} else if val := reflect.ValueOf(transformedGroupInfo); val.IsValid() && !tpgresource.IsEmptyValue(val) {
421+
} else {
422422
transformed["groupInfo"] = transformedGroupInfo
423423
}
424424

425425
transformedDeviceInfo, err := expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualHeadersDeviceInfo(original["device_info"], d, config)
426426
if err != nil {
427427
return nil, err
428-
} else if val := reflect.ValueOf(transformedDeviceInfo); val.IsValid() && !tpgresource.IsEmptyValue(val) {
428+
} else {
429429
transformed["deviceInfo"] = transformedDeviceInfo
430430
}
431431

@@ -444,9 +444,14 @@ func expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualH
444444
return nil, nil
445445
}
446446
l := v.([]interface{})
447-
if len(l) == 0 || l[0] == nil {
447+
if len(l) == 0 {
448448
return nil, nil
449449
}
450+
451+
if l[0] == nil {
452+
transformed := make(map[string]interface{})
453+
return transformed, nil
454+
}
450455
raw := l[0]
451456
original := raw.(map[string]interface{})
452457
transformed := make(map[string]interface{})
@@ -470,9 +475,14 @@ func expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualH
470475
return nil, nil
471476
}
472477
l := v.([]interface{})
473-
if len(l) == 0 || l[0] == nil {
478+
if len(l) == 0 {
474479
return nil, nil
475480
}
481+
482+
if l[0] == nil {
483+
transformed := make(map[string]interface{})
484+
return transformed, nil
485+
}
476486
raw := l[0]
477487
original := raw.(map[string]interface{})
478488
transformed := make(map[string]interface{})
@@ -496,9 +506,14 @@ func expandBeyondcorpSecurityGatewayApplicationUpstreamsProxyProtocolContextualH
496506
return nil, nil
497507
}
498508
l := v.([]interface{})
499-
if len(l) == 0 || l[0] == nil {
509+
if len(l) == 0 {
500510
return nil, nil
501511
}
512+
513+
if l[0] == nil {
514+
transformed := make(map[string]interface{})
515+
return transformed, nil
516+
}
502517
raw := l[0]
503518
original := raw.(map[string]interface{})
504519
transformed := make(map[string]interface{})

0 commit comments

Comments
 (0)