feat(mongodb): set point_in_time_window_hours as required (#860)
* feat(mongodb): set point_in_time_window_hours as required * docs update
This commit is contained in:
parent
9b1c658575
commit
a47fac0ae7
4 changed files with 16 additions and 9 deletions
|
|
@ -19,7 +19,7 @@ resource "stackit_mongodbflex_instance" "example" {
|
||||||
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||||
flavor = {
|
flavor = {
|
||||||
cpu = 1
|
cpu = 1
|
||||||
ram = 8
|
ram = 4
|
||||||
}
|
}
|
||||||
replicas = 1
|
replicas = 1
|
||||||
storage = {
|
storage = {
|
||||||
|
|
@ -28,8 +28,9 @@ resource "stackit_mongodbflex_instance" "example" {
|
||||||
}
|
}
|
||||||
version = "7.0"
|
version = "7.0"
|
||||||
options = {
|
options = {
|
||||||
type = "Single"
|
type = "Single"
|
||||||
snapshot_retention_days = 3
|
snapshot_retention_days = 3
|
||||||
|
point_in_time_window_hours = 30
|
||||||
}
|
}
|
||||||
backup_schedule = "0 0 * * *"
|
backup_schedule = "0 0 * * *"
|
||||||
}
|
}
|
||||||
|
|
@ -74,13 +75,13 @@ Read-Only:
|
||||||
|
|
||||||
Required:
|
Required:
|
||||||
|
|
||||||
|
- `point_in_time_window_hours` (Number) The number of hours back in time the point-in-time recovery feature will be able to recover.
|
||||||
- `type` (String) Type of the MongoDB Flex instance. Supported values are: `Replica`, `Sharded`, `Single`.
|
- `type` (String) Type of the MongoDB Flex instance. Supported values are: `Replica`, `Sharded`, `Single`.
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
|
|
||||||
- `daily_snapshot_retention_days` (Number) The number of days that daily backups will be retained.
|
- `daily_snapshot_retention_days` (Number) The number of days that daily backups will be retained.
|
||||||
- `monthly_snapshot_retention_months` (Number) The number of months that monthly backups will be retained.
|
- `monthly_snapshot_retention_months` (Number) The number of months that monthly backups will be retained.
|
||||||
- `point_in_time_window_hours` (Number) The number of hours back in time the point-in-time recovery feature will be able to recover.
|
|
||||||
- `snapshot_retention_days` (Number) The number of days that continuous backups (controlled via the `backup_schedule`) will be retained.
|
- `snapshot_retention_days` (Number) The number of days that continuous backups (controlled via the `backup_schedule`) will be retained.
|
||||||
- `weekly_snapshot_retention_weeks` (Number) The number of weeks that weekly backups will be retained.
|
- `weekly_snapshot_retention_weeks` (Number) The number of weeks that weekly backups will be retained.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ resource "stackit_mongodbflex_instance" "example" {
|
||||||
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||||
flavor = {
|
flavor = {
|
||||||
cpu = 1
|
cpu = 1
|
||||||
ram = 8
|
ram = 4
|
||||||
}
|
}
|
||||||
replicas = 1
|
replicas = 1
|
||||||
storage = {
|
storage = {
|
||||||
|
|
@ -13,8 +13,9 @@ resource "stackit_mongodbflex_instance" "example" {
|
||||||
}
|
}
|
||||||
version = "7.0"
|
version = "7.0"
|
||||||
options = {
|
options = {
|
||||||
type = "Single"
|
type = "Single"
|
||||||
snapshot_retention_days = 3
|
snapshot_retention_days = 3
|
||||||
|
point_in_time_window_hours = 30
|
||||||
}
|
}
|
||||||
backup_schedule = "0 0 * * *"
|
backup_schedule = "0 0 * * *"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -291,8 +291,7 @@ func (r *instanceResource) Schema(_ context.Context, _ resource.SchemaRequest, r
|
||||||
},
|
},
|
||||||
"point_in_time_window_hours": schema.Int64Attribute{
|
"point_in_time_window_hours": schema.Int64Attribute{
|
||||||
Description: descriptions["point_in_time_window_hours"],
|
Description: descriptions["point_in_time_window_hours"],
|
||||||
Optional: true,
|
Required: true,
|
||||||
Computed: true,
|
|
||||||
PlanModifiers: []planmodifier.Int64{
|
PlanModifiers: []planmodifier.Int64{
|
||||||
int64planmodifier.UseStateForUnknown(),
|
int64planmodifier.UseStateForUnknown(),
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ var instanceResource = map[string]string{
|
||||||
"snapshot_retention_days": "4",
|
"snapshot_retention_days": "4",
|
||||||
"snapshot_retention_days_updated": "3",
|
"snapshot_retention_days_updated": "3",
|
||||||
"daily_snapshot_retention_days": "1",
|
"daily_snapshot_retention_days": "1",
|
||||||
|
"point_in_time_window_hours": "30",
|
||||||
}
|
}
|
||||||
|
|
||||||
// User resource data
|
// User resource data
|
||||||
|
|
@ -71,6 +72,7 @@ func configResources(version, backupSchedule, snapshotRetentionDays string) stri
|
||||||
type = "%s"
|
type = "%s"
|
||||||
snapshot_retention_days = %s
|
snapshot_retention_days = %s
|
||||||
daily_snapshot_retention_days = %s
|
daily_snapshot_retention_days = %s
|
||||||
|
point_in_time_window_hours = %s
|
||||||
}
|
}
|
||||||
backup_schedule = "%s"
|
backup_schedule = "%s"
|
||||||
}
|
}
|
||||||
|
|
@ -96,6 +98,7 @@ func configResources(version, backupSchedule, snapshotRetentionDays string) stri
|
||||||
instanceResource["options_type"],
|
instanceResource["options_type"],
|
||||||
snapshotRetentionDays,
|
snapshotRetentionDays,
|
||||||
instanceResource["daily_snapshot_retention_days"],
|
instanceResource["daily_snapshot_retention_days"],
|
||||||
|
instanceResource["point_in_time_window_hours"],
|
||||||
backupSchedule,
|
backupSchedule,
|
||||||
userResource["username"],
|
userResource["username"],
|
||||||
userResource["role"],
|
userResource["role"],
|
||||||
|
|
@ -129,6 +132,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.daily_snapshot_retention_days", instanceResource["daily_snapshot_retention_days"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.daily_snapshot_retention_days", instanceResource["daily_snapshot_retention_days"]),
|
||||||
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.point_in_time_window_hours", instanceResource["point_in_time_window_hours"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule"]),
|
||||||
|
|
||||||
// User
|
// User
|
||||||
|
|
@ -191,6 +195,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
|
||||||
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
||||||
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days"]),
|
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days"]),
|
||||||
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.daily_snapshot_retention_days", instanceResource["daily_snapshot_retention_days"]),
|
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.daily_snapshot_retention_days", instanceResource["daily_snapshot_retention_days"]),
|
||||||
|
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "options.point_in_time_window_hours", instanceResource["point_in_time_window_hours"]),
|
||||||
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule_read"]),
|
resource.TestCheckResourceAttr("data.stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule_read"]),
|
||||||
|
|
||||||
// User data
|
// User data
|
||||||
|
|
@ -274,6 +279,7 @@ func TestAccMongoDBFlexFlexResource(t *testing.T) {
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "version", instanceResource["version_updated"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "version", instanceResource["version_updated"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.type", instanceResource["options_type"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days_updated"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.snapshot_retention_days", instanceResource["snapshot_retention_days_updated"]),
|
||||||
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "options.point_in_time_window_hours", instanceResource["point_in_time_window_hours"]),
|
||||||
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule_updated"]),
|
resource.TestCheckResourceAttr("stackit_mongodbflex_instance.instance", "backup_schedule", instanceResource["backup_schedule_updated"]),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue