Я создаю шаблон Azure ARM. Я использую объявление copy
, чтобы избежать повторения моего кода;однако я обнаружил, что это часто приводит к самому повторению. Рассмотрим следующий пример из ARM Lab 6 :
"variables": {
"hubID": "[if(parameters('peer'), resourceId(parameters('hub').resourceGroup, 'Microsoft.Network/virtualNetworks/', parameters('hub').vnet.name), '')]",
"spokeID": "[resourceId('Microsoft.Network/virtualNetworks/', parameters('spoke').vnet.name)]",
"copy": [
{
"name": "subnets",
"count": "[length(parameters('spoke').subnets)]",
"input": {
"name": "[parameters('spoke').subnets[copyIndex('subnets')].name]",
"addressPrefix": "[parameters('spoke').subnets[copyIndex('subnets')].addressPrefix]",
"id": "[concat(resourceId('Microsoft.Network/virtualNetworks/', parameters('spoke').vnet.name), '/subnets/', parameters('spoke').subnets[copyIndex('subnets')].name)]"
}
}
]
}
Выражение parameters('spoke').subnets[copyIndex('subnets')]
повторяется несколько раз. Есть ли способ присвоения результата этого copy
-индексированного выражения переменной, на которую затем можно ссылаться в объявлении copy
?