问题描述
我正在尝试使用 terraform 配置 Postgresql 的自动备份保留期。但是我无法传递 backup_retention_settings
的值,无论我提供什么值,我都会收到错误消息。
错误:输入变量的值无效
在 terraform.tfvars 第 3 行:3:backup_configuration = {
4:启用 = 真 5:开始时间
= "20:00" 6: location = null 7: point_in_time_recovery_enabled = false 8: 9: }
给定的值对变量“backup_configuration”无效: 属性“backup_retention_settings”是必需的。
这是我的 Main.tf 的代码
dynamic "backup_configuration" {
for_each = [var.backup_configuration]
content {
binary_log_enabled = false
enabled = lookup(backup_configuration.value,"enabled",null)
start_time = lookup(backup_configuration.value,"start_time",null)
location = lookup(backup_configuration.value,"location",null)
point_in_time_recovery_enabled = lookup(backup_configuration.value,"point_in_time_recovery_enabled",false)
backup_retention_settings = lookup(backup_configuration.value,"backup_retention_settings",null)
}
}
来自 varaiables.tf
variable "backup_configuration" {
description = "The backup_configuration settings subblock for the database setings"
type = object({
enabled = bool
start_time = string
location = string
point_in_time_recovery_enabled = bool
backup_retention_settings = object({
retained_backups = string
retention_unit = string
})
})
default = {
enabled = false
start_time = null
location = null
point_in_time_recovery_enabled = false
backup_retention_settings = {
retained_backups = "10"
retention_unit = "10"
}
}
}
你能帮我吗,我如何将值传递给保留设置。
这是我使用的 terraform 模板。 https://github.com/terraform-google-modules/terraform-google-sql-db/pull/203/commits/d6082b691742af62b217ae200bbc18895cc6dac0
解决方法
point_in_time_recovery_enabled 仅适用于 PostgreSQL:
(可选)如果启用了时间点恢复,则为真。如果在创建实例后启用,将重新启动数据库。 仅对 PostgreSQL 实例有效。