# 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) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from enum import Enum, EnumMeta
from six import with_metaclass

class _CaseInsensitiveEnumMeta(EnumMeta):
    def __getitem__(self, name):
        return super().__getitem__(name.upper())

    def __getattr__(cls, name):
        """Return the enum member matching `name`
        We use __getattr__ instead of descriptors or inserting into the enum
        class' __dict__ in order to support `name` and `value` being both
        properties for enum members (which live in the class' __dict__) and
        enum members themselves.
        """
        try:
            return cls._member_map_[name.upper()]
        except KeyError:
            raise AttributeError(name)


class AutoHealActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Predefined action to be taken.
    """

    RECYCLE = "Recycle"
    LOG_EVENT = "LogEvent"
    CUSTOM_ACTION = "CustomAction"

class AzureResourceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Azure resource type.
    """

    WEBSITE = "Website"
    TRAFFIC_MANAGER = "TrafficManager"

class BackupItemStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Backup status.
    """

    IN_PROGRESS = "InProgress"
    FAILED = "Failed"
    SUCCEEDED = "Succeeded"
    TIMED_OUT = "TimedOut"
    CREATED = "Created"
    SKIPPED = "Skipped"
    PARTIALLY_SUCCEEDED = "PartiallySucceeded"
    DELETE_IN_PROGRESS = "DeleteInProgress"
    DELETE_FAILED = "DeleteFailed"
    DELETED = "Deleted"

class BackupRestoreOperationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Type of the backup.
    """

    DEFAULT = "Default"
    CLONE = "Clone"
    RELOCATION = "Relocation"
    SNAPSHOT = "Snapshot"

class BuiltInAuthenticationProvider(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The default authentication provider to use when multiple providers are configured.
    This setting is only needed if multiple providers are configured and the unauthenticated client
    action is set to "RedirectToLoginPage".
    """

    AZURE_ACTIVE_DIRECTORY = "AzureActiveDirectory"
    FACEBOOK = "Facebook"
    GOOGLE = "Google"
    MICROSOFT_ACCOUNT = "MicrosoftAccount"
    TWITTER = "Twitter"

class CloneAbilityResult(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Name of app.
    """

    CLONEABLE = "Cloneable"
    PARTIALLY_CLONEABLE = "PartiallyCloneable"
    NOT_CLONEABLE = "NotCloneable"

class ConnectionStringType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Type of database.
    """

    MY_SQL = "MySql"
    SQL_SERVER = "SQLServer"
    SQL_AZURE = "SQLAzure"
    CUSTOM = "Custom"
    NOTIFICATION_HUB = "NotificationHub"
    SERVICE_BUS = "ServiceBus"
    EVENT_HUB = "EventHub"
    API_HUB = "ApiHub"
    DOC_DB = "DocDb"
    REDIS_CACHE = "RedisCache"
    POSTGRE_SQL = "PostgreSQL"

class ContinuousWebJobStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Job status.
    """

    INITIALIZING = "Initializing"
    STARTING = "Starting"
    RUNNING = "Running"
    PENDING_RESTART = "PendingRestart"
    STOPPED = "Stopped"

class CustomHostNameDnsRecordType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Custom DNS record type.
    """

    C_NAME = "CName"
    A = "A"

class DatabaseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Database type (e.g. SqlAzure / MySql).
    """

    SQL_AZURE = "SqlAzure"
    MY_SQL = "MySql"
    LOCAL_MY_SQL = "LocalMySql"
    POSTGRE_SQL = "PostgreSql"

class DnsVerificationTestResult(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """DNS verification test result.
    """

    PASSED = "Passed"
    FAILED = "Failed"
    SKIPPED = "Skipped"

class FrequencyUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The unit of time for how often the backup should be executed (e.g. for weekly backup, this
    should be set to Day and FrequencyInterval should be set to 7)
    """

    DAY = "Day"
    HOUR = "Hour"

class HostNameType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Hostname type.
    """

    VERIFIED = "Verified"
    MANAGED = "Managed"

class HostType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Indicates whether the hostname is a standard or repository hostname.
    """

    STANDARD = "Standard"
    REPOSITORY = "Repository"

class LogLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Log level.
    """

    OFF = "Off"
    VERBOSE = "Verbose"
    INFORMATION = "Information"
    WARNING = "Warning"
    ERROR = "Error"

class ManagedPipelineMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Managed pipeline mode.
    """

    INTEGRATED = "Integrated"
    CLASSIC = "Classic"

class ManagedServiceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Type of managed service identity.
    """

    SYSTEM_ASSIGNED = "SystemAssigned"

class MSDeployLogEntryType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Log entry type
    """

    MESSAGE = "Message"
    WARNING = "Warning"
    ERROR = "Error"

class MSDeployProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Provisioning state
    """

    ACCEPTED = "accepted"
    RUNNING = "running"
    SUCCEEDED = "succeeded"
    FAILED = "failed"
    CANCELED = "canceled"

class MySqlMigrationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The type of migration operation to be done
    """

    LOCAL_TO_REMOTE = "LocalToRemote"
    REMOTE_TO_LOCAL = "RemoteToLocal"

class OperationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The current status of the operation.
    """

    IN_PROGRESS = "InProgress"
    FAILED = "Failed"
    SUCCEEDED = "Succeeded"
    TIMED_OUT = "TimedOut"
    CREATED = "Created"

class PublicCertificateLocation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Public Certificate Location
    """

    CURRENT_USER_MY = "CurrentUserMy"
    LOCAL_MACHINE_MY = "LocalMachineMy"
    UNKNOWN = "Unknown"

class PublishingProfileFormat(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Name of the format. Valid values are:
    FileZilla3
    WebDeploy -- default
    Ftp
    """

    FILE_ZILLA3 = "FileZilla3"
    WEB_DEPLOY = "WebDeploy"
    FTP = "Ftp"

class RouteType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The type of route this is:
    DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918
    INHERITED - Routes inherited from the real Virtual Network routes
    STATIC - Static route set on the app only
    
    These values will be used for syncing an app's routes with those from a Virtual Network.
    """

    DEFAULT = "DEFAULT"
    INHERITED = "INHERITED"
    STATIC = "STATIC"

class ScmType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """SCM type.
    """

    NONE = "None"
    DROPBOX = "Dropbox"
    TFS = "Tfs"
    LOCAL_GIT = "LocalGit"
    GIT_HUB = "GitHub"
    CODE_PLEX_GIT = "CodePlexGit"
    CODE_PLEX_HG = "CodePlexHg"
    BITBUCKET_GIT = "BitbucketGit"
    BITBUCKET_HG = "BitbucketHg"
    EXTERNAL_GIT = "ExternalGit"
    EXTERNAL_HG = "ExternalHg"
    ONE_DRIVE = "OneDrive"
    VSO = "VSO"

class SiteAvailabilityState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Management information availability state for the app.
    """

    NORMAL = "Normal"
    LIMITED = "Limited"
    DISASTER_RECOVERY_MODE = "DisasterRecoveryMode"

class SiteExtensionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Site extension type.
    """

    GALLERY = "Gallery"
    WEB_ROOT = "WebRoot"

class SiteLoadBalancing(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Site load balancing.
    """

    WEIGHTED_ROUND_ROBIN = "WeightedRoundRobin"
    LEAST_REQUESTS = "LeastRequests"
    LEAST_RESPONSE_TIME = "LeastResponseTime"
    WEIGHTED_TOTAL_TRAFFIC = "WeightedTotalTraffic"
    REQUEST_HASH = "RequestHash"

class SslState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """SSL type.
    """

    DISABLED = "Disabled"
    SNI_ENABLED = "SniEnabled"
    IP_BASED_ENABLED = "IpBasedEnabled"

class SupportedTlsVersions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """MinTlsVersion: configures the minimum version of TLS required for SSL requests
    """

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

class TriggeredWebJobStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Job status.
    """

    SUCCESS = "Success"
    FAILED = "Failed"
    ERROR = "Error"

class UnauthenticatedClientAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """The action to take when an unauthenticated client attempts to access the app.
    """

    REDIRECT_TO_LOGIN_PAGE = "RedirectToLoginPage"
    ALLOW_ANONYMOUS = "AllowAnonymous"

class UsageState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """State indicating whether the app has exceeded its quota usage. Read-only.
    """

    NORMAL = "Normal"
    EXCEEDED = "Exceeded"

class WebJobType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
    """Job type.
    """

    CONTINUOUS = "Continuous"
    TRIGGERED = "Triggered"
