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

标签 directory structure terraform backend devops

目前,我正在开发一个 azure 基础设施,其中包括以下内容:

  • 资源组
  • 应用网关
  • 应用服务

  • 我拥有的一切都集中在一个 main.tf我知道这是一个错误的文件,但我想从那里开始。我目前正在尝试将每个部分移动到我的 repo 中自己的子文件夹中。看起来像这样:
    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 repo 中设置多个逻辑上组织的子文件夹的正确方法是什么?或者我是否必须破坏我当前的环境才能像这样设置它?

    最佳答案

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

    关于directory - 在 terraform repo 中设置多个逻辑上组织的子文件夹的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60041854/

    相关文章:

    android - 嵌套目录创建者 : Phonegap

    terraform - 迭代 Terraform 本地列表中的资源值列表

    amazon-web-services - 如何通过 ASG 使用 Terraform 获取 EC2 实例的私有(private) IP

    c++ - 硬币翻转计数游戏 C++ 数据结构!

    azure - 当我在 terraform 中运行 cidrsubnet 函数时,我得到 'prefix extension of 3 does not accommodate a subnet numbered 8' 。为什么是这样?

    PHP For 循环不读取文件

    windows - 如何按照 Windows 快捷方式进入 cmd.exe 中的子目录?

    java - Android/Java - 带条件的递归扫描

    c - 将txt文件的结构加载到动态数组

    c - 动态结构体数组