我正在将我们的一个 rds 实例导入到 terraform。
Terraform 计划显示 ~ 和 -
~ maintenance_window = "sat:06:10-sat:06:40" -> (known after apply)
- max_allocated_storage = 0 -> null
这两个值都没有在配置中定义,我想了解它为什么显示 - 我们是否也在模块中配置空变量?
使用 Terraform 0.12.28
答案 0 :(得分:2)
基本上:
~
值在状态中并且在计划之后正在改变-
该值处于该状态并且您正尝试将其删除(null
值)maintenance_window
显示 ~
是因为它的值会发生变化,在您的特定情况下,它的值是计算出来的,因此在应用更改后就知道了。来自文档:
maintenance_window -(可选)执行维护的窗口。语法:“ddd:hh24:mi-ddd:hh24:mi”。例如:“周一:00:00-周一:03:00”。有关详细信息,请参阅 RDS 维护期文档。
如果该窗口适合您,您可以将其指定为参数或让 Terraform 将其更改为默认值。
max_allocated_storage
显示 -
是因为当您在状态中导入资源时,它导入了所有 Terraform 已知参数,但您没有指定该参数。特别是来自文档:
max_allocated_storage -(可选)配置后,Amazon RDS 可以自动扩展数据库实例存储的上限。配置此项将自动忽略与 allocation_storage 的差异。必须大于或等于 allocation_storage 或 0 才能禁用存储自动缩放。
在这种情况下,您可以设置 max_allocated_storage = 0
以便不显示该参数的计划中的任何更改