azure 将www.example.com地形main.tf化为不同的命名约定

qmelpv7a  于 2023-02-13  发布在  其他
关注(0)|答案(3)|浏览(87)

是否可以在terraform中使用www.example.com以外的其他名称main.tf
我有两个main.tf文件,一个用于tfstate执行,另一个用于项目执行。我计划将这两个文件保存在同一级别的目录中,并调用类似

terraform init/plan/apply -main-file=tfstate.tf
terraform init/plan/apply -main-file=project.tf

我检查了https://www.terraform.io/docs/cli/commands/plan.html,没有找到任何选项

4dc9hkyq

4dc9hkyq1#

Terraform建议的最佳实践是使用**workspaces**。
Terraform有一个默认的名称workspace,如果你没有创建的话。这个工作区很特别,因为它是默认的,也因为它永远不能被删除。
您可以使用以下命令创建一个新文件夹:

terraform workspace new dev

列表:

terraform workspace list

对于切换工作区:

terraform workspace select dev
enxuqcxy

enxuqcxy2#

在Terraform中,单个文件的名称并不重要,相反,Terraform可以处理整个目录。
为了达到你所描述的效果,你应该把你的.tf文件放在不同的目录中,然后你可以依次切换到每个目录来运行terraform apply,或者你可以使用-chdir全局选项来要求Terraform在运行apply操作之前自己切换目录:

  • terraform -chdir=tfstate apply,用于tfstate子目录中的.tf文件
  • terraform -chdir=project apply,用于子目录project中的.tf文件

Terraform总是一次处理整个目录,所以没有办法告诉Terraform一次只查看一个文件。文件名main.tf对Terraform来说并不特殊,只是一个约定,通常用于只需要一个文件的简单模块。

e4eetjau

e4eetjau3#

长话短说,是的,你可以用任何前缀命名你的主文件。例如:假设您要在一个目录中创建两个资源。

  • 虚拟PC
  • EC2

您可以将它们命名为 vpc.tfec2.tf 沿着其他文件,如 terraform.tfvarsvariables.tfdata.tf、* output.tf* 等。
本质上,它读取 . 扩展名之后的所有内容,并在目录中构建整个内容。

相关问题