BICEP 模块部署虚拟网络,但不是基于 if 语句的 NSG

Posted

技术标签:

【中文标题】BICEP 模块部署虚拟网络,但不是基于 if 语句的 NSG【英文标题】:BICEP module deploy virtual network, but not NSG based upon if statement 【发布时间】:2021-11-01 05:51:11 【问题描述】:

我有一个基本的 BICEP 模块,它部署了一个带有子网和 NSG 的虚拟网络。其中 1 个子网用于 azure 防火墙。天蓝色防火墙子网无法连接到 NSG,因此我设置了不将 nsg 部署到天蓝色防火墙子网的条件,但我无法使其正常工作。当它运行时返回一个错误:

      
    "code": "MissingJsonReferenceId",
    "message": "Value for reference id is missing. Path properties.subnets[6].properties.networkSecurityGroup."
  ,

条件是

id: VNetSettings.subnets[j].unique == false  ?  json('"id": "[resourceId(\'Microsoft.Network/networkSecurityGroups\', concat(\'nsg-snet-$vNetName-$VNetSettings.subnets[j].name\'))]"') : json('null')

条件评估VnetSettings.subnets.unique == false,如果false,则将部署nsg,但如果VNetSettings.subnets.unique == true,则它应该是json('null'),而不是部署NSG。

false 子网部署并附加 NSG,但 true 抛出此错误:

    "code": "MissingJsonReferenceId",
    "message": "Value for reference id is missing. Path properties.subnets[6].properties.networkSecurityGroup."
  ,

请人帮忙:(

谢谢

【问题讨论】:

【参考方案1】:

我现在已经开始工作了。诀窍是将条件放在properties 而不是networkSecurityGroup 属性中

【讨论】:

以上是关于BICEP 模块部署虚拟网络,但不是基于 if 语句的 NSG的主要内容,如果未能解决你的问题,请参考以下文章

基于遗传和虚拟力优化算法的WSN无线传感器网络节点二维/三维部署覆盖率问题matlab仿真

Right-BICEP单元测试

CentOS7中基于rpm包方式安装部署apm(php module模块) + xcache

网络云存储技术Windows server 2012 (项目十八 部署高可用链路的iSCSI(基于MPIO))

网络云存储技术Windows server 2012 (项目十八 部署高可用链路的iSCSI(基于MPIO))

在Nginx中部署基于IP的虚拟主机