我有创建Azure虚拟机的模块。由于azure澳大利亚中部地区不支持区域,所以我想传递空列表。我刚试了一下,它没有像预期的那样工作。
terrafor版本:v0.11.13(注意-我不能从版本更新terrafor。它有很多依赖)
如果av_zone长度不为零:
zones=["${length(var.av_zone)} != 0 ? ${element(var.av_zone, count.index%length(var.av_zone))}"]
如果az_zone长度为0,则出现以下错误:
- module.create-vm-taskflow.azurerm_virtual_machine。virtualmachine[1]: __builtin_IntMath:除以0 in:
预期输出:
如果az_zone长度为0,则value应为空list []
如果az_zone长度不为零,则value应为[${element(var. value)]。av_zone, count.index %长度(var.av_zone))})
建议您使用此格式一次:
zones = "${length(var.az_zone) > 0 ? [${element(var.az_zone, count.index%length(var.az_zone))}] : 0}"
更多信息请参考github
讨论