20
20
package beyondcorp
21
21
22
22
import (
23
+ "bytes"
23
24
"fmt"
24
25
"log"
25
26
"net/http"
@@ -35,6 +36,19 @@ import (
35
36
"github.com/hashicorp/terraform-provider-google/google/verify"
36
37
)
37
38
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
+
38
52
func ResourceBeyondcorpSecurityGateway () * schema.Resource {
39
53
return & schema.Resource {
40
54
Create : resourceBeyondcorpSecurityGatewayCreate ,
@@ -85,6 +99,7 @@ as a key.`,
85
99
},
86
100
"internet_gateway" : {
87
101
Type : schema .TypeList ,
102
+ Computed : true ,
88
103
Optional : true ,
89
104
Description : `Internet Gateway configuration.` ,
90
105
MaxItems : 1 ,
@@ -103,6 +118,7 @@ as a key.`,
103
118
},
104
119
},
105
120
},
121
+ Set : beyondcorpSecurityGatewayHubsHash ,
106
122
},
107
123
"location" : {
108
124
Type : schema .TypeString ,
@@ -499,7 +515,7 @@ func flattenBeyondcorpSecurityGatewayHubs(v interface{}, d *schema.ResourceData,
499
515
original := raw .(map [string ]interface {})
500
516
transformed = append (transformed , map [string ]interface {}{
501
517
"region" : k ,
502
- "internet_gateway" : flattenBeyondcorpSecurityGatewayHubsInternetGateway (original ["internet_gateway " ], d , config ),
518
+ "internet_gateway" : flattenBeyondcorpSecurityGatewayHubsInternetGateway (original ["internetGateway " ], d , config ),
503
519
})
504
520
}
505
521
return transformed
@@ -514,7 +530,7 @@ func flattenBeyondcorpSecurityGatewayHubsInternetGateway(v interface{}, d *schem
514
530
}
515
531
transformed := make (map [string ]interface {})
516
532
transformed ["assigned_ips" ] =
517
- flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps (original ["assigned_ips " ], d , config )
533
+ flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps (original ["assignedIps " ], d , config )
518
534
return []interface {}{transformed }
519
535
}
520
536
func flattenBeyondcorpSecurityGatewayHubsInternetGatewayAssignedIps (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
@@ -550,7 +566,7 @@ func expandBeyondcorpSecurityGatewayHubs(v interface{}, d tpgresource.TerraformR
550
566
if err != nil {
551
567
return nil , err
552
568
} else if val := reflect .ValueOf (transformedInternetGateway ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
553
- transformed ["internet_gateway " ] = transformedInternetGateway
569
+ transformed ["internetGateway " ] = transformedInternetGateway
554
570
}
555
571
556
572
transformedRegion , err := tpgresource .ExpandString (original ["region" ], d , config )
@@ -575,7 +591,7 @@ func expandBeyondcorpSecurityGatewayHubsInternetGateway(v interface{}, d tpgreso
575
591
if err != nil {
576
592
return nil , err
577
593
} else if val := reflect .ValueOf (transformedAssignedIps ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
578
- transformed ["assigned_ips " ] = transformedAssignedIps
594
+ transformed ["assignedIps " ] = transformedAssignedIps
579
595
}
580
596
581
597
return transformed , nil
0 commit comments