Я создал новый шаблон ARM с условиями в качестве параметра для частного и общего доступа c IP и количество виртуальных машин.
Я могу использовать шаблон с условиями для частного и общего пользования c IP, но не с Количество ВМ (копия) или я могу использовать шаблон с количеством ВМ, но не с условиями.
В разделе переменных я использую следующий код из GitHub https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-new-or-existing-conditions/azuredeploy.json для условия, для публикации c или частный IP:
"requirePublicIP":"[and(equals(parameters('NetworkInterfaceType'),'Public'),greater(parameters('PIPCount'),0))]",
"publicIP1": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',Concat(variables('virtualMachineName')))]"
}
В разделе ресурсов по networkInterfaces я использую следующий код из GitHub:
"publicIPAddress": "[if(variables('requirePublicIP'),variables('publicIP1'),json('null'))]"
Это работает нормально, но я не могу использовать без ВМ count (copy).
Если я использую VM count (copy), то используйте этот код из GitHub https://github.com/Azure/azure-quickstart-templates/blob/master/201-vm-copy-index-loops/azuredeploy.json:
"publicIPAddress":{
"id": "[resourceId('Microsoft.Network/publicIPAddresses',Concat(variables('virtualMachineName'),copyIndex(0),'-pip'))]"
}
Работает нормально, но я невозможно использовать условие для publi c и приватного IP-адреса.
Как объединить условия для publi c и частного IP-адреса и количества виртуальных машин?