Bicep diagnostic code - BCP081

This diagnostic is raised when Bicep can't find the resource type or the API version specified.

Description

Resource type <resource-type@api-version> doesn't have types available. Bicep is unable to validate resource properties prior to deployment, but this won't block the resource from being deployed.

Level

Warning

Solutions

Use the correct resource type and API version. You can find the resource types and the API versions in the Azure template reference.

Examples

The following example raises the diagnostic because the resource type is Microsoft.Storage/storageAccounts, not storageAccount (singular).

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccount@2025-01-01' = {
  name: 'mystorageacct'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

The following example raises the diagnostic because 2025-01-02 isn't a valid API version for the Microsoft.Storage/storageAccounts.

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccount@2025-01-02' = {
  name: 'mystorageacct'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

You can fix the diagnostic by fixing the typos:

param location string = resourceGroup().location

resource storage 'Microsoft.Storage/storageAccounts@2025-01-01' = {
  name: 'mystorageacct'
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Next steps

For more information about Bicep diagnostics, see Bicep core diagnostics.