在Terraform中,不同模块可以使用相同的vars文件。可以通过在不同模块中引用相同的vars文件来实现。
以下是一个示例:
在vars.tf文件中定义变量:
variable "example_var" {
description = "An example variable"
type = string
}
在module1/main.tf中使用vars文件:
variable "example_var" {}
resource "aws_instance" "example" {
ami = var.example_var
instance_type = "t2.micro"
}
在module2/main.tf中使用相同的vars文件:
variable "example_var" {}
resource "aws_instance" "example" {
ami = var.example_var
instance_type = "t2.nano"
}
可以看到,在module1和module2中,都通过variable
块来引用了相同的vars文件。这样就可以在不同模块中使用相同的vars文件了。
当执行Terraform命令时,可以通过-var
参数来传递具体的值给vars文件:
terraform apply -var="example_var=ami-12345678"
这将会将example_var
变量的值设置为ami-12345678
,并应用到所有引用了该vars文件的模块中。