我有一个地形回购,其中包含多个模块如下。
root
|-modules
| |-module1
| | |- main.tf
| | |- variables
| | |- dev.tfvars
| | |- test.tfvars
| | |- prod.tfvars
| |-module2
| | |- main.tf
| | |- variables
| | |- dev.tfvars
| | |- test.tfvars
| | |- prod.tfvars
|-main.tf根的main.tf包括如下模块
module "module1"{
source = ./modules/module1
}
module "module1"{
source = ./modules/module1
}现在,对于这个结构,我需要添加特定于环境的tfvars文件,以提供该模块所需的变量。如果是单个模块,我可以重写变量。但在这种情况下却找不出越权。任何建议都是有用的。
发布于 2022-05-06 00:39:58
您必须将所有覆盖的变量显式传递给您的模块,从根开始。
发布于 2022-05-10 21:47:43
我将重组该项目,以便将环境细节从模块中删除。模块应该与环境无关。
root
|-modules
| |-module1
| | |- main.tf
| | |- variables
| |-module2
| | |- main.tf
| | |- variables
|-main.tf
|- dev.tfvars
|- test.tfvars
|- prod.tfvars将所需的var传递给模块调用。
module "module1"{
source = ./modules/module1
myvar1 = var.myvar1
myvar2 = var.myvar2
}
module "module2"{
source = ./modules/module2
myvar1 = var.myvar1
myvar2 = var.myvar2
}然后为部署到的环境选择tfvars文件。
terraform plan -var-file=dev.tfvarshttps://stackoverflow.com/questions/72133544
复制相似问题