Partager via


Code d’erreur Bicep - BCP401

Cette erreur se produit lorsque vous utilisez des expressions pour définir des corps de ressources lorsque l’opérateur Spread est converti en fonction. Il s’agit d’une limitation dans JSON.

Description de l'erreur

The spread operator "..." is not permitted in this location.

Exemples

L’exemple suivant déclenche l’erreur, car l’opérateur spread est utilisé pour définir le corps de la ressource :

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
        ]
      }
    }
  } : {})
}

Vous pouvez corriger l’erreur à l’aide de l’opérateur au niveau inférieur :

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
        ]        
      } : {})
    }
  }
}

Étapes suivantes

Pour plus d’informations sur les codes d’erreur et d’avertissement Bicep, consultez diagnostics principaux Bicep.