# 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__ = [
    'ACLAction',
    'FeatureFlags',
    'ManagedIdentityType',
    'PrivateLinkServiceConnectionStatus',
    'ServiceKind',
    'SignalRRequestType',
    'SignalRSkuTier',
    'UpstreamAuthType',
]


class ACLAction(str, Enum):
    """
    Default action when no other rule matches
    """
    ALLOW = "Allow"
    DENY = "Deny"


class FeatureFlags(str, Enum):
    """
    FeatureFlags is the supported features of Azure SignalR service.
    - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
    - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively.
    - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively.
    - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: "true"/"false", to enable/disable live trace feature.
    """
    SERVICE_MODE = "ServiceMode"
    ENABLE_CONNECTIVITY_LOGS = "EnableConnectivityLogs"
    ENABLE_MESSAGING_LOGS = "EnableMessagingLogs"
    ENABLE_LIVE_TRACE = "EnableLiveTrace"


class ManagedIdentityType(str, Enum):
    """
    Represent the identity type: systemAssigned, userAssigned, None
    """
    NONE = "None"
    SYSTEM_ASSIGNED = "SystemAssigned"
    USER_ASSIGNED = "UserAssigned"


class PrivateLinkServiceConnectionStatus(str, Enum):
    """
    Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
    """
    PENDING = "Pending"
    APPROVED = "Approved"
    REJECTED = "Rejected"
    DISCONNECTED = "Disconnected"


class ServiceKind(str, Enum):
    """
    The kind of the service - e.g. "SignalR" for "Microsoft.SignalRService/SignalR"
    """
    SIGNAL_R = "SignalR"
    RAW_WEB_SOCKETS = "RawWebSockets"


class SignalRRequestType(str, Enum):
    """
    Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
    """
    CLIENT_CONNECTION = "ClientConnection"
    SERVER_CONNECTION = "ServerConnection"
    RESTAPI = "RESTAPI"
    TRACE = "Trace"


class SignalRSkuTier(str, Enum):
    """
    Optional tier of this particular SKU. 'Standard' or 'Free'. 
    
    `Basic` is deprecated, use `Standard` instead.
    """
    FREE = "Free"
    BASIC = "Basic"
    STANDARD = "Standard"
    PREMIUM = "Premium"


class UpstreamAuthType(str, Enum):
    """
    Gets or sets the type of auth. None or ManagedIdentity is supported now.
    """
    NONE = "None"
    MANAGED_IDENTITY = "ManagedIdentity"
