我试图用参考发送私人IPS(CONCAT(变量(“NICNAME”),0))。ipConfigurations [0] .properties.privateIPAddress基于创建的VM数量custome分机,如果虚拟机的数量3.then 3个私人IPS应该传递给custome扩展,如果虚拟机的数量5.then 5个私有地址,应传递给custome extension.I定义了两个扩展,但其寻找depencies。
"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的使用细节。“。所以,我试图定义一个custome扩展,它会处理这两个条件。
您可以使用if()
功能门它们:
if(equals(variables('numberOfVM'), 5), reference(concat(variables('nicName'), 3)).ipConfigurations[0].properties.privateIPAddress, '')
你需要重复此为参考函数所有出现