【发布时间】:2018-05-16 08:54:42
【问题描述】:
我正在开发 Azure 资源管理器模板,目前我为 NSG、路由表和带有 NSG 和 UDR 的子网开发了 ARM 模板。
我编写了以下代码行,用于将子网以及 NSG 和 UDR 添加到现有虚拟网络中。
"resources": [{
"apiVersion": "2017-10-01",
"type": "Microsoft.Network/virtualNetworks/subnets",
"copy": {
"name": "subnetCopy",
"mode": "serial",
"count": "[length(parameters('subnetNames'))]"
},
"name": "[ concat( parameters('existingVNETName'), '/', parameters('subnetNames')[copyIndex()] ) ]",
"location": "[resourceGroup().location]",
"properties": {
"addressPrefix": "[parameters('subnetAddresses')[copyIndex()]]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('subnetNSGs')[copyIndex()])]"
},
"routeTable": {
"id": "[resourceId('Microsoft.Network/routeTables', parameters('subnetUDRs')[copyIndex()])]"
}
}
}]
只有当虚拟网络、NSG 和 UDR 在同一个资源组中时,上述代码才有效。但是,每当我将上述代码部署到不同的资源组时,我都会收到类似“在此资源组中找不到虚拟网络资源”的错误。实际上虚拟网络位于具有相同位置的其他资源组中。
任何人都可以根据我的上述要求建议我如何修改上述代码吗?
【问题讨论】:
标签: azure azure-resource-manager subnet azure-virtual-network