2020package beyondcorp
2121
2222import (
23+ "bytes"
2324 "fmt"
2425 "log"
2526 "net/http"
@@ -35,6 +36,19 @@ import (
3536 "github.com/hashicorp/terraform-provider-google-beta/google-beta/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+
3852func 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}
520536func 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