Kód chyby Bicep – BCP401
K této chybě dochází, když pomocí výrazů definujete těla prostředků, protože Spread
operátor se převede na funkci. Jedná se o omezení ve formátu JSON.
Popis chyby
The spread operator "..." is not permitted in this location.
Příklady
Následující příklad vyvolá chybu, protože spread
operátor slouží k definování těla prostředku:
param location string = resourceGroup().location
param addressPrefix string = '10.0.0.0/24'
resource vnet 'Microsoft.Network/virtualNetworks@2024-01-01' = {
name: 'vnetName'
location: location
...(addressPrefix != '' ? {
properties: {
addressSpace: {
addressPrefixes: [
addressPrefix
]
}
}
} : {})
}
Chybu můžete opravit pomocí operátoru na nižší úrovni:
param location string = resourceGroup().location
param addressPrefix string = '10.0.0.0/24'
resource vnet 'Microsoft.Network/virtualNetworks@2024-01-01' = {
name: 'vnetName'
location: location
properties: {
addressSpace: {
...(addressPrefix != '' ? {
addressPrefixes: [
addressPrefix
]
} : {})
}
}
}
Další kroky
Další informace o kódech chyb a upozornění bicep najdete v tématu Diagnostika jádra Bicep.