Código de erro do bíceps - BCP401
Este erro ocorre quando você usa expressões para definir corpos de recursos como o Spread
operador é convertido em uma função. É uma limitação em JSON.
Descrição do erro
The spread operator "..." is not permitted in this location.
Exemplos
O exemplo a seguir gera o erro porque o spread
operador é usado para definir o corpo do recurso:
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
]
}
}
} : {})
}
Você pode corrigir o erro usando o operador no nível inferior:
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
]
} : {})
}
}
}
Próximos passos
Para obter mais informações sobre códigos de erro e aviso do Bicep, consulte Diagnóstico do núcleo do Bicep.