Terraform:如何在variables.tf中声明必需(或可选)的变量?

Rya*_* Lv 8 terraform

这里我有一个variables.tf定义输入变量。

# Input variable definitions

variable "project" {
  description = "project name, e.g. paylocity, paychex, ultipro"
  type = string
}

variable "environment" {
  description = "the environment of project, e.g. production, sandbox, staging"
  type = string
  default = "sandbox"
}
Run Code Online (Sandbox Code Playgroud)

有没有办法将变量标记为必需或可选?

我脑海中的伪代码是这样的。

variable "project" {
  description = "project name, e.g. paylocity, paychex, ultipro"
  type = string
  presence = required (or optional)
}
Run Code Online (Sandbox Code Playgroud)

Rya*_* Lv 7

的目的variables.tf

Variables.tf - 在这里,您定义变量,must have values以便 Terraform 代码验证和运行。您还可以在此文件中定义变量的默认值。请注意,您不需要在名为的文件中定义所有变量

来自variables.tf 和 terraform.tfvars 有什么区别?

输入变量:默认值

变量声明还可以包含default参数。如果存在,则认为该变量是,optional并且如果在调用模块或运行 Terraform 时未设置值,则将使用默认值。默认参数需要一个文字值,并且不能引用配置中的其他对象。

来自 Terraform 文档

概括

  1. 所有定义的变量都必须具有值才能运行 Terraform 代码。

  2. 一旦为变量设置了默认值,它就变成可选的。