@@ -94,6 +94,15 @@ projects/{network_project_id_or_number}/global/networks/{network_id}.`,
94
94
Description : `Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. Default value: "AUTH_MODE_DISABLED" Possible values: ["AUTH_MODE_UNSPECIFIED", "AUTH_MODE_IAM_AUTH", "AUTH_MODE_DISABLED"]` ,
95
95
Default : "AUTH_MODE_DISABLED" ,
96
96
},
97
+ "node_type" : {
98
+ Type : schema .TypeString ,
99
+ Computed : true ,
100
+ Optional : true ,
101
+ ForceNew : true ,
102
+ ValidateFunc : verify .ValidateEnum ([]string {"REDIS_SHARED_CORE_NANO" , "REDIS_HIGHMEM_MEDIUM" , "REDIS_HIGHMEM_XLARGE" , "REDIS_STANDARD_SMALL" , "" }),
103
+ Description : `The nodeType for the Redis cluster.
104
+ If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values: ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]` ,
105
+ },
97
106
"region" : {
98
107
Type : schema .TypeString ,
99
108
Computed : true ,
@@ -161,6 +170,11 @@ projects/{network_project_id}/global/networks/{network_id}.`,
161
170
},
162
171
},
163
172
},
173
+ "precise_size_gb" : {
174
+ Type : schema .TypeFloat ,
175
+ Computed : true ,
176
+ Description : `Output only. Redis memory precise size in GB for the entire cluster.` ,
177
+ },
164
178
"psc_connections" : {
165
179
Type : schema .TypeList ,
166
180
Computed : true ,
@@ -270,6 +284,12 @@ func resourceRedisClusterCreate(d *schema.ResourceData, meta interface{}) error
270
284
} else if v , ok := d .GetOkExists ("transit_encryption_mode" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (transitEncryptionModeProp )) && (ok || ! reflect .DeepEqual (v , transitEncryptionModeProp )) {
271
285
obj ["transitEncryptionMode" ] = transitEncryptionModeProp
272
286
}
287
+ nodeTypeProp , err := expandRedisClusterNodeType (d .Get ("node_type" ), d , config )
288
+ if err != nil {
289
+ return err
290
+ } else if v , ok := d .GetOkExists ("node_type" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (nodeTypeProp )) && (ok || ! reflect .DeepEqual (v , nodeTypeProp )) {
291
+ obj ["nodeType" ] = nodeTypeProp
292
+ }
273
293
pscConfigsProp , err := expandRedisClusterPscConfigs (d .Get ("psc_configs" ), d , config )
274
294
if err != nil {
275
295
return err
@@ -406,6 +426,9 @@ func resourceRedisClusterRead(d *schema.ResourceData, meta interface{}) error {
406
426
if err := d .Set ("transit_encryption_mode" , flattenRedisClusterTransitEncryptionMode (res ["transitEncryptionMode" ], d , config )); err != nil {
407
427
return fmt .Errorf ("Error reading Cluster: %s" , err )
408
428
}
429
+ if err := d .Set ("node_type" , flattenRedisClusterNodeType (res ["nodeType" ], d , config )); err != nil {
430
+ return fmt .Errorf ("Error reading Cluster: %s" , err )
431
+ }
409
432
if err := d .Set ("discovery_endpoints" , flattenRedisClusterDiscoveryEndpoints (res ["discoveryEndpoints" ], d , config )); err != nil {
410
433
return fmt .Errorf ("Error reading Cluster: %s" , err )
411
434
}
@@ -421,6 +444,9 @@ func resourceRedisClusterRead(d *schema.ResourceData, meta interface{}) error {
421
444
if err := d .Set ("size_gb" , flattenRedisClusterSizeGb (res ["sizeGb" ], d , config )); err != nil {
422
445
return fmt .Errorf ("Error reading Cluster: %s" , err )
423
446
}
447
+ if err := d .Set ("precise_size_gb" , flattenRedisClusterPreciseSizeGb (res ["preciseSizeGb" ], d , config )); err != nil {
448
+ return fmt .Errorf ("Error reading Cluster: %s" , err )
449
+ }
424
450
if err := d .Set ("shard_count" , flattenRedisClusterShardCount (res ["shardCount" ], d , config )); err != nil {
425
451
return fmt .Errorf ("Error reading Cluster: %s" , err )
426
452
}
@@ -618,6 +644,10 @@ func flattenRedisClusterTransitEncryptionMode(v interface{}, d *schema.ResourceD
618
644
return v
619
645
}
620
646
647
+ func flattenRedisClusterNodeType (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
648
+ return v
649
+ }
650
+
621
651
func flattenRedisClusterDiscoveryEndpoints (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
622
652
if v == nil {
623
653
return v
@@ -814,6 +844,10 @@ func flattenRedisClusterSizeGb(v interface{}, d *schema.ResourceData, config *tr
814
844
return v // let terraform core handle it otherwise
815
845
}
816
846
847
+ func flattenRedisClusterPreciseSizeGb (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
848
+ return v
849
+ }
850
+
817
851
func flattenRedisClusterShardCount (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
818
852
// Handles the string fixed64 format
819
853
if strVal , ok := v .(string ); ok {
@@ -839,6 +873,10 @@ func expandRedisClusterTransitEncryptionMode(v interface{}, d tpgresource.Terraf
839
873
return v , nil
840
874
}
841
875
876
+ func expandRedisClusterNodeType (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
877
+ return v , nil
878
+ }
879
+
842
880
func expandRedisClusterPscConfigs (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
843
881
l := v .([]interface {})
844
882
req := make ([]interface {}, 0 , len (l ))
0 commit comments