Amazon web services 导入terraform aws_iam_策略
我正在尝试导入一个terraform aws_iam_策略,该策略由我不拥有的自动化自动添加。导入似乎有效,但一旦我运行地形计划,就会出现以下错误Amazon web services 导入terraform aws_iam_策略,amazon-web-services,terraform,Amazon Web Services,Terraform,我正在尝试导入一个terraform aws_iam_策略,该策略由我不拥有的自动化自动添加。导入似乎有效,但一旦我运行地形计划,就会出现以下错误 * aws_iam_policy.mypolicy1: "policy": required field is not set 我正在运行terraform导入,如下所示 terraform import aws_iam_policy.mypolicy1 <myarn> 我仔细检查了terraform.tfstate是否包含我试图导入
* aws_iam_policy.mypolicy1: "policy": required field is not set
我正在运行terraform导入,如下所示
terraform import aws_iam_policy.mypolicy1 <myarn>
我仔细检查了terraform.tfstate是否包含我试图导入的策略。这里还有什么我遗漏的吗?您仍然需要在地形配置中提供所需的字段,以使计划生效 如果从配置中删除
aws\u iam\u策略
资源,并在导入策略后运行计划,您应该会看到Terraform想要销毁策略,因为它在状态文件中,但不在配置中
只需将您的
aws\u iam\u策略
资源设置为与导入的策略相匹配,然后计划将不会显示任何更改。谢谢。文档中确实混淆了这应该如何工作。正如ydaetskcoR已经指出的,您需要添加地形配置来“创建”现有资源,以及将现有资源添加到状态文件中。您可能会找到一个有用的工具来帮助您完成这项工作。
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")}"
}