Terraform配置NSG规则时locals块报错:块不允许+参数名禁引号
Terraform locals映射声明错误修复
你的代码存在两处语法错误导致报错,具体修复方案如下:
错误原因及对应修复
- locals变量声明格式错误
原代码中App_Inbound_Layer7Port_Map{采用了块语法,但Terraform的locals变量需要通过=赋值,正确写法应为App_Inbound_Layer7Port_Map = { ... }。 - 映射内键值对语法错误
Terraform的映射(map)内部键值对必须用=连接,不能使用冒号:,键名的引号可保留(适用于字符串类型键),但语法需统一。
修正后的完整代码
#Web tier subnet NSG rule ##local block for security rules locals { App_Inbound_Layer7Port_Map = { "990" = "80" "1000" = "443" } }
修正后即可通过for_each = local.App_Inbound_Layer7Port_Map遍历该映射,结合each.key和each.value批量生成NSG规则。
内容的提问来源于stack exchange,提问作者budhaditya baneerjee
相关产品推荐
相关产品推荐

