温馨提示:本文翻译自stackoverflow.com,查看原文请点击:directory - What is the correct way to setup multiple logically organized sub folders in a terraform repo?
backend devops directory terraform structure

directory - 在terraform存储库中设置多个逻辑组织的子文件夹的正确方法是什么?

发布于 2020-04-14 16:30:12

目前,我正在研究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存储库中设置多个逻辑组织的子文件夹的正确方法是什么?还是我必须破坏我的当前环境才能进行这样的设置?

查看更多

提问者
Pablo Marti Cordero
被浏览
64
Mark B 2020-02-04 00:58

您正在看到此问题,因为terraform会忽略子文件夹,因此不再包含这些资源。您需要将子文件夹配置为Terraform Modules,然后将这些模块包含在根目录中main.tf