我正在尝试使用引用发送私有if (concat(variables(‘nicName’),0)).ipConfigurations.properties.privateIPAddress到客户扩展),如果vm的数量是3,那么3个私有if应该传递给客户扩展,如果vm的数量是5,那么5个私有if应该传递给客户扩展。我定义了两个扩展,但它正在寻找依赖。
"resources": [
{
"condition": "[equals(variables('numberOfVM'), 3)]",
"name": "config-app-3",
"type": "extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 0))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 1))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 2))]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.0",
"autoUpgradeMinorVersion": true,
"protectedSettings": {
"commandToExecute": "[concat('sh /home/centos/install_apache.sh \',' ','--ip-address \' ,reference(concat(variables('nicName'), 0)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 1)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 2)).ipConfigurations[0].properties.privateIPAddress)]"
}
}
},
{
"condition": "[equals(variables('numberOfVM'), 5)]",
"name": "config-app-5",
"type": "extensions",
"location": "[parameters('location')]",
"apiVersion": "2015-06-15",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 0))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 1))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 2))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 3))]",
"[concat('Microsoft.Compute/virtualMachines/', concat(parameters('vmName'), 4))]",
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.0",
"autoUpgradeMinorVersion": true,
"protectedSettings": {
"commandToExecute": "[concat('sh /home/centos/install_apache.sh \',' ','--ip-address \' , reference(concat(variables('nicName'), 0)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 1)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 2)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 3)).ipConfigurations[0].properties.privateIPAddress,' ', reference(concat(variables('nicName'), 4)).ipConfigurations[0].properties.privateIPAddress)]"
}
}
}
]我在部署模板时遇到下面的错误。‘模板引用'vm-nic-3’无效:找不到具有此名称的模板资源或资源副本。有关用法的详细信息,请参阅https://aka.ms/arm-template-expressions/#reference。所以我尝试定义一个客户扩展来处理这两种情况。
发布于 2019-02-06 18:15:13
您可以使用if()函数来选通它们:
if(equals(variables('numberOfVM'), 5), reference(concat(variables('nicName'), 3)).ipConfigurations[0].properties.privateIPAddress, '')对于所有引用函数的出现,您都需要重复此操作
https://stackoverflow.com/questions/54550708
复制相似问题