этот комментарий
вертываю шаблон ARM, который использует блок ресурсов копирования для развертывания 1 или более дисков данных на виртуальной машине. Что я хотел бы сделать, это изменить это на 0 или больше.
Я использую параметр
"VirtualMachineDiskSizeArray": {
"type": "array",
"defaultValue": [ "100" ]
},
Который затем вызывается в ресурсе:
"resources": [
{
"name": "[parameters('virtualMachineName')]",
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2016-04-30-preview",
"location": "[parameters('rgLocation')]",
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', parameters('rgStorageAccountName'))]"
],
"properties": {
"osProfile": { ... },
"hardwareProfile": { ... },
"storageProfile": {
"imageReference": { ... },
"osDisk": { ... },
"copy": [
{
"name": "dataDisks",
"count": "[length(parameters('VirtualMachineDiskSizeArray'))]",
"input": {
"lun": "[copyIndex('dataDisks')]",
"name": "[concat(parameters('vmDataDiskNameStub'), add(copyIndex('dataDisks'),1), '.vhd')]",
"diskSizeGB": "[parameters('VirtualMachineDiskSizeArray')[copyIndex('dataDisks')]]",
"createOption": "Empty",
"vhd": {
"uri": "[concat(concat(reference(resourceId(parameters('rgName'), 'Microsoft.Storage/storageAccounts', parameters('rgStorageAccountName')), '2015-06-15').primaryEndpoints['blob'], 'vhds/'), concat(parameters('vmDataDiskNameStub'), add(copyIndex('dataDisks'),1), '.vhd') )]"
}
}
}
]
}
}
},
Однако, когда я передаю массив дисков с данными с 0 элементами, я получаю эту ошибку, как и ожидалось:
Validation returned the following errors:
: Deployment template validation failed: 'The template 'copy' definition at line '0' and column '0' has an invalid copy count. The co
py count must be a postive integer value and cannot exceed '800'. Please see https://aka.ms/arm-copy for usage details.'.
Template is invalid.
Я хотел бы попытаться обойти это как-то - я попытался добавить условие для копии:
"condition": "[ greater(length(parameters('VirtualMachineDiskSizeArray')), 0)]",
Но это вернуло ту же ошибку.
Я исследую вложенные шаблоны, но это не выглядит хорошо дляраздел ресурса.