是否可以在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,没有找到任何选项
3条答案
按热度按时间4dc9hkyq1#
Terraform建议的最佳实践是使用**workspaces**。
Terraform有一个默认的名称workspace,如果你没有创建的话。这个工作区很特别,因为它是默认的,也因为它永远不能被删除。
您可以使用以下命令创建一个新文件夹:
列表:
对于切换工作区:
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来说并不特殊,只是一个约定,通常用于只需要一个文件的简单模块。e4eetjau3#
长话短说,是的,你可以用任何前缀命名你的主文件。例如:假设您要在一个目录中创建两个资源。
您可以将它们命名为 vpc.tf 和 ec2.tf 沿着其他文件,如 terraform.tfvars、variables.tf、data.tf、* output.tf* 等。
本质上,它读取 . 扩展名之后的所有内容,并在目录中构建整个内容。