导入terraform aws_iam_policy
问题描述:
我想导入一个terraform aws_iam_policy,它会自动添加自动化我不拥有。进口似乎工作,但一旦我运行一个terraform计划我得到以下错误导入terraform aws_iam_policy
* aws_iam_policy.mypolicy1: "policy": required field is not set
我运行terraform进口如下。
terraform import aws_iam_policy.mypolicy1 <myarn>
这里是我的相关terraform配置
resource "aws_iam_policy" "mypolicy1" {
}
resource "aws_iam_role_policy_attachment" "mypolicy1_attachment`" {
role = "${aws_iam_role.myrole1.name}"
policy_arn = "${aws_iam_policy.mypolicy1.arn}"
}
resource "aws_iam_role" "myrole1" {
name = "myrole1"
assume_role_policy = "${file("../policies/ecs-role.json")}"
}
我仔细检查了该terraform.tfstate包括我试图导入策略。还有什么我在这里失踪?
答
您仍然需要在Terraform配置中提供必需的字段以使计划生效。
如果您从配置中删除aws_iam_policy
资源并在导入策略后运行计划,您应该看到Terraform想要销毁该策略,因为它处于状态文件中,但不在配置中。
只需设置您的aws_iam_policy
资源以匹配导入的策略,然后计划应该不会显示更改。
+0
谢谢。这些文档对于如何工作很困惑。 – chrisevett
正如ydaetskcoR已经指出的那样,您需要添加terraform配置来“创建”现有资源,以及将现有资源添加到状态文件。你可能会发现[terraforming](https://github.com/dtan4/terraforming)这个有用的工具。 –