Compartir vía


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.