You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform如何在variables.tf中声明必填/可选输入变量?

Terraform变量必填/可选标记规则

Terraform没有你设想的presence专用字段来标记变量必填/可选属性,其内置判定逻辑如下:

  • 必填变量:变量定义块中不设置default参数即可。运行时如果用户未传入该变量的值,Terraform会直接抛出错误终止执行,要求用户补充该变量值。你示例中的project变量就属于必填变量。
  • 可选变量:变量定义块中设置default参数即可。运行时如果用户未传入该变量的值,Terraform会自动使用预设的默认值。你示例中的environment变量就属于可选变量。

如果需要显式标注让代码可读性更高,可以直接把必填/可选标识写入description字段,示例如下:

variable "project" {
  description = "[必填] 项目名称,例如 paylocity、paychex、ultipro"
  type = string
}

variable "environment" {
  description = "[可选] 项目部署环境,例如 production、sandbox、staging,默认值为 sandbox"
  type = string
  default = "sandbox"
}

注意:Terraform 0.14及后续版本提供的optional修饰符仅用于标注object类型变量的内部属性是否可选,不适用于顶级输入变量的必填/可选判定。

内容的提问来源于stack exchange,提问作者Ryan Lyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 15:27:03