# 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__ = [
    'AdministratorType',
    'CatalogCollationType',
    'CreateMode',
    'DatabaseEdition',
    'ElasticPoolEdition',
    'GeoBackupPolicyState',
    'IdentityType',
    'InstancePoolLicenseType',
    'JobScheduleType',
    'JobStepActionSource',
    'JobStepActionType',
    'JobStepOutputType',
    'JobTargetGroupMembershipType',
    'JobTargetType',
    'ManagedDatabaseCreateMode',
    'ManagedInstanceAdministratorType',
    'ManagedInstanceLicenseType',
    'ManagedInstanceProxyOverride',
    'ManagedServerCreateMode',
    'PrivateLinkServiceConnectionStateStatus',
    'ReadOnlyEndpointFailoverPolicy',
    'ReadScale',
    'ReadWriteEndpointFailoverPolicy',
    'SampleName',
    'SecurityAlertPolicyEmailAccountAdmins',
    'SecurityAlertPolicyState',
    'SecurityAlertPolicyUseServerDefault',
    'SensitivityLabelRank',
    'ServerKeyType',
    'ServerVersion',
    'ServiceObjectiveName',
    'StorageAccountType',
    'SyncConflictResolutionPolicy',
    'SyncDirection',
    'SyncMemberDbType',
    'TransparentDataEncryptionStatus',
]


class AdministratorType(str, Enum):
    """
    The type of administrator.
    """
    ACTIVE_DIRECTORY = "ActiveDirectory"


class CatalogCollationType(str, Enum):
    """
    Collation of the metadata catalog.
    """
    DATABAS_E_DEFAULT = "DATABASE_DEFAULT"
    SQ_L_LATIN1_GENERAL_CP1_C_I_AS = "SQL_Latin1_General_CP1_CI_AS"


class CreateMode(str, Enum):
    """
    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    OnlineSecondary/NonReadableSecondary: creates a database as a (readable or nonreadable) secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, NonReadableSecondary, OnlineSecondary and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.
    """
    COPY = "Copy"
    DEFAULT = "Default"
    NON_READABLE_SECONDARY = "NonReadableSecondary"
    ONLINE_SECONDARY = "OnlineSecondary"
    POINT_IN_TIME_RESTORE = "PointInTimeRestore"
    RECOVERY = "Recovery"
    RESTORE = "Restore"
    RESTORE_LONG_TERM_RETENTION_BACKUP = "RestoreLongTermRetentionBackup"


class DatabaseEdition(str, Enum):
    """
    The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored.
    
    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:
    
    ```azurecli
    az sql db list-editions -l <location> -o table
    ````
    
    ```powershell
    Get-AzSqlServerServiceObjective -Location <location>
    ````
    """
    WEB = "Web"
    BUSINESS = "Business"
    BASIC = "Basic"
    STANDARD = "Standard"
    PREMIUM = "Premium"
    PREMIUM_RS = "PremiumRS"
    FREE = "Free"
    STRETCH = "Stretch"
    DATA_WAREHOUSE = "DataWarehouse"
    SYSTEM = "System"
    SYSTEM2 = "System2"
    GENERAL_PURPOSE = "GeneralPurpose"
    BUSINESS_CRITICAL = "BusinessCritical"
    HYPERSCALE = "Hyperscale"


class ElasticPoolEdition(str, Enum):
    """
    The edition of the elastic pool.
    """
    BASIC = "Basic"
    STANDARD = "Standard"
    PREMIUM = "Premium"
    GENERAL_PURPOSE = "GeneralPurpose"
    BUSINESS_CRITICAL = "BusinessCritical"


class GeoBackupPolicyState(str, Enum):
    """
    The state of the geo backup policy.
    """
    DISABLED = "Disabled"
    ENABLED = "Enabled"


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"


class InstancePoolLicenseType(str, Enum):
    """
    The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price).
    """
    LICENSE_INCLUDED = "LicenseIncluded"
    BASE_PRICE = "BasePrice"


class JobScheduleType(str, Enum):
    """
    Schedule interval type
    """
    ONCE = "Once"
    RECURRING = "Recurring"


class JobStepActionSource(str, Enum):
    """
    The source of the action to execute.
    """
    INLINE = "Inline"


class JobStepActionType(str, Enum):
    """
    Type of action being executed by the job step.
    """
    T_SQL = "TSql"


class JobStepOutputType(str, Enum):
    """
    The output destination type.
    """
    SQL_DATABASE = "SqlDatabase"


class JobTargetGroupMembershipType(str, Enum):
    """
    Whether the target is included or excluded from the group.
    """
    INCLUDE = "Include"
    EXCLUDE = "Exclude"


class JobTargetType(str, Enum):
    """
    The target type.
    """
    TARGET_GROUP = "TargetGroup"
    SQL_DATABASE = "SqlDatabase"
    SQL_ELASTIC_POOL = "SqlElasticPool"
    SQL_SHARD_MAP = "SqlShardMap"
    SQL_SERVER = "SqlServer"


class ManagedDatabaseCreateMode(str, Enum):
    """
    Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).
    """
    DEFAULT = "Default"
    RESTORE_EXTERNAL_BACKUP = "RestoreExternalBackup"
    POINT_IN_TIME_RESTORE = "PointInTimeRestore"
    RECOVERY = "Recovery"
    RESTORE_LONG_TERM_RETENTION_BACKUP = "RestoreLongTermRetentionBackup"


class ManagedInstanceAdministratorType(str, Enum):
    """
    Type of the managed instance administrator.
    """
    ACTIVE_DIRECTORY = "ActiveDirectory"


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 PrivateLinkServiceConnectionStateStatus(str, Enum):
    """
    The private link service connection status.
    """
    APPROVED = "Approved"
    PENDING = "Pending"
    REJECTED = "Rejected"
    DISCONNECTED = "Disconnected"


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


class ReadScale(str, Enum):
    """
    Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"


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 SampleName(str, Enum):
    """
    Indicates the name of the sample schema to apply when creating this database. If createMode is not Default, this value is ignored. Not supported for DataWarehouse edition.
    """
    ADVENTURE_WORKS_LT = "AdventureWorksLT"


class SecurityAlertPolicyEmailAccountAdmins(str, Enum):
    """
    Specifies that the alert is sent to the account administrators.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"


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


class SecurityAlertPolicyUseServerDefault(str, Enum):
    """
    Specifies whether to use the default server policy.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"


class SensitivityLabelRank(str, Enum):
    NONE = "None"
    LOW = "Low"
    MEDIUM = "Medium"
    HIGH = "High"
    CRITICAL = "Critical"


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


class ServerVersion(str, Enum):
    """
    The version of the server.
    """
    SERVER_VERSION_2_0 = "2.0"
    SERVER_VERSION_12_0 = "12.0"


class ServiceObjectiveName(str, Enum):
    """
    The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. 
    
    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:
    
    ```azurecli
    az sql db list-editions -l <location> -o table
    ````
    
    ```powershell
    Get-AzSqlServerServiceObjective -Location <location>
    ````
    """
    SYSTEM = "System"
    SYSTEM0 = "System0"
    SYSTEM1 = "System1"
    SYSTEM2 = "System2"
    SYSTEM3 = "System3"
    SYSTEM4 = "System4"
    SYSTEM2_L = "System2L"
    SYSTEM3_L = "System3L"
    SYSTEM4_L = "System4L"
    FREE = "Free"
    BASIC = "Basic"
    S0 = "S0"
    S1 = "S1"
    S2 = "S2"
    S3 = "S3"
    S4 = "S4"
    S6 = "S6"
    S7 = "S7"
    S9 = "S9"
    S12 = "S12"
    P1 = "P1"
    P2 = "P2"
    P3 = "P3"
    P4 = "P4"
    P6 = "P6"
    P11 = "P11"
    P15 = "P15"
    PRS1 = "PRS1"
    PRS2 = "PRS2"
    PRS4 = "PRS4"
    PRS6 = "PRS6"
    DW100 = "DW100"
    DW200 = "DW200"
    DW300 = "DW300"
    DW400 = "DW400"
    DW500 = "DW500"
    DW600 = "DW600"
    DW1000 = "DW1000"
    DW1200 = "DW1200"
    DW1000C = "DW1000c"
    DW1500 = "DW1500"
    DW1500C = "DW1500c"
    DW2000 = "DW2000"
    DW2000C = "DW2000c"
    DW3000 = "DW3000"
    DW2500C = "DW2500c"
    DW3000C = "DW3000c"
    DW6000 = "DW6000"
    DW5000C = "DW5000c"
    DW6000C = "DW6000c"
    DW7500C = "DW7500c"
    DW10000C = "DW10000c"
    DW15000C = "DW15000c"
    DW30000C = "DW30000c"
    DS100 = "DS100"
    DS200 = "DS200"
    DS300 = "DS300"
    DS400 = "DS400"
    DS500 = "DS500"
    DS600 = "DS600"
    DS1000 = "DS1000"
    DS1200 = "DS1200"
    DS1500 = "DS1500"
    DS2000 = "DS2000"
    ELASTIC_POOL = "ElasticPool"


class StorageAccountType(str, Enum):
    """
    The storage account type used to store backups for this instance. The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage)
    """
    GRS = "GRS"
    LRS = "LRS"
    ZRS = "ZRS"


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"


class TransparentDataEncryptionStatus(str, Enum):
    """
    The status of the database transparent data encryption.
    """
    ENABLED = "Enabled"
    DISABLED = "Disabled"
