Código de error de Bicep: BCP401
Este error se produce cuando se usan expresiones para definir cuerpos de recursos a medida que el Spread
operador se convierte en una función. Se trata de una limitación en JSON.
Descripción del error
The spread operator "..." is not permitted in this location.
Ejemplos
En el ejemplo siguiente se produce el error porque el spread
operador se usa para definir el cuerpo del 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
]
}
}
} : {})
}
Puede corregir el error mediante el operador en el nivel 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
]
} : {})
}
}
}
Pasos siguientes
Para obtener más información sobre los códigos de error y advertencia de Bicep, consulte Diagnósticos principales de Bicep.