# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from enum import Enum
from azure.core import CaseInsensitiveEnumMeta


class Action(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The action of IP ACL rule."""

    ALLOW = "Allow"
    """ALLOW."""


class ActionsRequired(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """A message indicating if changes on the service provider require any updates on the consumer."""

    NONE = "None"
    """NONE."""
    RECREATE = "Recreate"
    """RECREATE."""


class ActivationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The activation status of the connected registry."""

    ACTIVE = "Active"
    """ACTIVE."""
    INACTIVE = "Inactive"
    """INACTIVE."""


class AdditionalAuthenticationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of authentication configuration used by a cache rule to access an upstream registry."""

    GOOGLE_ARTIFACT_REGISTRY = "GoogleArtifactRegistry"
    """Google Artifact Registry (GAR) authentication via workload identity federation."""


class AuditLogStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates whether audit logs are enabled on the connected registry."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""


class AutoGeneratedDomainNameLabelScope(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The auto generated domain name label of the container registry. This value defaults to
    "Unsecure".
    """

    UNSECURE = "Unsecure"
    """UNSECURE."""
    TENANT_REUSE = "TenantReuse"
    """TENANT_REUSE."""
    SUBSCRIPTION_REUSE = "SubscriptionReuse"
    """SUBSCRIPTION_REUSE."""
    RESOURCE_GROUP_REUSE = "ResourceGroupReuse"
    """RESOURCE_GROUP_REUSE."""
    NO_REUSE = "NoReuse"
    """NO_REUSE."""


class AzureADAuthenticationAsArmPolicyStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The value that indicates whether the policy is enabled or not."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class CertificateType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of certificate location."""

    LOCAL_DIRECTORY = "LocalDirectory"
    """LOCAL_DIRECTORY."""


class ConnectedRegistryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The mode of the connected registry resource that indicates the permissions of the registry."""

    READ_WRITE = "ReadWrite"
    """READ_WRITE."""
    READ_ONLY = "ReadOnly"
    """READ_ONLY."""
    REGISTRY = "Registry"
    """REGISTRY."""
    MIRROR = "Mirror"
    """MIRROR."""


class ConnectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The current connection state of the connected registry."""

    ONLINE = "Online"
    """ONLINE."""
    OFFLINE = "Offline"
    """OFFLINE."""
    SYNCING = "Syncing"
    """SYNCING."""
    UNHEALTHY = "Unhealthy"
    """UNHEALTHY."""


class ConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The private link service connection status."""

    APPROVED = "Approved"
    """APPROVED."""
    PENDING = "Pending"
    """PENDING."""
    REJECTED = "Rejected"
    """REJECTED."""
    DISCONNECTED = "Disconnected"
    """DISCONNECTED."""


class ContainerRegistryResourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The resource type for Container Registry."""

    MICROSOFT_CONTAINER_REGISTRY_REGISTRIES = "Microsoft.ContainerRegistry/registries"
    """MICROSOFT_CONTAINER_REGISTRY_REGISTRIES."""


class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of entity that created the resource."""

    USER = "User"
    """The entity was created by a user."""
    APPLICATION = "Application"
    """The entity was created by an application."""
    MANAGED_IDENTITY = "ManagedIdentity"
    """The entity was created by a managed identity."""
    KEY = "Key"
    """The entity was created by a key."""


class CredentialHealthStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The health status of credential."""

    HEALTHY = "Healthy"
    """HEALTHY."""
    UNHEALTHY = "Unhealthy"
    """UNHEALTHY."""


class CredentialName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The name of the credential."""

    CREDENTIAL1 = "Credential1"
    """CREDENTIAL1."""


class DefaultAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The default action of allow or deny when no other rules match."""

    ALLOW = "Allow"
    """ALLOW."""
    DENY = "Deny"
    """DENY."""


class EncryptionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates whether or not the encryption is enabled for container registry."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class EndpointProtocol(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The connectivity protocol for the registry."""

    I_PV4 = "IPv4"
    """IPv4 connectivity only."""
    I_PV4_AND_I_PV6 = "IPv4AndIPv6"
    """IPv4 and IPv6 (dual stack) connectivity."""


class ExportPolicyStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The value that indicates whether the policy is enabled or not."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class ImportMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """When Force, any existing target tags will be overwritten. When NoForce, any existing target
    tags will fail the operation before any copying begins.
    """

    NO_FORCE = "NoForce"
    """NO_FORCE."""
    FORCE = "Force"
    """FORCE."""


class LogLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The verbosity of logs persisted on the connected registry."""

    DEBUG = "Debug"
    """DEBUG."""
    INFORMATION = "Information"
    """INFORMATION."""
    WARNING = "Warning"
    """WARNING."""
    ERROR = "Error"
    """ERROR."""
    NONE = "None"
    """NONE."""


class MetadataSearch(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Determines whether registry artifacts are indexed for metadata search."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""


class NetworkRuleBypassOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Whether to allow trusted Azure services to access a network restricted registry."""

    AZURE_SERVICES = "AzureServices"
    """AZURE_SERVICES."""
    NONE = "None"
    """NONE."""


class PackageSourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of package source for a archive."""

    REMOTE = "remote"
    """REMOTE."""


class PasswordName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The password name."""

    PASSWORD = "password"
    """PASSWORD."""
    PASSWORD2 = "password2"
    """PASSWORD2."""


class PipelineOptions(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of PipelineOptions."""

    OVERWRITE_TAGS = "OverwriteTags"
    """OVERWRITE_TAGS."""
    OVERWRITE_BLOBS = "OverwriteBlobs"
    """OVERWRITE_BLOBS."""
    DELETE_SOURCE_BLOB_ON_SUCCESS = "DeleteSourceBlobOnSuccess"
    """DELETE_SOURCE_BLOB_ON_SUCCESS."""
    CONTINUE_ON_ERRORS = "ContinueOnErrors"
    """CONTINUE_ON_ERRORS."""


class PipelineRunSourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of the source."""

    AZURE_STORAGE_BLOB = "AzureStorageBlob"
    """AZURE_STORAGE_BLOB."""


class PipelineRunTargetType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of the target."""

    AZURE_STORAGE_BLOB = "AzureStorageBlob"
    """AZURE_STORAGE_BLOB."""


class PipelineSourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of source for the import pipeline."""

    AZURE_STORAGE_BLOB_CONTAINER = "AzureStorageBlobContainer"
    """AZURE_STORAGE_BLOB_CONTAINER."""


class PolicyStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The value that indicates whether the policy is enabled or not."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The provisioning state of the archive at the time the operation was called."""

    CREATING = "Creating"
    """CREATING."""
    UPDATING = "Updating"
    """UPDATING."""
    DELETING = "Deleting"
    """DELETING."""
    SUCCEEDED = "Succeeded"
    """SUCCEEDED."""
    FAILED = "Failed"
    """FAILED."""
    CANCELED = "Canceled"
    """CANCELED."""


class PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Whether or not public network access is allowed for the container registry."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""


class RegionalEndpoints(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Whether or not per-region endpoints are enabled for accessing the registry."""

    ENABLED = "Enabled"
    """Regional endpoints are enabled."""
    DISABLED = "Disabled"
    """Regional endpoints are disabled."""


class RegistryUsageUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The unit of measurement."""

    COUNT = "Count"
    """COUNT."""
    BYTES = "Bytes"
    """BYTES."""


class ResourceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The identity type."""

    SYSTEM_ASSIGNED = "SystemAssigned"
    """SYSTEM_ASSIGNED."""
    USER_ASSIGNED = "UserAssigned"
    """USER_ASSIGNED."""
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned, UserAssigned"
    """SYSTEM_ASSIGNED_USER_ASSIGNED."""
    NONE = "None"
    """NONE."""


class RoleAssignmentMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Determines registry role assignment mode."""

    ABAC_REPOSITORY_PERMISSIONS = "AbacRepositoryPermissions"
    """ABAC_REPOSITORY_PERMISSIONS."""
    LEGACY_REGISTRY_PERMISSIONS = "LegacyRegistryPermissions"
    """LEGACY_REGISTRY_PERMISSIONS."""


class SkuName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The SKU name of the container registry. Required for registry creation."""

    CLASSIC = "Classic"
    """CLASSIC."""
    BASIC = "Basic"
    """BASIC."""
    STANDARD = "Standard"
    """STANDARD."""
    PREMIUM = "Premium"
    """PREMIUM."""


class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The SKU tier based on the SKU name."""

    CLASSIC = "Classic"
    """CLASSIC."""
    BASIC = "Basic"
    """BASIC."""
    STANDARD = "Standard"
    """STANDARD."""
    PREMIUM = "Premium"
    """PREMIUM."""


class StorageAccessMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The storage access mode used for the customer storage account."""

    MANAGED_IDENTITY = "ManagedIdentity"
    """Managed Identity access mode."""
    SAS_TOKEN = "SasToken"
    """SAS Token access mode."""


class SyncState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The action that triggered the most recent registry sync."""

    NOT_ACTIVATED = "NotActivated"
    """Connected Registry is not activated."""
    SYNCING = "Syncing"
    """Connected Registry is syncing."""
    FAILED = "Failed"
    """Connected Registry sync failed."""
    SUCCEEDED = "Succeeded"
    """Connected Registry sync succeeded."""
    TIMED_OUT = "TimedOut"
    """Connected Registry sync timed out."""
    PENDING = "Pending"
    """Connected Registry sync is pending."""


class SyncTrigger(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The status of the connected registry's most recent sync."""

    SYNC_TOKEN_UPDATE = "SyncTokenUpdate"
    """Connected Registry sync was triggered by a sync token update."""
    INITIAL_SYNC = "InitialSync"
    """Connected Registry sync was triggered by an initial sync during activation."""
    MANUAL_RESYNC = "ManualResync"
    """Connected Registry sync was triggered by a manual resync request."""
    RECOVERY_SERVICE = "RecoveryService"
    """Connected Registry sync was triggered by the Connected Registry's recovery service."""


class TlsStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates whether HTTPS is enabled for the login server."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""


class TokenCertificateName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of TokenCertificateName."""

    CERTIFICATE1 = "certificate1"
    """CERTIFICATE1."""
    CERTIFICATE2 = "certificate2"
    """CERTIFICATE2."""


class TokenPasswordName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The password name "password1" or "password2"."""

    PASSWORD1 = "password1"
    """PASSWORD1."""
    PASSWORD2 = "password2"
    """PASSWORD2."""


class TokenStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The status of the token example enabled or disabled."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class TriggerStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The current status of the source trigger."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""


class TrustPolicyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of trust policy."""

    NOTARY = "Notary"
    """NOTARY."""


class WebhookAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of WebhookAction."""

    PUSH = "push"
    """PUSH."""
    DELETE = "delete"
    """DELETE."""
    QUARANTINE = "quarantine"
    """QUARANTINE."""
    CHART_PUSH = "chart_push"
    """CHART_PUSH."""
    CHART_DELETE = "chart_delete"
    """CHART_DELETE."""


class WebhookStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The status of the webhook at the time the operation was called."""

    ENABLED = "enabled"
    """ENABLED."""
    DISABLED = "disabled"
    """DISABLED."""


class WritableCacheRepos(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Whether to allow cache operations that write to repositories in this registry."""

    ENABLED = "Enabled"
    """Cache write operations are enabled."""
    DISABLED = "Disabled"
    """Cache write operations are disabled."""


class ZoneRedundancy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Whether or not zone redundancy is enabled for this container registry."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""
