#azure #arm-template
Вопрос:
Мне нужно создать пользовательский шаблон arm, который выполняет следующее:
- создание виртуальной сети-1
- создать виртуальную сеть-2
- создание пиринга из виртуальной сети-1 в виртуальную сеть-2
- создание пиринга из виртуальной сети-2 в виртуальную сеть-1
Я создал эти ресурсы вручную и сгенерировал соответствующий шаблон arm, но при попытке запустить шаблон я получаю ошибку циклической зависимости.
Любая помощь будет признательна!
Ответ №1:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "virtualNetworks_vnet1_name": { "defaultValue": "vnet1", "type": "String" }, "virtualNetworks_vnet2_name": { "defaultValue": "vnet2", "type": "String" } }, "variables": {}, "resources": [ { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2020-11-01", "name": "[parameters('virtualNetworks_vnet1_name')]", "location": "centralus", "dependsOn": [ ], "properties": { "addressSpace": { "addressPrefixes": [ "10.1.0.0/16" ] }, "enableDdosProtection": false } }, { "type": "Microsoft.Network/virtualNetworks", "apiVersion": "2020-11-01", "name": "[parameters('virtualNetworks_vnet2_name')]", "location": "centralus", "dependsOn": [ ], "properties": { "addressSpace": { "addressPrefixes": [ "10.2.0.0/16" ] }, "enableDdosProtection": false } }, { "type": "Microsoft.Network/virtualNetworks/subnets", "apiVersion": "2020-11-01", "name": "[concat(parameters('virtualNetworks_vnet1_name'), '/default')]", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet1_name'))]" ], "properties": { "addressPrefix": "10.1.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": "Enabled", "privateLinkServiceNetworkPolicies": "Enabled" } }, { "type": "Microsoft.Network/virtualNetworks/subnets", "apiVersion": "2020-11-01", "name": "[concat(parameters('virtualNetworks_vnet2_name'), '/default')]", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet2_name'))]" ], "properties": { "addressPrefix": "10.2.0.0/16", "delegations": [], "privateEndpointNetworkPolicies": "Enabled", "privateLinkServiceNetworkPolicies": "Enabled" } }, { "type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings", "apiVersion": "2020-11-01", "name": "[concat(parameters('virtualNetworks_vnet1_name'), '/peer1')]", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet1_name'))]", "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet2_name'))]" ], "properties": { "peeringState": "Connected", "remoteVirtualNetwork": { "id": "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet2_name'))]" }, "allowVirtualNetworkAccess": true, "allowForwardedTraffic": true, "allowGatewayTransit": false, "useRemoteGateways": false, "remoteAddressSpace": { "addressPrefixes": [ "10.2.0.0/16" ] } } }, { "type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings", "apiVersion": "2020-11-01", "name": "[concat(parameters('virtualNetworks_vnet2_name'), '/peer2')]", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet2_name'))]", "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet1_name'))]" ], "properties": { "peeringState": "Connected", "remoteVirtualNetwork": { "id": "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworks_vnet1_name'))]" }, "allowVirtualNetworkAccess": true, "allowForwardedTraffic": true, "allowGatewayTransit": false, "useRemoteGateways": false, "remoteAddressSpace": { "addressPrefixes": [ "10.1.0.0/16" ] } } } ]
}