Erro ao implementar o modelo JSON

1

Estou tentando implantar duas VMs em um avset usando o visual studio 2015.

Eu recebo a mensagem de erro abaixo quando tento implantar:

Reference Id 1 is not formatted correctly. The Id is expected to reference resources of type virtualNetworks/subnets. Path properties.ipConfigurations[0].properties.subnet.

Erro completo:

VERBOSE: 11:43:00 PM - Resource Microsoft.Compute/availabilitySets 'avset-apps2dc' provisioning status is succeeded
New-AzureRmResourceGroupDeployment : 11:43:00 PM - Resource Microsoft.Network/networkInterfaces 'vm-machine2-nic1' failed with message '{
  "error": {
    "code": "InvalidRequestFormat",
    "message": "Cannot parse the request.",
    "details": [
      {
        "code": "InvalidJsonReferenceFormat",
        "message": "Reference Id 1 is not formatted correctly. The Id is expected to reference resources of type virtualNetworks/subnets. Path properties.ipConfigurations[0].properties.subnet."
      }

Isso realmente me deixou perplexo e fiquei me perguntando se alguém já se deparou com isso antes?

os scripts foram higienizados: Arquivo de modelo:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stdAdminUserName": {
      "type": "string",
      "minLength": 1
    },
    "stdAdminPassword": {
      "type": "securestring"
    },
    "storageAccountName": {
      "type": "string",
      "minLength": 1
    },
    "storageAccountType": {
      "type": "string",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS"
      ]
    },
    "faultDomains": {
      "type": "int"
    },
    "updateDomains": {
      "type": "int"
    },
    "applicationid": {
      "type": "string",
      "minLength": 1
    },
    "sharedservice": {
      "type": "string",
      "minLength": 1
    },
    "msdref": {
      "type": "string",
      "minLength": 1
    },
    "project": {
      "type": "string",
      "minLength": 1
    },
    "costcentre": {
      "type": "string",
      "minLength": 1
    },
    "templateref": {
      "type": "string",
      "minLength": 1
    },
    "environment": {
      "type": "string",
      "minLength": 1
    },
    "operatingsystem": {
      "type": "string",
      "minLength": 1
    },
    "deploymentzone": {
      "type": "string",
      "minLength": 1
    },
    "shutdownschedule": {
      "type": "string",
      "minLength": 1
    },
    "avSetName": {
      "type": "string",
      "minLength": 1
    },
    "vmInstances": {
      "type": "int"
    },
    "vmSize": {
      "type": "string",
      "minLength": 1
    },
    "vmDiskSize": {
      "type": "string",
      "minLength": 1
    },
    "networkName": {
      "type": "string",
      "minLength": 1
    },
    "networkResourceGroup": {
      "type": "string",
      "minLength": 1
    },
    "subnetName": {
      "type": "string",
      "minLength": 1
    },
    "vmNicNamePrefix": {
      "type": "string",
      "minLength": 1
    },
    "vmNamePrefix": {
      "type": "string",
      "minLength": 1
    }
  },
  "variables": {
    "VNetID": "[resourceId(Parameters('networkResourceGroup'), 'Microsoft.Network/virtualNetworks', Parameters('networkname'))]",
    "SubnetRef": "[concat(variables('VNetID'), '/subnets/', Parameters('subnetName'))]",
    "stdVMImagePublisher": "MicrosoftWindowsServer",
    "stdVMImageOffer": "WindowsServer",
    "stdWindowsOSVersion": "2012-R2-Datacenter",
    "stdVHDContainerName": "vhds",
    "VMOSDiskNamePrefix": "VMOSDisk",
    "VMDATADisk1NamePrefix": "DataDisk1VM",
    "VMDATADisk2NamePrefix": "DataDisk2VM"
  },
  "resources": [
    {
      "name": "[Parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "[resourceGroup().location]",
      "apiVersion": "2015-06-15",
      "dependsOn": [],
      "tags": {
        "displayname": "[Parameters('storageAccountName')]",
        "applicationid": "[Parameters('applicationid')]",
        "sharedservice": "[Parameters('sharedservice')]",
        "msdref": "[Parameters('msdref')]",
        "project": "[Parameters('project')]",
        "costcentre": "[Parameters('costcentre')]",
        "operatingsystem": "[Parameters('operatingsystem')]",
        "deploymentzone": "[Parameters('deploymentzone')]",
        "shutdownschedule": "[Parameters('shutdownschedule')]"
      },
      "properties": {
        "accountType": "[Parameters('storageAccountType')]"
      }
    },
    {
      "name": "[parameters('avSetName')]",
      "type": "Microsoft.Compute/availabilitySets",
      "location": "[resourceGroup().location]",
      "apiVersion": "2015-06-15",
      "dependsOn": [],
      "tags": {
        "displayName": "[parameters('avSetName')]"
      },
      "properties": {
        "platformUpdateDomainCount": "[parameters('updateDomains')]",
        "platformFaultDomainCount": "[parameters('faultDomains')]"
      }
    },
    {
      "name": "[concat(Parameters('vmNicNamePrefix'), copyindex(1))]",
      "type": "Microsoft.Network/networkInterfaces",
      "location": "[resourceGroup().location]",
      "apiVersion": "2015-06-15",
      "copy": {
        "name": "nicLoop",
        "count": "[parameters('vmInstances')]"
      },
      "tags": {
        "costcenter": "[Parameters('costcentre')]",
        "environment": "[Parameters('environment')]",
        "project": "[Parameters('project')]",
        "role": "vmnic",
        "templateref": "[Parameters('templateRef')]"
      },
      "properties": {
        "ipConfigurations": [
          {
            "name": "ipconfig1",
            "properties": {
              "privateIPAllocationMethod": "Dynamic",
              "subnet": {
                "id": "[parameters('vmInstances')]"
              }
            }
          }
        ]
      }
    },
    {
      "name": "[concat(parameters('vmInstances'), copyindex(1))]",
      "type": "Microsoft.Compute/virtualMachines",
      "location": "[resourceGroup().location]",
      "apiVersion": "2015-06-15",
      "dependsOn": [
        "[concat('Microsoft.Storage/storageAccounts/', Parameters('storageAccountName'))]",
        "[concat('Microsoft.Compute/availabilitySets/', Parameters('avSetName'))]",
        "nicLoop"
      ],
      "copy": {
        "name": "virtualMachineLoop",
        "count": "[parameters('vmInstances')]"
      },
      "tags": {
        "applicationid": "[Parameters('applicationid')]",
        "costcentre": "[Parameters('costcentre')]",
        "deploymentzone": "[Parameters('deploymentzone')]",
        "displayname": "[concat(parameters('vmInstances'), copyindex(1))]",
        "environment": "[Parameters('environment')]",
        "msdref": "[Parameters('msdref')]",
        "operatingsystem": "[Parameters('operatingsystem')]",
        "project": "[Parameters('project')]",
        "sharedservice": "[Parameters('sharedservice')]"
      },
      "properties": {
        "availabilitySet": {
          "id": "[resourceId('Microsoft.Compute/availabilitySets',parameters('avSetName'))]"
        },
        "hardwareProfile": {
          "vmSize": "[Parameters('vmSize')]"
        },
        "osProfile": {
          "computerName": "[concat(parameters('vmInstances'), copyindex(1))]",
          "adminUsername": "[Parameters('stdAdminUserName')]",
          "adminPassword": "[Parameters('stdAdminPassword')]"
        },
        "storageProfile": {
          "imageReference": {
            "publisher": "[variables('STDVMImagePublisher')]",
            "offer": "[variables('STDVMImageOffer')]",
            "sku": "[variables('stdWindowsOSVersion')]",
            "version": "latest"
          },
          "osDisk": {
            "name": "[concat(variables('VMOSDiskNamePrefix'), copyindex(1))]",
            "vhd": {
              "uri": "[concat('http://', Parameters('storageAccountName'), '.blob.core.windows.net/', variables('stdVHDContainerName'), '/', variables('VMOSDiskNamePrefix'), copyindex(1), '.vhd')]"
            },
            "caching": "ReadWrite",
            "createOption": "FromImage"
          },
          "networkProfile": {
            "networkInterfaces": [
              {
                "id": "[resourceId('Microsoft.Network/networkInterfaces', concat(Parameters('vmNicNamePrefix'), copyindex(1)))]"
              }
            ]
          }

        },
        "outputs": {
        }
      }
    }
  ]
}

Arquivo de parâmetros:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "stdAdminUserName": {
      "value": "localadministrator"
    },
    "storageAccountName": {
      "value": "straccforvhdsnstuff1234"
    },
    "storageAccountType": {
      "value": "Standard_LRS"
    },
    "faultDomains": {
      "value": 2
    },
    "updateDomains": {
      "value": 5
    },
    "applicationid": {
      "value": "test-apps2"
    },
    "sharedservice": {
      "value": "No"
    },
    "msdref": {
      "value": "123456"
    },
    "project": {
      "value": "test-apps2"
    },
    "costcentre": {
      "value": "ab1234"
    },
    "operatingsystem": {
      "value": "Windows 2012-R2-Datacenter"
    },
    "deploymentzone": {
      "value": "safe-zone"
    },
    "avSetName": {
      "value": "avset-apps2dc"
    },
    "vmInstances": {
      "value": 1
    },
    "vmSize": {
      "value": "Standard_D3_V2"
    },
    "vmDiskSize": {
      "value": "256"
    },
    "networkName": {
      "value": "vnet-network"
    },
    "networkResourceGroup": {
      "value": "rgp-for-network"
    },
    "subnetName": {
      "value": "subnettest-app2"
    },
    "vmNicNamePrefix": {
      "value": "vm-machine2-nic"
    },
    "vmNamePrefix": {
      "value": "vm-machine2-"
    },
    "templateref": {
      "value": "tempref123"
    },
    "environment": {
      "value": "green"
    },
    "shutdownschedule": {
      "value": "notapp"
    }
  }
}

Eu executei o json através de validadores online e nenhum problema foi destacado, não há erros no script de acordo com o VS2015, no entanto, a implementação falha "referência 1 não formatada corretamente"

Mais um ponto, não sei ao certo o quanto isso se aplica, o grupo de recursos de rede é independente do grupo de recursos vm.

Qualquer ajuda seria muito apreciada.

Obrigado

    
por Norrin Rad 14.11.2017 / 01:10

1 resposta

1

Existe um erro no seu modelo.

 "subnet": {
                "id": "[parameters('vmInstances')]"
              }

O ID não deve ser 1 .

Você pode usar valor:

  "id": "[variables('SubnetRef')]"
    
por 14.11.2017 / 02:57