variables.tf和terraform.tfvars之间有什么区别?

variables.tf和terraform.tfvars之间有什么区别?,terraform,Terraform,变量.tf和地形.tfvars之间有什么区别?两者都可以定义(赋值)变量,对吗?在这两种方法中定义的变量的范围或行为有什么不同吗?就给变量赋值而言,可以用一个来代替另一个吗? variables.tf-在这里,您定义了必须具有值的变量,以便Terraform代码验证和运行。您还可以在此文件中定义变量的默认值。请注意,您不需要在名为variables.tf的文件中定义所有变量-它们可以在任何地方定义,但出于组织目的,鼓励使用这种做法 terraform.tfvars-此文件包含一个或多个varia

变量.tf
地形.tfvars
之间有什么区别?两者都可以定义(赋值)变量,对吗?在这两种方法中定义的变量的范围或行为有什么不同吗?就给变量赋值而言,可以用一个来代替另一个吗?

  • variables.tf
    -在这里,您定义了必须具有值的变量,以便Terraform代码验证和运行。您还可以在此文件中定义变量的默认值。请注意,您不需要在名为
    variables.tf
    的文件中定义所有变量-它们可以在任何地方定义,但出于组织目的,鼓励使用这种做法

  • terraform.tfvars
    -此文件包含一个或多个
    variablename
    =
    variablevalue
    对。当Terraform加载此文件时,它会在Terraform中查找名为
    variablename
    的任何变量,并将其值设置为
    variablevalue
    。这里不能定义新变量,只能设置
    variables.tf
    中定义的现有变量的值


variables.tf
中创建并可能赋值。一个正常的用例是您有一个模块,您需要在其中分配资源中的
name
。然后还可以创建一个名为
name
的变量。因此,根据您的定义,您需要完成以下任务:

name = "${var.name}"
运行
terraform plan
terraform apply
时,需要设置所有变量。您可以在实际代码中设置它们,如
name=“test”
,在执行时出现提示时将它们输入控制台,或者通过运行
terraform apply-var file terraform.tfvars
将它们传递到命令中


tfvars
文件包含分配,可在多个环境中使用。通过将此文件传递到命令中,可以将值分配给相应的变量。例如,您可以使用它来分配区域、帐户ID等。如果这些文件包含敏感凭据,请确保
.gitignore
将其存储在单独的凭据处理程序中。

请添加一些详细信息:您在说什么语言(或lib?)?至少添加一些标签,为您的问题提供上下文。