Skip to content

Commit c2aaecd

Browse files
Merge pull request #310554 from mumian/0115-new-bcp
add new bcp codes and remove the deprecated ones
2 parents 236d8ab + efe3892 commit c2aaecd

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

articles/azure-resource-manager/bicep/bicep-core-diagnostics.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.custom:
77
- devx-track-bicep
88
- devx-track-arm-template
99
- build-2025
10-
ms.date: 07/16/2025
10+
ms.date: 01/15/2026
1111
---
1212

1313
# Bicep core diagnostics
@@ -207,7 +207,6 @@ If you need more information about a particular diagnostic code, select the **Fe
207207
| <a id='BCP200' />BCP200 | Error | The registry `{badRegistry}` exceeds the maximum length of `{maxLength}` characters. |
208208
| <a id='BCP201' />[BCP201](./diagnostics/bcp201.md) | Error | Expected an extension specification string. This should either be a relative path, or a valid OCI artifact specification. |
209209
| <a id='BCP202' />BCP202 | Error | Expected a provider alias name at this location. |
210-
| <a id='BCP203' />BCP203 | Error | Using provider statements requires enabling EXPERIMENTAL feature `Extensibility`. |
211210
| <a id='BCP204' />BCP204 | Error | Provider namespace `{identifier}` isn't recognized. |
212211
| <a id='BCP205' />BCP205 | Error | Provider namespace `{identifier}` doesn't support configuration. |
213212
| <a id='BCP206' />BCP206 | Error | Provider namespace `{identifier}` requires configuration, but none was provided. |
@@ -296,7 +295,6 @@ If you need more information about a particular diagnostic code, select the **Fe
296295
| <a id='BCP301' />BCP301 | Error | The type name `{reservedName}` is reserved and may not be attached to a user-defined type. |
297296
| <a id='BCP302' />[BCP302](./diagnostics/bcp302.md) | Error | The name `<type-name>` isn't a valid type. Specify one of the following types: `<type-names>`. |
298297
| <a id='BCP303' />BCP303 | Error | String interpolation is unsupported for specifying the provider. |
299-
| <a id='BCP304' />BCP304 | Error | Invalid provider specifier string. Specify a valid provider of format `<providerName>@<providerVersion>`. |
300298
| <a id='BCP305' />BCP305 | Error | Expected the `with` keyword, `as` keyword, or a new line character at this location. |
301299
| <a id='BCP306' />BCP306 | Error | The name `{name}` refers to a namespace, not to a type. |
302300
| <a id='BCP307' />BCP307 | Error | The expression can't be evaluated, because the identifier properties of the referenced existing resource including `{ToQuotedString(runtimePropertyNames.OrderBy(x => x))}` can't be calculated at the start of the deployment. In this situation, `{accessiblePropertyNamesClause}{accessibleFunctionNamesClause}`. |
@@ -362,10 +360,8 @@ If you need more information about a particular diagnostic code, select the **Fe
362360
| <a id='BCP378' />BCP378 | Error | The OCI artifact provider alias `{aliasName}` in the `{BuildBicepConfigurationClause(configFileUri)}` is invalid. The `registry` property can't be null or undefined. |
363361
| <a id='BCP379' />BCP379 | Error | The OCI artifact provider alias name `{aliasName}` doesn't exist in the `{BuildBicepConfigurationClause(configFileUri)}`. |
364362
| <a id='BCP380' />BCP380 | Error | Artifacts of type: `{artifactType}` aren't supported. |
365-
| <a id='BCP381' />BCP381 | Warning | Declaring provider namespaces with the `import` keyword has been deprecated. Use the `provider` keyword instead. |
366363
| <a id='BCP383' />BCP383 | Error | The `{typeName}` type isn't parameterizable. |
367364
| <a id='BCP384' />BCP384 | Error | The `{typeName}` type requires `{requiredArgumentCount}` argument(s). |
368-
| <a id='BCP385' />BCP385 | Error | Using resource-derived types requires enabling EXPERIMENTAL feature `{nameof(ExperimentalFeaturesEnabled.ResourceDerivedTypes)}`. |
369365
| <a id='BCP386' />BCP386 | Error | The decorator `<decorator-name>` may not be used on statements whose declared type is a reference to a resource-derived type. |
370366
| <a id='BCP387' />BCP387 | Error | Indexing into a type requires an integer greater than or equal to 0. |
371367
| <a id='BCP388' />BCP388 | Error | Can't access elements of type `{wrongType}` by index. A tuple type is required. |
@@ -375,12 +371,9 @@ If you need more information about a particular diagnostic code, select the **Fe
375371
| <a id='BCP392' />BCP392 | Warning | The supplied resource type identifier `{resourceTypeIdentifier}` wasn't recognized as a valid resource type name. |
376372
| <a id='BCP393' />BCP393 | Warning | The type pointer segment `{unrecognizedSegment}` wasn't recognized. Supported pointer segments are: `properties`, `items`, `prefixItems`, and `additionalProperties`. |
377373
| <a id='BCP394' />BCP394 | Error | Resource-derived type expressions must dereference a property within the resource body. Using the entire resource body type isn't permitted. |
378-
| <a id='BCP395' />BCP395 | Error | Declaring provider namespaces using the `<providerName>@<version>` expression has been deprecated. Use an identifier instead. |
379374
| <a id='BCP396' />BCP396 | Error | The referenced provider types artifact has been published with malformed content. |
380375
| <a id='BCP397' />BCP397 | Error | Provider `{name}` is incorrectly configured in the `{BuildBicepConfigurationClause(configFileUri)}`. It's referenced in the `{RootConfiguration.ImplicitProvidersConfigurationKey}` section, but is missing corresponding configuration in the `{RootConfiguration.ProvidersConfigurationKey}` section. |
381376
| <a id='BCP398' />BCP398 | Error | Provider `{name}` is incorrectly configured in the `{BuildBicepConfigurationClause(configFileUri)}`. It's configured as built-in in the `{RootConfiguration.ProvidersConfigurationKey}` section, but no built-in provider exists. |
382-
| <a id='BCP399' />BCP399 | Error | Fetching az types from the registry requires enabling EXPERIMENTAL feature `{nameof(ExperimentalFeaturesEnabled.DynamicTypeLoading)}`. |
383-
| <a id='BCP400' />BCP400 | Error | Fetching types from the registry requires enabling EXPERIMENTAL feature `{nameof(ExperimentalFeaturesEnabled.ProviderRegistry)}`. |
384377
| <a id='BCP401' />[BCP401](./diagnostics/bcp401.md) | Error | The spread operator `...` isn't permitted in this location. |
385378
| <a id='BCP402' />BCP402 | Error | The spread operator `{spread.Ellipsis.Text}` can only be used in this context for an expression assignable to type `{requiredType}`. |
386379
| <a id='BCP403' />BCP403 | Error/Warning | The enclosing array expects elements of type `{expectedType}`, but the array being spread contains elements of incompatible type `{actualType}`. |
@@ -402,6 +395,27 @@ If you need more information about a particular diagnostic code, select the **Fe
402395
| <a id='BCP420' />[BCP420](./diagnostics/bcp420.md) | Error | The scope could not be resolved at compile time because the supplied expression is ambiguous or too complex. Scoping expressions must be reducible to a specific kind of scope without knowledge of parameter values. |
403396
| <a id='BCP421' />BCP421 | Error | Module `{moduleName}` contains one or more secure outputs, which are not supported with `{LanguageConstants.TargetScopeKeyword}` set to `{LanguageConstants.TargetScopeTypeLocal}`.|
404397
| <a id='BCP422' />[BCP422](./diagnostics/bcp422.md) | Warning | A resource of type `<resource-type>` may or may not exist when this function is called, which could cause the deployment to fail.|
398+
| <a id='BCP423' />BCP423 | Error | An extension alias must be defined for an extension declaration that uses an inlined registry reference. |
399+
| <a id='BCP424' />BCP424 | Error | The following extensions are declared in the Bicep file but are missing a configuration assignment in the parameter files: `{identifiers}`. |
400+
| <a id='BCP425' />BCP425 | Error | The extension configuration assignment for `{identifier}` does not match an extension in the Bicep file. |
401+
| <a id='BCP426' />BCP426 | Error | Secure outputs may only be accessed via a direct module reference. Only non-sensitive outputs are supported when dereferencing a module indirectly via a variable or lambda. |
402+
| <a id='BCP427' />BCP427 | Error | Environment variable `{name}` does not exist and there is no default value set. |
403+
| <a id='BCP428' />BCP428 | Error | Directory `{relativePath}` does not exist or additional permissions are necessary to access it. |
404+
| <a id='BCP429' />BCP429 | Error | An error occurred while browsing the directory. `{exceptionMessage}` |
405+
| <a id='BCP430' />BCP430 | Error | Unable to open directory at path `{filePath}`. A file was found instead. |
406+
| <a id='BCP431' />BCP431 | Error | The value of the `{propertyName}` property must be an object literal or a valid extension configuration inheritance expression. |
407+
| <a id='BCP432' />BCP432 | Error | This expression is used in parameter `{parameterName}` of function `{functionName}`, which requires a value that can be calculated at the start of the deployment. |
408+
| <a id='BCP433' />BCP433 | Error | The resource `{symbolicName}` cannot declare explicit dependencies because its identifier properties including `{runtimePropertyNames}` cannot be calculated at the start of the deployment. |
409+
| <a id='BCP434' />BCP434 | Error | The resource `{dependentName}` cannot declare an explicit dependency on `{dependencyName}` because its identifier properties including `{runtimePropertyNames}` cannot be calculated at the start of the deployment. |
410+
| <a id='BCP435' />BCP435 | Error | Using the `with` keyword with a `using` statement requires enabling the **DeployCommands** experimental feature. |
411+
| <a id='BCP436' />BCP436 | Error | Expected the `with` keyword or a new line at this location. |
412+
| <a id='BCP437' />BCP437 | Error | The `base` identifier is only available in parameter files that declare an `extends` clause. |
413+
| <a id='BCP438' />BCP438 | Error | The `base` identifier is reserved and cannot be declared. |
414+
| <a id='BCP439' />BCP439 | Error | The `@secure()` decorator can only be used on statements whose type clause is `string`, `object`, or a literal type. |
415+
| <a id='BCP440' />BCP440 | Error | The `@secure()` decorator can only be used on statements whose type is a subtype of `string` or `object`. |
416+
| <a id='BCP441' />BCP441 | Error | Resource type `{resourceType}` cannot be used with the `existing` keyword. |
417+
| <a id='BCP443' />BCP443 | Error | The `using` statement requires a `with` clause when the **DeployCommands** experimental feature is enabled. |
418+
| <a id='BCP444' />BCP444 | Error | This expression is used as a default value for an extension configuration property and must be calculated at the start of the deployment. |
405419

406420
## Next steps
407421

0 commit comments

Comments
 (0)