Назначьте UDR / таблицы маршрутизации подсети с шаблоном ARM - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь назначить таблицы маршрутизации подсети / виртуальной сети при создании таблиц маршрутов.Я не смог найти скрипт / свойство для добавления в скрипт.Может кто-нибудь, пожалуйста, помогите мне в этом.Я пытаюсь назначить таблицы маршрутизации подсети / виртуальной сети при создании таблиц маршрутов.Я не смог найти скрипт / свойство для добавления в скрипт.Может кто-нибудь, пожалуйста, помогите мне в этом.

{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "location": {
        "type": "string"
    },
    "name": {
        "type": "string"
    },
    "disableBgpRoutePropagation": {
        "type": "string"
    },
    "Spoke2AddressPrefix" :{
        "type": "string"
    },
    "HopIpaddress" : {
        "type": "string"
    },
    "VnetRGName" : {
        "type": "string"
    },
    "VnetName" : {
        "type": "string"
    },
    "SubnetName" : {
        "type": "string"
    }
},
"resources": [
    {
        "name": "[parameters('name')]",
        "type": "Microsoft.Network/routeTables",
        "apiVersion": "2018-08-01",
        "location": "[parameters('location')]",
        "dependsOn": [],
        "properties": {
            "disableBgpRoutePropagation": "[parameters('disableBgpRoutePropagation')]",
            "routes": [
                {
                  "name": "Spoke1-Hub",
                  "id" : "[concat(resourceId( parameters('VnetRGName'), 'Microsoft.Network/virtualNetworks', parameters('Vnetname')), 'Microsoft.Network/virtualNetworks/subnets', parameters('subnetname'))]",
                  "properties": {
                    "addressPrefix": "[parameters('Spoke2AddressPrefix')]",
                    "nextHopType": "VirtualAppliance",
                    "nextHopIpAddress": "[parameters('HopIpaddress')]"
                  }
                }
              ]
        }
    }
]

}

1 Ответ

0 голосов
/ 08 мая 2019

Обычно я перехожу на https://github.com/Azure/azure-quickstart-templates и ищу в хранилище примеры типов поставщиков, с которыми я хочу работать. Я нашел пример с Microsoft.Network/routeTables, который должен предоставить вам руководство. Вот ссылка на конкретный шаблон: https://github.com/Azure/azure-quickstart-templates/blob/master/201-userdefined-routes-appliance/azuredeploy.json

При определении ресурса Microsoft.Network/virtualNetworks и массива subnets в подсети существует свойство с именем routeTable, которое принимает идентификатор ресурса.

"routeTable": {
                "id": "[resourceId('Microsoft.Network/routeTables', variables('routeTableName'))]"
              }

Более длинный фрагмент шаблона ARM с двумя конкретными ресурсами:

...
    {
      "type": "Microsoft.Network/routeTables",
      "name": "[variables('routeTableName')]",
      "apiVersion": "2015-06-15",
      "location": "[parameters('location')]",
      "properties": {
        "routes": [
          {
            "name": "VirtualApplianceRouteToSubnet3",
            "properties": {
              "addressPrefix": "[variables('subnet3Prefix')]",
              "nextHopType": "VirtualAppliance",
              "nextHopIpAddress": "[variables('NvmPrivateIPAddress')]"
            }
          }
        ]
      }
    },
    {
      "apiVersion": "2015-06-15",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[variables('VNetName')]",
      "location": "[parameters('location')]",
      "dependsOn": [
        "[concat('Microsoft.Network/routeTables/', variables('routeTableName'))]",
        "[concat('Microsoft.Network/networkSecurityGroups/', variables('nsgname'))]"
      ],
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[variables('VNetAddressPrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[variables('Subnet1Name')]",
            "properties": {
              "addressPrefix": "[variables('Subnet1Prefix')]",
              "networkSecurityGroup": {
                "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgname'))]"
              },
              "routeTable": {
                "id": "[resourceId('Microsoft.Network/routeTables', variables('routeTableName'))]"
              }
            }
          },
          {
            "name": "[variables('Subnet2Name')]",
            "properties": {
              "addressPrefix": "[variables('Subnet2Prefix')]",
              "networkSecurityGroup": {
                "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgname'))]"
              }
            }
          },
          {
            "name": "[variables('Subnet3Name')]",
            "properties": {
              "addressPrefix": "[variables('Subnet3Prefix')]",
              "networkSecurityGroup": {
                "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgname'))]"
              }
            }
          }
        ]
      }
    },
...
...