# 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 AccessRights(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of AccessRights."""

    MANAGE = "Manage"
    """MANAGE."""
    SEND = "Send"
    """SEND."""
    LISTEN = "Listen"
    """LISTEN."""


class ApplicationGroupPolicyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Application Group Policy types."""

    THROTTLING_POLICY = "ThrottlingPolicy"
    """THROTTLING_POLICY."""


class CaptureIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of Azure Active Directory Managed Identity."""

    SYSTEM_ASSIGNED = "SystemAssigned"
    """SYSTEM_ASSIGNED."""
    USER_ASSIGNED = "UserAssigned"
    """USER_ASSIGNED."""


class CleanupPolicyRetentionDescription(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Enumerates the possible values for cleanup policy."""

    DELETE = "Delete"
    """DELETE."""
    COMPACT = "Compact"
    """COMPACT."""
    DELETE_OR_COMPACT = "DeleteOrCompact"
    """DELETE_OR_COMPACT."""


class ClusterSkuName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Name of this SKU."""

    DEDICATED = "Dedicated"
    """DEDICATED."""


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 DefaultAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Default Action for Network Rule Set."""

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


class EncodingCaptureDescription(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Enumerates the possible values for the encoding format of capture description. Note:
    'AvroDeflate' will be deprecated in New API Version.
    """

    AVRO = "Avro"
    """AVRO."""
    AVRO_DEFLATE = "AvroDeflate"
    """AVRO_DEFLATE."""


class EndPointProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the Private Endpoint Connection."""

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


class EntityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Enumerates the possible values for the status of the Event Hub."""

    ACTIVE = "Active"
    """ACTIVE."""
    DISABLED = "Disabled"
    """DISABLED."""
    RESTORING = "Restoring"
    """RESTORING."""
    SEND_DISABLED = "SendDisabled"
    """SEND_DISABLED."""
    RECEIVE_DISABLED = "ReceiveDisabled"
    """RECEIVE_DISABLED."""
    CREATING = "Creating"
    """CREATING."""
    DELETING = "Deleting"
    """DELETING."""
    RENAMING = "Renaming"
    """RENAMING."""
    UNKNOWN = "Unknown"
    """UNKNOWN."""


class GeoDRRoleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """GeoDR Role Types."""

    PRIMARY = "Primary"
    """PRIMARY."""
    SECONDARY = "Secondary"
    """SECONDARY."""


class IpAddressType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The IP address type for the namespace. Determines whether the namespace supports IPv4 only or
    both IPv4 and IPv6 (dual stack).
    """

    I_PV4 = "IPv4"
    """The namespace supports IPv4 addresses only."""
    DUAL_STACK = "DualStack"
    """The namespace supports both IPv4 and IPv6 addresses (dual stack)."""


class KeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The access key to regenerate."""

    PRIMARY_KEY = "PrimaryKey"
    """PRIMARY_KEY."""
    SECONDARY_KEY = "SecondaryKey"
    """SECONDARY_KEY."""


class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of managed service identity."""

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


class MetricId(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Metric Id on which the throttle limit should be set, MetricId can be discovered by hovering
    over Metric in the Metrics section of Event Hub Namespace inside Azure Portal.
    """

    INCOMING_BYTES = "IncomingBytes"
    """INCOMING_BYTES."""
    OUTGOING_BYTES = "OutgoingBytes"
    """OUTGOING_BYTES."""
    INCOMING_MESSAGES = "IncomingMessages"
    """INCOMING_MESSAGES."""
    OUTGOING_MESSAGES = "OutgoingMessages"
    """OUTGOING_MESSAGES."""


class Mode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Setting to Enable or Disable Confidential Compute."""

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


class NetworkRuleIPAction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The IP Filter Action."""

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


class NetworkSecurityPerimeterConfigurationProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Provisioning state of NetworkSecurityPerimeter configuration propagation."""

    UNKNOWN = "Unknown"
    """UNKNOWN."""
    CREATING = "Creating"
    """CREATING."""
    UPDATING = "Updating"
    """UPDATING."""
    ACCEPTED = "Accepted"
    """ACCEPTED."""
    INVALID_RESPONSE = "InvalidResponse"
    """INVALID_RESPONSE."""
    SUCCEEDED = "Succeeded"
    """SUCCEEDED."""
    SUCCEEDED_WITH_ISSUES = "SucceededWithIssues"
    """SUCCEEDED_WITH_ISSUES."""
    FAILED = "Failed"
    """FAILED."""
    DELETING = "Deleting"
    """DELETING."""
    DELETED = "Deleted"
    """DELETED."""
    CANCELED = "Canceled"
    """CANCELED."""


class NspAccessRuleDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Direction of Access Rule."""

    INBOUND = "Inbound"
    """INBOUND."""
    OUTBOUND = "Outbound"
    """OUTBOUND."""


class PrivateLinkConnectionStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Status of the connection."""

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


class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the Cluster."""

    UNKNOWN = "Unknown"
    """UNKNOWN."""
    CREATING = "Creating"
    """CREATING."""
    DELETING = "Deleting"
    """DELETING."""
    SCALING = "Scaling"
    """SCALING."""
    ACTIVE = "Active"
    """ACTIVE."""
    FAILED = "Failed"
    """FAILED."""
    SUCCEEDED = "Succeeded"
    """SUCCEEDED."""
    CANCELED = "Canceled"
    """CANCELED."""


class ProvisioningStateDR(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted'
    or 'Succeeded' or 'Failed'.
    """

    ACCEPTED = "Accepted"
    """ACCEPTED."""
    SUCCEEDED = "Succeeded"
    """SUCCEEDED."""
    FAILED = "Failed"
    """FAILED."""


class PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines if traffic is allowed over public network. By default it is enabled."""

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""
    SECURED_BY_PERIMETER = "SecuredByPerimeter"
    """SECURED_BY_PERIMETER."""


class PublicNetworkAccessFlag(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines if traffic is allowed over public network. By default it is enabled. If value
    is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network
    security perimeter and profile's access rules.
    """

    ENABLED = "Enabled"
    """ENABLED."""
    DISABLED = "Disabled"
    """DISABLED."""
    SECURED_BY_PERIMETER = "SecuredByPerimeter"
    """SECURED_BY_PERIMETER."""


class ResourceAssociationAccessMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Access Mode of the resource association."""

    NO_ASSOCIATION_MODE = "NoAssociationMode"
    """NO_ASSOCIATION_MODE."""
    ENFORCED_MODE = "EnforcedMode"
    """ENFORCED_MODE."""
    LEARNING_MODE = "LearningMode"
    """LEARNING_MODE."""
    AUDIT_MODE = "AuditMode"
    """AUDIT_MODE."""
    UNSPECIFIED_MODE = "UnspecifiedMode"
    """UNSPECIFIED_MODE."""


class RoleDisasterRecovery(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or
    'Secondary'.
    """

    PRIMARY = "Primary"
    """PRIMARY."""
    PRIMARY_NOT_REPLICATING = "PrimaryNotReplicating"
    """PRIMARY_NOT_REPLICATING."""
    SECONDARY = "Secondary"
    """SECONDARY."""


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

    NONE = "None"
    """NONE."""
    BACKWARD = "Backward"
    """BACKWARD."""
    FORWARD = "Forward"
    """FORWARD."""


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

    UNKNOWN = "Unknown"
    """UNKNOWN."""
    AVRO = "Avro"
    """AVRO."""
    PROTO_BUF = "ProtoBuf"
    """PROTO_BUF."""
    JSON = "Json"
    """JSON."""


class SkuName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Name of this SKU."""

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


class SkuTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The billing tier of this particular SKU."""

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


class TimestampType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Denotes the type of timestamp the message will hold.Two types of timestamp types - "AppendTime"
    and "CreateTime". AppendTime refers the time in which message got appended inside broker log.
    CreateTime refers to the time in which the message was generated on source side and producers
    can set this timestamp while sending the message. Default value is AppendTime. If you are using
    AMQP protocol, CreateTime equals AppendTime and its behavior remains the same.
    """

    LOG_APPEND = "LogAppend"
    """LOG_APPEND."""
    CREATE = "Create"
    """CREATE."""


class TlsVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The minimum TLS version for the cluster to support, e.g. '1.2'."""

    ONE0 = "1.0"
    """ONE0."""
    ONE1 = "1.1"
    """ONE1."""
    ONE2 = "1.2"
    """ONE2."""
    ONE3 = "1.3"
    """ONE3."""


class UnavailableReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Specifies the reason for the unavailability of the service."""

    NONE = "None"
    """NONE."""
    INVALID_NAME = "InvalidName"
    """INVALID_NAME."""
    SUBSCRIPTION_IS_DISABLED = "SubscriptionIsDisabled"
    """SUBSCRIPTION_IS_DISABLED."""
    NAME_IN_USE = "NameInUse"
    """NAME_IN_USE."""
    NAME_IN_LOCKDOWN = "NameInLockdown"
    """NAME_IN_LOCKDOWN."""
    TOO_MANY_NAMESPACE_IN_CURRENT_SUBSCRIPTION = "TooManyNamespaceInCurrentSubscription"
    """TOO_MANY_NAMESPACE_IN_CURRENT_SUBSCRIPTION."""
