目前,我正在研究azure的基础架构,其中包括以下内容:
我拥有的所有main.tf
文件都放在一个文件中,我知道这是一个错误,但是我想从那里开始。我目前正在尝试将每个部分移到我的存储库中自己的子文件夹中。看起来像这样:
terraform-repo/
├── applicationGateway/
│ ├── main.tf
│ ├── vars.tf
├── appService/
│ ├── main.tf
│ └── vars.tf
├── main.tf
└── vars.tfvars
但是,当我尝试从单个文件结构中移出该文件时,我遇到了我的远程状态的问题,该状态要删除当前不在子文件夹中的任何内容。例如,如果我想运行,terraform apply applicationGateway
我将得到以下信息:
# azurerm_virtual_network.prd_vn will be destroyed
Plan: 0 to add, 2 to change, 9 to destroy.
在terraform存储库中设置多个逻辑组织的子文件夹的正确方法是什么?还是我必须破坏我的当前环境才能进行这样的设置?
您正在看到此问题,因为terraform会忽略子文件夹,因此不再包含这些资源。您需要将子文件夹配置为Terraform Modules,然后将这些模块包含在根目录中main.tf