【发布时间】:2021-10-27 02:45:27
【问题描述】:
我很久以前使用控制台在 AWS 中创建了一些资源,包括 VPC、...,现在我想将它们导入 Terraform。我已经为我的项目制作了一个结构,例如:
└── project_xxx
├── main.tf
├── modules
│ ├── module_foo
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ├── module_bar
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ ...
├── outputs.tf
├── provider.tf
├── README.md
├── terraform.tfvars
├── variables.tf
└── versions.tf
但是当我尝试在他们的模块中导入资源时,Terraform 给出一个错误并要求在根目录中创建它们。 有什么建议吗?
例如: 在 modules/module_foo/main.tf 中,我有以下代码:
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
instance_tenancy = "default"
tags = {
Name = "main"
}
}
然后:在根目录下,我执行以下命令:
terraform init
terraform plan # it shows one resource will be added
terraform import aws_vpc.main vpc-xxx1234
然后我得到错误,资源必须在根目录下创建。
【问题讨论】:
-
添加您正在尝试的命令、您尝试导入的资源的名称以及错误输出本身会很有帮助。
-
@MarkoE 我编辑了我的问题。
标签: amazon-web-services terraform