#arrays #copy #arm-template
Вопрос:
Я исследовал это и просто не могу заставить синтаксис работать, есть ли лучший способ? все мои другие значения шлюза отлично работают в копии, однако это только внутренний пул, который имеет несколько значений в пределах значения массива.
необходимость: у меня есть несколько шлюзов приложений с несколькими внутренними пулами с несколькими ip-адресами. каждый пул должен быть связан с другим правилом.
проблема: не удается исправить синтаксис в цикле копирования массива для внутреннего пула.
Файл параметров:
"appGateway":
{
"value": [
{
"gatewayname": "labgwy",
"location": "EAST US 2",
"skuname": "Standard_Small",
"skutier": "Standard",
"capacity": 1,
"PoolMembers": [
{"backendAddressPoolName": "pool1", "ip": "['10.13.216.242','10.13.216.202']"}
],
файл модуля:
"resources": [
{
"type": "Microsoft.Network/applicationGateways",
"apiVersion": "2020-11-01",
"name": "[parameters('AppGateway')[copyIndex()].gatewayname]",
"tags": "[parameters('tags')]",
"location": "[parameters('AppGateway')[copyIndex()].location]",
"copy": {
"name": "gatewayloop",
"count": "[length(parameters('AppGateway'))]",
"mode": "Parallel"
},
.
.
.
.
"copy":[
{
"name": "backendAddressPools",
"count": "[length(parameters('AppGateway')[copyindex('gatewayloop')].poolmembers)]",
"input": {
"name": "[parameters('AppGateway')[copyIndex('gatewayloop')].poolmembers[copyIndex('backendAddressPools')].backendAddressPoolName]",
"properties": {
"backendAddresses": [
{
"ipAddress": "[parameters('AppGateway')[copyIndex('gatewayloop')].poolmembers[copyIndex('backendAddressPools')].ip]"
}
]
}
}
},