# 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__ = [
    'AutoExecuteStatus',
    'BlobAuditingPolicyState',
    'IdentityType',
    'ManagedInstanceLicenseType',
    'ManagedInstanceProxyOverride',
    'ManagedServerCreateMode',
    'ReadOnlyEndpointFailoverPolicy',
    'ReadWriteEndpointFailoverPolicy',
    'ServerKeyType',
    'SyncConflictResolutionPolicy',
    'SyncDirection',
    'SyncMemberDbType',
]


class AutoExecuteStatus(str, Enum):
    """
    Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"
    DEFAULT = "Default"


class BlobAuditingPolicyState(str, Enum):
    """
    Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"


class IdentityType(str, Enum):
    """
    The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.
    """
    NONE = "None"
    SYSTEM_ASSIGNED = "SystemAssigned"
    USER_ASSIGNED = "UserAssigned"
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"


class ManagedInstanceLicenseType(str, Enum):
    """
    The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
    """
    LICENSE_INCLUDED = "LicenseIncluded"
    BASE_PRICE = "BasePrice"


class ManagedInstanceProxyOverride(str, Enum):
    """
    Connection type used for connecting to the instance.
    """
    PROXY = "Proxy"
    REDIRECT = "Redirect"
    DEFAULT = "Default"


class ManagedServerCreateMode(str, Enum):
    """
    Specifies the mode of database creation.
    
    Default: Regular instance creation.
    
    Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
    """
    DEFAULT = "Default"
    POINT_IN_TIME_RESTORE = "PointInTimeRestore"


class ReadOnlyEndpointFailoverPolicy(str, Enum):
    """
    Failover policy of the read-only endpoint for the failover group.
    """
    DISABLED = "Disabled"
    ENABLED = "Enabled"


class ReadWriteEndpointFailoverPolicy(str, Enum):
    """
    Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required.
    """
    MANUAL = "Manual"
    AUTOMATIC = "Automatic"


class ServerKeyType(str, Enum):
    """
    The server key type like 'ServiceManaged', 'AzureKeyVault'.
    """
    SERVICE_MANAGED = "ServiceManaged"
    AZURE_KEY_VAULT = "AzureKeyVault"


class SyncConflictResolutionPolicy(str, Enum):
    """
    Conflict resolution policy of the sync group.
    """
    HUB_WIN = "HubWin"
    MEMBER_WIN = "MemberWin"


class SyncDirection(str, Enum):
    """
    Sync direction of the sync member.
    """
    BIDIRECTIONAL = "Bidirectional"
    ONE_WAY_MEMBER_TO_HUB = "OneWayMemberToHub"
    ONE_WAY_HUB_TO_MEMBER = "OneWayHubToMember"


class SyncMemberDbType(str, Enum):
    """
    Database type of the sync member.
    """
    AZURE_SQL_DATABASE = "AzureSqlDatabase"
    SQL_SERVER_DATABASE = "SqlServerDatabase"
