# coding=utf-8
# *** WARNING: this file was generated by the Pulumi SDK Generator. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

from enum import Enum

__all__ = [
    'AuthenticationType',
    'ConnectionType',
    'DigitalTwinsIdentityType',
    'EndpointType',
    'IdentityType',
    'PrivateLinkServiceConnectionStatus',
    'PublicNetworkAccess',
    'RecordPropertyAndItemRemovals',
]


class AuthenticationType(str, Enum):
    """
    Specifies the authentication type being used for connecting to the endpoint. Defaults to 'KeyBased'. If 'KeyBased' is selected, a connection string must be specified (at least the primary connection string). If 'IdentityBased' is select, the endpointUri and entityPath properties must be specified.
    """
    KEY_BASED = "KeyBased"
    IDENTITY_BASED = "IdentityBased"


class ConnectionType(str, Enum):
    """
    The type of time series connection resource.
    """
    AZURE_DATA_EXPLORER = "AzureDataExplorer"


class DigitalTwinsIdentityType(str, Enum):
    """
    The type of Managed Identity used by the DigitalTwinsInstance.
    """
    NONE = "None"
    SYSTEM_ASSIGNED = "SystemAssigned"
    USER_ASSIGNED = "UserAssigned"
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"


class EndpointType(str, Enum):
    """
    The type of Digital Twins endpoint
    """
    EVENT_HUB = "EventHub"
    EVENT_GRID = "EventGrid"
    SERVICE_BUS = "ServiceBus"


class IdentityType(str, Enum):
    """
    The type of managed identity used.
    """
    SYSTEM_ASSIGNED = "SystemAssigned"
    USER_ASSIGNED = "UserAssigned"


class PrivateLinkServiceConnectionStatus(str, Enum):
    """
    The status of a private endpoint connection.
    """
    PENDING = "Pending"
    APPROVED = "Approved"
    REJECTED = "Rejected"
    DISCONNECTED = "Disconnected"


class PublicNetworkAccess(str, Enum):
    """
    Public network access for the DigitalTwinsInstance.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"


class RecordPropertyAndItemRemovals(str, Enum):
    """
    Specifies whether or not to record twin / relationship property and item removals, including removals of indexed or keyed values (such as map entries, array elements, etc.). This feature is de-activated unless explicitly set to 'true'. Setting this property to 'true' will generate an additional column in the property events table in ADX.
    """
    TRUE = "true"
    FALSE = "false"
