Terraform变量判断:根据变量是否设置选择实例前缀
Terraform 实例前缀动态配置方案
可以通过Terraform的条件表达式实现根据var.project_name是否设置来动态选择实例前缀:当变量值不为null时使用local.instance_prefix_new,否则使用local.instance_prefix。
修改后的完整配置
variable "project_name" { type = string default = null } locals { instance_prefix = "${data.openstack_identity_auth_scope_v3.project.project_name}.${data.openstack_compute_availability_zones_v2.zones.names[0]}" instance_prefix_new = "${var.project_name}.${data.openstack_compute_availability_zones_v2.zones.names[0]}" } # 应用动态前缀逻辑的name配置 name = "${var.project_name != null ? local.instance_prefix_new : local.instance_prefix}.${var.instance_name}${format("%02d", count.index + 1)}"
逻辑说明
- 条件表达式
var.project_name != null ? A : B会判断变量是否已设置:- 若
var.project_name有有效值(非null),则返回local.instance_prefix_new - 若变量未设置(保持默认null),则返回
local.instance_prefix
- 若
- 最终的实例名称会由选中的前缀、
var.instance_name以及格式化后的索引值拼接而成。
内容的提问来源于stack exchange,提问作者patrick_s
相关产品推荐
相关产品推荐

