# pylint: disable=too-many-lines
# 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 AdvancedFilterOperatorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others."""

    NUMBER_IN = "NumberIn"
    """NumberIn."""
    NUMBER_NOT_IN = "NumberNotIn"
    """NumberNotIn."""
    NUMBER_LESS_THAN = "NumberLessThan"
    """NumberLessThan."""
    NUMBER_GREATER_THAN = "NumberGreaterThan"
    """NumberGreaterThan."""
    NUMBER_LESS_THAN_OR_EQUALS = "NumberLessThanOrEquals"
    """NumberLessThanOrEquals."""
    NUMBER_GREATER_THAN_OR_EQUALS = "NumberGreaterThanOrEquals"
    """NumberGreaterThanOrEquals."""
    BOOL_EQUALS = "BoolEquals"
    """BoolEquals."""
    STRING_IN = "StringIn"
    """StringIn."""
    STRING_NOT_IN = "StringNotIn"
    """StringNotIn."""
    STRING_BEGINS_WITH = "StringBeginsWith"
    """StringBeginsWith."""
    STRING_ENDS_WITH = "StringEndsWith"
    """StringEndsWith."""
    STRING_CONTAINS = "StringContains"
    """StringContains."""
    NUMBER_IN_RANGE = "NumberInRange"
    """NumberInRange."""
    NUMBER_NOT_IN_RANGE = "NumberNotInRange"
    """NumberNotInRange."""
    STRING_NOT_BEGINS_WITH = "StringNotBeginsWith"
    """StringNotBeginsWith."""
    STRING_NOT_ENDS_WITH = "StringNotEndsWith"
    """StringNotEndsWith."""
    STRING_NOT_CONTAINS = "StringNotContains"
    """StringNotContains."""
    IS_NULL_OR_UNDEFINED = "IsNullOrUndefined"
    """IsNullOrUndefined."""
    IS_NOT_NULL = "IsNotNull"
    """IsNotNull."""


class AlternativeAuthenticationNameSource(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Alternative authentication name sources related to client authentication settings for namespace
    resource.
    """

    CLIENT_CERTIFICATE_SUBJECT = "ClientCertificateSubject"
    """ClientCertificateSubject."""
    CLIENT_CERTIFICATE_DNS = "ClientCertificateDns"
    """ClientCertificateDns."""
    CLIENT_CERTIFICATE_URI = "ClientCertificateUri"
    """ClientCertificateUri."""
    CLIENT_CERTIFICATE_IP = "ClientCertificateIp"
    """ClientCertificateIp."""
    CLIENT_CERTIFICATE_EMAIL = "ClientCertificateEmail"
    """ClientCertificateEmail."""


class CaCertificateProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the CA Certificate resource."""

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


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

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""
    IDLE_DUE_TO_MIRRORED_PARTNER_TOPIC_DELETION = "IdleDueToMirroredPartnerTopicDeletion"
    """IdleDueToMirroredPartnerTopicDeletion."""
    IDLE_DUE_TO_MIRRORED_PARTNER_DESTINATION_DELETION = "IdleDueToMirroredPartnerDestinationDeletion"
    """IdleDueToMirroredPartnerDestinationDeletion."""


class ChannelType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of the event channel which represents the direction flow of events."""

    PARTNER_TOPIC = "PartnerTopic"
    """PartnerTopic."""
    PARTNER_DESTINATION = "PartnerDestination"
    """PartnerDestination."""


class ClientCertificateValidationScheme(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The validation scheme used to authenticate the client. Default value is
    SubjectMatchesAuthenticationName.
    """

    SUBJECT_MATCHES_AUTHENTICATION_NAME = "SubjectMatchesAuthenticationName"
    """SubjectMatchesAuthenticationName."""
    DNS_MATCHES_AUTHENTICATION_NAME = "DnsMatchesAuthenticationName"
    """DnsMatchesAuthenticationName."""
    URI_MATCHES_AUTHENTICATION_NAME = "UriMatchesAuthenticationName"
    """UriMatchesAuthenticationName."""
    IP_MATCHES_AUTHENTICATION_NAME = "IpMatchesAuthenticationName"
    """IpMatchesAuthenticationName."""
    EMAIL_MATCHES_AUTHENTICATION_NAME = "EmailMatchesAuthenticationName"
    """EmailMatchesAuthenticationName."""
    THUMBPRINT_MATCH = "ThumbprintMatch"
    """ThumbprintMatch."""


class ClientGroupProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the ClientGroup resource."""

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


class ClientProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the Client resource."""

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


class ClientState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicates if the client is enabled or not. Default value is Enabled."""

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


class ConfidentialComputeMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This property specifies the mode of the Azure Confidential Compute configuration. Possible
    values are 'Disabled' or 'Enabled'. This is an immutable property set at the time of resource
    creation and cannot be modified later. Enabling this property ensures that messages are
    processed and stored in a Azure Confidential Compute environment.
    """

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


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 CustomDomainIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'."""

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


class CustomDomainValidationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Validation state for the custom domain. This is a read only property and is initially set to
    'Pending' and will be updated to 'Approved' by Event Grid only after ownership of the domain
    name has been successfully validated.
    """

    PENDING = "Pending"
    """Pending."""
    APPROVED = "Approved"
    """Approved."""
    ERROR_RETRIEVING_DNS_RECORD = "ErrorRetrievingDnsRecord"
    """ErrorRetrievingDnsRecord."""


class CustomJwtAuthenticationManagedIdentityType(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'."""

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


class CustomWebhookAuthenticationManagedIdentityType(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'."""

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


class DataResidencyBoundary(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Data Residency Boundary of the resource."""

    WITHIN_GEOPAIR = "WithinGeopair"
    """WithinGeopair."""
    WITHIN_REGION = "WithinRegion"
    """WithinRegion."""


class DeadLetterEndPointType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of the endpoint for the dead letter destination."""

    STORAGE_BLOB = "StorageBlob"
    """StorageBlob."""


class DeliveryAttributeMappingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of the delivery attribute or header name."""

    STATIC = "Static"
    """Static."""
    DYNAMIC = "Dynamic"
    """Dynamic."""


class DeliveryMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Delivery mode of the event subscription."""

    QUEUE = "Queue"
    """Queue."""
    PUSH = "Push"
    """Push."""


class DeliverySchema(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The event delivery schema for the event subscription."""

    CLOUD_EVENT_SCHEMA_V1_0 = "CloudEventSchemaV1_0"
    """CloudEventSchemaV1_0."""


class DomainProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the Event Grid Domain Resource."""

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


class DomainTopicProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the domain topic."""

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


class EndpointType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of the endpoint for the event subscription destination."""

    WEB_HOOK = "WebHook"
    """WebHook."""
    EVENT_HUB = "EventHub"
    """EventHub."""
    STORAGE_QUEUE = "StorageQueue"
    """StorageQueue."""
    HYBRID_CONNECTION = "HybridConnection"
    """HybridConnection."""
    SERVICE_BUS_QUEUE = "ServiceBusQueue"
    """ServiceBusQueue."""
    SERVICE_BUS_TOPIC = "ServiceBusTopic"
    """ServiceBusTopic."""
    AZURE_FUNCTION = "AzureFunction"
    """AzureFunction."""
    PARTNER_DESTINATION = "PartnerDestination"
    """PartnerDestination."""
    MONITOR_ALERT = "MonitorAlert"
    """MonitorAlert."""
    NAMESPACE_TOPIC = "NamespaceTopic"
    """NamespaceTopic."""


class EventDefinitionKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of event type used."""

    INLINE = "Inline"
    """Inline."""


class EventDeliverySchema(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The event delivery schema for the event subscription."""

    EVENT_GRID_SCHEMA = "EventGridSchema"
    """EventGridSchema."""
    CUSTOM_INPUT_SCHEMA = "CustomInputSchema"
    """CustomInputSchema."""
    CLOUD_EVENT_SCHEMA_V1_0 = "CloudEventSchemaV1_0"
    """CloudEventSchemaV1_0."""


class EventInputSchema(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines the format that is expected for incoming events published to the topic."""

    CLOUD_EVENT_SCHEMA_V1_0 = "CloudEventSchemaV1_0"
    """CloudEventSchemaV1_0."""


class EventSubscriptionIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'."""

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


class EventSubscriptionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the event subscription."""

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


class FilterOperatorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others."""

    NUMBER_IN = "NumberIn"
    """NumberIn."""
    NUMBER_NOT_IN = "NumberNotIn"
    """NumberNotIn."""
    NUMBER_LESS_THAN = "NumberLessThan"
    """NumberLessThan."""
    NUMBER_GREATER_THAN = "NumberGreaterThan"
    """NumberGreaterThan."""
    NUMBER_LESS_THAN_OR_EQUALS = "NumberLessThanOrEquals"
    """NumberLessThanOrEquals."""
    NUMBER_GREATER_THAN_OR_EQUALS = "NumberGreaterThanOrEquals"
    """NumberGreaterThanOrEquals."""
    BOOL_EQUALS = "BoolEquals"
    """BoolEquals."""
    STRING_IN = "StringIn"
    """StringIn."""
    STRING_NOT_IN = "StringNotIn"
    """StringNotIn."""
    STRING_BEGINS_WITH = "StringBeginsWith"
    """StringBeginsWith."""
    STRING_ENDS_WITH = "StringEndsWith"
    """StringEndsWith."""
    STRING_CONTAINS = "StringContains"
    """StringContains."""
    NUMBER_IN_RANGE = "NumberInRange"
    """NumberInRange."""
    NUMBER_NOT_IN_RANGE = "NumberNotInRange"
    """NumberNotInRange."""
    STRING_NOT_BEGINS_WITH = "StringNotBeginsWith"
    """StringNotBeginsWith."""
    STRING_NOT_ENDS_WITH = "StringNotEndsWith"
    """StringNotEndsWith."""
    STRING_NOT_CONTAINS = "StringNotContains"
    """StringNotContains."""
    IS_NULL_OR_UNDEFINED = "IsNullOrUndefined"
    """IsNullOrUndefined."""
    IS_NOT_NULL = "IsNotNull"
    """IsNotNull."""


class IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an
    implicitly created identity and a set of user-assigned identities. The type 'None' will remove
    any identity.
    """

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


class InputSchema(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines the format that Event Grid should expect for incoming events published to the
    Event Grid Domain Resource.
    """

    EVENT_GRID_SCHEMA = "EventGridSchema"
    """EventGridSchema."""
    CUSTOM_EVENT_SCHEMA = "CustomEventSchema"
    """CustomEventSchema."""
    CLOUD_EVENT_SCHEMA_V1_0 = "CloudEventSchemaV1_0"
    """CloudEventSchemaV1_0."""


class InputSchemaMappingType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of the custom mapping."""

    JSON = "Json"
    """Json."""


class IpActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Action to perform based on the match or no match of the IpMask."""

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


class KeyEncryptionIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The type of managed identity used. Only UserAssigned or SystemAssigned Identity are supported."""

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


class KeyEncryptionKeyStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The state of the Customer Managed Key (CMK) encryption. This is a read-only property which
    determines if the associated key is active and valid and used actively by runtime as expected.
    When the associated CMK becomes invalid (e.g., if it is deleted, or if versioned CMK is not
    current anymore), Event Grid Service will set this state to disabled to indicate that this key
    is not valid anymore and requires action from user.
    """

    ACTIVE = "Active"
    """Active."""
    REVOKED = "Revoked"
    """Revoked."""


class MonitorAlertSeverity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The severity that will be attached to every Alert fired through this event subscription. This
    field must be provided.
    """

    SEV0 = "Sev0"
    """Sev0."""
    SEV1 = "Sev1"
    """Sev1."""
    SEV2 = "Sev2"
    """Sev2."""
    SEV3 = "Sev3"
    """Sev3."""
    SEV4 = "Sev4"
    """Sev4."""


class NamespaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the namespace resource."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""
    DELETED = "Deleted"
    """Deleted."""
    DELETE_FAILED = "DeleteFailed"
    """DeleteFailed."""
    CREATE_FAILED = "CreateFailed"
    """CreateFailed."""
    UPDATED_FAILED = "UpdatedFailed"
    """UpdatedFailed."""


class NamespaceTopicProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the namespace topic."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""
    DELETED = "Deleted"
    """Deleted."""
    DELETE_FAILED = "DeleteFailed"
    """DeleteFailed."""
    CREATE_FAILED = "CreateFailed"
    """CreateFailed."""
    UPDATED_FAILED = "UpdatedFailed"
    """UpdatedFailed."""


class NetworkSecurityPerimeterAssociationAccessMode(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Network security perimeter access mode."""

    LEARNING = "Learning"
    """Learning."""
    ENFORCED = "Enforced"
    """Enforced."""
    AUDIT = "Audit"
    """Audit."""


class NetworkSecurityPerimeterConfigProvisioningState(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Provisioning state to reflect configuration state and indicate status of nsp profile
    configuration retrieval.
    """

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""
    DELETED = "Deleted"
    """Deleted."""
    ACCEPTED = "Accepted"
    """Accepted."""


class NetworkSecurityPerimeterConfigurationIssueSeverity(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Provisioning issue severity."""

    WARNING = "Warning"
    """Warning."""
    ERROR = "Error"
    """Error."""


class NetworkSecurityPerimeterConfigurationIssueType(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """Provisioning issue type."""

    MISSING_PERIMETER_CONFIGURATION = "MissingPerimeterConfiguration"
    """MissingPerimeterConfiguration."""
    MISSING_IDENTITY_CONFIGURATION = "MissingIdentityConfiguration"
    """MissingIdentityConfiguration."""
    CONFIGURATION_PROPAGATION_FAILURE = "ConfigurationPropagationFailure"
    """ConfigurationPropagationFailure."""
    OTHER = "Other"
    """Other."""


class NetworkSecurityPerimeterProfileAccessRuleDirection(  # pylint: disable=name-too-long
    str, Enum, metaclass=CaseInsensitiveEnumMeta
):
    """NSP access rule direction."""

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


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

    TOPICS = "topics"
    """topics."""
    DOMAINS = "domains"
    """domains."""


class PartnerClientAuthenticationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of client authentication."""

    AZURE_AD = "AzureAD"
    """AzureAD."""


class PartnerConfigurationProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the partner configuration."""

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


class PartnerDestinationActivationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Activation state of the partner destination."""

    NEVER_ACTIVATED = "NeverActivated"
    """NeverActivated."""
    ACTIVATED = "Activated"
    """Activated."""


class PartnerDestinationProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the partner destination."""

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


class PartnerEndpointType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of the endpoint for the partner destination."""

    WEB_HOOK = "WebHook"
    """WebHook."""


class PartnerNamespaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the partner namespace."""

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


class PartnerRegistrationProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the partner registration."""

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


class PartnerTopicActivationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Activation state of the partner topic."""

    NEVER_ACTIVATED = "NeverActivated"
    """NeverActivated."""
    ACTIVATED = "Activated"
    """Activated."""
    DEACTIVATED = "Deactivated"
    """Deactivated."""


class PartnerTopicProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the partner topic."""

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


class PartnerTopicRoutingMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines if events published to this partner namespace should use the source attribute
    in the event payload or use the channel name in the header when matching to the partner topic.
    If none is specified, source attribute routing will be used to match the partner topic.
    """

    SOURCE_EVENT_ATTRIBUTE = "SourceEventAttribute"
    """SourceEventAttribute."""
    CHANNEL_NAME_HEADER = "ChannelNameHeader"
    """ChannelNameHeader."""


class PermissionBindingProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the PermissionBinding resource."""

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


class PermissionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The allowed permission."""

    PUBLISHER = "Publisher"
    """Publisher."""
    SUBSCRIBER = "Subscriber"
    """Subscriber."""


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

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


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

    TOPICS = "topics"
    """topics."""
    DOMAINS = "domains"
    """domains."""
    PARTNER_NAMESPACES = "partnerNamespaces"
    """partnerNamespaces."""
    NAMESPACES = "namespaces"
    """namespaces."""


class PublicNetworkAccess(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """This determines if traffic is allowed over public network. By default it is enabled. You can
    further restrict to specific IPs by configuring <seealso
    cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.DomainProperties.InboundIpRules"
    />.
    """

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


class PublisherType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Publisher type of the namespace topic."""

    CUSTOM = "Custom"
    """Custom."""


class ReadinessState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The readiness state of the corresponding partner topic."""

    NEVER_ACTIVATED = "NeverActivated"
    """NeverActivated."""
    ACTIVATED = "Activated"
    """Activated."""


class ResourceKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Kind of the resource."""

    AZURE = "Azure"
    """Azure."""
    AZURE_ARC = "AzureArc"
    """AzureArc."""


class ResourceProvisioningState(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 ResourceRegionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Region type of the resource."""

    REGIONAL_RESOURCE = "RegionalResource"
    """RegionalResource."""
    GLOBAL_RESOURCE = "GlobalResource"
    """GlobalResource."""


class RoutingIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Routing identity type for topic spaces configuration."""

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


class Sku(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The Sku name of the resource. The possible values are: Basic or Premium."""

    BASIC = "Basic"
    """Basic."""
    PREMIUM = "Premium"
    """Premium."""


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

    STANDARD = "Standard"
    """Standard."""


class StaticRoutingEnrichmentType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Static routing enrichment value type. For e.g. this property value can be 'String'."""

    STRING = "String"
    """String."""


class SubscriptionProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the event subscription."""

    CREATING = "Creating"
    """Creating."""
    UPDATING = "Updating"
    """Updating."""
    DELETING = "Deleting"
    """Deleting."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    CANCELED = "Canceled"
    """Canceled."""
    FAILED = "Failed"
    """Failed."""
    AWAITING_MANUAL_ACTION = "AwaitingManualAction"
    """AwaitingManualAction."""
    DELETED = "Deleted"
    """Deleted."""
    DELETE_FAILED = "DeleteFailed"
    """DeleteFailed."""
    CREATE_FAILED = "CreateFailed"
    """CreateFailed."""
    UPDATED_FAILED = "UpdatedFailed"
    """UpdatedFailed."""


class TlsVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Minimum TLS version of the publisher allowed to publish to this domain."""

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


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

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


class TopicSpaceProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the TopicSpace resource."""

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


class TopicSpacesConfigurationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Indicate if Topic Spaces Configuration is enabled for the namespace. Default is Disabled."""

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


class TopicTypeProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the topic type."""

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


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

    RESOURCE = "Resource"
    """Resource."""
    RESOURCE_GROUP = "ResourceGroup"
    """ResourceGroup."""
    AZURE_SUBSCRIPTION = "AzureSubscription"
    """AzureSubscription."""
    MANAGEMENT_GROUP = "ManagementGroup"
    """ManagementGroup."""


class VerifiedPartnerProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Provisioning state of the verified partner."""

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