Terraform模块变量传递至局部值的逻辑疑问与确认
Terraform Azure策略定义模块变量逻辑说明
你的理解完全正确,具体流程如下:
- 调用该模块时,你传入的
var.policy_name值会被模块接收 - 模块内的
locals代码块会对这个传入的值进行处理(比如标准化命名格式、补充前缀/后缀,或是在未传入值时自动生成合规名称,具体逻辑取决于locals中的代码) - 处理后的结果会存入
local.policy_name,最终作为azurerm_policy_definition资源的name参数值使用
补充说明:将var.policy_name的默认值设为空字符串是Terraform模块的常见设计思路——既支持调用者主动指定自定义名称,也能在未指定时让模块自动生成符合规范的名称,兼顾灵活性和命名合规性。
内容的提问来源于stack exchange,提问作者user211245
相关产品推荐
相关产品推荐

