rds_max_allocated_storage = max(var.rds_max_allocated_storage, var.rds_allocated_storage)
rds_instance_type = var.rds_instance_type
rds_backup_retention_period = var.rds_backup_retention_period
+ rds_backup_before_deletion = var.rds_backup_before_deletion
+ rds_final_backup_name = var.rds_final_backup_name != "" ? var.rds_final_backup_name : "arvados-${local.cluster_name}-db-final-snapshot"
rds_postgresql_version = var.rds_postgresql_version
}
db_name = "${local.cluster_name}_arvados"
username = local.rds_username
password = local.rds_password
- skip_final_snapshot = true
+ skip_final_snapshot = !local.rds_backup_before_deletion
+ final_snapshot_identifier = local.rds_final_backup_name
vpc_security_group_ids = [local.arvados_sg_id]
db_subnet_group_name = aws_db_subnet_group.arvados_db_subnet_group[0].name
# rds_allocated_storage = 200
# rds_max_allocated_storage = 1000
# rds_backup_retention_period = 30
+# rds_backup_before_deletion = false
+# rds_final_backup_name = ""
# AWS secret's name which holds the SSL certificate private key's password.
# Default: "arvados-ssl-privkey-password"
}
variable "rds_backup_retention_period" {
- description = "RDS Backup retention (days). Set to 0 to disable."
+ description = "RDS Backup retention (days). Set to 0 to disable"
type = number
default = 7
+ validation {
+ condition = (var.rds_backup_retention_period <= 35)
+ error_message = "rds_backup_retention_period should be less than 36 days"
+ }
+}
+
+variable "rds_backup_before_deletion" {
+ description = "Create a snapshot before deleting the RDS instance"
+ type = bool
+ default = true
+}
+
+variable "rds_final_backup_name" {
+ description = "Snapshot name to use for the RDS final snapshot"
+ type = string
+ default = ""
}
variable "rds_postgresql_version" {