首页 > 解决方案 > 升级到 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,这很耗时,因为我必须更改所有应用程序中的所有访问密钥。有没有更好的方法来解决这个问题?

标签: terraformterraform-provider-aws

解决方案


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 

推荐阅读