Bre*_*nor 1 terraform terraform-provider-aws
升级后,我在运行 a 时收到如下消息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".
Run Code Online (Sandbox Code Playgroud)
我修复它的方法是删除状态 ( terraform state rm aws_iam_access_key.backup)。但是,这在我运行时创建了新的访问密钥terraform apply,这很耗时,因为我必须更改所有应用程序中的所有访问密钥。有没有更好的方法来解决这个问题?
我unsupported attribute "ses_smtp_password"在更新 aws terraform 提供程序时遇到了同样的问题,并且能够通过手动下载和修改状态来修复它。
terraform state pull > state.json
Run Code Online (Sandbox Code Playgroud)
现在编辑state.json和
ses_smtp_passwordserial属性(例如"serial": 21,-> "serial": 22,)terraform state push state.json
terraform plan # should work again
Run Code Online (Sandbox Code Playgroud)
可选,但这样做是为了避免意外提交状态文件
rm state.json
Run Code Online (Sandbox Code Playgroud)
此错误与您升级到 Terraform 0.13 无关,实际上是由于从 AWS Terraform 提供程序的版本 2.x 升级到版本 3.x 造成的。如AWS Terraform 提供程序 3.0 升级指南中所述,您需要从使用切换ses_smtp_password到ses_smtp_password_v4.
进行此更改的原因是 SES 将在 2020 年 10 月停止接受旧类型的密码,因此您必须在此之前升级到使用版本 4 签名的密码。
如您所见,您需要从 Terraform 状态中删除旧密码,并让 Terraform 生成新ses_smtp_password_v4密码。
| 归档时间: |
|
| 查看次数: |
2716 次 |
| 最近记录: |