Partilhar via


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.