arm 模板中的 copyindex() 错误
copyindex() error in arm template
这是我的参数文件:
"VNetSettings": {
"value": {
"name": "VNet1",
"addressPrefixes": "10.0.0.0/16",
"subnets": [
{
"name": "sub1",
"addressPrefix": "10.0.1.0/24"
},
{
"name": "sub2",
"addressPrefix": "10.0.2.0/24"
}
]
}
}
这是我的部署文件(deploy.json)
{
"contentversion": "1.0.0.0",
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"parameters": {
"VNetSettings": {
"type": "object"
},
"noofsubnets": {
"type": "int"
}
},
"resources": [
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('VNetSettings').name]",
"location": "[resourceGroup().location]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('VNetSettings').addressPrefixes]"
]
},
"copy": {
"name": "subnets",
"count": "[parameters('noofsubnets')]",
"input": {
"name": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].name]",
"properties": {
"addressPrefix": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].addressPrefix]"
}
}
}
}
}
]
}
部署臂模板应该做的是使用各自的地址前缀启动子网(例如:sub1 -> 10.0.1.0/24,sub2 -> 10.0.2.0/24)但是当我执行模板时使用以下命令的 powershell:
New-AzureRmResourceGroupDeployment -Name testing -ResourceGroupName rgname -TemplateFile C:\Test\deploy.json -TemplateParameterFile C:\Test\parameterfile.json
我收到以下错误消息:
The template function 'copyIndex' is not expected at this location.
The function can only be used in a resource with copy specified. Error
says there is something wrong with the copyindex() but I'm unable to
find out what exactly is wrong with it.
副本必须如下所示:
"copy": [
{
"name": "xxx",
"count": "xxx",
"input": { ... }
}
]
你不见了[]
copy
不应在 properties
字段内。它必须与 properties
.
处于同一级别
这是我的参数文件:
"VNetSettings": {
"value": {
"name": "VNet1",
"addressPrefixes": "10.0.0.0/16",
"subnets": [
{
"name": "sub1",
"addressPrefix": "10.0.1.0/24"
},
{
"name": "sub2",
"addressPrefix": "10.0.2.0/24"
}
]
}
}
这是我的部署文件(deploy.json)
{
"contentversion": "1.0.0.0",
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"parameters": {
"VNetSettings": {
"type": "object"
},
"noofsubnets": {
"type": "int"
}
},
"resources": [
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('VNetSettings').name]",
"location": "[resourceGroup().location]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('VNetSettings').addressPrefixes]"
]
},
"copy": {
"name": "subnets",
"count": "[parameters('noofsubnets')]",
"input": {
"name": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].name]",
"properties": {
"addressPrefix": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].addressPrefix]"
}
}
}
}
}
]
}
部署臂模板应该做的是使用各自的地址前缀启动子网(例如:sub1 -> 10.0.1.0/24,sub2 -> 10.0.2.0/24)但是当我执行模板时使用以下命令的 powershell:
New-AzureRmResourceGroupDeployment -Name testing -ResourceGroupName rgname -TemplateFile C:\Test\deploy.json -TemplateParameterFile C:\Test\parameterfile.json
我收到以下错误消息:
The template function 'copyIndex' is not expected at this location. The function can only be used in a resource with copy specified. Error says there is something wrong with the copyindex() but I'm unable to find out what exactly is wrong with it.
副本必须如下所示:
"copy": [
{
"name": "xxx",
"count": "xxx",
"input": { ... }
}
]
你不见了[]
copy
不应在 properties
字段内。它必须与 properties
.