terraform - 升级到 0.13 后如何修复 Terraform 不支持的属性“ses_smtp_password”?
问题描述
升级后,我在运行时收到如下消息terraform plan
:
Error: Invalid resource instance data in state
on iam_server_backup.tf line 4:
4: resource "aws_iam_access_key" "backup" {
Instance aws_iam_access_key.backup data could not be decoded from
the state: unsupported attribute "ses_smtp_password".
我修复它的方法是删除状态(terraform state rm aws_iam_access_key.backup
)。但是,这会在我运行时创建新的访问密钥terraform apply
,这很耗时,因为我必须更改所有应用程序中的所有访问密钥。有没有更好的方法来解决这个问题?
解决方案
unsupported attribute "ses_smtp_password"
我在更新我的 aws terraform 提供程序时遇到了同样的问题,并且能够通过手动下载和修改状态来修复它。
terraform state pull > state.json
现在编辑state.json
和
- 删除任何行
ses_smtp_password
- 增加
serial
属性(例如"serial": 21,
->"serial": 22,
) - 节省
terraform state push state.json
terraform plan # should work again
可选的,但是这样你就不会意外地提交你的状态文件
rm state.json