in src/Bicep.Core/Diagnostics/DiagnosticBuilder.cs [1013:1218]
public Diagnostic ArtifactRequiresRestore(string artifactRef) => CoreError(
"BCP190",
$"The artifact with reference \"{artifactRef}\" has not been restored.");
public Diagnostic ArtifactRestoreFailed(string artifactRef) => CoreError(
"BCP191",
$"Unable to restore the artifact with reference \"{artifactRef}\".");
public Diagnostic ArtifactRestoreFailedWithMessage(string artifactRef, string message) => CoreError(
"BCP192",
$"Unable to restore the artifact with reference \"{artifactRef}\": {message}");
public Diagnostic InvalidOciArtifactReference(string? aliasName, string badRef) => CoreError(
"BCP193",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} Specify a reference in the format of \"{ArtifactReferenceSchemes.Oci}:<artifact-uri>:<tag>\", or \"{ArtifactReferenceSchemes.Oci}/<module-alias>:<module-name-or-path>:<tag>\".");
public Diagnostic InvalidTemplateSpecReference(string? aliasName, string badRef) => CoreError(
"BCP194",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, badRef)} Specify a reference in the format of \"{ArtifactReferenceSchemes.TemplateSpecs}:<subscription-ID>/<resource-group-name>/<template-spec-name>:<version>\", or \"{ArtifactReferenceSchemes.TemplateSpecs}/<module-alias>:<template-spec-name>:<version>\".");
public Diagnostic InvalidOciArtifactReferenceInvalidPathSegment(string? aliasName, string badRef, string badSegment) => CoreError(
"BCP195",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The artifact path segment \"{badSegment}\" is not valid. Each artifact name path segment must be a lowercase alphanumeric string optionally separated by a \".\", \"_\" , or \"-\".");
public Diagnostic InvalidOciArtifactReferenceMissingTagOrDigest(string? aliasName, string badRef) => CoreError(
"BCP196",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The module tag or digest is missing.");
public Diagnostic InvalidOciArtifactReferenceTagTooLong(string? aliasName, string badRef, string badTag, int maxLength) => CoreError(
"BCP197",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The tag \"{badTag}\" exceeds the maximum length of {maxLength} characters.");
public Diagnostic InvalidOciArtifactReferenceInvalidTag(string? aliasName, string badRef, string badTag) => CoreError(
"BCP198",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The tag \"{badTag}\" is not valid. Valid characters are alphanumeric, \".\", \"_\", or \"-\" but the tag cannot begin with \".\", \"_\", or \"-\".");
public Diagnostic InvalidOciArtifactReferenceRepositoryTooLong(string? aliasName, string badRef, string badRepository, int maxLength) => CoreError(
"BCP199",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} Module path \"{badRepository}\" exceeds the maximum length of {maxLength} characters.");
public Diagnostic InvalidOciArtifactReferenceRegistryTooLong(string? aliasName, string badRef, string badRegistry, int maxLength) => CoreError(
"BCP200",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The registry \"{badRegistry}\" exceeds the maximum length of {maxLength} characters.");
public Diagnostic ExpectedExtensionSpecification() => CoreError(
"BCP201",
"Expected an extension specification string. This should either be a relative path, or a valid OCI artifact specification.");
public Diagnostic ExpectedExtensionAliasName() => CoreError(
"BCP202",
"Expected an extension alias name at this location.");
public Diagnostic ExtensionsAreDisabled() => CoreError(
"BCP203",
$@"Using extension declaration requires enabling EXPERIMENTAL feature ""{nameof(ExperimentalFeaturesEnabled.Extensibility)}"".");
public Diagnostic UnrecognizedExtension(string identifier) => CoreError(
"BCP204",
$"Extension \"{identifier}\" is not recognized.");
public Diagnostic ExtensionDoesNotSupportConfiguration(string identifier) => CoreError(
"BCP205",
$"Extension \"{identifier}\" does not support configuration.");
public Diagnostic ExtensionRequiresConfiguration(string identifier) => CoreError(
"BCP206",
$"Extension \"{identifier}\" requires configuration, but none was provided.");
public Diagnostic NamespaceMultipleDeclarations(string identifier) => CoreError(
"BCP207",
$"Namespace \"{identifier}\" is declared multiple times. Remove the duplicates.");
public Diagnostic UnknownResourceReferenceScheme(string badNamespace, IEnumerable<string> allowedNamespaces) => CoreError(
"BCP208",
$"The specified namespace \"{badNamespace}\" is not recognized. Specify a resource reference using one of the following namespaces: {ToQuotedString(allowedNamespaces)}.");
public Diagnostic FailedToFindResourceTypeInNamespace(string @namespace, string resourceType) => CoreError(
"BCP209",
$"Failed to find resource type \"{resourceType}\" in namespace \"{@namespace}\".");
public Diagnostic ParentResourceInDifferentNamespace(string childNamespace, string parentNamespace) => CoreError(
"BCP210",
$"Resource type belonging to namespace \"{childNamespace}\" cannot have a parent resource type belonging to different namespace \"{parentNamespace}\".");
public Diagnostic InvalidModuleAliasName(string aliasName) => CoreError(
"BCP211",
$"The module alias name \"{aliasName}\" is invalid. Valid characters are alphanumeric, \"_\", or \"-\".");
public Diagnostic TemplateSpecModuleAliasNameDoesNotExistInConfiguration(string aliasName, IOUri? configFileUri) => CoreError(
"BCP212",
$"The Template Spec module alias name \"{aliasName}\" does not exist in the {BuildBicepConfigurationClause(configFileUri)}.");
public Diagnostic OciArtifactModuleAliasNameDoesNotExistInConfiguration(string aliasName, IOUri? configFileUri) => CoreError(
"BCP213",
$"The OCI artifact module alias name \"{aliasName}\" does not exist in the {BuildBicepConfigurationClause(configFileUri)}.");
public Diagnostic InvalidTemplateSpecAliasSubscriptionNullOrUndefined(string aliasName, IOUri? configFileUri) => CoreError(
"BCP214",
$"The Template Spec module alias \"{aliasName}\" in the {BuildBicepConfigurationClause(configFileUri)} is in valid. The \"subscription\" property cannot be null or undefined.");
public Diagnostic InvalidTemplateSpecAliasResourceGroupNullOrUndefined(string aliasName, IOUri? configFileUri) => CoreError(
"BCP215",
$"The Template Spec module alias \"{aliasName}\" in the {BuildBicepConfigurationClause(configFileUri)} is in valid. The \"resourceGroup\" property cannot be null or undefined.");
public Diagnostic InvalidOciArtifactModuleAliasRegistryNullOrUndefined(string aliasName, IOUri? configFileUri) => CoreError(
"BCP216",
$"The OCI artifact module alias \"{aliasName}\" in the {BuildBicepConfigurationClause(configFileUri)} is invalid. The \"registry\" property cannot be null or undefined.");
public Diagnostic InvalidTemplateSpecReferenceInvalidSubscriptionId(string? aliasName, string subscriptionId, string referenceValue) => CoreError(
"BCP217",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The subscription ID \"{subscriptionId}\" in is not a GUID.");
public Diagnostic InvalidTemplateSpecReferenceResourceGroupNameTooLong(string? aliasName, string resourceGroupName, string referenceValue, int maximumLength) => CoreError(
"BCP218",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The resource group name \"{resourceGroupName}\" exceeds the maximum length of {maximumLength} characters.");
public Diagnostic InvalidTemplateSpecReferenceInvalidResourceGroupName(string? aliasName, string resourceGroupName, string referenceValue) => CoreError(
"BCP219",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The resource group name \"{resourceGroupName}\" is invalid. Valid characters are alphanumeric, unicode characters, \".\", \"_\", \"-\", \"(\", or \")\", but the resource group name cannot end with \".\".");
public Diagnostic InvalidTemplateSpecReferenceTemplateSpecNameTooLong(string? aliasName, string templateSpecName, string referenceValue, int maximumLength) => CoreError(
"BCP220",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The Template Spec name \"{templateSpecName}\" exceeds the maximum length of {maximumLength} characters.");
public Diagnostic InvalidTemplateSpecReferenceInvalidTemplateSpecName(string? aliasName, string templateSpecName, string referenceValue) => CoreError(
"BCP221",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The Template Spec name \"{templateSpecName}\" is invalid. Valid characters are alphanumeric, \".\", \"_\", \"-\", \"(\", or \")\", but the Template Spec name cannot end with \".\".");
public Diagnostic InvalidTemplateSpecReferenceTemplateSpecVersionTooLong(string? aliasName, string templateSpecVersion, string referenceValue, int maximumLength) => CoreError(
"BCP222",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The Template Spec version \"{templateSpecVersion}\" exceeds the maximum length of {maximumLength} characters.");
public Diagnostic InvalidTemplateSpecReferenceInvalidTemplateSpecVersion(string? aliasName, string templateSpecVersion, string referenceValue) => CoreError(
"BCP223",
$"{BuildInvalidTemplateSpecReferenceClause(aliasName, referenceValue)} The Template Spec version \"{templateSpecVersion}\" is invalid. Valid characters are alphanumeric, \".\", \"_\", \"-\", \"(\", or \")\", but the Template Spec name cannot end with \".\".");
public Diagnostic InvalidOciArtifactReferenceInvalidDigest(string? aliasName, string badRef, string badDigest) => CoreError(
"BCP224",
$"{BuildInvalidOciArtifactReferenceClause(aliasName, badRef)} The digest \"{badDigest}\" is not valid. The valid format is a string \"sha256:\" followed by exactly 64 lowercase hexadecimal digits.");
public Diagnostic AmbiguousDiscriminatorPropertyValue(string propertyName) => CoreWarning(
"BCP225",
$"The discriminator property \"{propertyName}\" value cannot be determined at compilation time. Type checking for this object is disabled.");
public Diagnostic MissingDiagnosticCodes() => CoreError(
"BCP226",
"Expected at least one diagnostic code at this location. Valid format is \"#disable-next-line diagnosticCode1 diagnosticCode2 ...\""
);
public Diagnostic UnsupportedResourceTypeParameterOrOutputType(string resourceType) => CoreError(
"BCP227",
$"The type \"{resourceType}\" cannot be used as a parameter or output type. Extensibility types are currently not supported as parameters or outputs.");
public Diagnostic InvalidResourceScopeCannotBeResourceTypeParameter(string parameterName) => CoreError(
"BCP229",
$"The parameter \"{parameterName}\" cannot be used as a resource scope or parent. Resources passed as parameters cannot be used as a scope or parent of a resource.");
public Diagnostic ModuleParamOrOutputResourceTypeUnavailable(ResourceTypeReference resourceTypeReference) => CoreWarning(
"BCP230",
$"The referenced module uses resource type \"{resourceTypeReference.FormatName()}\" which does not have types available. Bicep is unable to validate resource properties prior to deployment, but this will not block the resource from being deployed.");
public Diagnostic ParamOrOutputResourceTypeUnsupported() => CoreError(
"BCP231",
$@"Using resource-typed parameters and outputs requires enabling EXPERIMENTAL feature ""{nameof(ExperimentalFeaturesEnabled.ResourceTypedParamsAndOutputs)}"".");
public Diagnostic ArtifactDeleteFailed(string moduleRef) => CoreError(
"BCP232",
$"Unable to delete the module with reference \"{moduleRef}\" from cache.");
public Diagnostic ArtifactDeleteFailedWithMessage(string moduleRef, string message) => CoreError(
"BCP233",
$"Unable to delete the module with reference \"{moduleRef}\" from cache: {message}");
public Diagnostic ArmFunctionLiteralTypeConversionFailedWithMessage(string literalValue, string armFunctionName, string message) => CoreWarning(
"BCP234",
$"The ARM function \"{armFunctionName}\" failed when invoked on the value [{literalValue}]: {message}");
public Diagnostic NoJsonTokenOnPathOrPathInvalid() => CoreError(
"BCP235",
$"Specified JSONPath does not exist in the given file or is invalid.");
public Diagnostic ExpectedNewLineOrCommaSeparator() => CoreError(
"BCP236",
"Expected a new line or comma character at this location.");
public Diagnostic ExpectedCommaSeparator() => CoreError(
"BCP237",
"Expected a comma character at this location.");
public Diagnostic UnexpectedNewLineAfterCommaSeparator() => CoreError(
"BCP238",
"Unexpected new line character after a comma.");
public Diagnostic ReservedIdentifier(string name) => CoreError(
"BCP239",
$"Identifier \"{name}\" is a reserved Bicep symbol name and cannot be used in this context.");
public Diagnostic InvalidValueForParentProperty() => CoreError(
"BCP240",
"The \"parent\" property only permits direct references to resources. Expressions are not supported.");
public Diagnostic DeprecatedProvidersFunction(string functionName) => CoreWarning(
"BCP241",
$"The \"{functionName}\" function is deprecated and will be removed in a future release of Bicep. Please add a comment to https://github.com/Azure/bicep/issues/2017 if you believe this will impact your workflow.")
with
{ Styling = DiagnosticStyling.ShowCodeDeprecated };