public Diagnostic ArtifactRequiresRestore()

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 };