You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/bicep/bicep-core-diagnostics.md
+22-8Lines changed: 22 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.custom:
7
7
- devx-track-bicep
8
8
- devx-track-arm-template
9
9
- build-2025
10
-
ms.date: 07/16/2025
10
+
ms.date: 01/15/2026
11
11
---
12
12
13
13
# Bicep core diagnostics
@@ -207,7 +207,6 @@ If you need more information about a particular diagnostic code, select the **Fe
207
207
| <aid='BCP200' />BCP200 | Error | The registry `{badRegistry}` exceeds the maximum length of `{maxLength}` characters. |
208
208
| <aid='BCP201' />[BCP201](./diagnostics/bcp201.md)| Error | Expected an extension specification string. This should either be a relative path, or a valid OCI artifact specification. |
209
209
| <aid='BCP202' />BCP202 | Error | Expected a provider alias name at this location. |
| <aid='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
296
295
| <aid='BCP301' />BCP301 | Error | The type name `{reservedName}` is reserved and may not be attached to a user-defined type. |
297
296
| <aid='BCP302' />[BCP302](./diagnostics/bcp302.md)| Error | The name `<type-name>` isn't a valid type. Specify one of the following types: `<type-names>`. |
298
297
| <aid='BCP303' />BCP303 | Error | String interpolation is unsupported for specifying the provider. |
299
-
| <aid='BCP304' />BCP304 | Error | Invalid provider specifier string. Specify a valid provider of format `<providerName>@<providerVersion>`. |
300
298
| <aid='BCP305' />BCP305 | Error | Expected the `with` keyword, `as` keyword, or a new line character at this location. |
301
299
| <aid='BCP306' />BCP306 | Error | The name `{name}` refers to a namespace, not to a type. |
302
300
| <aid='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
362
360
| <aid='BCP378' />BCP378 | Error | The OCI artifact provider alias `{aliasName}` in the `{BuildBicepConfigurationClause(configFileUri)}` is invalid. The `registry` property can't be null or undefined. |
363
361
| <aid='BCP379' />BCP379 | Error | The OCI artifact provider alias name `{aliasName}` doesn't exist in the `{BuildBicepConfigurationClause(configFileUri)}`. |
| <aid='BCP381' />BCP381 | Warning | Declaring provider namespaces with the `import` keyword has been deprecated. Use the `provider` keyword instead. |
366
363
| <aid='BCP383' />BCP383 | Error | The `{typeName}` type isn't parameterizable. |
367
364
| <aid='BCP384' />BCP384 | Error | The `{typeName}` type requires `{requiredArgumentCount}` argument(s). |
| <aid='BCP386' />BCP386 | Error | The decorator `<decorator-name>` may not be used on statements whose declared type is a reference to a resource-derived type. |
370
366
| <aid='BCP387' />BCP387 | Error | Indexing into a type requires an integer greater than or equal to 0. |
371
367
| <aid='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
375
371
| <aid='BCP392' />BCP392 | Warning | The supplied resource type identifier `{resourceTypeIdentifier}` wasn't recognized as a valid resource type name. |
376
372
| <aid='BCP393' />BCP393 | Warning | The type pointer segment `{unrecognizedSegment}` wasn't recognized. Supported pointer segments are: `properties`, `items`, `prefixItems`, and `additionalProperties`. |
377
373
| <aid='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
-
| <aid='BCP395' />BCP395 | Error | Declaring provider namespaces using the `<providerName>@<version>` expression has been deprecated. Use an identifier instead. |
379
374
| <aid='BCP396' />BCP396 | Error | The referenced provider types artifact has been published with malformed content. |
380
375
| <aid='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. |
381
376
| <aid='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
-
| <aid='BCP399' />BCP399 | Error | Fetching az types from the registry requires enabling EXPERIMENTAL feature `{nameof(ExperimentalFeaturesEnabled.DynamicTypeLoading)}`. |
383
-
| <aid='BCP400' />BCP400 | Error | Fetching types from the registry requires enabling EXPERIMENTAL feature `{nameof(ExperimentalFeaturesEnabled.ProviderRegistry)}`. |
384
377
| <aid='BCP401' />[BCP401](./diagnostics/bcp401.md)| Error | The spread operator `...` isn't permitted in this location. |
385
378
| <aid='BCP402' />BCP402 | Error | The spread operator `{spread.Ellipsis.Text}` can only be used in this context for an expression assignable to type `{requiredType}`. |
386
379
| <aid='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
402
395
| <aid='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. |
403
396
| <aid='BCP421' />BCP421 | Error | Module `{moduleName}` contains one or more secure outputs, which are not supported with `{LanguageConstants.TargetScopeKeyword}` set to `{LanguageConstants.TargetScopeTypeLocal}`.|
404
397
| <aid='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
+
| <aid='BCP423' />BCP423 | Error | An extension alias must be defined for an extension declaration that uses an inlined registry reference. |
399
+
| <aid='BCP424' />BCP424 | Error | The following extensions are declared in the Bicep file but are missing a configuration assignment in the parameter files: `{identifiers}`. |
400
+
| <aid='BCP425' />BCP425 | Error | The extension configuration assignment for `{identifier}` does not match an extension in the Bicep file. |
401
+
| <aid='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
+
| <aid='BCP427' />BCP427 | Error | Environment variable `{name}` does not exist and there is no default value set. |
403
+
| <aid='BCP428' />BCP428 | Error | Directory `{relativePath}` does not exist or additional permissions are necessary to access it. |
404
+
| <aid='BCP429' />BCP429 | Error | An error occurred while browsing the directory. `{exceptionMessage}`|
405
+
| <aid='BCP430' />BCP430 | Error | Unable to open directory at path `{filePath}`. A file was found instead. |
406
+
| <aid='BCP431' />BCP431 | Error | The value of the `{propertyName}` property must be an object literal or a valid extension configuration inheritance expression. |
407
+
| <aid='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
+
| <aid='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
+
| <aid='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
+
| <aid='BCP435' />BCP435 | Error | Using the `with` keyword with a `using` statement requires enabling the **DeployCommands** experimental feature. |
411
+
| <aid='BCP436' />BCP436 | Error | Expected the `with` keyword or a new line at this location. |
412
+
| <aid='BCP437' />BCP437 | Error | The `base` identifier is only available in parameter files that declare an `extends` clause. |
413
+
| <aid='BCP438' />BCP438 | Error | The `base` identifier is reserved and cannot be declared. |
414
+
| <aid='BCP439' />BCP439 | Error | The `@secure()` decorator can only be used on statements whose type clause is `string`, `object`, or a literal type. |
415
+
| <aid='BCP440' />BCP440 | Error | The `@secure()` decorator can only be used on statements whose type is a subtype of `string` or `object`. |
416
+
| <aid='BCP441' />BCP441 | Error | Resource type `{resourceType}` cannot be used with the `existing` keyword. |
417
+
| <aid='BCP443' />BCP443 | Error | The `using` statement requires a `with` clause when the **DeployCommands** experimental feature is enabled. |
418
+
| <aid='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. |
0 commit comments