Terraform 尝试销毁导入的 AWS IAM 用户
Terraform tries to destroy the imported AWS IAM user
我正在尝试将现有的 AWS IAM 用户导入 terraform。
(现在,同时存在 Terraform 托管和非托管 IAM 用户。)
所以我 运行 为像 userA
这样的非托管 IAM 用户进行了如下导入,它是成功的并且可以在 tfstate 文件中看到它。
terraform import aws_iam_user.create-users userA
然后我在我的 terraform 变量中添加了 userA
到 运行 看看 terraform 是否承认,但是当 运行 [=17= 时它一直试图破坏 userA
].
如何在不销毁的情况下设置托管的 Terraform userA
?
我的 terraform 脚本如下所示。
# main.tf
resource "aws_iam_user" "create-users" {
for_each = var.users
name = each.key
}
#user.auto.tfvars
users = {
"testuser1" = {
group = ["Admin"]
},
"testuser2" = {
group = ["User"]
},
"userA" = {
group = ["not managed"]
}
}
编辑:
我尝试了没有 for_each 的直接资源,如下所示,然后 terraform 被识别。
#direct.tf
resource "aws_iam_user" "existing" {
name = "userA"
}
您应该包括键名。
terraform import 'aws_iam_user.create-users["userA"]' userA
我正在尝试将现有的 AWS IAM 用户导入 terraform。
(现在,同时存在 Terraform 托管和非托管 IAM 用户。)
所以我 运行 为像 userA
这样的非托管 IAM 用户进行了如下导入,它是成功的并且可以在 tfstate 文件中看到它。
terraform import aws_iam_user.create-users userA
然后我在我的 terraform 变量中添加了 userA
到 运行 看看 terraform 是否承认,但是当 运行 [=17= 时它一直试图破坏 userA
].
如何在不销毁的情况下设置托管的 Terraform userA
?
我的 terraform 脚本如下所示。
# main.tf
resource "aws_iam_user" "create-users" {
for_each = var.users
name = each.key
}
#user.auto.tfvars
users = {
"testuser1" = {
group = ["Admin"]
},
"testuser2" = {
group = ["User"]
},
"userA" = {
group = ["not managed"]
}
}
编辑: 我尝试了没有 for_each 的直接资源,如下所示,然后 terraform 被识别。
#direct.tf
resource "aws_iam_user" "existing" {
name = "userA"
}
您应该包括键名。
terraform import 'aws_iam_user.create-users["userA"]' userA