Skip to content

Commit 5087f24

Browse files
Fix issue on hubs in google_beyondcorp_security_gateway (#14049) (#23244)
[upstream:5606def7a07ff8bcdecffbf961d0c08c390afac7] Signed-off-by: Modular Magician <[email protected]>
1 parent 08b87d4 commit 5087f24

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

.changelog/14049.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
beyondcorp: fixed the issue where `hubs.internet_gateway.assigned_ips` was not populated correctly in the `google_beyondcorp_security_gateway` resource
3+
```

google/services/beyondcorp/resource_beyondcorp_security_gateway.go

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package beyondcorp
2121

2222
import (
23+
"bytes"
2324
"fmt"
2425
"log"
2526
"net/http"
@@ -35,6 +36,19 @@ import (
3536
"github.com/hashicorp/terraform-provider-google/google/verify"
3637
)
3738

39+
func beyondcorpSecurityGatewayHubsHash(v interface{}) int {
40+
if v == nil {
41+
return 0
42+
}
43+
44+
var buf bytes.Buffer
45+
m := v.(map[string]interface{})
46+
47+
buf.WriteString(fmt.Sprintf("%s-", m["region"].(string)))
48+
49+
return tpgresource.Hashcode(buf.String())
50+
}
51+
3852
func ResourceBeyondcorpSecurityGateway() *schema.Resource {
3953
return &schema.Resource{
4054
Create: resourceBeyondcorpSecurityGatewayCreate,
@@ -85,6 +99,7 @@ as a key.`,
8599
},
86100
"internet_gateway": {
87101
Type: schema.TypeList,
102+
Computed: true,
88103
Optional: true,
89104
Description: `Internet Gateway configuration.`,
90105
MaxItems: 1,
@@ -103,6 +118,7 @@ as a key.`,
103118
},
104119
},
105120
},
121+
Set: beyondcorpSecurityGatewayHubsHash,
106122
},
107123
"location": {
108124
Type: schema.TypeString,
@@ -499,7 +515,7 @@ func flattenBeyondcorpSecurityGatewayHubs(v interface{}, d *schema.ResourceData,
499515
original := raw.(map[string]interface{})
500516
transformed = append(transformed, map[string]interface{}{
501517
"region": k,
502-
"internet_gateway": flattenBeyondcorpSecurityGatewayHubsInternetGateway(original["internet_gateway"], d, config),
518+
"internet_gateway": flattenBeyondcorpSecurityGatewayHubsInternetGateway(original["internetGateway"], d, config),
503519
})
504520
}
505521
return transformed
@@ -514,7 +530,7 @@ func flattenBeyondcorpSecurityGatewayHubsInternetGateway(v interface{}, d *schem
514530
}
515531
transformed := make(map[string]interface{})
516532
transformed["assigned_ips"] =
517-
flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps(original["assigned_ips"], d, config)
533+
flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps(original["assignedIps"], d, config)
518534
return []interface{}{transformed}
519535
}
520536
func flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
@@ -550,7 +566,7 @@ func expandBeyondcorpSecurityGatewayHubs(v interface{}, d tpgresource.TerraformR
550566
if err != nil {
551567
return nil, err
552568
} else if val := reflect.ValueOf(transformedInternetGateway); val.IsValid() && !tpgresource.IsEmptyValue(val) {
553-
transformed["internet_gateway"] = transformedInternetGateway
569+
transformed["internetGateway"] = transformedInternetGateway
554570
}
555571

556572
transformedRegion, err := tpgresource.ExpandString(original["region"], d, config)
@@ -575,7 +591,7 @@ func expandBeyondcorpSecurityGatewayHubsInternetGateway(v interface{}, d tpgreso
575591
if err != nil {
576592
return nil, err
577593
} else if val := reflect.ValueOf(transformedAssignedIps); val.IsValid() && !tpgresource.IsEmptyValue(val) {
578-
transformed["assigned_ips"] = transformedAssignedIps
594+
transformed["assignedIps"] = transformedAssignedIps
579595
}
580596

581597
return transformed, nil

0 commit comments

Comments
 (0)