Skip to content

Commit 655907f

Browse files
committed
feat: option to enable/disable default user for AA databases
1 parent 7aa1d9a commit 655907f

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,4 @@ require (
7171
)
7272

7373
// for local development, uncomment this
74-
//replace github.com/RedisLabs/rediscloud-go-api => ../rediscloud-go-api
74+
replace github.com/RedisLabs/rediscloud-go-api => ../rediscloud-go-api

provider/datasource_rediscloud_active_active_database.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ func dataSourceRedisCloudActiveActiveDatabase() *schema.Resource {
9898
Type: schema.TypeString,
9999
},
100100
},
101+
"enable_default_user": {
102+
Description: "When 'true', enables connecting to the database with the 'default' user. Default: 'true'",
103+
Type: schema.TypeBool,
104+
Computed: true,
105+
},
101106
"latest_backup_statuses": {
102107
Description: "Details about the last backups that took place across each region for this active-active database",
103108
Computed: true,
@@ -340,6 +345,12 @@ func dataSourceRedisCloudActiveActiveDatabaseRead(ctx context.Context, d *schema
340345
return diag.FromErr(err)
341346
}
342347

348+
if db.Security != nil {
349+
if err := d.Set("enable_default_user", redis.BoolValue(db.Security.EnableDefaultUser)); err != nil {
350+
return diag.FromErr(err)
351+
}
352+
}
353+
343354
var parsedLatestBackupStatuses []map[string]interface{}
344355
for _, regionDb := range db.CrdbDatabases {
345356
region := redis.StringValue(regionDb.Region)

provider/resource_rediscloud_active_active_database.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,12 @@ func resourceRedisCloudActiveActiveDatabase() *schema.Resource {
143143
Optional: true,
144144
Default: "volatile-lru",
145145
},
146+
"enable_default_user": {
147+
Description: "When 'true', enables connecting to the database with the 'default' user. Default: 'true'",
148+
Type: schema.TypeBool,
149+
Computed: true,
150+
Default: true,
151+
},
146152
"global_data_persistence": {
147153
Description: "Rate of database data persistence (in persistent storage)",
148154
Type: schema.TypeString,
@@ -517,6 +523,10 @@ func resourceRedisCloudActiveActiveDatabaseRead(ctx context.Context, d *schema.R
517523
return diag.FromErr(err)
518524
}
519525

526+
if err := d.Set("enable_default_user", redis.Bool(*db.Security.EnableDefaultUser)); err != nil {
527+
return diag.FromErr(err)
528+
}
529+
520530
// To prevent both fields being included in API requests, only one of these two fields should be set in the state
521531
// Only add `dataset_size_in_gb` to the state if `memory_limit_in_gb` is not already in the state
522532
if _, inState := d.GetOk("memory_limit_in_gb"); !inState {
@@ -730,6 +740,7 @@ func resourceRedisCloudActiveActiveDatabaseUpdate(ctx context.Context, d *schema
730740
GlobalAlerts: &updateAlerts,
731741
GlobalSourceIP: globalSourceIps,
732742
Regions: regions,
743+
EnableDefaultUser: utils.GetBool(d, "enable_default_user"),
733744
}
734745

735746
// One of the following fields must be set in the request, validation is handled in the schema (ExactlyOneOf)

0 commit comments

Comments
 (0)