1

以下のコードを使用して複数の Azure VNET をデプロイしようとしていますが、

以下のエラーが発生します

{
  "error": {
    "code": "InvalidTemplate",
    "details": null,
    "message": "Deployment template validation failed: 'The template resource '[concat(variables('namePrefix'), parameters('VNetSettings').vnets.name, [copyIndex(1)])]' at line '1' and column '923' is not valid: The language expression property 'name' has an invalid array index.. Please see https://aka.ms/arm-template-expressions for usage details.'.",
    "target": null
  },
  "properties": null
}

これは以下の私のコードです。coyIndex を使用して、Azure 仮想ネットワークの複数のインスタンスをループ処理したいと考えています。提供された vnet 名の数に基づいて、作成するインスタンスの数を取得します。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "VNetSettings": {
            "type": "object"
        },
        "namingSettings": {
            "type": "object"
        }
    },
    "variables": {
        "namePrefix": "[concat(parameters('namingSettings').name.org,'-',parameters('namingSettings').name.accountEnv,'-',parameters('namingSettings').name.sdlcEnv,'-',parameters('namingSettings').name.region,'-',parameters('namingSettings').name.appname,'-')]"
    },
    "resources": [
        {
            "apiVersion": "2018-04-01",
            "type": "Microsoft.Network/virtualNetworks",
            "name": "[concat(variables('namePrefix'), parameters('VNetSettings').vnets.name, [copyIndex(1)])]",
            "location": "[resourceGroup().location]",
            "copy": {
                "name": "vnetcopy",
                "count": "[length(parameters('VNetSettings').vnets.name)]"
            },
            "scale": null,
            "properties": {
                "addressSpace": {
                    "addressPrefixes": [
                        "[parameters('VNetSettings').vnets.cidr]"
                    ]
                }
            }
        }
    ]
}

アップデート

パラメータファイルenter code here

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",

  "parameters":{
     "namingSettings": {
      "value": {
        "name": {
          "org": "it",
          "accountEnv": "nonprod",
          "sdlcEnv": "it-test",
          "region": "eastus2",
          "tier": "",
          "object": "",
          "networkbuild": "network",
          "auditbuild": "audit",
          "automationbuild": "automation",
          "dnsbuild": "dns",
          "appname": "network"
        }
      }
    },
     "VNetSettings": {
      "value": {
        "vnets": [
          {
            "name": "vnet0",
            "cidr": "10.10.10.0/24",
          }
        ],

        }
    }
}
}
4

1 に答える 1