我有一个 Terraform 模块,它根据变量设置管理员密码
admin_password = "${var.local_admin_password}"
但是,var.local_admin_password
不再是密码可以来自的唯一地方。我需要将逻辑更改为以下内容:
admin_password = "${var.local_admin_password != "" ? var.local_admin_password : module.secrets.local_admin_password}"
如果local_admin_password
提供了它,它会使用它,但如果没有提供它,那么它应该从秘密模块获取密码。
这对新资源非常有用。但是将其应用于旧资源会触发对其敏感变量的更改,admin_password
从而触发新资源。旧资源将全部local_admin_password
提供,因此价值实际上并没有改变。
有没有办法让 Terraform 识别出数据实际上是相同的并且不会触发资源更改?