- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
What is the difference between variables.tf and terraform.tfvars?
(2 个回答)
2年前关闭。
我一直在研究这个,但找不到区别。 variables.tf 文件可以存储变量默认值/值,例如 terraform.tfvars 文件。
这两者之间有什么区别以及需要一个而不是另一个?我的理解是,如果您通过命令行将 var 文件作为 terraform 中的参数传递。
已经有一个关于此的线程,唯一的好处似乎是将 tfvars 文件作为参数传递,因为您可以“潜在地”在 variable.tf 文件中分配变量。
这是正确的想法吗?
最佳答案
它们之间的区别在于声明与赋值。variable
block (实际上可以出现在任何 .tf
文件中,但按照约定位于 variables.tf
中)声明变量存在:
variable "example" {}
example
的输入变量。说明这一点使得在模块的其他地方使用
var.example
来访问变量的值是有效的。
-var
或 terraform plan
命令行中包含 terraform apply
选项。 -var-file
选项以选择一个或多个 .tfvars
文件以一次设置多个变量的值。 terraform.tfvars
文件,或名为 .auto.tfvars
的文件,它们的处理方式与 -var-file
参数相同,但会自动加载。 module
block 内的变量。 .tfvars
文件对于这些副本中的每一个。
terraform.tfvars
和
.auto.tfvars
是在没有任何附加选项的情况下自动加载的,所以它们的行为类似于默认值,但它们的意图不同。当
running Terraform in automation 时,一些用户在运行 Terraform 之前让他们的自动化生成一个
terraform.tfvars
文件或
.auto.tfvars
以传递自动化知道的值,例如自动化运行的环境等。
.tfvars
文件和变量默认值之间的区别更加明显。
.tfvars
文件(和
-var
,
-var-file
选项)仅适用于
root module variables ,而变量默认值也适用于该模块用作子模块时,这意味着可以在
module
blocks 中省略具有默认值的变量。
关于terraform.tfvars 与 variables.tf 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56086286/
对于三种不同的环境,我希望能够根据环境动态设置变量。在下面的示例中,假设实例类型在 dev 和 prod 之间不同。我无法引用 instance_type在模块内,除非我有 vars.tf在我的 te
我正在尝试使用 Terraform 设置一些非常简单的东西,但它给了我一个我以前从未见过的错误。 当我运行 terraform validate -var-file=secrets.tfvars 时,
我是 Terraform 新手,正在编写脚本。以下是我的目录结构 folder ---.terraform ---..terraform.lock.hcl ---main.tf ---terrafor
这个问题在这里已经有了答案: What is the difference between variables.tf and terraform.tfvars? (2 个回答) 2年前关闭。 我一直在
我将通过 Terraform 管理数十个应用程序的 CDN 配置。我有一组 .tf 文件,其中包含所有配置中通用的所有默认常量设置,然后每个应用程序都有自己的 .tfvars 文件来保存其独特的设置。
我有一个非常简单的脚本(下面的脚本),它创建一个由 terraform 服务主体拥有的组,并添加由其用户主体名称 (UPN) 指定的组成员。我想通过在 dev.tfvars 文件中指定多个组和多个组成
以下是我的 AWS terraform 项目的文件夹结构: c:\terraform ├─modules │ └─ec2-fullstacks │ ├─main.tf
variables.tf有什么区别和 terraform.tfvars ?两者都可以为变量定义(赋值)对吗?这两者中定义的变量的范围或行为有什么不同吗?至于给变量赋值,可以用一个来代替另一个吗? 最佳
我在以下位置有这个 terraform.tfvars 文件: root |_prod |_eu-west-2 |_dev |_terraform.tfvars |_
我的目标是通过模块和 TFvar 在 Terraform 中实现日志分析工作区,以便将其用于其他环境 (DTAP)。我正在尝试此测试,但出现错误: 文件夹结构 env-tfvars\mg-sandbo
看来我的 .gitignore 并不像预期的那样正确。 $ git status On branch master No commits yet Changes to be committed:
我有一个像这样的子网模块: module "subnet" { source = "../../azurerm/azurerm-subnet" business_unit
(请注意:收到初步答案后,这个问题似乎不仅仅是传递变量的问题,而是模块化我的配置,请注意在底部我硬编码值但 UI 提示我提供值) Code example here 我有一个项目,我已经分解成以下目录
我确实使用 Azure、Terraform、Ansible、GIT 和 Visual Studio Team Service (VSTS) 设置了基础架构即代码 (IAC) 构建管道。我还在本地计算机
在几个月没有处理基础架构更改之后,我尝试在一台新机器上加载我们的 terragrunt 文件并遇到了几个错误,我找不到解决方案。 基本上看来,terraform.tfvars当有 *.auto.tfv
我有非常简单的管道,带有 Terraform Init、Plan 和 Apply 的经典管道,但是部署在中间失败了,所以我想销毁所有资源......(后端远程位于 Azure blob 容器上所以我在
我是一名优秀的程序员,十分优秀!