diff --git a/CHANGELOG.md b/CHANGELOG.md index f4b955b07e0..7ed1e898338 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - S3 operations in `@cumulus/aws-client` now support optional jitter via `S3_JITTER_MAX_MS` environment variable - Jitter is applied to: `headObject`, `putObject`, `copyObject`, `getObject`, `downloadS3File`, `promiseS3Upload`, and `multipartCopyObject` +- **CUMULUS-4218** + - Added `restore_to_point_in_time` to `cumulus-rds-tf` rds-cluster + - Added `restore_type` and `use_latest_restorable_time` variables for PITR configuration + ### Changed - **CUMULUS-4155** diff --git a/example/rds-cluster-tf/main.tf b/example/rds-cluster-tf/main.tf index a0a233fd2b0..9d81d47d475 100644 --- a/example/rds-cluster-tf/main.tf +++ b/example/rds-cluster-tf/main.tf @@ -31,4 +31,6 @@ module "rds_cluster" { enable_upgrade = var.enable_upgrade parameter_group_family_v13 = var.parameter_group_family_v13 parameter_group_family_v17 = var.parameter_group_family_v17 + restore_type = var.restore_type + use_latest_restorable_time = var.use_latest_restorable_time } diff --git a/example/rds-cluster-tf/variables.tf b/example/rds-cluster-tf/variables.tf index 062c163e795..b78be99a367 100644 --- a/example/rds-cluster-tf/variables.tf +++ b/example/rds-cluster-tf/variables.tf @@ -121,3 +121,15 @@ variable "parameter_group_family_v17" { type = string default = "aurora-postgresql17" } + +variable "restore_type" { + description = "Type of restore to be performed." + type = string + default = "full-copy" +} + +variable "use_latest_restorable_time" { + description = "Boolean for whether to set the database cluster to the latest restorable backup time." + type = bool + default = false +} diff --git a/tf-modules/cumulus-rds-tf/main.tf b/tf-modules/cumulus-rds-tf/main.tf index 695afebe10e..7b8d00fd4d5 100644 --- a/tf-modules/cumulus-rds-tf/main.tf +++ b/tf-modules/cumulus-rds-tf/main.tf @@ -114,6 +114,12 @@ resource "aws_rds_cluster" "cumulus" { lifecycle { ignore_changes = [engine_version] } + + restore_to_point_in_time { + source_cluster_identifier = var.cluster_identifier + restore_type = var.restore_type + use_latest_restorable_time = var.use_latest_restorable_time + } } resource "aws_rds_cluster_instance" "cumulus" { diff --git a/tf-modules/cumulus-rds-tf/variables.tf b/tf-modules/cumulus-rds-tf/variables.tf index 9123141543a..4d26e850aa9 100644 --- a/tf-modules/cumulus-rds-tf/variables.tf +++ b/tf-modules/cumulus-rds-tf/variables.tf @@ -210,3 +210,15 @@ variable "lambda_timeouts" { type = map(number) default = {} } + +variable "restore_type" { + description = "Type of restore to be performed." + type = string + default = "full-copy" +} + +variable "use_latest_restorable_time" { + description = "Boolean for whether to set the database cluster to the latest restorable backup time." + type = bool + default = false +}