```py
namespace azure.mgmt.sql

    class azure.mgmt.sql.SqlManagementClient: implements ContextManager 
        backup_short_term_retention_policies: BackupShortTermRetentionPoliciesOperations
        capabilities: CapabilitiesOperations
        data_masking_policies: DataMaskingPoliciesOperations
        data_masking_rules: DataMaskingRulesOperations
        data_warehouse_user_activities: DataWarehouseUserActivitiesOperations
        database_advanced_threat_protection_settings: DatabaseAdvancedThreatProtectionSettingsOperations
        database_advisors: DatabaseAdvisorsOperations
        database_automatic_tuning: DatabaseAutomaticTuningOperations
        database_blob_auditing_policies: DatabaseBlobAuditingPoliciesOperations
        database_columns: DatabaseColumnsOperations
        database_encryption_protectors: DatabaseEncryptionProtectorsOperations
        database_extensions: DatabaseExtensionsOperations
        database_operations: DatabaseOperationsOperations
        database_recommended_actions: DatabaseRecommendedActionsOperations
        database_schemas: DatabaseSchemasOperations
        database_security_alert_policies: DatabaseSecurityAlertPoliciesOperations
        database_sql_vulnerability_assessment_baselines: DatabaseSqlVulnerabilityAssessmentBaselinesOperations
        database_sql_vulnerability_assessment_execute_scan: DatabaseSqlVulnerabilityAssessmentExecuteScanOperations
        database_sql_vulnerability_assessment_rule_baselines: DatabaseSqlVulnerabilityAssessmentRuleBaselinesOperations
        database_sql_vulnerability_assessment_scan_result: DatabaseSqlVulnerabilityAssessmentScanResultOperations
        database_sql_vulnerability_assessment_scans: DatabaseSqlVulnerabilityAssessmentScansOperations
        database_sql_vulnerability_assessments_settings: DatabaseSqlVulnerabilityAssessmentsSettingsOperations
        database_tables: DatabaseTablesOperations
        database_usages: DatabaseUsagesOperations
        database_vulnerability_assessment_rule_baselines: DatabaseVulnerabilityAssessmentRuleBaselinesOperations
        database_vulnerability_assessment_scans: DatabaseVulnerabilityAssessmentScansOperations
        database_vulnerability_assessments: DatabaseVulnerabilityAssessmentsOperations
        databases: DatabasesOperations
        deleted_servers: DeletedServersOperations
        distributed_availability_groups: DistributedAvailabilityGroupsOperations
        elastic_pool_operations: ElasticPoolOperationsOperations
        elastic_pools: ElasticPoolsOperations
        encryption_protectors: EncryptionProtectorsOperations
        endpoint_certificates: EndpointCertificatesOperations
        extended_database_blob_auditing_policies: ExtendedDatabaseBlobAuditingPoliciesOperations
        extended_server_blob_auditing_policies: ExtendedServerBlobAuditingPoliciesOperations
        failover_groups: FailoverGroupsOperations
        firewall_rules: FirewallRulesOperations
        geo_backup_policies: GeoBackupPoliciesOperations
        instance_failover_groups: InstanceFailoverGroupsOperations
        instance_pool_operations: InstancePoolOperationsOperations
        instance_pools: InstancePoolsOperations
        ipv6_firewall_rules: IPv6FirewallRulesOperations
        job_agents: JobAgentsOperations
        job_credentials: JobCredentialsOperations
        job_executions: JobExecutionsOperations
        job_private_endpoints: JobPrivateEndpointsOperations
        job_step_executions: JobStepExecutionsOperations
        job_steps: JobStepsOperations
        job_target_executions: JobTargetExecutionsOperations
        job_target_groups: JobTargetGroupsOperations
        job_versions: JobVersionsOperations
        jobs: JobsOperations
        ledger_digest_uploads: LedgerDigestUploadsOperations
        long_term_retention_backups: LongTermRetentionBackupsOperations
        long_term_retention_managed_instance_backups: LongTermRetentionManagedInstanceBackupsOperations
        long_term_retention_policies: LongTermRetentionPoliciesOperations
        maintenance_window_options: MaintenanceWindowOptionsOperations
        maintenance_windows: MaintenanceWindowsOperations
        managed_backup_short_term_retention_policies: ManagedBackupShortTermRetentionPoliciesOperations
        managed_database_advanced_threat_protection_settings: ManagedDatabaseAdvancedThreatProtectionSettingsOperations
        managed_database_columns: ManagedDatabaseColumnsOperations
        managed_database_move_operations: ManagedDatabaseMoveOperationsOperations
        managed_database_queries: ManagedDatabaseQueriesOperations
        managed_database_recommended_sensitivity_labels: ManagedDatabaseRecommendedSensitivityLabelsOperations
        managed_database_restore_details: ManagedDatabaseRestoreDetailsOperations
        managed_database_schemas: ManagedDatabaseSchemasOperations
        managed_database_security_alert_policies: ManagedDatabaseSecurityAlertPoliciesOperations
        managed_database_security_events: ManagedDatabaseSecurityEventsOperations
        managed_database_sensitivity_labels: ManagedDatabaseSensitivityLabelsOperations
        managed_database_tables: ManagedDatabaseTablesOperations
        managed_database_transparent_data_encryption: ManagedDatabaseTransparentDataEncryptionOperations
        managed_database_vulnerability_assessment_rule_baselines: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesOperations
        managed_database_vulnerability_assessment_scans: ManagedDatabaseVulnerabilityAssessmentScansOperations
        managed_database_vulnerability_assessments: ManagedDatabaseVulnerabilityAssessmentsOperations
        managed_databases: ManagedDatabasesOperations
        managed_instance_administrators: ManagedInstanceAdministratorsOperations
        managed_instance_advanced_threat_protection_settings: ManagedInstanceAdvancedThreatProtectionSettingsOperations
        managed_instance_azure_ad_only_authentications: ManagedInstanceAzureADOnlyAuthenticationsOperations
        managed_instance_dtcs: ManagedInstanceDtcsOperations
        managed_instance_encryption_protectors: ManagedInstanceEncryptionProtectorsOperations
        managed_instance_keys: ManagedInstanceKeysOperations
        managed_instance_long_term_retention_policies: ManagedInstanceLongTermRetentionPoliciesOperations
        managed_instance_operations: ManagedInstanceOperationsOperations
        managed_instance_private_endpoint_connections: ManagedInstancePrivateEndpointConnectionsOperations
        managed_instance_private_link_resources: ManagedInstancePrivateLinkResourcesOperations
        managed_instance_tde_certificates: ManagedInstanceTdeCertificatesOperations
        managed_instance_vulnerability_assessments: ManagedInstanceVulnerabilityAssessmentsOperations
        managed_instances: ManagedInstancesOperations
        managed_ledger_digest_uploads: ManagedLedgerDigestUploadsOperations
        managed_restorable_dropped_database_backup_short_term_retention_policies: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesOperations
        managed_server_dns_aliases: ManagedServerDnsAliasesOperations
        managed_server_security_alert_policies: ManagedServerSecurityAlertPoliciesOperations
        network_security_perimeter_configurations: NetworkSecurityPerimeterConfigurationsOperations
        operations: Operations
        outbound_firewall_rules: OutboundFirewallRulesOperations
        private_endpoint_connections: PrivateEndpointConnectionsOperations
        private_link_resources: PrivateLinkResourcesOperations
        recommended_sensitivity_labels: RecommendedSensitivityLabelsOperations
        recoverable_databases: RecoverableDatabasesOperations
        recoverable_managed_databases: RecoverableManagedDatabasesOperations
        replication_links: ReplicationLinksOperations
        restorable_dropped_databases: RestorableDroppedDatabasesOperations
        restorable_dropped_managed_databases: RestorableDroppedManagedDatabasesOperations
        restore_points: RestorePointsOperations
        sensitivity_labels: SensitivityLabelsOperations
        server_advanced_threat_protection_settings: ServerAdvancedThreatProtectionSettingsOperations
        server_advisors: ServerAdvisorsOperations
        server_automatic_tuning: ServerAutomaticTuningOperations
        server_azure_ad_administrators: ServerAzureADAdministratorsOperations
        server_azure_ad_only_authentications: ServerAzureADOnlyAuthenticationsOperations
        server_blob_auditing_policies: ServerBlobAuditingPoliciesOperations
        server_configuration_options: ServerConfigurationOptionsOperations
        server_connection_policies: ServerConnectionPoliciesOperations
        server_dev_ops_audit_settings: ServerDevOpsAuditSettingsOperations
        server_dns_aliases: ServerDnsAliasesOperations
        server_keys: ServerKeysOperations
        server_operations: ServerOperationsOperations
        server_security_alert_policies: ServerSecurityAlertPoliciesOperations
        server_trust_certificates: ServerTrustCertificatesOperations
        server_trust_groups: ServerTrustGroupsOperations
        server_usages: ServerUsagesOperations
        server_vulnerability_assessments: ServerVulnerabilityAssessmentsOperations
        servers: ServersOperations
        sql_agent: SqlAgentOperations
        sql_vulnerability_assessment_baseline: SqlVulnerabilityAssessmentBaselineOperations
        sql_vulnerability_assessment_baselines: SqlVulnerabilityAssessmentBaselinesOperations
        sql_vulnerability_assessment_execute_scan: SqlVulnerabilityAssessmentExecuteScanOperations
        sql_vulnerability_assessment_rule_baseline: SqlVulnerabilityAssessmentRuleBaselineOperations
        sql_vulnerability_assessment_rule_baselines: SqlVulnerabilityAssessmentRuleBaselinesOperations
        sql_vulnerability_assessment_scan_result: SqlVulnerabilityAssessmentScanResultOperations
        sql_vulnerability_assessment_scans: SqlVulnerabilityAssessmentScansOperations
        sql_vulnerability_assessments: SqlVulnerabilityAssessmentsOperations
        sql_vulnerability_assessments_settings: SqlVulnerabilityAssessmentsSettingsOperations
        start_stop_managed_instance_schedules: StartStopManagedInstanceSchedulesOperations
        subscription_usages: SubscriptionUsagesOperations
        synapse_link_workspaces: SynapseLinkWorkspacesOperations
        sync_agents: SyncAgentsOperations
        sync_groups: SyncGroupsOperations
        sync_members: SyncMembersOperations
        tde_certificates: TdeCertificatesOperations
        time_zones: TimeZonesOperations
        transparent_data_encryptions: TransparentDataEncryptionsOperations
        usages: UsagesOperations
        virtual_clusters: VirtualClustersOperations
        virtual_network_rules: VirtualNetworkRulesOperations
        workload_classifiers: WorkloadClassifiersOperations
        workload_groups: WorkloadGroupsOperations

        def __init__(
                self, 
                credential: TokenCredential, 
                subscription_id: str, 
                base_url: Optional[str] = None, 
                *, 
                api_version: str = ..., 
                cloud_setting: Optional[AzureClouds] = ..., 
                polling_interval: Optional[int] = ..., 
                **kwargs: Any
            ) -> None: ...

        def close(self) -> None: ...

        def send_request(
                self, 
                request: HttpRequest, 
                *, 
                stream: bool = False, 
                **kwargs: Any
            ) -> HttpResponse: ...


namespace azure.mgmt.sql.aio

    class azure.mgmt.sql.aio.SqlManagementClient: implements AsyncContextManager 
        backup_short_term_retention_policies: BackupShortTermRetentionPoliciesOperations
        capabilities: CapabilitiesOperations
        data_masking_policies: DataMaskingPoliciesOperations
        data_masking_rules: DataMaskingRulesOperations
        data_warehouse_user_activities: DataWarehouseUserActivitiesOperations
        database_advanced_threat_protection_settings: DatabaseAdvancedThreatProtectionSettingsOperations
        database_advisors: DatabaseAdvisorsOperations
        database_automatic_tuning: DatabaseAutomaticTuningOperations
        database_blob_auditing_policies: DatabaseBlobAuditingPoliciesOperations
        database_columns: DatabaseColumnsOperations
        database_encryption_protectors: DatabaseEncryptionProtectorsOperations
        database_extensions: DatabaseExtensionsOperations
        database_operations: DatabaseOperationsOperations
        database_recommended_actions: DatabaseRecommendedActionsOperations
        database_schemas: DatabaseSchemasOperations
        database_security_alert_policies: DatabaseSecurityAlertPoliciesOperations
        database_sql_vulnerability_assessment_baselines: DatabaseSqlVulnerabilityAssessmentBaselinesOperations
        database_sql_vulnerability_assessment_execute_scan: DatabaseSqlVulnerabilityAssessmentExecuteScanOperations
        database_sql_vulnerability_assessment_rule_baselines: DatabaseSqlVulnerabilityAssessmentRuleBaselinesOperations
        database_sql_vulnerability_assessment_scan_result: DatabaseSqlVulnerabilityAssessmentScanResultOperations
        database_sql_vulnerability_assessment_scans: DatabaseSqlVulnerabilityAssessmentScansOperations
        database_sql_vulnerability_assessments_settings: DatabaseSqlVulnerabilityAssessmentsSettingsOperations
        database_tables: DatabaseTablesOperations
        database_usages: DatabaseUsagesOperations
        database_vulnerability_assessment_rule_baselines: DatabaseVulnerabilityAssessmentRuleBaselinesOperations
        database_vulnerability_assessment_scans: DatabaseVulnerabilityAssessmentScansOperations
        database_vulnerability_assessments: DatabaseVulnerabilityAssessmentsOperations
        databases: DatabasesOperations
        deleted_servers: DeletedServersOperations
        distributed_availability_groups: DistributedAvailabilityGroupsOperations
        elastic_pool_operations: ElasticPoolOperationsOperations
        elastic_pools: ElasticPoolsOperations
        encryption_protectors: EncryptionProtectorsOperations
        endpoint_certificates: EndpointCertificatesOperations
        extended_database_blob_auditing_policies: ExtendedDatabaseBlobAuditingPoliciesOperations
        extended_server_blob_auditing_policies: ExtendedServerBlobAuditingPoliciesOperations
        failover_groups: FailoverGroupsOperations
        firewall_rules: FirewallRulesOperations
        geo_backup_policies: GeoBackupPoliciesOperations
        instance_failover_groups: InstanceFailoverGroupsOperations
        instance_pool_operations: InstancePoolOperationsOperations
        instance_pools: InstancePoolsOperations
        ipv6_firewall_rules: IPv6FirewallRulesOperations
        job_agents: JobAgentsOperations
        job_credentials: JobCredentialsOperations
        job_executions: JobExecutionsOperations
        job_private_endpoints: JobPrivateEndpointsOperations
        job_step_executions: JobStepExecutionsOperations
        job_steps: JobStepsOperations
        job_target_executions: JobTargetExecutionsOperations
        job_target_groups: JobTargetGroupsOperations
        job_versions: JobVersionsOperations
        jobs: JobsOperations
        ledger_digest_uploads: LedgerDigestUploadsOperations
        long_term_retention_backups: LongTermRetentionBackupsOperations
        long_term_retention_managed_instance_backups: LongTermRetentionManagedInstanceBackupsOperations
        long_term_retention_policies: LongTermRetentionPoliciesOperations
        maintenance_window_options: MaintenanceWindowOptionsOperations
        maintenance_windows: MaintenanceWindowsOperations
        managed_backup_short_term_retention_policies: ManagedBackupShortTermRetentionPoliciesOperations
        managed_database_advanced_threat_protection_settings: ManagedDatabaseAdvancedThreatProtectionSettingsOperations
        managed_database_columns: ManagedDatabaseColumnsOperations
        managed_database_move_operations: ManagedDatabaseMoveOperationsOperations
        managed_database_queries: ManagedDatabaseQueriesOperations
        managed_database_recommended_sensitivity_labels: ManagedDatabaseRecommendedSensitivityLabelsOperations
        managed_database_restore_details: ManagedDatabaseRestoreDetailsOperations
        managed_database_schemas: ManagedDatabaseSchemasOperations
        managed_database_security_alert_policies: ManagedDatabaseSecurityAlertPoliciesOperations
        managed_database_security_events: ManagedDatabaseSecurityEventsOperations
        managed_database_sensitivity_labels: ManagedDatabaseSensitivityLabelsOperations
        managed_database_tables: ManagedDatabaseTablesOperations
        managed_database_transparent_data_encryption: ManagedDatabaseTransparentDataEncryptionOperations
        managed_database_vulnerability_assessment_rule_baselines: ManagedDatabaseVulnerabilityAssessmentRuleBaselinesOperations
        managed_database_vulnerability_assessment_scans: ManagedDatabaseVulnerabilityAssessmentScansOperations
        managed_database_vulnerability_assessments: ManagedDatabaseVulnerabilityAssessmentsOperations
        managed_databases: ManagedDatabasesOperations
        managed_instance_administrators: ManagedInstanceAdministratorsOperations
        managed_instance_advanced_threat_protection_settings: ManagedInstanceAdvancedThreatProtectionSettingsOperations
        managed_instance_azure_ad_only_authentications: ManagedInstanceAzureADOnlyAuthenticationsOperations
        managed_instance_dtcs: ManagedInstanceDtcsOperations
        managed_instance_encryption_protectors: ManagedInstanceEncryptionProtectorsOperations
        managed_instance_keys: ManagedInstanceKeysOperations
        managed_instance_long_term_retention_policies: ManagedInstanceLongTermRetentionPoliciesOperations
        managed_instance_operations: ManagedInstanceOperationsOperations
        managed_instance_private_endpoint_connections: ManagedInstancePrivateEndpointConnectionsOperations
        managed_instance_private_link_resources: ManagedInstancePrivateLinkResourcesOperations
        managed_instance_tde_certificates: ManagedInstanceTdeCertificatesOperations
        managed_instance_vulnerability_assessments: ManagedInstanceVulnerabilityAssessmentsOperations
        managed_instances: ManagedInstancesOperations
        managed_ledger_digest_uploads: ManagedLedgerDigestUploadsOperations
        managed_restorable_dropped_database_backup_short_term_retention_policies: ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesOperations
        managed_server_dns_aliases: ManagedServerDnsAliasesOperations
        managed_server_security_alert_policies: ManagedServerSecurityAlertPoliciesOperations
        network_security_perimeter_configurations: NetworkSecurityPerimeterConfigurationsOperations
        operations: Operations
        outbound_firewall_rules: OutboundFirewallRulesOperations
        private_endpoint_connections: PrivateEndpointConnectionsOperations
        private_link_resources: PrivateLinkResourcesOperations
        recommended_sensitivity_labels: RecommendedSensitivityLabelsOperations
        recoverable_databases: RecoverableDatabasesOperations
        recoverable_managed_databases: RecoverableManagedDatabasesOperations
        replication_links: ReplicationLinksOperations
        restorable_dropped_databases: RestorableDroppedDatabasesOperations
        restorable_dropped_managed_databases: RestorableDroppedManagedDatabasesOperations
        restore_points: RestorePointsOperations
        sensitivity_labels: SensitivityLabelsOperations
        server_advanced_threat_protection_settings: ServerAdvancedThreatProtectionSettingsOperations
        server_advisors: ServerAdvisorsOperations
        server_automatic_tuning: ServerAutomaticTuningOperations
        server_azure_ad_administrators: ServerAzureADAdministratorsOperations
        server_azure_ad_only_authentications: ServerAzureADOnlyAuthenticationsOperations
        server_blob_auditing_policies: ServerBlobAuditingPoliciesOperations
        server_configuration_options: ServerConfigurationOptionsOperations
        server_connection_policies: ServerConnectionPoliciesOperations
        server_dev_ops_audit_settings: ServerDevOpsAuditSettingsOperations
        server_dns_aliases: ServerDnsAliasesOperations
        server_keys: ServerKeysOperations
        server_operations: ServerOperationsOperations
        server_security_alert_policies: ServerSecurityAlertPoliciesOperations
        server_trust_certificates: ServerTrustCertificatesOperations
        server_trust_groups: ServerTrustGroupsOperations
        server_usages: ServerUsagesOperations
        server_vulnerability_assessments: ServerVulnerabilityAssessmentsOperations
        servers: ServersOperations
        sql_agent: SqlAgentOperations
        sql_vulnerability_assessment_baseline: SqlVulnerabilityAssessmentBaselineOperations
        sql_vulnerability_assessment_baselines: SqlVulnerabilityAssessmentBaselinesOperations
        sql_vulnerability_assessment_execute_scan: SqlVulnerabilityAssessmentExecuteScanOperations
        sql_vulnerability_assessment_rule_baseline: SqlVulnerabilityAssessmentRuleBaselineOperations
        sql_vulnerability_assessment_rule_baselines: SqlVulnerabilityAssessmentRuleBaselinesOperations
        sql_vulnerability_assessment_scan_result: SqlVulnerabilityAssessmentScanResultOperations
        sql_vulnerability_assessment_scans: SqlVulnerabilityAssessmentScansOperations
        sql_vulnerability_assessments: SqlVulnerabilityAssessmentsOperations
        sql_vulnerability_assessments_settings: SqlVulnerabilityAssessmentsSettingsOperations
        start_stop_managed_instance_schedules: StartStopManagedInstanceSchedulesOperations
        subscription_usages: SubscriptionUsagesOperations
        synapse_link_workspaces: SynapseLinkWorkspacesOperations
        sync_agents: SyncAgentsOperations
        sync_groups: SyncGroupsOperations
        sync_members: SyncMembersOperations
        tde_certificates: TdeCertificatesOperations
        time_zones: TimeZonesOperations
        transparent_data_encryptions: TransparentDataEncryptionsOperations
        usages: UsagesOperations
        virtual_clusters: VirtualClustersOperations
        virtual_network_rules: VirtualNetworkRulesOperations
        workload_classifiers: WorkloadClassifiersOperations
        workload_groups: WorkloadGroupsOperations

        def __init__(
                self, 
                credential: AsyncTokenCredential, 
                subscription_id: str, 
                base_url: Optional[str] = None, 
                *, 
                api_version: str = ..., 
                cloud_setting: Optional[AzureClouds] = ..., 
                polling_interval: Optional[int] = ..., 
                **kwargs: Any
            ) -> None: ...

        async def close(self) -> None: ...

        def send_request(
                self, 
                request: HttpRequest, 
                *, 
                stream: bool = False, 
                **kwargs: Any
            ) -> Awaitable[AsyncHttpResponse]: ...


namespace azure.mgmt.sql.aio.operations

    class azure.mgmt.sql.aio.operations.BackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: BackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: BackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[BackupShortTermRetentionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> BackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[BackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.aio.operations.CapabilitiesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def list_by_location(
                self, 
                location_name: str, 
                *, 
                include: Optional[Union[str, CapabilityGroup]] = ..., 
                **kwargs: Any
            ) -> LocationCapabilities: ...


    class azure.mgmt.sql.aio.operations.DataMaskingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DataMaskingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...


    class azure.mgmt.sql.aio.operations.DataMaskingRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: DataMaskingRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DataMaskingRule]: ...


    class azure.mgmt.sql.aio.operations.DataWarehouseUserActivitiesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_warehouse_user_activity_name: Union[str, DataWarehouseUserActivityName], 
                **kwargs: Any
            ) -> DataWarehouseUserActivities: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DataWarehouseUserActivities]: ...


    class azure.mgmt.sql.aio.operations.DatabaseAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: DatabaseAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseAdvancedThreatProtection]: ...


    class azure.mgmt.sql.aio.operations.DatabaseAdvisorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> Advisor: ...

        @distributed_trace_async
        async def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> List[Advisor]: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: Advisor, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...


    class azure.mgmt.sql.aio.operations.DatabaseAutomaticTuningOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseAutomaticTuning, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...


    class azure.mgmt.sql.aio.operations.DatabaseBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseBlobAuditingPolicy]: ...


    class azure.mgmt.sql.aio.operations.DatabaseColumnsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> DatabaseColumn: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                column: Optional[List[str]] = ..., 
                order_by: Optional[List[str]] = ..., 
                schema: Optional[List[str]] = ..., 
                skiptoken: Optional[str] = ..., 
                table: Optional[List[str]] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseColumn]: ...

        @distributed_trace
        def list_by_table(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseColumn]: ...


    class azure.mgmt.sql.aio.operations.DatabaseEncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_revalidate(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_revert(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...


    class azure.mgmt.sql.aio.operations.DatabaseExtensionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: DatabaseExtensions, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportExtensionsOperationResult]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportExtensionsOperationResult]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportExtensionsOperationResult]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ImportExportExtensionsOperationResult]: ...


    class azure.mgmt.sql.aio.operations.DatabaseOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseOperation]: ...


    class azure.mgmt.sql.aio.operations.DatabaseRecommendedActionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @distributed_trace_async
        async def list_by_database_advisor(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> List[RecommendedAction]: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: RecommendedAction, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...


    class azure.mgmt.sql.aio.operations.DatabaseSchemasOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                **kwargs: Any
            ) -> DatabaseSchema: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSchema]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: DatabaseSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSecurityAlertPolicy]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessment(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSqlVulnerabilityAssessmentBaselineSet]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentExecuteScanOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_execute(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def list_by_baseline(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSqlVulnerabilityAssessmentRuleBaseline]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentScanResultOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                scan_result_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanResults: ...

        @distributed_trace
        def list_by_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessmentScanResults]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessments(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.aio.operations.DatabaseSqlVulnerabilityAssessmentsSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.DatabaseTablesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                **kwargs: Any
            ) -> DatabaseTable: ...

        @distributed_trace
        def list_by_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseTable]: ...


    class azure.mgmt.sql.aio.operations.DatabaseUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseUsage]: ...


    class azure.mgmt.sql.aio.operations.DatabaseVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: DatabaseVulnerabilityAssessmentRuleBaseline, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...


    class azure.mgmt.sql.aio.operations.DatabaseVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_initiate_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentScansExport: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> VulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[VulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.aio.operations.DatabaseVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: DatabaseVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.DatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: Database, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ExportDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                replica_type: Optional[Union[str, ReplicaType]] = ..., 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ImportExistingDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @distributed_trace_async
        async def begin_pause(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @distributed_trace_async
        async def begin_resume(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Database]: ...

        @distributed_trace_async
        async def begin_upgrade_data_warehouse(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> Database: ...

        @distributed_trace
        def list_by_elastic_pool(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[Database]: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[Database]: ...

        @distributed_trace
        def list_inaccessible_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[Database]: ...

        @overload
        async def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ResourceMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.DeletedServersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_recover(
                self, 
                location_name: str, 
                deleted_server_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[DeletedServer]: ...

        @distributed_trace_async
        async def get(
                self, 
                location_name: str, 
                deleted_server_name: str, 
                **kwargs: Any
            ) -> DeletedServer: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> AsyncItemPaged[DeletedServer]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DeletedServer]: ...


    class azure.mgmt.sql.aio.operations.DistributedAvailabilityGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroupsFailoverRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroupSetRole, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[DistributedAvailabilityGroup]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                **kwargs: Any
            ) -> DistributedAvailabilityGroup: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DistributedAvailabilityGroup]: ...


    class azure.mgmt.sql.aio.operations.ElasticPoolOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_elastic_pool(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ElasticPoolOperation]: ...


    class azure.mgmt.sql.aio.operations.ElasticPoolsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: ElasticPool, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: ElasticPoolUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ElasticPool]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> ElasticPool: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                skip: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ElasticPool]: ...


    class azure.mgmt.sql.aio.operations.EncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: EncryptionProtector, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[EncryptionProtector]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[EncryptionProtector]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[EncryptionProtector]: ...

        @distributed_trace_async
        async def begin_revalidate(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> EncryptionProtector: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[EncryptionProtector]: ...


    class azure.mgmt.sql.aio.operations.EndpointCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                endpoint_type: str, 
                **kwargs: Any
            ) -> EndpointCertificate: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[EndpointCertificate]: ...


    class azure.mgmt.sql.aio.operations.ExtendedDatabaseBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ExtendedDatabaseBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ExtendedDatabaseBlobAuditingPolicy]: ...


    class azure.mgmt.sql.aio.operations.ExtendedServerBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ExtendedServerBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ExtendedServerBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ExtendedServerBlobAuditingPolicy]: ...


    class azure.mgmt.sql.aio.operations.FailoverGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: FailoverGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @distributed_trace_async
        async def begin_force_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @distributed_trace_async
        async def begin_try_planned_before_forced_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: FailoverGroupUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[FailoverGroup]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> FailoverGroup: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[FailoverGroup]: ...


    class azure.mgmt.sql.aio.operations.FirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: FirewallRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> FirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[FirewallRule]: ...

        @overload
        async def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: FirewallRuleList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...

        @overload
        async def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...

        @overload
        async def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...


    class azure.mgmt.sql.aio.operations.GeoBackupPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: GeoBackupPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @distributed_trace
        def list(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[GeoBackupPolicy]: ...


    class azure.mgmt.sql.aio.operations.IPv6FirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IPv6FirewallRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[IPv6FirewallRule]: ...


    class azure.mgmt.sql.aio.operations.InstanceFailoverGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: InstanceFailoverGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstanceFailoverGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstanceFailoverGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstanceFailoverGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[InstanceFailoverGroup]: ...

        @distributed_trace_async
        async def begin_force_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[InstanceFailoverGroup]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> InstanceFailoverGroup: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[InstanceFailoverGroup]: ...


    class azure.mgmt.sql.aio.operations.InstancePoolOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> InstancePoolOperation: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[InstancePoolOperation]: ...


    class azure.mgmt.sql.aio.operations.InstancePoolsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: InstancePool, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: InstancePoolUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[InstancePool]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> InstancePool: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> AsyncItemPaged[InstancePool]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[InstancePool]: ...


    class azure.mgmt.sql.aio.operations.JobAgentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JobAgent, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JobAgentUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobAgent]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> JobAgent: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobAgent]: ...


    class azure.mgmt.sql.aio.operations.JobCredentialsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: JobCredential, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                **kwargs: Any
            ) -> JobCredential: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobCredential]: ...


    class azure.mgmt.sql.aio.operations.JobExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[JobExecution]: ...

        @distributed_trace_async
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[JobExecution]: ...

        @distributed_trace_async
        async def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[JobExecution]: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[JobExecution]: ...


    class azure.mgmt.sql.aio.operations.JobPrivateEndpointsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: JobPrivateEndpoint, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobPrivateEndpoint]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobPrivateEndpoint]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[JobPrivateEndpoint]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                **kwargs: Any
            ) -> JobPrivateEndpoint: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobPrivateEndpoint]: ...


    class azure.mgmt.sql.aio.operations.JobStepExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_job_execution(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[JobExecution]: ...


    class azure.mgmt.sql.aio.operations.JobStepsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: JobStep, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace_async
        async def get_by_version(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                step_name: str, 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobStep]: ...

        @distributed_trace
        def list_by_version(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobStep]: ...


    class azure.mgmt.sql.aio.operations.JobTargetExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                target_id: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_job_execution(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[JobExecution]: ...

        @distributed_trace
        def list_by_step(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[JobExecution]: ...


    class azure.mgmt.sql.aio.operations.JobTargetGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: JobTargetGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobTargetGroup]: ...


    class azure.mgmt.sql.aio.operations.JobVersionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                **kwargs: Any
            ) -> JobVersion: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[JobVersion]: ...


    class azure.mgmt.sql.aio.operations.JobsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: Job, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> Job: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[Job]: ...


    class azure.mgmt.sql.aio.operations.LedgerDigestUploadsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: LedgerDigestUploads, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LedgerDigestUploads]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LedgerDigestUploads]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LedgerDigestUploads]: ...

        @distributed_trace_async
        async def begin_disable(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                **kwargs: Any
            ) -> AsyncLROPoller[LedgerDigestUploads]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                **kwargs: Any
            ) -> LedgerDigestUploads: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[LedgerDigestUploads]: ...


    class azure.mgmt.sql.aio.operations.LongTermRetentionBackupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: ChangeLongTermRetentionBackupAccessTierParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: ChangeLongTermRetentionBackupAccessTierParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: CopyLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: CopyLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_delete_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_lock_time_based_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_lock_time_based_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_remove_legal_hold_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_remove_legal_hold_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_remove_time_based_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_remove_time_based_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_set_legal_hold_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @distributed_trace_async
        async def begin_set_legal_hold_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackup]: ...

        @overload
        async def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: UpdateLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: UpdateLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        async def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionBackupOperationResult]: ...

        @distributed_trace_async
        async def get(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LongTermRetentionBackup: ...

        @distributed_trace_async
        async def get_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LongTermRetentionBackup: ...

        @distributed_trace
        def list_by_database(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_database(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_server(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_server(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionBackup]: ...


    class azure.mgmt.sql.aio.operations.LongTermRetentionManagedInstanceBackupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_delete_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionBackup: ...

        @distributed_trace_async
        async def get_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionBackup: ...

        @distributed_trace
        def list_by_database(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_instance(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_database(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_instance(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionBackup]: ...


    class azure.mgmt.sql.aio.operations.LongTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: LongTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LongTermRetentionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> LongTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[LongTermRetentionPolicy]: ...


    class azure.mgmt.sql.aio.operations.MaintenanceWindowOptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                maintenance_window_options_name: str, 
                **kwargs: Any
            ) -> MaintenanceWindowOptions: ...


    class azure.mgmt.sql.aio.operations.MaintenanceWindowsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: MaintenanceWindows, 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> MaintenanceWindows: ...


    class azure.mgmt.sql.aio.operations.ManagedBackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedBackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedBackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ManagedDatabaseAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedDatabaseAdvancedThreatProtection]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseColumnsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> DatabaseColumn: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                column: Optional[List[str]] = ..., 
                order_by: Optional[List[str]] = ..., 
                schema: Optional[List[str]] = ..., 
                skiptoken: Optional[str] = ..., 
                table: Optional[List[str]] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseColumn]: ...

        @distributed_trace
        def list_by_table(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseColumn]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseMoveOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> ManagedDatabaseMoveOperationResult: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedDatabaseMoveOperationResult]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseQueriesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                query_id: str, 
                **kwargs: Any
            ) -> ManagedInstanceQuery: ...

        @distributed_trace
        def list_by_query(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                query_id: str, 
                *, 
                end_time: Optional[str] = ..., 
                interval: Optional[Union[str, QueryTimeGrainType]] = ..., 
                start_time: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[QueryStatistics]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseRecommendedSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: RecommendedSensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseRestoreDetailsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                restore_details_name: Union[str, RestoreDetailsName], 
                **kwargs: Any
            ) -> ManagedDatabaseRestoreDetailsResult: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseSchemasOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                **kwargs: Any
            ) -> DatabaseSchema: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSchema]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ManagedDatabaseSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedDatabaseSecurityAlertPolicy]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseSecurityEventsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                skip: Optional[int] = ..., 
                skiptoken: Optional[str] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SecurityEvent]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: SensitivityLabel, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def disable_recommendation(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def enable_recommendation(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                sensitivity_label_source: Union[str, SensitivityLabelSource], 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_current_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                count: Optional[bool] = ..., 
                filter: Optional[str] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_recommended_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                include_disabled_recommendations: Optional[bool] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: SensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseTablesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                **kwargs: Any
            ) -> DatabaseTable: ...

        @distributed_trace
        def list_by_schema(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseTable]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseTransparentDataEncryptionOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: ManagedTransparentDataEncryption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedTransparentDataEncryption]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: DatabaseVulnerabilityAssessmentRuleBaseline, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_initiate_scan(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def export(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentScansExport: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> VulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[VulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabaseVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: DatabaseVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.ManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: CompleteDatabaseRestoreDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabase, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_reevaluate_inaccessible_database_state(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @overload
        async def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseStartMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedDatabase]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedDatabase]: ...

        @distributed_trace
        def list_inaccessible_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedDatabase]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceAdministratorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: ManagedInstanceAdministrator, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdministrator]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdministrator]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdministrator]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> ManagedInstanceAdministrator: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceAdministrator]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ManagedInstanceAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ManagedInstanceAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceAdvancedThreatProtection]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceAzureADOnlyAuthenticationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: ManagedInstanceAzureADOnlyAuthentication, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> ManagedInstanceAzureADOnlyAuthentication: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceAzureADOnlyAuthentication]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceDtcsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: ManagedInstanceDtc, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceDtc]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceDtc]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceDtc]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                **kwargs: Any
            ) -> ManagedInstanceDtc: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceDtc]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceEncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: ManagedInstanceEncryptionProtector, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceEncryptionProtector]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceEncryptionProtector]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceEncryptionProtector]: ...

        @distributed_trace_async
        async def begin_revalidate(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> ManagedInstanceEncryptionProtector: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceEncryptionProtector]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceKeysOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: ManagedInstanceKey, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceKey]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceKey]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceKey]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceKey: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceKey]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceLongTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: ManagedInstanceLongTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceLongTermRetentionPolicy]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def cancel(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> ManagedInstanceOperation: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceOperation]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstancePrivateEndpointConnectionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: ManagedInstancePrivateEndpointConnection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> ManagedInstancePrivateEndpointConnection: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstancePrivateEndpointConnection]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstancePrivateLinkResourcesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                group_name: str, 
                **kwargs: Any
            ) -> ManagedInstancePrivateLink: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstancePrivateLink]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceTdeCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: TdeCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstanceVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: ManagedInstanceVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstanceVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.ManagedInstancesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstance, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                replica_type: Optional[Union[str, ReplicaType]] = ..., 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_reevaluate_inaccessible_database_state(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_refresh_status(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[RefreshExternalGovernanceStatusOperationResultMI]: ...

        @distributed_trace_async
        async def begin_start(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @distributed_trace_async
        async def begin_stop(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstanceUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedInstance]: ...

        @overload
        async def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstanceValidateAzureKeyVaultEncryptionKeyRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ManagedInstance: ...

        @distributed_trace
        def list(
                self, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                aggregation_function: Optional[Union[str, AggregationFunctionType]] = ..., 
                databases: Optional[str] = ..., 
                end_time: Optional[str] = ..., 
                interval: Optional[Union[str, QueryTimeGrainType]] = ..., 
                number_of_queries: Optional[int] = ..., 
                observation_metric: Optional[Union[str, MetricType]] = ..., 
                start_time: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[TopQueries]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_outbound_network_dependencies_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[OutboundEnvironmentEndpoint]: ...


    class azure.mgmt.sql.aio.operations.ManagedLedgerDigestUploadsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: ManagedLedgerDigestUploads, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedLedgerDigestUploads]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedLedgerDigestUploads]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedLedgerDigestUploads]: ...

        @distributed_trace_async
        async def begin_disable(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedLedgerDigestUploads]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                **kwargs: Any
            ) -> ManagedLedgerDigestUploads: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedLedgerDigestUploads]: ...


    class azure.mgmt.sql.aio.operations.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedBackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_restorable_dropped_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedBackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.aio.operations.ManagedServerDnsAliasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: ManagedServerDnsAliasAcquisition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: ManagedServerDnsAliasCreation, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerDnsAlias]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> ManagedServerDnsAlias: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedServerDnsAlias]: ...


    class azure.mgmt.sql.aio.operations.ManagedServerSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ManagedServerSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerSecurityAlertPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerSecurityAlertPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ManagedServerSecurityAlertPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ManagedServerSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ManagedServerSecurityAlertPolicy]: ...


    class azure.mgmt.sql.aio.operations.NetworkSecurityPerimeterConfigurationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_reconcile(
                self, 
                resource_group_name: str, 
                server_name: str, 
                nsp_config_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[NetworkSecurityPerimeterConfiguration]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                nsp_config_name: str, 
                **kwargs: Any
            ) -> NetworkSecurityPerimeterConfiguration: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[NetworkSecurityPerimeterConfiguration]: ...


    class azure.mgmt.sql.aio.operations.Operations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> AsyncItemPaged[Operation]: ...


    class azure.mgmt.sql.aio.operations.OutboundFirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[OutboundFirewallRule]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> OutboundFirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[OutboundFirewallRule]: ...


    class azure.mgmt.sql.aio.operations.PrivateEndpointConnectionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: PrivateEndpointConnection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[PrivateEndpointConnection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[PrivateEndpointConnection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[PrivateEndpointConnection]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> PrivateEndpointConnection: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[PrivateEndpointConnection]: ...


    class azure.mgmt.sql.aio.operations.PrivateLinkResourcesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                group_name: str, 
                **kwargs: Any
            ) -> PrivateLinkResource: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[PrivateLinkResource]: ...


    class azure.mgmt.sql.aio.operations.RecommendedSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: RecommendedSensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.RecoverableDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> RecoverableDatabase: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[RecoverableDatabase]: ...


    class azure.mgmt.sql.aio.operations.RecoverableManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                recoverable_database_name: str, 
                **kwargs: Any
            ) -> RecoverableManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[RecoverableManagedDatabase]: ...


    class azure.mgmt.sql.aio.operations.ReplicationLinksOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: ReplicationLink, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @distributed_trace_async
        async def begin_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: ReplicationLinkUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ReplicationLink]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> ReplicationLink: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ReplicationLink]: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ReplicationLink]: ...


    class azure.mgmt.sql.aio.operations.RestorableDroppedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                restorable_dropped_database_id: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> RestorableDroppedDatabase: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[RestorableDroppedDatabase]: ...


    class azure.mgmt.sql.aio.operations.RestorableDroppedManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                **kwargs: Any
            ) -> RestorableDroppedManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[RestorableDroppedManagedDatabase]: ...


    class azure.mgmt.sql.aio.operations.RestorePointsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: CreateDatabaseRestorePointDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[RestorePoint]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[RestorePoint]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[RestorePoint]: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                restore_point_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                restore_point_name: str, 
                **kwargs: Any
            ) -> RestorePoint: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[RestorePoint]: ...


    class azure.mgmt.sql.aio.operations.SensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: SensitivityLabel, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def disable_recommendation(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def enable_recommendation(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                sensitivity_label_source: Union[str, SensitivityLabelSource], 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_current_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                count: Optional[bool] = ..., 
                filter: Optional[str] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_recommended_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                include_disabled_recommendations: Optional[bool] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[SensitivityLabel]: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: SensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.ServerAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ServerAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAdvancedThreatProtection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAdvancedThreatProtection]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAdvancedThreatProtection]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ServerAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerAdvancedThreatProtection]: ...


    class azure.mgmt.sql.aio.operations.ServerAdvisorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> Advisor: ...

        @distributed_trace_async
        async def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> List[Advisor]: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: Advisor, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...


    class azure.mgmt.sql.aio.operations.ServerAutomaticTuningOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerAutomaticTuning, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        async def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...


    class azure.mgmt.sql.aio.operations.ServerAzureADAdministratorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: ServerAzureADAdministrator, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADAdministrator]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADAdministrator]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADAdministrator]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> ServerAzureADAdministrator: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerAzureADAdministrator]: ...


    class azure.mgmt.sql.aio.operations.ServerAzureADOnlyAuthenticationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: ServerAzureADOnlyAuthentication, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADOnlyAuthentication]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADOnlyAuthentication]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerAzureADOnlyAuthentication]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> ServerAzureADOnlyAuthentication: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerAzureADOnlyAuthentication]: ...


    class azure.mgmt.sql.aio.operations.ServerBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerBlobAuditingPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerBlobAuditingPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerBlobAuditingPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ServerBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerBlobAuditingPolicy]: ...


    class azure.mgmt.sql.aio.operations.ServerConfigurationOptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: ServerConfigurationOption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConfigurationOption]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConfigurationOption]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConfigurationOption]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                **kwargs: Any
            ) -> ServerConfigurationOption: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerConfigurationOption]: ...


    class azure.mgmt.sql.aio.operations.ServerConnectionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: ServerConnectionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConnectionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConnectionPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerConnectionPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                **kwargs: Any
            ) -> ServerConnectionPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerConnectionPolicy]: ...


    class azure.mgmt.sql.aio.operations.ServerDevOpsAuditSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: ServerDevOpsAuditingSettings, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDevOpsAuditingSettings]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDevOpsAuditingSettings]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDevOpsAuditingSettings]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                **kwargs: Any
            ) -> ServerDevOpsAuditingSettings: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerDevOpsAuditingSettings]: ...


    class azure.mgmt.sql.aio.operations.ServerDnsAliasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: ServerDnsAliasAcquisition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDnsAlias]: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDnsAlias]: ...

        @overload
        async def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDnsAlias]: ...

        @distributed_trace_async
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerDnsAlias]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> ServerDnsAlias: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerDnsAlias]: ...


    class azure.mgmt.sql.aio.operations.ServerKeysOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: ServerKey, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerKey]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerKey]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerKey]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> ServerKey: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerKey]: ...


    class azure.mgmt.sql.aio.operations.ServerOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerOperation]: ...


    class azure.mgmt.sql.aio.operations.ServerSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ServerSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerSecurityAlertPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerSecurityAlertPolicy]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerSecurityAlertPolicy]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ServerSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerSecurityAlertPolicy]: ...


    class azure.mgmt.sql.aio.operations.ServerTrustCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: ServerTrustCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustCertificate]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustCertificate]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustCertificate]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                **kwargs: Any
            ) -> ServerTrustCertificate: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerTrustCertificate]: ...


    class azure.mgmt.sql.aio.operations.ServerTrustGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: ServerTrustGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ServerTrustGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                **kwargs: Any
            ) -> ServerTrustGroup: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerTrustGroup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerTrustGroup]: ...


    class azure.mgmt.sql.aio.operations.ServerUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerUsage]: ...


    class azure.mgmt.sql.aio.operations.ServerVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: ServerVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[ServerVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.ServersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: Server, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ImportNewDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @overload
        async def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[ImportExportOperationResult]: ...

        @distributed_trace_async
        async def begin_refresh_status(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[RefreshExternalGovernanceStatusOperationResult]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[Server]: ...

        @overload
        async def check_name_availability(
                self, 
                parameters: CheckNameAvailabilityRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @overload
        async def check_name_availability(
                self, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @overload
        async def check_name_availability(
                self, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> Server: ...

        @distributed_trace
        def list(
                self, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[Server]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[Server]: ...


    class azure.mgmt.sql.aio.operations.SqlAgentOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: SqlAgentConfiguration, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentBaselineOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessment(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSqlVulnerabilityAssessmentBaselineSet]: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentExecuteScanOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def begin_execute(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentRuleBaselineOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def list_by_baseline(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> AsyncItemPaged[DatabaseSqlVulnerabilityAssessmentRuleBaseline]: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentScanResultOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                scan_result_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanResults: ...

        @distributed_trace
        def list_by_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessmentScanResults]: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessments(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.SqlVulnerabilityAssessmentsSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: SqlVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SqlVulnerabilityAssessment]: ...


    class azure.mgmt.sql.aio.operations.StartStopManagedInstanceSchedulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: StartStopManagedInstanceSchedule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @overload
        async def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @distributed_trace_async
        async def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[StartStopManagedInstanceSchedule]: ...


    class azure.mgmt.sql.aio.operations.SubscriptionUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                location_name: str, 
                usage_name: str, 
                **kwargs: Any
            ) -> SubscriptionUsage: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SubscriptionUsage]: ...


    class azure.mgmt.sql.aio.operations.SynapseLinkWorkspacesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SynapseLinkWorkspace]: ...


    class azure.mgmt.sql.aio.operations.SyncAgentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: SyncAgent, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncAgent]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncAgent]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncAgent]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def generate_key(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> SyncAgentKeyProperties: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> SyncAgent: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncAgent]: ...

        @distributed_trace
        def list_linked_databases(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncAgentLinkedDatabase]: ...


    class azure.mgmt.sql.aio.operations.SyncGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: SyncGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_refresh_hub_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: SyncGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncGroup]: ...

        @distributed_trace_async
        async def cancel_sync(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> SyncGroup: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncGroup]: ...

        @distributed_trace
        def list_hub_schemas(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncFullSchemaProperties]: ...

        @distributed_trace
        def list_logs(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                *, 
                continuation_token_parameter: Optional[str] = ..., 
                end_time: str, 
                start_time: str, 
                type: Union[str, SyncGroupsType], 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncGroupLogProperties]: ...

        @distributed_trace
        def list_sync_database_ids(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncDatabaseIdProperties]: ...

        @distributed_trace_async
        async def trigger_sync(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.aio.operations.SyncMembersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: SyncMember, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def begin_refresh_member_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: SyncMember, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[SyncMember]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> SyncMember: ...

        @distributed_trace
        def list_by_sync_group(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncMember]: ...

        @distributed_trace
        def list_member_schemas(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[SyncFullSchemaProperties]: ...


    class azure.mgmt.sql.aio.operations.TdeCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: TdeCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...


    class azure.mgmt.sql.aio.operations.TimeZonesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace_async
        async def get(
                self, 
                location_name: str, 
                time_zone_id: str, 
                **kwargs: Any
            ) -> TimeZone: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[TimeZone]: ...


    class azure.mgmt.sql.aio.operations.TransparentDataEncryptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: LogicalDatabaseTransparentDataEncryption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace_async
        async def begin_resume(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> AsyncLROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace_async
        async def begin_suspend(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> AsyncLROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> LogicalDatabaseTransparentDataEncryption: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[LogicalDatabaseTransparentDataEncryption]: ...


    class azure.mgmt.sql.aio.operations.UsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                *, 
                expand_children: Optional[bool] = ..., 
                **kwargs: Any
            ) -> AsyncItemPaged[Usage]: ...


    class azure.mgmt.sql.aio.operations.VirtualClustersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: VirtualCluster, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: VirtualClusterUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @overload
        async def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualCluster]: ...

        @distributed_trace_async
        async def begin_update_dns_servers(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[UpdateVirtualClusterDnsServersOperation]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> VirtualCluster: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> AsyncItemPaged[VirtualCluster]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[VirtualCluster]: ...


    class azure.mgmt.sql.aio.operations.VirtualNetworkRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: VirtualNetworkRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualNetworkRule]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualNetworkRule]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[VirtualNetworkRule]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                **kwargs: Any
            ) -> VirtualNetworkRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[VirtualNetworkRule]: ...


    class azure.mgmt.sql.aio.operations.WorkloadClassifiersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: WorkloadClassifier, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadClassifier]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadClassifier]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadClassifier]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                **kwargs: Any
            ) -> WorkloadClassifier: ...

        @distributed_trace
        def list_by_workload_group(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[WorkloadClassifier]: ...


    class azure.mgmt.sql.aio.operations.WorkloadGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: WorkloadGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadGroup]: ...

        @overload
        async def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> AsyncLROPoller[WorkloadGroup]: ...

        @distributed_trace_async
        async def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> AsyncLROPoller[None]: ...

        @distributed_trace_async
        async def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> WorkloadGroup: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> AsyncItemPaged[WorkloadGroup]: ...


namespace azure.mgmt.sql.models

    class azure.mgmt.sql.models.AdministratorName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE_DIRECTORY = "ActiveDirectory"


    class azure.mgmt.sql.models.AdministratorProperties(_Model):
        administrator_type: Optional[Union[str, AdministratorType]]
        azure_ad_only_authentication: Optional[bool]
        login: str
        sid: str
        tenant_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                administrator_type: Optional[Union[str, AdministratorType]] = ..., 
                login: str, 
                sid: str, 
                tenant_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AdministratorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE_DIRECTORY = "ActiveDirectory"


    class azure.mgmt.sql.models.AdvancedThreatProtectionName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.AdvancedThreatProtectionProperties(_Model):
        creation_time: Optional[datetime]
        state: Union[str, AdvancedThreatProtectionState]

        @overload
        def __init__(
                self, 
                *, 
                state: Union[str, AdvancedThreatProtectionState]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AdvancedThreatProtectionState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"
        NEW = "New"


    class azure.mgmt.sql.models.Advisor(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[AdvisorProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdvisorProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.AdvisorProperties(_Model):
        advisor_status: Optional[Union[str, AdvisorStatus]]
        auto_execute_status: Union[str, AutoExecuteStatus]
        auto_execute_status_inherited_from: Optional[Union[str, AutoExecuteStatusInheritedFrom]]
        last_checked: Optional[datetime]
        recommendations_status: Optional[str]
        recommended_actions: Optional[list[RecommendedAction]]

        @overload
        def __init__(
                self, 
                *, 
                auto_execute_status: Union[str, AutoExecuteStatus]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AdvisorStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GA = "GA"
        LIMITED_PUBLIC_PREVIEW = "LimitedPublicPreview"
        PRIVATE_PREVIEW = "PrivatePreview"
        PUBLIC_PREVIEW = "PublicPreview"


    class azure.mgmt.sql.models.AggregationFunctionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AVG = "avg"
        MAX = "max"
        MIN = "min"
        STDEV = "stdev"
        SUM = "sum"


    class azure.mgmt.sql.models.AlwaysEncryptedEnclaveType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        VBS = "VBS"


    class azure.mgmt.sql.models.AuthMetadataLookupModes(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AZURE_AD = "AzureAD"
        PAIRED = "Paired"
        WINDOWS = "Windows"


    class azure.mgmt.sql.models.AuthenticationName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.AutoExecuteStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.AutoExecuteStatusInheritedFrom(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DATABASE = "Database"
        DEFAULT = "Default"
        ELASTIC_POOL = "ElasticPool"
        SERVER = "Server"
        SUBSCRIPTION = "Subscription"


    class azure.mgmt.sql.models.AutoPauseDelayTimeRange(_Model):
        default: Optional[int]
        do_not_pause_value: Optional[int]
        max_value: Optional[int]
        min_value: Optional[int]
        step_size: Optional[int]
        unit: Optional[Union[str, PauseDelayTimeUnit]]


    class azure.mgmt.sql.models.AutomaticTuningDisabledReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO_CONFIGURED = "AutoConfigured"
        DEFAULT = "Default"
        DISABLED = "Disabled"
        INHERITED_FROM_SERVER = "InheritedFromServer"
        NOT_SUPPORTED = "NotSupported"
        QUERY_STORE_OFF = "QueryStoreOff"
        QUERY_STORE_READ_ONLY = "QueryStoreReadOnly"


    class azure.mgmt.sql.models.AutomaticTuningMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO = "Auto"
        CUSTOM = "Custom"
        INHERIT = "Inherit"
        UNSPECIFIED = "Unspecified"


    class azure.mgmt.sql.models.AutomaticTuningOptionModeActual(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        OFF = "Off"
        ON = "On"


    class azure.mgmt.sql.models.AutomaticTuningOptionModeDesired(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        OFF = "Off"
        ON = "On"


    class azure.mgmt.sql.models.AutomaticTuningOptions(_Model):
        actual_state: Optional[Union[str, AutomaticTuningOptionModeActual]]
        desired_state: Optional[Union[str, AutomaticTuningOptionModeDesired]]
        reason_code: Optional[int]
        reason_desc: Optional[Union[str, AutomaticTuningDisabledReason]]

        @overload
        def __init__(
                self, 
                *, 
                desired_state: Optional[Union[str, AutomaticTuningOptionModeDesired]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AutomaticTuningServerMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO = "Auto"
        CUSTOM = "Custom"
        UNSPECIFIED = "Unspecified"


    class azure.mgmt.sql.models.AutomaticTuningServerOptions(_Model):
        actual_state: Optional[Union[str, AutomaticTuningOptionModeActual]]
        desired_state: Optional[Union[str, AutomaticTuningOptionModeDesired]]
        reason_code: Optional[int]
        reason_desc: Optional[Union[str, AutomaticTuningServerReason]]

        @overload
        def __init__(
                self, 
                *, 
                desired_state: Optional[Union[str, AutomaticTuningOptionModeDesired]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AutomaticTuningServerProperties(_Model):
        actual_state: Optional[Union[str, AutomaticTuningServerMode]]
        desired_state: Optional[Union[str, AutomaticTuningServerMode]]
        options: Optional[dict[str, AutomaticTuningServerOptions]]

        @overload
        def __init__(
                self, 
                *, 
                desired_state: Optional[Union[str, AutomaticTuningServerMode]] = ..., 
                options: Optional[dict[str, AutomaticTuningServerOptions]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.AutomaticTuningServerReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO_CONFIGURED = "AutoConfigured"
        DEFAULT = "Default"
        DISABLED = "Disabled"


    class azure.mgmt.sql.models.AvailabilityZoneType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NO_PREFERENCE = "NoPreference"
        ONE = "1"
        THREE = "3"
        TWO = "2"


    class azure.mgmt.sql.models.AzureADOnlyAuthProperties(_Model):
        azure_ad_only_authentication: bool

        @overload
        def __init__(
                self, 
                *, 
                azure_ad_only_authentication: bool
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.BackupShortTermRetentionPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[BackupShortTermRetentionPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[BackupShortTermRetentionPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.BackupShortTermRetentionPolicyProperties(_Model):
        diff_backup_interval_in_hours: Optional[Union[int, DiffBackupIntervalInHours]]
        retention_days: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                diff_backup_interval_in_hours: Optional[Union[int, DiffBackupIntervalInHours]] = ..., 
                retention_days: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.BackupStorageAccessTier(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ARCHIVE = "Archive"
        HOT = "Hot"


    class azure.mgmt.sql.models.BackupStorageRedundancy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GEO = "Geo"
        GEO_ZONE = "GeoZone"
        LOCAL = "Local"
        ZONE = "Zone"


    class azure.mgmt.sql.models.Baseline(_Model):
        expected_results: Optional[list[list[str]]]
        updated_time: Optional[datetime]


    class azure.mgmt.sql.models.BaselineAdjustedResult(_Model):
        baseline: Optional[Baseline]
        results_not_in_baseline: Optional[list[list[str]]]
        results_only_in_baseline: Optional[list[list[str]]]
        status: Optional[Union[str, RuleStatus]]


    class azure.mgmt.sql.models.BaselineName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.BenchmarkReference(_Model):
        benchmark: Optional[str]
        reference: Optional[str]


    class azure.mgmt.sql.models.BlobAuditingPolicyState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.CapabilityGroup(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SUPPORTED_EDITIONS = "supportedEditions"
        SUPPORTED_ELASTIC_POOL_EDITIONS = "supportedElasticPoolEditions"
        SUPPORTED_INSTANCE_POOL_EDITIONS = "supportedInstancePoolEditions"
        SUPPORTED_JOB_AGENT_VERSIONS = "supportedJobAgentVersions"
        SUPPORTED_MANAGED_INSTANCE_EDITIONS = "supportedManagedInstanceEditions"
        SUPPORTED_MANAGED_INSTANCE_VERSIONS = "supportedManagedInstanceVersions"


    class azure.mgmt.sql.models.CapabilityStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AVAILABLE = "Available"
        DEFAULT = "Default"
        DISABLED = "Disabled"
        VISIBLE = "Visible"


    class azure.mgmt.sql.models.CatalogCollationType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DATABASE_DEFAULT = "DATABASE_DEFAULT"
        SQL_LATIN1_GENERAL_CP1_CI_AS = "SQL_Latin1_General_CP1_CI_AS"


    class azure.mgmt.sql.models.CertificateInfo(_Model):
        certificate_name: Optional[str]
        expiry_date: Optional[datetime]


    class azure.mgmt.sql.models.ChangeLongTermRetentionBackupAccessTierParameters(_Model):
        backup_storage_access_tier: str
        operation_mode: str

        @overload
        def __init__(
                self, 
                *, 
                backup_storage_access_tier: str, 
                operation_mode: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.CheckNameAvailabilityReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALREADY_EXISTS = "AlreadyExists"
        INVALID = "Invalid"


    class azure.mgmt.sql.models.CheckNameAvailabilityRequest(_Model):
        name: str
        type: Union[str, CheckNameAvailabilityResourceType]

        @overload
        def __init__(
                self, 
                *, 
                name: str, 
                type: Union[str, CheckNameAvailabilityResourceType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.CheckNameAvailabilityResourceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        MICROSOFT_SQL_SERVERS = "Microsoft.Sql/servers"


    class azure.mgmt.sql.models.CheckNameAvailabilityResponse(_Model):
        available: Optional[bool]
        message: Optional[str]
        name: Optional[str]
        reason: Optional[Union[str, CheckNameAvailabilityReason]]


    class azure.mgmt.sql.models.ClientClassificationSource(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        MIP = "MIP"
        NATIVE = "Native"
        NONE = "None"
        RECOMMENDED = "Recommended"


    class azure.mgmt.sql.models.ColumnDataType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BIGINT = "bigint"
        BINARY = "binary"
        BIT = "bit"
        CHAR = "char"
        DATE = "date"
        DATETIME = "datetime"
        DATETIME2 = "datetime2"
        DATETIMEOFFSET = "datetimeoffset"
        DECIMAL = "decimal"
        FLOAT = "float"
        GEOGRAPHY = "geography"
        GEOMETRY = "geometry"
        HIERARCHYID = "hierarchyid"
        IMAGE = "image"
        INT = "int"
        MONEY = "money"
        NCHAR = "nchar"
        NTEXT = "ntext"
        NUMERIC = "numeric"
        NVARCHAR = "nvarchar"
        REAL = "real"
        SMALLDATETIME = "smalldatetime"
        SMALLINT = "smallint"
        SMALLMONEY = "smallmoney"
        SQL_VARIANT = "sql_variant"
        SYSNAME = "sysname"
        TEXT = "text"
        TIME = "time"
        TIMESTAMP = "timestamp"
        TINYINT = "tinyint"
        UNIQUEIDENTIFIER = "uniqueidentifier"
        VARBINARY = "varbinary"
        VARCHAR = "varchar"
        XML = "xml"


    class azure.mgmt.sql.models.CompleteDatabaseRestoreDefinition(_Model):
        last_backup_name: str

        @overload
        def __init__(
                self, 
                *, 
                last_backup_name: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ConnectionPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.CopyLongTermRetentionBackupParameters(_Model):
        properties: Optional[CopyLongTermRetentionBackupParametersProperties]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[CopyLongTermRetentionBackupParametersProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.CopyLongTermRetentionBackupParametersProperties(_Model):
        target_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        target_database_name: Optional[str]
        target_resource_group: Optional[str]
        target_server_fully_qualified_domain_name: Optional[str]
        target_server_resource_id: Optional[str]
        target_subscription_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                target_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ..., 
                target_database_name: Optional[str] = ..., 
                target_resource_group: Optional[str] = ..., 
                target_server_fully_qualified_domain_name: Optional[str] = ..., 
                target_server_resource_id: Optional[str] = ..., 
                target_subscription_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.CreateDatabaseRestorePointDefinition(_Model):
        restore_point_label: str

        @overload
        def __init__(
                self, 
                *, 
                restore_point_label: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.CreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        COPY = "Copy"
        DEFAULT = "Default"
        ONLINE_SECONDARY = "OnlineSecondary"
        POINT_IN_TIME_RESTORE = "PointInTimeRestore"
        RECOVERY = "Recovery"
        RESTORE = "Restore"
        RESTORE_EXTERNAL_BACKUP = "RestoreExternalBackup"
        RESTORE_EXTERNAL_BACKUP_SECONDARY = "RestoreExternalBackupSecondary"
        RESTORE_LONG_TERM_RETENTION_BACKUP = "RestoreLongTermRetentionBackup"
        SECONDARY = "Secondary"


    class azure.mgmt.sql.models.CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        APPLICATION = "Application"
        KEY = "Key"
        MANAGED_IDENTITY = "ManagedIdentity"
        USER = "User"


    class azure.mgmt.sql.models.DNSRefreshOperationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FAILED = "Failed"
        IN_PROGRESS = "InProgress"
        SUCCEEDED = "Succeeded"


    class azure.mgmt.sql.models.DataMaskingFunction(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CCN = "CCN"
        DEFAULT = "Default"
        EMAIL = "Email"
        NUMBER = "Number"
        SSN = "SSN"
        TEXT = "Text"


    class azure.mgmt.sql.models.DataMaskingPolicy(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[DataMaskingPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DataMaskingPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DataMaskingPolicyProperties(_Model):
        application_principals: Optional[str]
        data_masking_state: Union[str, DataMaskingState]
        exempt_principals: Optional[str]
        masking_level: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                data_masking_state: Union[str, DataMaskingState], 
                exempt_principals: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DataMaskingRule(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[DataMaskingRuleProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DataMaskingRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DataMaskingRuleProperties(_Model):
        alias_name: Optional[str]
        column_name: str
        id: Optional[str]
        masking_function: Union[str, DataMaskingFunction]
        number_from: Optional[str]
        number_to: Optional[str]
        prefix_size: Optional[str]
        replacement_string: Optional[str]
        rule_state: Optional[Union[str, DataMaskingRuleState]]
        schema_name: str
        suffix_size: Optional[str]
        table_name: str

        @overload
        def __init__(
                self, 
                *, 
                alias_name: Optional[str] = ..., 
                column_name: str, 
                masking_function: Union[str, DataMaskingFunction], 
                number_from: Optional[str] = ..., 
                number_to: Optional[str] = ..., 
                prefix_size: Optional[str] = ..., 
                replacement_string: Optional[str] = ..., 
                rule_state: Optional[Union[str, DataMaskingRuleState]] = ..., 
                schema_name: str, 
                suffix_size: Optional[str] = ..., 
                table_name: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DataMaskingRuleState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.DataMaskingState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.DataWarehouseUserActivities(ProxyResource):
        id: str
        name: str
        properties: Optional[DataWarehouseUserActivitiesProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DataWarehouseUserActivitiesProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DataWarehouseUserActivitiesProperties(_Model):
        active_queries_count: Optional[int]


    class azure.mgmt.sql.models.DataWarehouseUserActivityName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.Database(TrackedResource):
        id: str
        identity: Optional[DatabaseIdentity]
        kind: Optional[str]
        location: str
        managed_by: Optional[str]
        name: str
        properties: Optional[DatabaseProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[DatabaseIdentity] = ..., 
                location: str, 
                properties: Optional[DatabaseProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseAdvancedThreatProtection(ProxyResource):
        id: str
        name: str
        properties: Optional[AdvancedThreatProtectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdvancedThreatProtectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseAutomaticTuning(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseAutomaticTuningProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseAutomaticTuningProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseAutomaticTuningProperties(_Model):
        actual_state: Optional[Union[str, AutomaticTuningMode]]
        desired_state: Optional[Union[str, AutomaticTuningMode]]
        options: Optional[dict[str, AutomaticTuningOptions]]

        @overload
        def __init__(
                self, 
                *, 
                desired_state: Optional[Union[str, AutomaticTuningMode]] = ..., 
                options: Optional[dict[str, AutomaticTuningOptions]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseBlobAuditingPolicy(ProxyResource):
        id: str
        kind: Optional[str]
        name: str
        properties: Optional[DatabaseBlobAuditingPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseBlobAuditingPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseBlobAuditingPolicyProperties(_Model):
        audit_actions_and_groups: Optional[list[str]]
        is_azure_monitor_target_enabled: Optional[bool]
        is_managed_identity_in_use: Optional[bool]
        is_storage_secondary_key_in_use: Optional[bool]
        queue_delay_ms: Optional[int]
        retention_days: Optional[int]
        state: Union[str, BlobAuditingPolicyState]
        storage_account_access_key: Optional[str]
        storage_account_subscription_id: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                audit_actions_and_groups: Optional[list[str]] = ..., 
                is_azure_monitor_target_enabled: Optional[bool] = ..., 
                is_managed_identity_in_use: Optional[bool] = ..., 
                is_storage_secondary_key_in_use: Optional[bool] = ..., 
                queue_delay_ms: Optional[int] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, BlobAuditingPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_account_subscription_id: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseColumn(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseColumnProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseColumnProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseColumnProperties(_Model):
        column_type: Optional[Union[str, ColumnDataType]]
        is_computed: Optional[bool]
        memory_optimized: Optional[bool]
        temporal_type: Optional[Union[str, TableTemporalType]]

        @overload
        def __init__(
                self, 
                *, 
                column_type: Optional[Union[str, ColumnDataType]] = ..., 
                is_computed: Optional[bool] = ..., 
                memory_optimized: Optional[bool] = ..., 
                temporal_type: Optional[Union[str, TableTemporalType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseExtensions(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseExtensionsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseExtensionsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseExtensionsProperties(_Model):
        administrator_login: Optional[str]
        administrator_login_password: Optional[str]
        authentication_type: Optional[str]
        database_edition: Optional[str]
        max_size_bytes: Optional[str]
        network_isolation: Optional[NetworkIsolationSettings]
        operation_mode: Union[str, OperationMode]
        service_objective_name: Optional[str]
        storage_key: str
        storage_key_type: Union[str, StorageKeyType]
        storage_uri: str

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: Optional[str] = ..., 
                administrator_login_password: Optional[str] = ..., 
                authentication_type: Optional[str] = ..., 
                database_edition: Optional[str] = ..., 
                max_size_bytes: Optional[str] = ..., 
                network_isolation: Optional[NetworkIsolationSettings] = ..., 
                operation_mode: Union[str, OperationMode], 
                service_objective_name: Optional[str] = ..., 
                storage_key: str, 
                storage_key_type: Union[str, StorageKeyType], 
                storage_uri: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseIdentity(_Model):
        tenant_id: Optional[str]
        type: Optional[Union[str, DatabaseIdentityType]]
        user_assigned_identities: Optional[dict[str, DatabaseUserIdentity]]

        @overload
        def __init__(
                self, 
                *, 
                type: Optional[Union[str, DatabaseIdentityType]] = ..., 
                user_assigned_identities: Optional[dict[str, DatabaseUserIdentity]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        USER_ASSIGNED = "UserAssigned"


    class azure.mgmt.sql.models.DatabaseKey(_Model):
        creation_date: Optional[datetime]
        key_version: Optional[str]
        subregion: Optional[str]
        thumbprint: Optional[str]
        type: Optional[Union[str, DatabaseKeyType]]


    class azure.mgmt.sql.models.DatabaseKeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AZURE_KEY_VAULT = "AzureKeyVault"


    class azure.mgmt.sql.models.DatabaseLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BASE_PRICE = "BasePrice"
        LICENSE_INCLUDED = "LicenseIncluded"


    class azure.mgmt.sql.models.DatabaseOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseOperationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseOperationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseOperationProperties(_Model):
        database_name: Optional[str]
        description: Optional[str]
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        estimated_completion_time: Optional[datetime]
        is_cancellable: Optional[bool]
        is_user_error: Optional[bool]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        operation_phase_details: Optional[PhaseDetails]
        percent_complete: Optional[int]
        server_name: Optional[str]
        start_time: Optional[datetime]
        state: Optional[Union[str, ManagementOperationState]]


    class azure.mgmt.sql.models.DatabaseProperties(_Model):
        auto_pause_delay: Optional[int]
        availability_zone: Optional[Union[str, AvailabilityZoneType]]
        catalog_collation: Optional[Union[str, CatalogCollationType]]
        collation: Optional[str]
        create_mode: Optional[Union[str, CreateMode]]
        creation_date: Optional[datetime]
        current_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        current_service_objective_name: Optional[str]
        current_sku: Optional[Sku]
        database_id: Optional[str]
        default_secondary_location: Optional[str]
        earliest_restore_date: Optional[datetime]
        elastic_pool_id: Optional[str]
        encryption_protector: Optional[str]
        encryption_protector_auto_rotation: Optional[bool]
        failover_group_id: Optional[str]
        federated_client_id: Optional[str]
        free_limit_exhaustion_behavior: Optional[Union[str, FreeLimitExhaustionBehavior]]
        high_availability_replica_count: Optional[int]
        is_infra_encryption_enabled: Optional[bool]
        is_ledger_on: Optional[bool]
        keys_property: Optional[dict[str, DatabaseKey]]
        license_type: Optional[Union[str, DatabaseLicenseType]]
        long_term_retention_backup_resource_id: Optional[str]
        maintenance_configuration_id: Optional[str]
        manual_cutover: Optional[bool]
        max_log_size_bytes: Optional[int]
        max_size_bytes: Optional[int]
        min_capacity: Optional[float]
        paused_date: Optional[datetime]
        perform_cutover: Optional[bool]
        preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]]
        read_scale: Optional[Union[str, DatabaseReadScale]]
        recoverable_database_id: Optional[str]
        recovery_services_recovery_point_id: Optional[str]
        requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        requested_service_objective_name: Optional[str]
        restorable_dropped_database_id: Optional[str]
        restore_point_in_time: Optional[datetime]
        resumed_date: Optional[datetime]
        sample_name: Optional[Union[str, SampleName]]
        secondary_type: Optional[Union[str, SecondaryType]]
        source_database_deletion_date: Optional[datetime]
        source_database_id: Optional[str]
        source_resource_id: Optional[str]
        status: Optional[Union[str, DatabaseStatus]]
        use_free_limit: Optional[bool]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                auto_pause_delay: Optional[int] = ..., 
                availability_zone: Optional[Union[str, AvailabilityZoneType]] = ..., 
                catalog_collation: Optional[Union[str, CatalogCollationType]] = ..., 
                collation: Optional[str] = ..., 
                create_mode: Optional[Union[str, CreateMode]] = ..., 
                elastic_pool_id: Optional[str] = ..., 
                encryption_protector: Optional[str] = ..., 
                encryption_protector_auto_rotation: Optional[bool] = ..., 
                federated_client_id: Optional[str] = ..., 
                free_limit_exhaustion_behavior: Optional[Union[str, FreeLimitExhaustionBehavior]] = ..., 
                high_availability_replica_count: Optional[int] = ..., 
                is_ledger_on: Optional[bool] = ..., 
                keys_property: Optional[dict[str, DatabaseKey]] = ..., 
                license_type: Optional[Union[str, DatabaseLicenseType]] = ..., 
                long_term_retention_backup_resource_id: Optional[str] = ..., 
                maintenance_configuration_id: Optional[str] = ..., 
                manual_cutover: Optional[bool] = ..., 
                max_size_bytes: Optional[int] = ..., 
                min_capacity: Optional[float] = ..., 
                perform_cutover: Optional[bool] = ..., 
                preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]] = ..., 
                read_scale: Optional[Union[str, DatabaseReadScale]] = ..., 
                recoverable_database_id: Optional[str] = ..., 
                recovery_services_recovery_point_id: Optional[str] = ..., 
                requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ..., 
                restorable_dropped_database_id: Optional[str] = ..., 
                restore_point_in_time: Optional[datetime] = ..., 
                sample_name: Optional[Union[str, SampleName]] = ..., 
                secondary_type: Optional[Union[str, SecondaryType]] = ..., 
                source_database_deletion_date: Optional[datetime] = ..., 
                source_database_id: Optional[str] = ..., 
                source_resource_id: Optional[str] = ..., 
                use_free_limit: Optional[bool] = ..., 
                zone_redundant: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseReadScale(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.DatabaseSchema(ProxyResource):
        id: str
        name: str
        system_data: SystemData
        type: str


    class azure.mgmt.sql.models.DatabaseSecurityAlertPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[SecurityAlertsPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SecurityAlertsPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentBaselineSet(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseSqlVulnerabilityAssessmentBaselineSetProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseSqlVulnerabilityAssessmentBaselineSetProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentBaselineSetProperties(_Model):
        results: dict[str, list[list[str]]]

        @overload
        def __init__(
                self, 
                *, 
                results: dict[str, list[list[str]]]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaseline(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineInput(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineInputProperties(_Model):
        latest_scan: bool
        results: list[list[str]]

        @overload
        def __init__(
                self, 
                *, 
                latest_scan: bool, 
                results: list[list[str]]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineListInputProperties(_Model):
        latest_scan: bool
        results: dict[str, list[list[str]]]

        @overload
        def __init__(
                self, 
                *, 
                latest_scan: bool, 
                results: dict[str, list[list[str]]]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineProperties(_Model):
        results: list[list[str]]

        @overload
        def __init__(
                self, 
                *, 
                results: list[list[str]]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALL = "All"
        DELETED = "Deleted"
        LIVE = "Live"


    class azure.mgmt.sql.models.DatabaseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO_CLOSED = "AutoClosed"
        COPYING = "Copying"
        CREATING = "Creating"
        DISABLED = "Disabled"
        EMERGENCY_MODE = "EmergencyMode"
        INACCESSIBLE = "Inaccessible"
        OFFLINE = "Offline"
        OFFLINE_CHANGING_DW_PERFORMANCE_TIERS = "OfflineChangingDwPerformanceTiers"
        OFFLINE_SECONDARY = "OfflineSecondary"
        ONLINE = "Online"
        ONLINE_CHANGING_DW_PERFORMANCE_TIERS = "OnlineChangingDwPerformanceTiers"
        PAUSED = "Paused"
        PAUSING = "Pausing"
        RECOVERING = "Recovering"
        RECOVERY_PENDING = "RecoveryPending"
        RESTORING = "Restoring"
        RESUMING = "Resuming"
        SCALING = "Scaling"
        SHUTDOWN = "Shutdown"
        STANDBY = "Standby"
        STARTING = "Starting"
        STOPPED = "Stopped"
        STOPPING = "Stopping"
        SUSPECT = "Suspect"


    class azure.mgmt.sql.models.DatabaseTable(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseTableProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseTableProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseTableProperties(_Model):
        memory_optimized: Optional[bool]
        temporal_type: Optional[Union[str, TableTemporalType]]

        @overload
        def __init__(
                self, 
                *, 
                memory_optimized: Optional[bool] = ..., 
                temporal_type: Optional[Union[str, TableTemporalType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseUpdate(_Model):
        identity: Optional[DatabaseIdentity]
        properties: Optional[DatabaseUpdateProperties]
        sku: Optional[Sku]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[DatabaseIdentity] = ..., 
                properties: Optional[DatabaseUpdateProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseUpdateProperties(_Model):
        auto_pause_delay: Optional[int]
        catalog_collation: Optional[Union[str, CatalogCollationType]]
        collation: Optional[str]
        create_mode: Optional[Union[str, CreateMode]]
        creation_date: Optional[datetime]
        current_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        current_service_objective_name: Optional[str]
        current_sku: Optional[Sku]
        database_id: Optional[str]
        default_secondary_location: Optional[str]
        earliest_restore_date: Optional[datetime]
        elastic_pool_id: Optional[str]
        encryption_protector: Optional[str]
        encryption_protector_auto_rotation: Optional[bool]
        failover_group_id: Optional[str]
        federated_client_id: Optional[str]
        free_limit_exhaustion_behavior: Optional[Union[str, FreeLimitExhaustionBehavior]]
        high_availability_replica_count: Optional[int]
        is_infra_encryption_enabled: Optional[bool]
        is_ledger_on: Optional[bool]
        keys_property: Optional[dict[str, DatabaseKey]]
        license_type: Optional[Union[str, DatabaseLicenseType]]
        long_term_retention_backup_resource_id: Optional[str]
        maintenance_configuration_id: Optional[str]
        manual_cutover: Optional[bool]
        max_log_size_bytes: Optional[int]
        max_size_bytes: Optional[int]
        min_capacity: Optional[float]
        paused_date: Optional[datetime]
        perform_cutover: Optional[bool]
        preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]]
        read_scale: Optional[Union[str, DatabaseReadScale]]
        recoverable_database_id: Optional[str]
        recovery_services_recovery_point_id: Optional[str]
        requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        requested_service_objective_name: Optional[str]
        restorable_dropped_database_id: Optional[str]
        restore_point_in_time: Optional[datetime]
        resumed_date: Optional[datetime]
        sample_name: Optional[Union[str, SampleName]]
        secondary_type: Optional[Union[str, SecondaryType]]
        source_database_deletion_date: Optional[datetime]
        source_database_id: Optional[str]
        status: Optional[Union[str, DatabaseStatus]]
        use_free_limit: Optional[bool]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                auto_pause_delay: Optional[int] = ..., 
                catalog_collation: Optional[Union[str, CatalogCollationType]] = ..., 
                collation: Optional[str] = ..., 
                create_mode: Optional[Union[str, CreateMode]] = ..., 
                elastic_pool_id: Optional[str] = ..., 
                encryption_protector: Optional[str] = ..., 
                encryption_protector_auto_rotation: Optional[bool] = ..., 
                federated_client_id: Optional[str] = ..., 
                free_limit_exhaustion_behavior: Optional[Union[str, FreeLimitExhaustionBehavior]] = ..., 
                high_availability_replica_count: Optional[int] = ..., 
                is_ledger_on: Optional[bool] = ..., 
                keys_property: Optional[dict[str, DatabaseKey]] = ..., 
                license_type: Optional[Union[str, DatabaseLicenseType]] = ..., 
                long_term_retention_backup_resource_id: Optional[str] = ..., 
                maintenance_configuration_id: Optional[str] = ..., 
                manual_cutover: Optional[bool] = ..., 
                max_size_bytes: Optional[int] = ..., 
                min_capacity: Optional[float] = ..., 
                perform_cutover: Optional[bool] = ..., 
                preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]] = ..., 
                read_scale: Optional[Union[str, DatabaseReadScale]] = ..., 
                recoverable_database_id: Optional[str] = ..., 
                recovery_services_recovery_point_id: Optional[str] = ..., 
                requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ..., 
                restorable_dropped_database_id: Optional[str] = ..., 
                restore_point_in_time: Optional[datetime] = ..., 
                sample_name: Optional[Union[str, SampleName]] = ..., 
                secondary_type: Optional[Union[str, SecondaryType]] = ..., 
                source_database_deletion_date: Optional[datetime] = ..., 
                source_database_id: Optional[str] = ..., 
                use_free_limit: Optional[bool] = ..., 
                zone_redundant: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseUsage(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseUsageProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseUsageProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseUsageProperties(_Model):
        current_value: Optional[float]
        display_name: Optional[str]
        limit: Optional[float]
        unit: Optional[str]


    class azure.mgmt.sql.models.DatabaseUserIdentity(_Model):
        client_id: Optional[str]
        principal_id: Optional[str]


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessment(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseVulnerabilityAssessmentProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseVulnerabilityAssessmentProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentProperties(_Model):
        recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties]
        storage_account_access_key: Optional[str]
        storage_container_path: Optional[str]
        storage_container_sas_key: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties] = ..., 
                storage_account_access_key: Optional[str] = ..., 
                storage_container_path: Optional[str] = ..., 
                storage_container_sas_key: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaseline(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseVulnerabilityAssessmentRuleBaselineProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseVulnerabilityAssessmentRuleBaselineProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineItem(_Model):
        result: list[str]

        @overload
        def __init__(
                self, 
                *, 
                result: list[str]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentRuleBaselineProperties(_Model):
        baseline_results: list[DatabaseVulnerabilityAssessmentRuleBaselineItem]

        @overload
        def __init__(
                self, 
                *, 
                baseline_results: list[DatabaseVulnerabilityAssessmentRuleBaselineItem]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentScanExportProperties(_Model):
        exported_report_location: Optional[str]


    class azure.mgmt.sql.models.DatabaseVulnerabilityAssessmentScansExport(ProxyResource):
        id: str
        name: str
        properties: Optional[DatabaseVulnerabilityAssessmentScanExportProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DatabaseVulnerabilityAssessmentScanExportProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DayOfWeek(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FRIDAY = "Friday"
        MONDAY = "Monday"
        SATURDAY = "Saturday"
        SUNDAY = "Sunday"
        THURSDAY = "Thursday"
        TUESDAY = "Tuesday"
        WEDNESDAY = "Wednesday"


    class azure.mgmt.sql.models.DeletedServer(ProxyResource):
        id: str
        name: str
        properties: Optional[DeletedServerProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DeletedServerProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DeletedServerProperties(_Model):
        deletion_time: Optional[datetime]
        fully_qualified_domain_name: Optional[str]
        original_id: Optional[str]
        version: Optional[str]


    class azure.mgmt.sql.models.DevOpsAuditingSettingsName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.DiffBackupIntervalInHours(int, Enum, metaclass=CaseInsensitiveEnumMeta):
        TWELVE = 12
        TWENTY_FOUR = 24


    class azure.mgmt.sql.models.DistributedAvailabilityGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[DistributedAvailabilityGroupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[DistributedAvailabilityGroupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.DistributedAvailabilityGroupDatabase(_Model):
        connected_state: Optional[Union[str, ReplicaConnectedState]]
        database_name: Optional[str]
        instance_redo_replication_lag_seconds: Optional[int]
        instance_replica_id: Optional[str]
        instance_send_replication_lag_seconds: Optional[int]
        last_backup_lsn: Optional[str]
        last_backup_time: Optional[datetime]
        last_commit_lsn: Optional[str]
        last_commit_time: Optional[datetime]
        last_hardened_lsn: Optional[str]
        last_hardened_time: Optional[datetime]
        last_received_lsn: Optional[str]
        last_received_time: Optional[datetime]
        last_sent_lsn: Optional[str]
        last_sent_time: Optional[datetime]
        most_recent_link_error: Optional[str]
        partner_auth_cert_validity: Optional[CertificateInfo]
        partner_replica_id: Optional[str]
        replica_state: Optional[str]
        seeding_progress: Optional[str]
        synchronization_health: Optional[Union[str, ReplicaSynchronizationHealth]]

        @overload
        def __init__(
                self, 
                *, 
                database_name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DistributedAvailabilityGroupProperties(_Model):
        databases: Optional[list[DistributedAvailabilityGroupDatabase]]
        distributed_availability_group_id: Optional[str]
        distributed_availability_group_name: Optional[str]
        failover_mode: Optional[Union[str, FailoverModeType]]
        instance_availability_group_name: Optional[str]
        instance_link_role: Optional[Union[str, LinkRole]]
        partner_availability_group_name: Optional[str]
        partner_endpoint: Optional[str]
        partner_link_role: Optional[Union[str, LinkRole]]
        replication_mode: Optional[Union[str, ReplicationModeType]]
        seeding_mode: Optional[Union[str, SeedingModeType]]

        @overload
        def __init__(
                self, 
                *, 
                databases: Optional[list[DistributedAvailabilityGroupDatabase]] = ..., 
                failover_mode: Optional[Union[str, FailoverModeType]] = ..., 
                instance_availability_group_name: Optional[str] = ..., 
                instance_link_role: Optional[Union[str, LinkRole]] = ..., 
                partner_availability_group_name: Optional[str] = ..., 
                partner_endpoint: Optional[str] = ..., 
                replication_mode: Optional[Union[str, ReplicationModeType]] = ..., 
                seeding_mode: Optional[Union[str, SeedingModeType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DistributedAvailabilityGroupSetRole(_Model):
        instance_role: Union[str, InstanceRole]
        role_change_type: Union[str, RoleChangeType]

        @overload
        def __init__(
                self, 
                *, 
                instance_role: Union[str, InstanceRole], 
                role_change_type: Union[str, RoleChangeType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DistributedAvailabilityGroupsFailoverRequest(_Model):
        failover_type: Union[str, FailoverType]

        @overload
        def __init__(
                self, 
                *, 
                failover_type: Union[str, FailoverType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.DtcName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.EditionCapability(_Model):
        name: Optional[str]
        read_scale: Optional[ReadScaleCapability]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_service_level_objectives: Optional[list[ServiceObjectiveCapability]]
        supported_storage_capabilities: Optional[list[StorageCapability]]
        zone_pinning: Optional[bool]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPool(TrackedResource):
        id: str
        kind: Optional[str]
        location: str
        name: str
        properties: Optional[ElasticPoolProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                properties: Optional[ElasticPoolProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolEditionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_elastic_pool_performance_levels: Optional[list[ElasticPoolPerformanceLevelCapability]]
        zone_pinning: Optional[bool]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BASE_PRICE = "BasePrice"
        LICENSE_INCLUDED = "LicenseIncluded"


    class azure.mgmt.sql.models.ElasticPoolOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[ElasticPoolOperationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ElasticPoolOperationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolOperationProperties(_Model):
        description: Optional[str]
        elastic_pool_name: Optional[str]
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        estimated_completion_time: Optional[datetime]
        is_cancellable: Optional[bool]
        is_user_error: Optional[bool]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        percent_complete: Optional[int]
        server_name: Optional[str]
        start_time: Optional[datetime]
        state: Optional[str]


    class azure.mgmt.sql.models.ElasticPoolPerDatabaseMaxPerformanceLevelCapability(_Model):
        limit: Optional[float]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_per_database_min_performance_levels: Optional[list[ElasticPoolPerDatabaseMinPerformanceLevelCapability]]
        unit: Optional[Union[str, PerformanceLevelUnit]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolPerDatabaseMinPerformanceLevelCapability(_Model):
        limit: Optional[float]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        unit: Optional[Union[str, PerformanceLevelUnit]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolPerDatabaseSettings(_Model):
        auto_pause_delay: Optional[int]
        max_capacity: Optional[float]
        min_capacity: Optional[float]

        @overload
        def __init__(
                self, 
                *, 
                auto_pause_delay: Optional[int] = ..., 
                max_capacity: Optional[float] = ..., 
                min_capacity: Optional[float] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolPerformanceLevelCapability(_Model):
        included_max_size: Optional[MaxSizeCapability]
        max_database_count: Optional[int]
        performance_level: Optional[PerformanceLevelCapability]
        reason: Optional[str]
        sku: Optional[Sku]
        status: Optional[Union[str, CapabilityStatus]]
        supported_auto_pause_delay: Optional[AutoPauseDelayTimeRange]
        supported_license_types: Optional[list[LicenseTypeCapability]]
        supported_maintenance_configurations: Optional[list[MaintenanceConfigurationCapability]]
        supported_max_sizes: Optional[list[MaxSizeRangeCapability]]
        supported_min_capacities: Optional[list[MinCapacityCapability]]
        supported_per_database_auto_pause_delay: Optional[PerDatabaseAutoPauseDelayTimeRange]
        supported_per_database_max_performance_levels: Optional[list[ElasticPoolPerDatabaseMaxPerformanceLevelCapability]]
        supported_per_database_max_sizes: Optional[list[MaxSizeRangeCapability]]
        supported_zones: Optional[list[ZonePinningCapability]]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolProperties(_Model):
        auto_pause_delay: Optional[int]
        availability_zone: Optional[Union[str, AvailabilityZoneType]]
        creation_date: Optional[datetime]
        high_availability_replica_count: Optional[int]
        license_type: Optional[Union[str, ElasticPoolLicenseType]]
        maintenance_configuration_id: Optional[str]
        max_size_bytes: Optional[int]
        min_capacity: Optional[float]
        per_database_settings: Optional[ElasticPoolPerDatabaseSettings]
        preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]]
        state: Optional[Union[str, ElasticPoolState]]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                auto_pause_delay: Optional[int] = ..., 
                availability_zone: Optional[Union[str, AvailabilityZoneType]] = ..., 
                high_availability_replica_count: Optional[int] = ..., 
                license_type: Optional[Union[str, ElasticPoolLicenseType]] = ..., 
                maintenance_configuration_id: Optional[str] = ..., 
                max_size_bytes: Optional[int] = ..., 
                min_capacity: Optional[float] = ..., 
                per_database_settings: Optional[ElasticPoolPerDatabaseSettings] = ..., 
                preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]] = ..., 
                zone_redundant: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CREATING = "Creating"
        DISABLED = "Disabled"
        READY = "Ready"


    class azure.mgmt.sql.models.ElasticPoolUpdate(_Model):
        properties: Optional[ElasticPoolUpdateProperties]
        sku: Optional[Sku]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ElasticPoolUpdateProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ElasticPoolUpdateProperties(_Model):
        auto_pause_delay: Optional[int]
        availability_zone: Optional[Union[str, AvailabilityZoneType]]
        high_availability_replica_count: Optional[int]
        license_type: Optional[Union[str, ElasticPoolLicenseType]]
        maintenance_configuration_id: Optional[str]
        max_size_bytes: Optional[int]
        min_capacity: Optional[float]
        per_database_settings: Optional[ElasticPoolPerDatabaseSettings]
        preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                auto_pause_delay: Optional[int] = ..., 
                availability_zone: Optional[Union[str, AvailabilityZoneType]] = ..., 
                high_availability_replica_count: Optional[int] = ..., 
                license_type: Optional[Union[str, ElasticPoolLicenseType]] = ..., 
                maintenance_configuration_id: Optional[str] = ..., 
                max_size_bytes: Optional[int] = ..., 
                min_capacity: Optional[float] = ..., 
                per_database_settings: Optional[ElasticPoolPerDatabaseSettings] = ..., 
                preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]] = ..., 
                zone_redundant: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.EncryptionProtector(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[EncryptionProtectorProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[EncryptionProtectorProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.EncryptionProtectorName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.EncryptionProtectorProperties(_Model):
        auto_rotation_enabled: Optional[bool]
        key_version: Optional[str]
        server_key_name: Optional[str]
        server_key_type: Union[str, ServerKeyType]
        subregion: Optional[str]
        thumbprint: Optional[str]
        uri: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                auto_rotation_enabled: Optional[bool] = ..., 
                server_key_name: Optional[str] = ..., 
                server_key_type: Union[str, ServerKeyType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.EndpointCertificate(ProxyResource):
        id: str
        name: str
        properties: Optional[EndpointCertificateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[EndpointCertificateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.EndpointCertificateProperties(_Model):
        public_blob: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                public_blob: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.EndpointDependency(_Model):
        domain_name: Optional[str]
        endpoint_details: Optional[list[EndpointDetail]]


    class azure.mgmt.sql.models.EndpointDetail(_Model):
        port: Optional[int]


    class azure.mgmt.sql.models.ErrorAdditionalInfo(_Model):
        info: Optional[Any]
        type: Optional[str]


    class azure.mgmt.sql.models.ErrorDetail(_Model):
        additional_info: Optional[list[ErrorAdditionalInfo]]
        code: Optional[str]
        details: Optional[list[ErrorDetail]]
        message: Optional[str]
        target: Optional[str]


    class azure.mgmt.sql.models.ErrorResponse(_Model):
        error: Optional[ErrorDetail]

        @overload
        def __init__(
                self, 
                *, 
                error: Optional[ErrorDetail] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ErrorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        USER = "User"


    class azure.mgmt.sql.models.ExportDatabaseDefinition(_Model):
        administrator_login: str
        administrator_login_password: Optional[str]
        authentication_type: Optional[str]
        network_isolation: Optional[NetworkIsolationSettings]
        storage_key: str
        storage_key_type: Union[str, StorageKeyType]
        storage_uri: str

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: str, 
                administrator_login_password: Optional[str] = ..., 
                authentication_type: Optional[str] = ..., 
                network_isolation: Optional[NetworkIsolationSettings] = ..., 
                storage_key: str, 
                storage_key_type: Union[str, StorageKeyType], 
                storage_uri: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ExtendedDatabaseBlobAuditingPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[ExtendedDatabaseBlobAuditingPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ExtendedDatabaseBlobAuditingPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ExtendedDatabaseBlobAuditingPolicyProperties(_Model):
        audit_actions_and_groups: Optional[list[str]]
        is_azure_monitor_target_enabled: Optional[bool]
        is_managed_identity_in_use: Optional[bool]
        is_storage_secondary_key_in_use: Optional[bool]
        predicate_expression: Optional[str]
        queue_delay_ms: Optional[int]
        retention_days: Optional[int]
        state: Union[str, BlobAuditingPolicyState]
        storage_account_access_key: Optional[str]
        storage_account_subscription_id: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                audit_actions_and_groups: Optional[list[str]] = ..., 
                is_azure_monitor_target_enabled: Optional[bool] = ..., 
                is_managed_identity_in_use: Optional[bool] = ..., 
                is_storage_secondary_key_in_use: Optional[bool] = ..., 
                predicate_expression: Optional[str] = ..., 
                queue_delay_ms: Optional[int] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, BlobAuditingPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_account_subscription_id: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ExtendedServerBlobAuditingPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[ExtendedServerBlobAuditingPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ExtendedServerBlobAuditingPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ExtendedServerBlobAuditingPolicyProperties(_Model):
        audit_actions_and_groups: Optional[list[str]]
        is_azure_monitor_target_enabled: Optional[bool]
        is_devops_audit_enabled: Optional[bool]
        is_managed_identity_in_use: Optional[bool]
        is_storage_secondary_key_in_use: Optional[bool]
        predicate_expression: Optional[str]
        queue_delay_ms: Optional[int]
        retention_days: Optional[int]
        state: Union[str, BlobAuditingPolicyState]
        storage_account_access_key: Optional[str]
        storage_account_subscription_id: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                audit_actions_and_groups: Optional[list[str]] = ..., 
                is_azure_monitor_target_enabled: Optional[bool] = ..., 
                is_devops_audit_enabled: Optional[bool] = ..., 
                is_managed_identity_in_use: Optional[bool] = ..., 
                is_storage_secondary_key_in_use: Optional[bool] = ..., 
                predicate_expression: Optional[str] = ..., 
                queue_delay_ms: Optional[int] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, BlobAuditingPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_account_subscription_id: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ExternalGovernanceStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.FailoverGroup(ProxyResource):
        id: str
        location: Optional[str]
        name: str
        properties: Optional[FailoverGroupProperties]
        system_data: SystemData
        tags: Optional[dict[str, str]]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[FailoverGroupProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.FailoverGroupDatabasesSecondaryType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GEO = "Geo"
        STANDBY = "Standby"


    class azure.mgmt.sql.models.FailoverGroupProperties(_Model):
        databases: Optional[list[str]]
        partner_servers: list[PartnerInfo]
        read_only_endpoint: Optional[FailoverGroupReadOnlyEndpoint]
        read_write_endpoint: FailoverGroupReadWriteEndpoint
        replication_role: Optional[Union[str, FailoverGroupReplicationRole]]
        replication_state: Optional[str]
        secondary_type: Optional[Union[str, FailoverGroupDatabasesSecondaryType]]

        @overload
        def __init__(
                self, 
                *, 
                databases: Optional[list[str]] = ..., 
                partner_servers: list[PartnerInfo], 
                read_only_endpoint: Optional[FailoverGroupReadOnlyEndpoint] = ..., 
                read_write_endpoint: FailoverGroupReadWriteEndpoint, 
                secondary_type: Optional[Union[str, FailoverGroupDatabasesSecondaryType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.FailoverGroupReadOnlyEndpoint(_Model):
        failover_policy: Optional[Union[str, ReadOnlyEndpointFailoverPolicy]]
        target_server: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                failover_policy: Optional[Union[str, ReadOnlyEndpointFailoverPolicy]] = ..., 
                target_server: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.FailoverGroupReadWriteEndpoint(_Model):
        failover_policy: Union[str, ReadWriteEndpointFailoverPolicy]
        failover_with_data_loss_grace_period_minutes: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                failover_policy: Union[str, ReadWriteEndpointFailoverPolicy], 
                failover_with_data_loss_grace_period_minutes: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.FailoverGroupReplicationRole(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        PRIMARY = "Primary"
        SECONDARY = "Secondary"


    class azure.mgmt.sql.models.FailoverGroupUpdate(_Model):
        properties: Optional[FailoverGroupUpdateProperties]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[FailoverGroupUpdateProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.FailoverGroupUpdateProperties(_Model):
        databases: Optional[list[str]]
        partner_servers: Optional[list[PartnerInfo]]
        read_only_endpoint: Optional[FailoverGroupReadOnlyEndpoint]
        read_write_endpoint: Optional[FailoverGroupReadWriteEndpoint]
        secondary_type: Optional[Union[str, FailoverGroupDatabasesSecondaryType]]

        @overload
        def __init__(
                self, 
                *, 
                databases: Optional[list[str]] = ..., 
                partner_servers: Optional[list[PartnerInfo]] = ..., 
                read_only_endpoint: Optional[FailoverGroupReadOnlyEndpoint] = ..., 
                read_write_endpoint: Optional[FailoverGroupReadWriteEndpoint] = ..., 
                secondary_type: Optional[Union[str, FailoverGroupDatabasesSecondaryType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.FailoverModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        MANUAL = "Manual"
        NONE = "None"


    class azure.mgmt.sql.models.FailoverType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FORCED_ALLOW_DATA_LOSS = "ForcedAllowDataLoss"
        PLANNED = "Planned"


    class azure.mgmt.sql.models.FirewallRule(ProxyResourceWithWritableName):
        id: str
        name: str
        properties: Optional[ServerFirewallRuleProperties]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ..., 
                properties: Optional[ServerFirewallRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.FirewallRuleList(_Model):
        values_property: Optional[list[FirewallRule]]

        @overload
        def __init__(
                self, 
                *, 
                values_property: Optional[list[FirewallRule]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.FreeLimitExhaustionBehavior(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTO_PAUSE = "AutoPause"
        BILL_OVER_USAGE = "BillOverUsage"


    class azure.mgmt.sql.models.FreeLimitExhaustionBehaviorCapability(_Model):
        exhaustion_behavior_type: Optional[Union[str, FreeLimitExhaustionBehavior]]
        status: Optional[Union[str, CapabilityStatus]]


    class azure.mgmt.sql.models.GeoBackupPolicy(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[GeoBackupPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[GeoBackupPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.GeoBackupPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.GeoBackupPolicyProperties(_Model):
        state: Union[str, GeoBackupPolicyState]
        storage_type: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                state: Union[str, GeoBackupPolicyState]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.GeoBackupPolicyState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.HybridSecondaryUsage(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE = "Active"
        PASSIVE = "Passive"


    class azure.mgmt.sql.models.HybridSecondaryUsageDetected(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE = "Active"
        PASSIVE = "Passive"


    class azure.mgmt.sql.models.IPv6FirewallRule(ProxyResourceWithWritableName):
        id: str
        name: str
        properties: Optional[IPv6ServerFirewallRuleProperties]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ..., 
                properties: Optional[IPv6ServerFirewallRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.IPv6ServerFirewallRuleProperties(_Model):
        end_i_pv6_address: Optional[str]
        start_i_pv6_address: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                end_i_pv6_address: Optional[str] = ..., 
                start_i_pv6_address: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.IdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        SYSTEM_ASSIGNED = "SystemAssigned"
        SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
        USER_ASSIGNED = "UserAssigned"


    class azure.mgmt.sql.models.ImplementationMethod(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AZURE_POWER_SHELL = "AzurePowerShell"
        T_SQL = "TSql"


    class azure.mgmt.sql.models.ImportExistingDatabaseDefinition(_Model):
        administrator_login: str
        administrator_login_password: Optional[str]
        authentication_type: Optional[str]
        network_isolation: Optional[NetworkIsolationSettings]
        storage_key: str
        storage_key_type: Union[str, StorageKeyType]
        storage_uri: str

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: str, 
                administrator_login_password: Optional[str] = ..., 
                authentication_type: Optional[str] = ..., 
                network_isolation: Optional[NetworkIsolationSettings] = ..., 
                storage_key: str, 
                storage_key_type: Union[str, StorageKeyType], 
                storage_uri: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ImportExportExtensionsOperationResult(ProxyResource):
        id: str
        name: str
        properties: Optional[ImportExportExtensionsOperationResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ImportExportExtensionsOperationResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ImportExportExtensionsOperationResultProperties(_Model):
        blob_uri: Optional[str]
        database_name: Optional[str]
        error_message: Optional[str]
        last_modified_time: Optional[str]
        private_endpoint_connections: Optional[list[PrivateEndpointConnectionRequestStatus]]
        queued_time: Optional[str]
        request_id: Optional[str]
        request_type: Optional[str]
        server_name: Optional[str]
        status: Optional[str]


    class azure.mgmt.sql.models.ImportExportOperationResult(ProxyResource):
        id: str
        name: str
        properties: Optional[ImportExportOperationResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ImportExportOperationResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ImportExportOperationResultProperties(_Model):
        blob_uri: Optional[str]
        database_name: Optional[str]
        error_message: Optional[str]
        last_modified_time: Optional[str]
        private_endpoint_connections: Optional[list[PrivateEndpointConnectionRequestStatus]]
        queued_time: Optional[str]
        request_id: Optional[str]
        request_type: Optional[str]
        server_name: Optional[str]
        status: Optional[str]


    class azure.mgmt.sql.models.ImportNewDatabaseDefinition(_Model):
        administrator_login: str
        administrator_login_password: Optional[str]
        authentication_type: Optional[str]
        database_name: Optional[str]
        edition: Optional[str]
        max_size_bytes: Optional[str]
        network_isolation: Optional[NetworkIsolationSettings]
        service_objective_name: Optional[str]
        storage_key: str
        storage_key_type: Union[str, StorageKeyType]
        storage_uri: str

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: str, 
                administrator_login_password: Optional[str] = ..., 
                authentication_type: Optional[str] = ..., 
                database_name: Optional[str] = ..., 
                edition: Optional[str] = ..., 
                max_size_bytes: Optional[str] = ..., 
                network_isolation: Optional[NetworkIsolationSettings] = ..., 
                service_objective_name: Optional[str] = ..., 
                storage_key: str, 
                storage_key_type: Union[str, StorageKeyType], 
                storage_uri: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InaccessibilityReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DATABASE_REPLICATION = "DatabaseReplication"
        TRANSPARENT_DATA_ENCRYPTION = "TransparentDataEncryption"
        UNKNOWN = "Unknown"


    class azure.mgmt.sql.models.InstanceFailoverGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[InstanceFailoverGroupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[InstanceFailoverGroupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.InstanceFailoverGroupProperties(_Model):
        managed_instance_pairs: list[ManagedInstancePairInfo]
        partner_regions: list[PartnerRegionInfo]
        read_only_endpoint: Optional[InstanceFailoverGroupReadOnlyEndpoint]
        read_write_endpoint: InstanceFailoverGroupReadWriteEndpoint
        replication_role: Optional[Union[str, InstanceFailoverGroupReplicationRole]]
        replication_state: Optional[str]
        secondary_type: Optional[Union[str, SecondaryInstanceType]]

        @overload
        def __init__(
                self, 
                *, 
                managed_instance_pairs: list[ManagedInstancePairInfo], 
                partner_regions: list[PartnerRegionInfo], 
                read_only_endpoint: Optional[InstanceFailoverGroupReadOnlyEndpoint] = ..., 
                read_write_endpoint: InstanceFailoverGroupReadWriteEndpoint, 
                secondary_type: Optional[Union[str, SecondaryInstanceType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstanceFailoverGroupReadOnlyEndpoint(_Model):
        failover_policy: Optional[Union[str, ReadOnlyEndpointFailoverPolicy]]

        @overload
        def __init__(
                self, 
                *, 
                failover_policy: Optional[Union[str, ReadOnlyEndpointFailoverPolicy]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstanceFailoverGroupReadWriteEndpoint(_Model):
        failover_policy: Union[str, ReadWriteEndpointFailoverPolicy]
        failover_with_data_loss_grace_period_minutes: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                failover_policy: Union[str, ReadWriteEndpointFailoverPolicy], 
                failover_with_data_loss_grace_period_minutes: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstanceFailoverGroupReplicationRole(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        PRIMARY = "Primary"
        SECONDARY = "Secondary"


    class azure.mgmt.sql.models.InstancePool(TrackedResource):
        id: str
        location: str
        name: str
        properties: Optional[InstancePoolProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                properties: Optional[InstancePoolProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.InstancePoolEditionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_families: Optional[list[InstancePoolFamilyCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstancePoolFamilyCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_license_types: Optional[list[LicenseTypeCapability]]
        supported_vcores_values: Optional[list[InstancePoolVcoresCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstancePoolLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BASE_PRICE = "BasePrice"
        LICENSE_INCLUDED = "LicenseIncluded"


    class azure.mgmt.sql.models.InstancePoolOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[InstancePoolOperationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[InstancePoolOperationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.InstancePoolOperationProperties(_Model):
        description: Optional[str]
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        error_type: Optional[Union[str, ErrorType]]
        estimated_completion_time: Optional[datetime]
        instance_pool_name: Optional[str]
        is_cancellable: Optional[bool]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        percent_complete: Optional[int]
        start_time: Optional[datetime]
        state: Optional[Union[str, ManagementOperationState]]


    class azure.mgmt.sql.models.InstancePoolProperties(_Model):
        dns_zone: Optional[str]
        license_type: Union[str, InstancePoolLicenseType]
        maintenance_configuration_id: Optional[str]
        subnet_id: str
        v_cores: int

        @overload
        def __init__(
                self, 
                *, 
                license_type: Union[str, InstancePoolLicenseType], 
                maintenance_configuration_id: Optional[str] = ..., 
                subnet_id: str, 
                v_cores: int
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstancePoolUpdate(_Model):
        properties: Optional[InstancePoolProperties]
        sku: Optional[Sku]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[InstancePoolProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.InstancePoolVcoresCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        storage_limit: Optional[MaxSizeCapability]
        value: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.InstanceRole(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        PRIMARY = "Primary"
        SECONDARY = "Secondary"


    class azure.mgmt.sql.models.IsRetryable(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NO = "No"
        YES = "Yes"


    class azure.mgmt.sql.models.Job(ProxyResource):
        id: str
        name: str
        properties: Optional[JobProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobAgent(TrackedResource):
        id: str
        identity: Optional[JobAgentIdentity]
        location: str
        name: str
        properties: Optional[JobAgentProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[JobAgentIdentity] = ..., 
                location: str, 
                properties: Optional[JobAgentProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobAgentEditionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_service_level_objectives: Optional[list[JobAgentServiceLevelObjectiveCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobAgentIdentity(_Model):
        tenant_id: Optional[str]
        type: Union[str, JobAgentIdentityType]
        user_assigned_identities: Optional[dict[str, JobAgentUserAssignedIdentity]]

        @overload
        def __init__(
                self, 
                *, 
                tenant_id: Optional[str] = ..., 
                type: Union[str, JobAgentIdentityType], 
                user_assigned_identities: Optional[dict[str, JobAgentUserAssignedIdentity]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobAgentIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        SYSTEM_ASSIGNED = "SystemAssigned"
        SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssignedUserAssigned"
        USER_ASSIGNED = "UserAssigned"


    class azure.mgmt.sql.models.JobAgentProperties(_Model):
        database_id: str
        state: Optional[Union[str, JobAgentState]]

        @overload
        def __init__(
                self, 
                *, 
                database_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobAgentServiceLevelObjectiveCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        sku: Optional[Sku]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobAgentState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CREATING = "Creating"
        DELETING = "Deleting"
        DISABLED = "Disabled"
        READY = "Ready"
        UPDATING = "Updating"


    class azure.mgmt.sql.models.JobAgentUpdate(_Model):
        identity: Optional[JobAgentIdentity]
        sku: Optional[Sku]
        tags: Optional[dict[str, str]]

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[JobAgentIdentity] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobAgentUserAssignedIdentity(_Model):
        client_id: Optional[str]
        principal_id: Optional[str]


    class azure.mgmt.sql.models.JobAgentVersionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_editions: Optional[list[JobAgentEditionCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobCredential(ProxyResource):
        id: str
        name: str
        properties: Optional[JobCredentialProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobCredentialProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobCredentialProperties(_Model):
        password: str
        username: str

        @overload
        def __init__(
                self, 
                *, 
                password: str, 
                username: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobExecution(ProxyResource):
        id: str
        name: str
        properties: Optional[JobExecutionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobExecutionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobExecutionLifecycle(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CANCELED = "Canceled"
        CREATED = "Created"
        FAILED = "Failed"
        IN_PROGRESS = "InProgress"
        SKIPPED = "Skipped"
        SUCCEEDED = "Succeeded"
        SUCCEEDED_WITH_SKIPPED = "SucceededWithSkipped"
        TIMED_OUT = "TimedOut"
        WAITING_FOR_CHILD_JOB_EXECUTIONS = "WaitingForChildJobExecutions"
        WAITING_FOR_RETRY = "WaitingForRetry"


    class azure.mgmt.sql.models.JobExecutionProperties(_Model):
        create_time: Optional[datetime]
        current_attempt_start_time: Optional[datetime]
        current_attempts: Optional[int]
        end_time: Optional[datetime]
        job_execution_id: Optional[str]
        job_version: Optional[int]
        last_message: Optional[str]
        lifecycle: Optional[Union[str, JobExecutionLifecycle]]
        provisioning_state: Optional[Union[str, ProvisioningState]]
        start_time: Optional[datetime]
        step_id: Optional[int]
        step_name: Optional[str]
        target: Optional[JobExecutionTarget]

        @overload
        def __init__(
                self, 
                *, 
                current_attempts: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobExecutionTarget(_Model):
        database_name: Optional[str]
        server_name: Optional[str]
        type: Optional[Union[str, JobTargetType]]


    class azure.mgmt.sql.models.JobPrivateEndpoint(ProxyResource):
        id: str
        name: str
        properties: Optional[JobPrivateEndpointProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobPrivateEndpointProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobPrivateEndpointProperties(_Model):
        private_endpoint_id: Optional[str]
        target_server_azure_resource_id: str

        @overload
        def __init__(
                self, 
                *, 
                target_server_azure_resource_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobProperties(_Model):
        description: Optional[str]
        schedule: Optional[JobSchedule]
        version: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                description: Optional[str] = ..., 
                schedule: Optional[JobSchedule] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobSchedule(_Model):
        enabled: Optional[bool]
        end_time: Optional[datetime]
        interval: Optional[str]
        start_time: Optional[datetime]
        type: Optional[Union[str, JobScheduleType]]

        @overload
        def __init__(
                self, 
                *, 
                enabled: Optional[bool] = ..., 
                end_time: Optional[datetime] = ..., 
                interval: Optional[str] = ..., 
                start_time: Optional[datetime] = ..., 
                type: Optional[Union[str, JobScheduleType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobScheduleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ONCE = "Once"
        RECURRING = "Recurring"


    class azure.mgmt.sql.models.JobStep(ProxyResource):
        id: str
        name: str
        properties: Optional[JobStepProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobStepProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobStepAction(_Model):
        source: Optional[Union[str, JobStepActionSource]]
        type: Optional[Union[str, JobStepActionType]]
        value: str

        @overload
        def __init__(
                self, 
                *, 
                source: Optional[Union[str, JobStepActionSource]] = ..., 
                type: Optional[Union[str, JobStepActionType]] = ..., 
                value: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobStepActionSource(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        INLINE = "Inline"


    class azure.mgmt.sql.models.JobStepActionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        T_SQL = "TSql"


    class azure.mgmt.sql.models.JobStepExecutionOptions(_Model):
        initial_retry_interval_seconds: Optional[int]
        maximum_retry_interval_seconds: Optional[int]
        retry_attempts: Optional[int]
        retry_interval_backoff_multiplier: Optional[float]
        timeout_seconds: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                initial_retry_interval_seconds: Optional[int] = ..., 
                maximum_retry_interval_seconds: Optional[int] = ..., 
                retry_attempts: Optional[int] = ..., 
                retry_interval_backoff_multiplier: Optional[float] = ..., 
                timeout_seconds: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobStepOutput(_Model):
        credential: Optional[str]
        database_name: str
        resource_group_name: Optional[str]
        schema_name: Optional[str]
        server_name: str
        subscription_id: Optional[str]
        table_name: str
        type: Optional[Union[str, JobStepOutputType]]

        @overload
        def __init__(
                self, 
                *, 
                credential: Optional[str] = ..., 
                database_name: str, 
                resource_group_name: Optional[str] = ..., 
                schema_name: Optional[str] = ..., 
                server_name: str, 
                subscription_id: Optional[str] = ..., 
                table_name: str, 
                type: Optional[Union[str, JobStepOutputType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobStepOutputType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SQL_DATABASE = "SqlDatabase"


    class azure.mgmt.sql.models.JobStepProperties(_Model):
        action: JobStepAction
        credential: Optional[str]
        execution_options: Optional[JobStepExecutionOptions]
        output: Optional[JobStepOutput]
        step_id: Optional[int]
        target_group: str

        @overload
        def __init__(
                self, 
                *, 
                action: JobStepAction, 
                credential: Optional[str] = ..., 
                execution_options: Optional[JobStepExecutionOptions] = ..., 
                output: Optional[JobStepOutput] = ..., 
                step_id: Optional[int] = ..., 
                target_group: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobTarget(_Model):
        database_name: Optional[str]
        elastic_pool_name: Optional[str]
        membership_type: Optional[Union[str, JobTargetGroupMembershipType]]
        refresh_credential: Optional[str]
        server_name: Optional[str]
        shard_map_name: Optional[str]
        type: Union[str, JobTargetType]

        @overload
        def __init__(
                self, 
                *, 
                database_name: Optional[str] = ..., 
                elastic_pool_name: Optional[str] = ..., 
                membership_type: Optional[Union[str, JobTargetGroupMembershipType]] = ..., 
                refresh_credential: Optional[str] = ..., 
                server_name: Optional[str] = ..., 
                shard_map_name: Optional[str] = ..., 
                type: Union[str, JobTargetType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobTargetGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[JobTargetGroupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[JobTargetGroupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.JobTargetGroupMembershipType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        EXCLUDE = "Exclude"
        INCLUDE = "Include"


    class azure.mgmt.sql.models.JobTargetGroupProperties(_Model):
        members: list[JobTarget]

        @overload
        def __init__(
                self, 
                *, 
                members: list[JobTarget]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.JobTargetType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SQL_DATABASE = "SqlDatabase"
        SQL_ELASTIC_POOL = "SqlElasticPool"
        SQL_SERVER = "SqlServer"
        SQL_SHARD_MAP = "SqlShardMap"
        TARGET_GROUP = "TargetGroup"


    class azure.mgmt.sql.models.JobVersion(ProxyResource):
        id: str
        name: str
        system_data: SystemData
        type: str


    class azure.mgmt.sql.models.LedgerDigestUploads(ProxyResource):
        id: str
        name: str
        properties: Optional[LedgerDigestUploadsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[LedgerDigestUploadsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.LedgerDigestUploadsName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.LedgerDigestUploadsProperties(_Model):
        digest_storage_endpoint: Optional[str]
        state: Optional[Union[str, LedgerDigestUploadsState]]

        @overload
        def __init__(
                self, 
                *, 
                digest_storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.LedgerDigestUploadsState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.LicenseTypeCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.LinkRole(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        PRIMARY = "Primary"
        SECONDARY = "Secondary"


    class azure.mgmt.sql.models.LocationCapabilities(_Model):
        is_zone_resilient_provisioning_allowed: Optional[bool]
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_job_agent_versions: Optional[list[JobAgentVersionCapability]]
        supported_managed_instance_versions: Optional[list[ManagedInstanceVersionCapability]]
        supported_server_versions: Optional[list[ServerVersionCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.LogSizeCapability(_Model):
        limit: Optional[int]
        unit: Optional[Union[str, LogSizeUnit]]


    class azure.mgmt.sql.models.LogSizeUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GIGABYTES = "Gigabytes"
        MEGABYTES = "Megabytes"
        PERCENT = "Percent"
        PETABYTES = "Petabytes"
        TERABYTES = "Terabytes"


    class azure.mgmt.sql.models.LogicalDatabaseTransparentDataEncryption(ProxyResource):
        id: str
        name: str
        properties: Optional[TransparentDataEncryptionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[TransparentDataEncryptionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.LongTermRetentionBackup(ProxyResource):
        id: str
        name: str
        properties: Optional[LongTermRetentionBackupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[LongTermRetentionBackupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.LongTermRetentionBackupOperationResult(ProxyResource):
        id: str
        name: str
        properties: Optional[LongTermRetentionOperationResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[LongTermRetentionOperationResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.LongTermRetentionBackupProperties(_Model):
        backup_expiration_time: Optional[datetime]
        backup_storage_access_tier: Optional[Union[str, BackupStorageAccessTier]]
        backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        backup_time: Optional[datetime]
        database_deletion_time: Optional[datetime]
        database_name: Optional[str]
        is_backup_immutable: Optional[bool]
        legal_hold_immutability: Optional[Union[str, SetLegalHoldImmutability]]
        requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        server_create_time: Optional[datetime]
        server_name: Optional[str]
        time_based_immutability: Optional[Union[str, TimeBasedImmutability]]
        time_based_immutability_mode: Optional[Union[str, TimeBasedImmutabilityMode]]

        @overload
        def __init__(
                self, 
                *, 
                is_backup_immutable: Optional[bool] = ..., 
                legal_hold_immutability: Optional[Union[str, SetLegalHoldImmutability]] = ..., 
                requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ..., 
                time_based_immutability: Optional[Union[str, TimeBasedImmutability]] = ..., 
                time_based_immutability_mode: Optional[Union[str, TimeBasedImmutabilityMode]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.LongTermRetentionOperationResultProperties(_Model):
        from_backup_resource_id: Optional[str]
        message: Optional[str]
        operation_type: Optional[str]
        request_id: Optional[str]
        status: Optional[str]
        target_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        to_backup_resource_id: Optional[str]


    class azure.mgmt.sql.models.LongTermRetentionPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[LongTermRetentionPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[LongTermRetentionPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.LongTermRetentionPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.LongTermRetentionPolicyProperties(_Model):
        monthly_retention: Optional[str]
        time_based_immutability: Optional[Union[str, TimeBasedImmutability]]
        time_based_immutability_mode: Optional[Union[str, TimeBasedImmutabilityMode]]
        week_of_year: Optional[int]
        weekly_retention: Optional[str]
        yearly_retention: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                monthly_retention: Optional[str] = ..., 
                time_based_immutability: Optional[Union[str, TimeBasedImmutability]] = ..., 
                time_based_immutability_mode: Optional[Union[str, TimeBasedImmutabilityMode]] = ..., 
                week_of_year: Optional[int] = ..., 
                weekly_retention: Optional[str] = ..., 
                yearly_retention: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaintenanceConfigurationCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaintenanceWindowOptions(ProxyResource):
        id: str
        name: str
        properties: Optional[MaintenanceWindowOptionsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[MaintenanceWindowOptionsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.MaintenanceWindowOptionsProperties(_Model):
        allow_multiple_maintenance_windows_per_cycle: Optional[bool]
        default_duration_in_minutes: Optional[int]
        is_enabled: Optional[bool]
        maintenance_window_cycles: Optional[list[MaintenanceWindowTimeRange]]
        min_cycles: Optional[int]
        min_duration_in_minutes: Optional[int]
        time_granularity_in_minutes: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                allow_multiple_maintenance_windows_per_cycle: Optional[bool] = ..., 
                default_duration_in_minutes: Optional[int] = ..., 
                is_enabled: Optional[bool] = ..., 
                maintenance_window_cycles: Optional[list[MaintenanceWindowTimeRange]] = ..., 
                min_cycles: Optional[int] = ..., 
                min_duration_in_minutes: Optional[int] = ..., 
                time_granularity_in_minutes: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaintenanceWindowTimeRange(_Model):
        day_of_week: Optional[Union[str, DayOfWeek]]
        duration: Optional[str]
        start_time: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                day_of_week: Optional[Union[str, DayOfWeek]] = ..., 
                duration: Optional[str] = ..., 
                start_time: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaintenanceWindows(ProxyResource):
        id: str
        name: str
        properties: Optional[MaintenanceWindowsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[MaintenanceWindowsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.MaintenanceWindowsProperties(_Model):
        time_ranges: Optional[list[MaintenanceWindowTimeRange]]

        @overload
        def __init__(
                self, 
                *, 
                time_ranges: Optional[list[MaintenanceWindowTimeRange]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedBackupShortTermRetentionPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedBackupShortTermRetentionPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedBackupShortTermRetentionPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedBackupShortTermRetentionPolicyProperties(_Model):
        retention_days: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                retention_days: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabase(TrackedResource):
        id: str
        location: str
        name: str
        properties: Optional[ManagedDatabaseProperties]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                properties: Optional[ManagedDatabaseProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseAdvancedThreatProtection(ProxyResource):
        id: str
        name: str
        properties: Optional[AdvancedThreatProtectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdvancedThreatProtectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        POINT_IN_TIME_RESTORE = "PointInTimeRestore"
        RECOVERY = "Recovery"
        RESTORE_EXTERNAL_BACKUP = "RestoreExternalBackup"
        RESTORE_LONG_TERM_RETENTION_BACKUP = "RestoreLongTermRetentionBackup"


    class azure.mgmt.sql.models.ManagedDatabaseExtendedAccessibilityInfo(_Model):
        inaccessibility_reason_description: str
        inaccessibility_reason_error_code: str
        inaccessibility_reason_kind: Union[str, InaccessibilityReason]
        inaccessibility_reason_tde_key_uri: Optional[str]


    class azure.mgmt.sql.models.ManagedDatabaseMoveDefinition(_Model):
        destination_managed_database_id: str

        @overload
        def __init__(
                self, 
                *, 
                destination_managed_database_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseMoveOperationResult(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedDatabaseMoveOperationResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedDatabaseMoveOperationResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseMoveOperationResultProperties(_Model):
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        is_cancellable: Optional[bool]
        is_user_error: Optional[bool]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        operation_mode: Optional[Union[str, MoveOperationMode]]
        source_database_name: Optional[str]
        source_managed_instance_id: Optional[str]
        source_managed_instance_name: Optional[str]
        start_time: Optional[datetime]
        state: Optional[Union[str, ManagementOperationState]]
        target_database_name: Optional[str]
        target_managed_instance_id: Optional[str]
        target_managed_instance_name: Optional[str]


    class azure.mgmt.sql.models.ManagedDatabaseProperties(_Model):
        auto_complete_restore: Optional[bool]
        catalog_collation: Optional[Union[str, CatalogCollationType]]
        collation: Optional[str]
        create_mode: Optional[Union[str, ManagedDatabaseCreateMode]]
        creation_date: Optional[datetime]
        cross_subscription_restorable_dropped_database_id: Optional[str]
        cross_subscription_source_database_id: Optional[str]
        cross_subscription_target_managed_instance_id: Optional[str]
        default_secondary_location: Optional[str]
        earliest_restore_point: Optional[datetime]
        extended_accessibility_info: Optional[ManagedDatabaseExtendedAccessibilityInfo]
        failover_group_id: Optional[str]
        is_ledger_on: Optional[bool]
        last_backup_name: Optional[str]
        long_term_retention_backup_resource_id: Optional[str]
        recoverable_database_id: Optional[str]
        restorable_dropped_database_id: Optional[str]
        restore_point_in_time: Optional[datetime]
        source_database_id: Optional[str]
        status: Optional[Union[str, ManagedDatabaseStatus]]
        storage_container_identity: Optional[str]
        storage_container_sas_token: Optional[str]
        storage_container_uri: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                auto_complete_restore: Optional[bool] = ..., 
                catalog_collation: Optional[Union[str, CatalogCollationType]] = ..., 
                collation: Optional[str] = ..., 
                create_mode: Optional[Union[str, ManagedDatabaseCreateMode]] = ..., 
                cross_subscription_restorable_dropped_database_id: Optional[str] = ..., 
                cross_subscription_source_database_id: Optional[str] = ..., 
                cross_subscription_target_managed_instance_id: Optional[str] = ..., 
                is_ledger_on: Optional[bool] = ..., 
                last_backup_name: Optional[str] = ..., 
                long_term_retention_backup_resource_id: Optional[str] = ..., 
                recoverable_database_id: Optional[str] = ..., 
                restorable_dropped_database_id: Optional[str] = ..., 
                restore_point_in_time: Optional[datetime] = ..., 
                source_database_id: Optional[str] = ..., 
                storage_container_identity: Optional[str] = ..., 
                storage_container_sas_token: Optional[str] = ..., 
                storage_container_uri: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseRestoreDetailsBackupSetProperties(_Model):
        backup_size_mb: Optional[int]
        first_stripe_name: Optional[str]
        number_of_stripes: Optional[int]
        restore_finished_timestamp_utc: Optional[datetime]
        restore_started_timestamp_utc: Optional[datetime]
        status: Optional[str]


    class azure.mgmt.sql.models.ManagedDatabaseRestoreDetailsProperties(_Model):
        block_reason: Optional[str]
        current_backup_type: Optional[str]
        current_restore_plan_size_mb: Optional[int]
        current_restored_size_mb: Optional[int]
        current_restoring_file_name: Optional[str]
        diff_backup_sets: Optional[list[ManagedDatabaseRestoreDetailsBackupSetProperties]]
        full_backup_sets: Optional[list[ManagedDatabaseRestoreDetailsBackupSetProperties]]
        last_restored_file_name: Optional[str]
        last_restored_file_time: Optional[datetime]
        last_uploaded_file_name: Optional[str]
        last_uploaded_file_time: Optional[datetime]
        log_backup_sets: Optional[list[ManagedDatabaseRestoreDetailsBackupSetProperties]]
        number_of_files_detected: Optional[int]
        number_of_files_queued: Optional[int]
        number_of_files_restored: Optional[int]
        number_of_files_restoring: Optional[int]
        number_of_files_skipped: Optional[int]
        number_of_files_unrestorable: Optional[int]
        percent_completed: Optional[int]
        status: Optional[str]
        type: Optional[str]
        unrestorable_files: Optional[list[ManagedDatabaseRestoreDetailsUnrestorableFileProperties]]


    class azure.mgmt.sql.models.ManagedDatabaseRestoreDetailsResult(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedDatabaseRestoreDetailsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedDatabaseRestoreDetailsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseRestoreDetailsUnrestorableFileProperties(_Model):
        name: Optional[str]


    class azure.mgmt.sql.models.ManagedDatabaseSecurityAlertPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[SecurityAlertPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SecurityAlertPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseStartMoveDefinition(_Model):
        destination_managed_database_id: str
        operation_mode: Optional[Union[str, MoveOperationMode]]

        @overload
        def __init__(
                self, 
                *, 
                destination_managed_database_id: str, 
                operation_mode: Optional[Union[str, MoveOperationMode]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedDatabaseStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CREATING = "Creating"
        DB_COPYING = "DbCopying"
        DB_MOVING = "DbMoving"
        INACCESSIBLE = "Inaccessible"
        OFFLINE = "Offline"
        ONLINE = "Online"
        RESTORING = "Restoring"
        SHUTDOWN = "Shutdown"
        STARTING = "Starting"
        STOPPED = "Stopped"
        STOPPING = "Stopping"
        UPDATING = "Updating"


    class azure.mgmt.sql.models.ManagedDatabaseUpdate(_Model):
        properties: Optional[ManagedDatabaseProperties]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedDatabaseProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstance(TrackedResource):
        id: str
        identity: Optional[ResourceIdentity]
        location: str
        name: str
        properties: Optional[ManagedInstanceProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[ResourceIdentity] = ..., 
                location: str, 
                properties: Optional[ManagedInstanceProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceAdministrator(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceAdministratorProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceAdministratorProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceAdministratorProperties(_Model):
        administrator_type: Union[str, ManagedInstanceAdministratorType]
        login: str
        sid: str
        tenant_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                administrator_type: Union[str, ManagedInstanceAdministratorType], 
                login: str, 
                sid: str, 
                tenant_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceAdministratorType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE_DIRECTORY = "ActiveDirectory"


    class azure.mgmt.sql.models.ManagedInstanceAdvancedThreatProtection(ProxyResource):
        id: str
        name: str
        properties: Optional[AdvancedThreatProtectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdvancedThreatProtectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceAzureADOnlyAuthProperties(_Model):
        azure_ad_only_authentication: bool

        @overload
        def __init__(
                self, 
                *, 
                azure_ad_only_authentication: bool
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceAzureADOnlyAuthentication(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceAzureADOnlyAuthProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceAzureADOnlyAuthProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceDatabaseFormat(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALWAYS_UP_TO_DATE = "AlwaysUpToDate"
        SQL_SERVER2022 = "SQLServer2022"
        SQL_SERVER2025 = "SQLServer2025"


    class azure.mgmt.sql.models.ManagedInstanceDtc(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceDtcProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceDtcProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceDtcProperties(_Model):
        dtc_enabled: Optional[bool]
        dtc_host_name_dns_suffix: Optional[str]
        external_dns_suffix_search_list: Optional[list[str]]
        provisioning_state: Optional[Union[str, ProvisioningState]]
        security_settings: Optional[ManagedInstanceDtcSecuritySettings]

        @overload
        def __init__(
                self, 
                *, 
                dtc_enabled: Optional[bool] = ..., 
                external_dns_suffix_search_list: Optional[list[str]] = ..., 
                security_settings: Optional[ManagedInstanceDtcSecuritySettings] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceDtcSecuritySettings(_Model):
        sna_lu6_point2_transactions_enabled: Optional[bool]
        transaction_manager_communication_settings: Optional[ManagedInstanceDtcTransactionManagerCommunicationSettings]
        xa_transactions_default_timeout: Optional[int]
        xa_transactions_enabled: Optional[bool]
        xa_transactions_maximum_timeout: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                sna_lu6_point2_transactions_enabled: Optional[bool] = ..., 
                transaction_manager_communication_settings: Optional[ManagedInstanceDtcTransactionManagerCommunicationSettings] = ..., 
                xa_transactions_default_timeout: Optional[int] = ..., 
                xa_transactions_enabled: Optional[bool] = ..., 
                xa_transactions_maximum_timeout: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceDtcTransactionManagerCommunicationSettings(_Model):
        allow_inbound_enabled: Optional[bool]
        allow_outbound_enabled: Optional[bool]
        authentication: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                allow_inbound_enabled: Optional[bool] = ..., 
                allow_outbound_enabled: Optional[bool] = ..., 
                authentication: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceEditionCapability(_Model):
        is_general_purpose_v2: Optional[bool]
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_families: Optional[list[ManagedInstanceFamilyCapability]]
        supported_storage_capabilities: Optional[list[StorageCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceEncryptionProtector(ProxyResource):
        id: str
        kind: Optional[str]
        name: str
        properties: Optional[ManagedInstanceEncryptionProtectorProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceEncryptionProtectorProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceEncryptionProtectorProperties(_Model):
        auto_rotation_enabled: Optional[bool]
        server_key_name: Optional[str]
        server_key_type: Union[str, ServerKeyType]
        thumbprint: Optional[str]
        uri: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                auto_rotation_enabled: Optional[bool] = ..., 
                server_key_name: Optional[str] = ..., 
                server_key_type: Union[str, ServerKeyType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceExternalAdministrator(_Model):
        administrator_type: Optional[Union[str, AdministratorType]]
        azure_ad_only_authentication: Optional[bool]
        login: Optional[str]
        principal_type: Optional[Union[str, PrincipalType]]
        sid: Optional[str]
        tenant_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                administrator_type: Optional[Union[str, AdministratorType]] = ..., 
                azure_ad_only_authentication: Optional[bool] = ..., 
                login: Optional[str] = ..., 
                principal_type: Optional[Union[str, PrincipalType]] = ..., 
                sid: Optional[str] = ..., 
                tenant_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceFamilyCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        sku: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_license_types: Optional[list[LicenseTypeCapability]]
        supported_vcores_values: Optional[list[ManagedInstanceVcoresCapability]]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceKey(ProxyResource):
        id: str
        kind: Optional[str]
        name: str
        properties: Optional[ManagedInstanceKeyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceKeyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceKeyProperties(_Model):
        auto_rotation_enabled: Optional[bool]
        creation_date: Optional[datetime]
        server_key_type: Union[str, ServerKeyType]
        thumbprint: Optional[str]
        uri: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                server_key_type: Union[str, ServerKeyType], 
                uri: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceLicenseType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BASE_PRICE = "BasePrice"
        LICENSE_INCLUDED = "LicenseIncluded"


    class azure.mgmt.sql.models.ManagedInstanceLongTermRetentionBackup(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceLongTermRetentionBackupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceLongTermRetentionBackupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceLongTermRetentionBackupProperties(_Model):
        backup_expiration_time: Optional[datetime]
        backup_storage_access_tier: Optional[Union[str, BackupStorageAccessTier]]
        backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        backup_time: Optional[datetime]
        database_deletion_time: Optional[datetime]
        database_name: Optional[str]
        managed_instance_create_time: Optional[datetime]
        managed_instance_name: Optional[str]


    class azure.mgmt.sql.models.ManagedInstanceLongTermRetentionPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceLongTermRetentionPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceLongTermRetentionPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceLongTermRetentionPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.ManagedInstanceLongTermRetentionPolicyProperties(_Model):
        backup_storage_access_tier: Optional[Union[str, BackupStorageAccessTier]]
        monthly_retention: Optional[str]
        week_of_year: Optional[int]
        weekly_retention: Optional[str]
        yearly_retention: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                backup_storage_access_tier: Optional[Union[str, BackupStorageAccessTier]] = ..., 
                monthly_retention: Optional[str] = ..., 
                week_of_year: Optional[int] = ..., 
                weekly_retention: Optional[str] = ..., 
                yearly_retention: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceMaintenanceConfigurationCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceOperationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceOperationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceOperationParametersPair(_Model):
        current_parameters: Optional[UpsertManagedServerOperationParameters]
        requested_parameters: Optional[UpsertManagedServerOperationParameters]


    class azure.mgmt.sql.models.ManagedInstanceOperationProperties(_Model):
        description: Optional[str]
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        estimated_completion_time: Optional[datetime]
        is_cancellable: Optional[bool]
        is_user_error: Optional[bool]
        managed_instance_name: Optional[str]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        operation_parameters: Optional[ManagedInstanceOperationParametersPair]
        operation_steps: Optional[ManagedInstanceOperationSteps]
        percent_complete: Optional[int]
        start_time: Optional[datetime]
        state: Optional[Union[str, ManagementOperationState]]


    class azure.mgmt.sql.models.ManagedInstanceOperationSteps(_Model):
        current_step: Optional[int]
        steps_list: Optional[list[UpsertManagedServerOperationStepWithEstimatesAndDuration]]
        total_steps: Optional[str]


    class azure.mgmt.sql.models.ManagedInstancePairInfo(_Model):
        partner_managed_instance_id: Optional[str]
        primary_managed_instance_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                partner_managed_instance_id: Optional[str] = ..., 
                primary_managed_instance_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstancePecProperty(_Model):
        id: Optional[str]
        properties: Optional[ManagedInstancePrivateEndpointConnectionProperties]


    class azure.mgmt.sql.models.ManagedInstancePrivateEndpointConnection(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstancePrivateEndpointConnectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstancePrivateEndpointConnectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstancePrivateEndpointConnectionProperties(_Model):
        private_endpoint: Optional[ManagedInstancePrivateEndpointProperty]
        private_link_service_connection_state: Optional[ManagedInstancePrivateLinkServiceConnectionStateProperty]
        provisioning_state: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                private_endpoint: Optional[ManagedInstancePrivateEndpointProperty] = ..., 
                private_link_service_connection_state: Optional[ManagedInstancePrivateLinkServiceConnectionStateProperty] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstancePrivateEndpointProperty(_Model):
        id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstancePrivateLink(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstancePrivateLinkProperties]
        system_data: SystemData
        type: str


    class azure.mgmt.sql.models.ManagedInstancePrivateLinkProperties(_Model):
        group_id: Optional[str]
        required_members: Optional[list[str]]
        required_zone_names: Optional[list[str]]


    class azure.mgmt.sql.models.ManagedInstancePrivateLinkServiceConnectionStateProperty(_Model):
        actions_required: Optional[str]
        description: str
        status: str

        @overload
        def __init__(
                self, 
                *, 
                description: str, 
                status: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceProperties(_Model):
        administrator_login: Optional[str]
        administrator_login_password: Optional[str]
        administrators: Optional[ManagedInstanceExternalAdministrator]
        authentication_metadata: Optional[Union[str, AuthMetadataLookupModes]]
        collation: Optional[str]
        create_time: Optional[datetime]
        current_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        database_format: Optional[Union[str, ManagedInstanceDatabaseFormat]]
        dns_zone: Optional[str]
        dns_zone_partner: Optional[str]
        external_governance_status: Optional[Union[str, ExternalGovernanceStatus]]
        fully_qualified_domain_name: Optional[str]
        hybrid_secondary_usage: Optional[Union[str, HybridSecondaryUsage]]
        hybrid_secondary_usage_detected: Optional[Union[str, HybridSecondaryUsageDetected]]
        instance_pool_id: Optional[str]
        is_general_purpose_v2: Optional[bool]
        key_id: Optional[str]
        license_type: Optional[Union[str, ManagedInstanceLicenseType]]
        maintenance_configuration_id: Optional[str]
        managed_instance_create_mode: Optional[Union[str, ManagedServerCreateMode]]
        memory_size_in_gb: Optional[int]
        minimal_tls_version: Optional[str]
        pricing_model: Optional[Union[str, PricingModel]]
        primary_user_assigned_identity_id: Optional[str]
        private_endpoint_connections: Optional[list[ManagedInstancePecProperty]]
        provisioning_state: Optional[Union[str, ProvisioningState]]
        proxy_override: Optional[Union[str, ManagedInstanceProxyOverride]]
        public_data_endpoint_enabled: Optional[bool]
        requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        requested_logical_availability_zone: Optional[Union[str, AvailabilityZoneType]]
        restore_point_in_time: Optional[datetime]
        service_principal: Optional[ServicePrincipal]
        source_managed_instance_id: Optional[str]
        state: Optional[str]
        storage_i_ops: Optional[int]
        storage_size_in_gb: Optional[int]
        storage_throughput_m_bps: Optional[int]
        subnet_id: Optional[str]
        timezone_id: Optional[str]
        v_cores: Optional[int]
        virtual_cluster_id: Optional[str]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: Optional[str] = ..., 
                administrator_login_password: Optional[str] = ..., 
                administrators: Optional[ManagedInstanceExternalAdministrator] = ..., 
                authentication_metadata: Optional[Union[str, AuthMetadataLookupModes]] = ..., 
                collation: Optional[str] = ..., 
                database_format: Optional[Union[str, ManagedInstanceDatabaseFormat]] = ..., 
                dns_zone_partner: Optional[str] = ..., 
                hybrid_secondary_usage: Optional[Union[str, HybridSecondaryUsage]] = ..., 
                instance_pool_id: Optional[str] = ..., 
                is_general_purpose_v2: Optional[bool] = ..., 
                key_id: Optional[str] = ..., 
                license_type: Optional[Union[str, ManagedInstanceLicenseType]] = ..., 
                maintenance_configuration_id: Optional[str] = ..., 
                managed_instance_create_mode: Optional[Union[str, ManagedServerCreateMode]] = ..., 
                memory_size_in_gb: Optional[int] = ..., 
                minimal_tls_version: Optional[str] = ..., 
                pricing_model: Optional[Union[str, PricingModel]] = ..., 
                primary_user_assigned_identity_id: Optional[str] = ..., 
                proxy_override: Optional[Union[str, ManagedInstanceProxyOverride]] = ..., 
                public_data_endpoint_enabled: Optional[bool] = ..., 
                requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ..., 
                requested_logical_availability_zone: Optional[Union[str, AvailabilityZoneType]] = ..., 
                restore_point_in_time: Optional[datetime] = ..., 
                service_principal: Optional[ServicePrincipal] = ..., 
                source_managed_instance_id: Optional[str] = ..., 
                storage_i_ops: Optional[int] = ..., 
                storage_size_in_gb: Optional[int] = ..., 
                storage_throughput_m_bps: Optional[int] = ..., 
                subnet_id: Optional[str] = ..., 
                timezone_id: Optional[str] = ..., 
                v_cores: Optional[int] = ..., 
                zone_redundant: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceProxyOverride(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        PROXY = "Proxy"
        REDIRECT = "Redirect"


    class azure.mgmt.sql.models.ManagedInstanceQuery(ProxyResource):
        id: str
        name: str
        properties: Optional[QueryProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[QueryProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceUpdate(_Model):
        identity: Optional[ResourceIdentity]
        properties: Optional[ManagedInstanceProperties]
        sku: Optional[Sku]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[ResourceIdentity] = ..., 
                properties: Optional[ManagedInstanceProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceValidateAzureKeyVaultEncryptionKeyRequest(_Model):
        tde_key_uri: str

        @overload
        def __init__(
                self, 
                *, 
                tde_key_uri: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceVcoresCapability(_Model):
        included_max_size: Optional[MaxSizeCapability]
        included_storage_i_ops: Optional[int]
        included_storage_throughput_m_bps: Optional[int]
        instance_pool_supported: Optional[bool]
        iops_included_value_override_factor_per_selected_storage_gb: Optional[float]
        iops_min_value_override_factor_per_selected_storage_gb: Optional[float]
        name: Optional[str]
        reason: Optional[str]
        standalone_supported: Optional[bool]
        status: Optional[Union[str, CapabilityStatus]]
        supported_maintenance_configurations: Optional[list[ManagedInstanceMaintenanceConfigurationCapability]]
        supported_memory_limits_mb: Optional[MaxLimitRangeCapability]
        supported_memory_sizes_in_gb: Optional[MaxLimitRangeCapability]
        supported_storage_i_ops: Optional[MaxLimitRangeCapability]
        supported_storage_sizes: Optional[list[MaxSizeRangeCapability]]
        supported_storage_throughput_m_bps: Optional[MaxLimitRangeCapability]
        throughput_m_bps_included_value_override_factor_per_selected_storage_gb: Optional[float]
        throughput_m_bps_min_value_override_factor_per_selected_storage_gb: Optional[float]
        value: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceVersionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_editions: Optional[list[ManagedInstanceEditionCapability]]
        supported_instance_pool_editions: Optional[list[InstancePoolEditionCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceVulnerabilityAssessment(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedInstanceVulnerabilityAssessmentProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedInstanceVulnerabilityAssessmentProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedInstanceVulnerabilityAssessmentProperties(_Model):
        recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties]
        storage_account_access_key: Optional[str]
        storage_container_path: str
        storage_container_sas_key: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties] = ..., 
                storage_account_access_key: Optional[str] = ..., 
                storage_container_path: str, 
                storage_container_sas_key: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedLedgerDigestUploads(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedLedgerDigestUploadsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedLedgerDigestUploadsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedLedgerDigestUploadsName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.ManagedLedgerDigestUploadsProperties(_Model):
        digest_storage_endpoint: Optional[str]
        state: Optional[Union[str, ManagedLedgerDigestUploadsState]]

        @overload
        def __init__(
                self, 
                *, 
                digest_storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedLedgerDigestUploadsState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.ManagedServerCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        POINT_IN_TIME_RESTORE = "PointInTimeRestore"


    class azure.mgmt.sql.models.ManagedServerDnsAlias(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedServerDnsAliasProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedServerDnsAliasProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedServerDnsAliasAcquisition(_Model):
        old_managed_server_dns_alias_resource_id: str

        @overload
        def __init__(
                self, 
                *, 
                old_managed_server_dns_alias_resource_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedServerDnsAliasCreation(_Model):
        create_dns_record: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                create_dns_record: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagedServerDnsAliasProperties(_Model):
        azure_dns_record: Optional[str]
        public_azure_dns_record: Optional[str]


    class azure.mgmt.sql.models.ManagedServerSecurityAlertPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[SecurityAlertsPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SecurityAlertsPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedShortTermRetentionPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.ManagedTransparentDataEncryption(ProxyResource):
        id: str
        name: str
        properties: Optional[ManagedTransparentDataEncryptionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ManagedTransparentDataEncryptionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ManagedTransparentDataEncryptionProperties(_Model):
        state: Union[str, TransparentDataEncryptionState]

        @overload
        def __init__(
                self, 
                *, 
                state: Union[str, TransparentDataEncryptionState]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ManagementOperationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CANCELLED = "Cancelled"
        CANCEL_IN_PROGRESS = "CancelInProgress"
        FAILED = "Failed"
        IN_PROGRESS = "InProgress"
        PENDING = "Pending"
        SUCCEEDED = "Succeeded"


    class azure.mgmt.sql.models.MaxLimitRangeCapability(_Model):
        max_value: Optional[int]
        min_value: Optional[int]
        reason: Optional[str]
        scale_size: Optional[int]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaxSizeCapability(_Model):
        limit: Optional[int]
        unit: Optional[Union[str, MaxSizeUnit]]


    class azure.mgmt.sql.models.MaxSizeRangeCapability(_Model):
        log_size: Optional[LogSizeCapability]
        max_value: Optional[MaxSizeCapability]
        min_value: Optional[MaxSizeCapability]
        reason: Optional[str]
        scale_size: Optional[MaxSizeCapability]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MaxSizeUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GIGABYTES = "Gigabytes"
        MEGABYTES = "Megabytes"
        PETABYTES = "Petabytes"
        TERABYTES = "Terabytes"


    class azure.mgmt.sql.models.MetricType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CPU = "cpu"
        DTU = "dtu"
        DURATION = "duration"
        IO = "io"
        LOG_IO = "logIo"


    class azure.mgmt.sql.models.MinCapacityCapability(_Model):
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        value: Optional[float]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.MinimalTlsVersion(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        ONE0 = "1.0"
        ONE1 = "1.1"
        ONE2 = "1.2"
        ONE3 = "1.3"


    class azure.mgmt.sql.models.MoveOperationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        COPY = "Copy"
        MOVE = "Move"


    class azure.mgmt.sql.models.NSPConfigAccessRule(_Model):
        name: Optional[str]
        properties: Optional[NSPConfigAccessRuleProperties]

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ..., 
                properties: Optional[NSPConfigAccessRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPConfigAccessRuleProperties(_Model):
        address_prefixes: Optional[list[str]]
        direction: Optional[str]
        fully_qualified_domain_names: Optional[list[str]]
        network_security_perimeters: Optional[list[NSPConfigNetworkSecurityPerimeterRule]]
        service_tags: Optional[list[str]]
        subscriptions: Optional[list[str]]

        @overload
        def __init__(
                self, 
                *, 
                address_prefixes: Optional[list[str]] = ..., 
                direction: Optional[str] = ..., 
                fully_qualified_domain_names: Optional[list[str]] = ..., 
                network_security_perimeters: Optional[list[NSPConfigNetworkSecurityPerimeterRule]] = ..., 
                service_tags: Optional[list[str]] = ..., 
                subscriptions: Optional[list[str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPConfigAssociation(_Model):
        access_mode: Optional[str]
        name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                access_mode: Optional[str] = ..., 
                name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPConfigNetworkSecurityPerimeterRule(_Model):
        id: Optional[str]
        location: Optional[str]
        perimeter_guid: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                id: Optional[str] = ..., 
                location: Optional[str] = ..., 
                perimeter_guid: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPConfigPerimeter(_Model):
        id: Optional[str]
        location: Optional[str]
        perimeter_guid: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                id: Optional[str] = ..., 
                location: Optional[str] = ..., 
                perimeter_guid: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPConfigProfile(_Model):
        access_rules: Optional[list[NSPConfigAccessRule]]
        access_rules_version: Optional[str]
        name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                access_rules: Optional[list[NSPConfigAccessRule]] = ..., 
                access_rules_version: Optional[str] = ..., 
                name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPProvisioningIssue(_Model):
        name: Optional[str]
        properties: Optional[NSPProvisioningIssueProperties]

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ..., 
                properties: Optional[NSPProvisioningIssueProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NSPProvisioningIssueProperties(_Model):
        description: Optional[str]
        issue_type: Optional[str]
        severity: Optional[str]
        suggested_access_rules: Optional[list[str]]
        suggested_resource_ids: Optional[list[str]]

        @overload
        def __init__(
                self, 
                *, 
                description: Optional[str] = ..., 
                issue_type: Optional[str] = ..., 
                severity: Optional[str] = ..., 
                suggested_access_rules: Optional[list[str]] = ..., 
                suggested_resource_ids: Optional[list[str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.Name(_Model):
        localized_value: Optional[str]
        value: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                localized_value: Optional[str] = ..., 
                value: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NetworkIsolationSettings(_Model):
        sql_server_resource_id: Optional[str]
        storage_account_resource_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                sql_server_resource_id: Optional[str] = ..., 
                storage_account_resource_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.NetworkSecurityPerimeterConfiguration(ProxyResource):
        id: str
        name: str
        properties: Optional[NetworkSecurityPerimeterConfigurationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[NetworkSecurityPerimeterConfigurationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.NetworkSecurityPerimeterConfigurationProperties(_Model):
        network_security_perimeter: Optional[NSPConfigPerimeter]
        profile: Optional[NSPConfigProfile]
        provisioning_issues: Optional[list[NSPProvisioningIssue]]
        provisioning_state: Optional[str]
        resource_association: Optional[NSPConfigAssociation]

        @overload
        def __init__(
                self, 
                *, 
                network_security_perimeter: Optional[NSPConfigPerimeter] = ..., 
                profile: Optional[NSPConfigProfile] = ..., 
                provisioning_issues: Optional[list[NSPProvisioningIssue]] = ..., 
                resource_association: Optional[NSPConfigAssociation] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.Operation(_Model):
        display: Optional[OperationDisplay]
        name: Optional[str]
        origin: Optional[Union[str, OperationOrigin]]
        properties: Optional[dict[str, Any]]


    class azure.mgmt.sql.models.OperationDisplay(_Model):
        description: Optional[str]
        operation: Optional[str]
        provider: Optional[str]
        resource: Optional[str]


    class azure.mgmt.sql.models.OperationMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        EXPORT = "Export"
        IMPORT = "Import"
        POLYBASE_IMPORT = "PolybaseImport"


    class azure.mgmt.sql.models.OperationOrigin(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SYSTEM = "system"
        USER = "user"


    class azure.mgmt.sql.models.OutboundEnvironmentEndpoint(_Model):
        category: Optional[str]
        endpoints: Optional[list[EndpointDependency]]


    class azure.mgmt.sql.models.OutboundFirewallRule(ProxyResource):
        id: str
        name: str
        properties: Optional[OutboundFirewallRuleProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[OutboundFirewallRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.OutboundFirewallRuleProperties(_Model):
        provisioning_state: Optional[str]


    class azure.mgmt.sql.models.PartnerInfo(_Model):
        id: str
        location: Optional[str]
        replication_role: Optional[Union[str, FailoverGroupReplicationRole]]

        @overload
        def __init__(
                self, 
                *, 
                id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.PartnerRegionInfo(_Model):
        location: Optional[str]
        replication_role: Optional[Union[str, InstanceFailoverGroupReplicationRole]]

        @overload
        def __init__(
                self, 
                *, 
                location: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.PauseDelayTimeUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        MINUTES = "Minutes"


    class azure.mgmt.sql.models.PerDatabaseAutoPauseDelayTimeRange(_Model):
        default: Optional[int]
        do_not_pause_value: Optional[int]
        max_value: Optional[int]
        min_value: Optional[int]
        step_size: Optional[int]
        unit: Optional[Union[str, PauseDelayTimeUnit]]


    class azure.mgmt.sql.models.PerformanceLevelCapability(_Model):
        unit: Optional[Union[str, PerformanceLevelUnit]]
        value: Optional[float]


    class azure.mgmt.sql.models.PerformanceLevelUnit(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DTU = "DTU"
        V_CORES = "VCores"


    class azure.mgmt.sql.models.Phase(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BUILDING_HYPERSCALE_COMPONENTS = "BuildingHyperscaleComponents"
        CATCHUP = "Catchup"
        COPYING = "Copying"
        CUTOVER_IN_PROGRESS = "CutoverInProgress"
        LOG_TRANSITION_IN_PROGRESS = "LogTransitionInProgress"
        WAITING_FOR_CUTOVER = "WaitingForCutover"


    class azure.mgmt.sql.models.PhaseDetails(_Model):
        phase: Optional[Union[str, Phase]]
        phase_information: Optional[dict[str, str]]


    class azure.mgmt.sql.models.PricingModel(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FREEMIUM = "Freemium"
        REGULAR = "Regular"


    class azure.mgmt.sql.models.PrincipalType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        APPLICATION = "Application"
        GROUP = "Group"
        USER = "User"


    class azure.mgmt.sql.models.PrivateEndpointConnection(ProxyResource):
        id: str
        name: str
        properties: Optional[PrivateEndpointConnectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[PrivateEndpointConnectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.PrivateEndpointConnectionProperties(_Model):
        group_ids: Optional[list[str]]
        private_endpoint: Optional[PrivateEndpointProperty]
        private_link_service_connection_state: Optional[PrivateLinkServiceConnectionStateProperty]
        provisioning_state: Optional[Union[str, PrivateEndpointProvisioningState]]

        @overload
        def __init__(
                self, 
                *, 
                private_endpoint: Optional[PrivateEndpointProperty] = ..., 
                private_link_service_connection_state: Optional[PrivateLinkServiceConnectionStateProperty] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.PrivateEndpointConnectionRequestStatus(_Model):
        private_endpoint_connection_name: Optional[str]
        private_link_service_id: Optional[str]
        status: Optional[str]


    class azure.mgmt.sql.models.PrivateEndpointProperty(_Model):
        id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.PrivateEndpointProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        APPROVING = "Approving"
        DROPPING = "Dropping"
        FAILED = "Failed"
        READY = "Ready"
        REJECTING = "Rejecting"


    class azure.mgmt.sql.models.PrivateLinkResource(ProxyResource):
        id: str
        name: str
        properties: Optional[PrivateLinkResourceProperties]
        system_data: SystemData
        type: str


    class azure.mgmt.sql.models.PrivateLinkResourceProperties(_Model):
        group_id: Optional[str]
        required_members: Optional[list[str]]
        required_zone_names: Optional[list[str]]


    class azure.mgmt.sql.models.PrivateLinkServiceConnectionStateActionsRequire(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"


    class azure.mgmt.sql.models.PrivateLinkServiceConnectionStateProperty(_Model):
        actions_required: Optional[Union[str, PrivateLinkServiceConnectionStateActionsRequire]]
        description: str
        status: Union[str, PrivateLinkServiceConnectionStateStatus]

        @overload
        def __init__(
                self, 
                *, 
                description: str, 
                status: Union[str, PrivateLinkServiceConnectionStateStatus]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.PrivateLinkServiceConnectionStateStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        APPROVED = "Approved"
        DISCONNECTED = "Disconnected"
        PENDING = "Pending"
        REJECTED = "Rejected"


    class azure.mgmt.sql.models.ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CANCELED = "Canceled"
        CREATED = "Created"
        FAILED = "Failed"
        IN_PROGRESS = "InProgress"
        SUCCEEDED = "Succeeded"


    class azure.mgmt.sql.models.ProxyResource(Resource):
        id: str
        name: str
        system_data: SystemData
        type: str


    class azure.mgmt.sql.models.ProxyResourceWithWritableName(ResourceWithWritableName):
        id: str
        name: str
        type: str

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.QueryCheck(_Model):
        column_names: Optional[list[str]]
        expected_result: Optional[list[list[str]]]
        query: Optional[str]


    class azure.mgmt.sql.models.QueryMetricInterval(_Model):
        execution_count: Optional[int]
        interval_start_time: Optional[str]
        interval_type: Optional[Union[str, QueryTimeGrainType]]
        metrics: Optional[list[QueryMetricProperties]]

        @overload
        def __init__(
                self, 
                *, 
                metrics: Optional[list[QueryMetricProperties]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.QueryMetricProperties(_Model):
        avg: Optional[float]
        display_name: Optional[str]
        max: Optional[float]
        min: Optional[float]
        name: Optional[str]
        stdev: Optional[float]
        sum: Optional[float]
        unit: Optional[Union[str, QueryMetricUnitType]]
        value: Optional[float]


    class azure.mgmt.sql.models.QueryMetricUnitType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        COUNT = "count"
        KB = "KB"
        MICROSECONDS = "microseconds"
        PERCENTAGE = "percentage"


    class azure.mgmt.sql.models.QueryProperties(_Model):
        query_text: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                query_text: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.QueryStatistics(ProxyResource):
        id: str
        name: str
        properties: Optional[QueryStatisticsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[QueryStatisticsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.QueryStatisticsProperties(_Model):
        database_name: Optional[str]
        end_time: Optional[str]
        intervals: Optional[list[QueryMetricInterval]]
        query_id: Optional[str]
        start_time: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                intervals: Optional[list[QueryMetricInterval]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.QueryTimeGrainType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        P1_D = "P1D"
        PT1_H = "PT1H"


    class azure.mgmt.sql.models.ReadOnlyEndpointFailoverPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.ReadScaleCapability(_Model):
        max_number_of_replicas: Optional[int]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ReadWriteEndpointFailoverPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTOMATIC = "Automatic"
        MANUAL = "Manual"


    class azure.mgmt.sql.models.RecommendedAction(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[RecommendedActionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RecommendedActionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RecommendedActionCurrentState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ACTIVE = "Active"
        ERROR = "Error"
        EXECUTING = "Executing"
        EXPIRED = "Expired"
        IGNORED = "Ignored"
        MONITORING = "Monitoring"
        PENDING = "Pending"
        PENDING_REVERT = "PendingRevert"
        RESOLVED = "Resolved"
        REVERTED = "Reverted"
        REVERTING = "Reverting"
        REVERT_CANCELLED = "RevertCancelled"
        SUCCESS = "Success"
        VERIFYING = "Verifying"


    class azure.mgmt.sql.models.RecommendedActionErrorInfo(_Model):
        error_code: Optional[str]
        is_retryable: Optional[Union[str, IsRetryable]]


    class azure.mgmt.sql.models.RecommendedActionImpactRecord(_Model):
        absolute_value: Optional[float]
        change_value_absolute: Optional[float]
        change_value_relative: Optional[float]
        dimension_name: Optional[str]
        unit: Optional[str]


    class azure.mgmt.sql.models.RecommendedActionImplementationInfo(_Model):
        method: Optional[Union[str, ImplementationMethod]]
        script: Optional[str]


    class azure.mgmt.sql.models.RecommendedActionInitiatedBy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SYSTEM = "System"
        USER = "User"


    class azure.mgmt.sql.models.RecommendedActionMetricInfo(_Model):
        metric_name: Optional[str]
        start_time: Optional[datetime]
        time_grain: Optional[str]
        unit: Optional[str]
        value: Optional[float]


    class azure.mgmt.sql.models.RecommendedActionProperties(_Model):
        details: Optional[dict[str, str]]
        error_details: Optional[RecommendedActionErrorInfo]
        estimated_impact: Optional[list[RecommendedActionImpactRecord]]
        execute_action_duration: Optional[timedelta]
        execute_action_initiated_by: Optional[Union[str, RecommendedActionInitiatedBy]]
        execute_action_initiated_time: Optional[datetime]
        execute_action_start_time: Optional[datetime]
        implementation_details: Optional[RecommendedActionImplementationInfo]
        is_archived_action: Optional[bool]
        is_executable_action: Optional[bool]
        is_revertable_action: Optional[bool]
        last_refresh: Optional[datetime]
        linked_objects: Optional[list[str]]
        observed_impact: Optional[list[RecommendedActionImpactRecord]]
        recommendation_reason: Optional[str]
        revert_action_duration: Optional[timedelta]
        revert_action_initiated_by: Optional[Union[str, RecommendedActionInitiatedBy]]
        revert_action_initiated_time: Optional[datetime]
        revert_action_start_time: Optional[datetime]
        score: Optional[int]
        state: RecommendedActionStateInfo
        time_series: Optional[list[RecommendedActionMetricInfo]]
        valid_since: Optional[datetime]

        @overload
        def __init__(
                self, 
                *, 
                state: RecommendedActionStateInfo
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RecommendedActionStateInfo(_Model):
        action_initiated_by: Optional[Union[str, RecommendedActionInitiatedBy]]
        current_value: Union[str, RecommendedActionCurrentState]
        last_modified: Optional[datetime]

        @overload
        def __init__(
                self, 
                *, 
                current_value: Union[str, RecommendedActionCurrentState]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RecommendedSensitivityLabelUpdate(ProxyResource):
        id: str
        name: str
        properties: Optional[RecommendedSensitivityLabelUpdateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RecommendedSensitivityLabelUpdateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RecommendedSensitivityLabelUpdateKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLE = "disable"
        ENABLE = "enable"


    class azure.mgmt.sql.models.RecommendedSensitivityLabelUpdateList(_Model):
        operations: Optional[list[RecommendedSensitivityLabelUpdate]]

        @overload
        def __init__(
                self, 
                *, 
                operations: Optional[list[RecommendedSensitivityLabelUpdate]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RecommendedSensitivityLabelUpdateProperties(_Model):
        column: str
        op: Union[str, RecommendedSensitivityLabelUpdateKind]
        schema: str
        table: str

        @overload
        def __init__(
                self, 
                *, 
                column: str, 
                op: Union[str, RecommendedSensitivityLabelUpdateKind], 
                schema: str, 
                table: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RecoverableDatabase(ProxyResource):
        id: str
        name: str
        properties: Optional[RecoverableDatabaseProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RecoverableDatabaseProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RecoverableDatabaseProperties(_Model):
        edition: Optional[str]
        elastic_pool_name: Optional[str]
        keys_property: Optional[dict[str, DatabaseKey]]
        last_available_backup_date: Optional[datetime]
        service_level_objective: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                keys_property: Optional[dict[str, DatabaseKey]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RecoverableManagedDatabase(ProxyResource):
        id: str
        name: str
        properties: Optional[RecoverableManagedDatabaseProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RecoverableManagedDatabaseProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RecoverableManagedDatabaseProperties(_Model):
        last_available_backup_date: Optional[str]


    class azure.mgmt.sql.models.RefreshExternalGovernanceStatusOperationResult(ProxyResource):
        id: str
        name: str
        properties: Optional[RefreshExternalGovernanceStatusOperationResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RefreshExternalGovernanceStatusOperationResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RefreshExternalGovernanceStatusOperationResultMI(ProxyResource):
        id: str
        name: str
        properties: Optional[RefreshExternalGovernanceStatusOperationResultPropertiesMI]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RefreshExternalGovernanceStatusOperationResultPropertiesMI] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RefreshExternalGovernanceStatusOperationResultProperties(_Model):
        error_message: Optional[str]
        queued_time: Optional[str]
        request_id: Optional[str]
        request_type: Optional[str]
        server_name: Optional[str]
        status: Optional[str]


    class azure.mgmt.sql.models.RefreshExternalGovernanceStatusOperationResultPropertiesMI(_Model):
        error_message: Optional[str]
        managed_instance_name: Optional[str]
        queued_time: Optional[str]
        request_id: Optional[str]
        request_type: Optional[str]
        status: Optional[str]


    class azure.mgmt.sql.models.Remediation(_Model):
        automated: Optional[bool]
        description: Optional[str]
        portal_link: Optional[str]
        scripts: Optional[list[str]]


    class azure.mgmt.sql.models.ReplicaConnectedState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CONNECTED = "CONNECTED"
        DISCONNECTED = "DISCONNECTED"


    class azure.mgmt.sql.models.ReplicaSynchronizationHealth(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        HEALTHY = "HEALTHY"
        NOT_HEALTHY = "NOT_HEALTHY"
        PARTIALLY_HEALTHY = "PARTIALLY_HEALTHY"


    class azure.mgmt.sql.models.ReplicaType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        PRIMARY = "Primary"
        READABLE_SECONDARY = "ReadableSecondary"


    class azure.mgmt.sql.models.ReplicationLink(ProxyResource):
        id: str
        name: str
        properties: Optional[ReplicationLinkProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ReplicationLinkProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ReplicationLinkProperties(_Model):
        is_termination_allowed: Optional[bool]
        link_type: Optional[Union[str, ReplicationLinkType]]
        partner_database: Optional[str]
        partner_database_id: Optional[str]
        partner_location: Optional[str]
        partner_role: Optional[Union[str, ReplicationRole]]
        partner_server: Optional[str]
        percent_complete: Optional[int]
        replication_mode: Optional[str]
        replication_state: Optional[Union[str, ReplicationState]]
        role: Optional[Union[str, ReplicationRole]]
        start_time: Optional[datetime]

        @overload
        def __init__(
                self, 
                *, 
                link_type: Optional[Union[str, ReplicationLinkType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ReplicationLinkType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GEO = "GEO"
        NAMED = "NAMED"
        STANDBY = "STANDBY"


    class azure.mgmt.sql.models.ReplicationLinkUpdate(ProxyResource):
        id: str
        name: str
        properties: Optional[ReplicationLinkUpdateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ReplicationLinkUpdateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ReplicationLinkUpdateProperties(_Model):
        link_type: Optional[Union[str, ReplicationLinkType]]

        @overload
        def __init__(
                self, 
                *, 
                link_type: Optional[Union[str, ReplicationLinkType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ReplicationModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ASYNC = "Async"
        SYNC = "Sync"


    class azure.mgmt.sql.models.ReplicationRole(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        COPY = "Copy"
        NON_READABLE_SECONDARY = "NonReadableSecondary"
        PRIMARY = "Primary"
        SECONDARY = "Secondary"
        SOURCE = "Source"


    class azure.mgmt.sql.models.ReplicationState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CATCH_UP = "CATCH_UP"
        PENDING = "PENDING"
        SEEDING = "SEEDING"
        SUSPENDED = "SUSPENDED"


    class azure.mgmt.sql.models.Resource(_Model):
        id: Optional[str]
        name: Optional[str]
        system_data: Optional[SystemData]
        type: Optional[str]


    class azure.mgmt.sql.models.ResourceIdentity(_Model):
        principal_id: Optional[str]
        tenant_id: Optional[str]
        type: Optional[Union[str, IdentityType]]
        user_assigned_identities: Optional[dict[str, UserIdentity]]

        @overload
        def __init__(
                self, 
                *, 
                type: Optional[Union[str, IdentityType]] = ..., 
                user_assigned_identities: Optional[dict[str, UserIdentity]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ResourceMoveDefinition(_Model):
        id: str

        @overload
        def __init__(
                self, 
                *, 
                id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ResourceWithWritableName(_Model):
        id: Optional[str]
        name: Optional[str]
        type: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RestorableDroppedDatabase(ProxyResource):
        id: str
        location: Optional[str]
        name: str
        properties: Optional[RestorableDroppedDatabaseProperties]
        sku: Optional[Sku]
        system_data: SystemData
        tags: Optional[dict[str, str]]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: Optional[str] = ..., 
                properties: Optional[RestorableDroppedDatabaseProperties] = ..., 
                sku: Optional[Sku] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RestorableDroppedDatabaseProperties(_Model):
        backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]
        creation_date: Optional[datetime]
        database_name: Optional[str]
        deletion_date: Optional[datetime]
        earliest_restore_date: Optional[datetime]
        keys_property: Optional[dict[str, DatabaseKey]]
        max_size_bytes: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                keys_property: Optional[dict[str, DatabaseKey]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.RestorableDroppedManagedDatabase(TrackedResource):
        id: str
        location: str
        name: str
        properties: Optional[RestorableDroppedManagedDatabaseProperties]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                properties: Optional[RestorableDroppedManagedDatabaseProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RestorableDroppedManagedDatabaseProperties(_Model):
        creation_date: Optional[datetime]
        database_name: Optional[str]
        deletion_date: Optional[datetime]
        earliest_restore_date: Optional[datetime]


    class azure.mgmt.sql.models.RestoreDetailsName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.RestorePoint(ProxyResource):
        id: str
        location: Optional[str]
        name: str
        properties: Optional[RestorePointProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[RestorePointProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.RestorePointProperties(_Model):
        earliest_restore_date: Optional[datetime]
        restore_point_creation_date: Optional[datetime]
        restore_point_label: Optional[str]
        restore_point_type: Optional[Union[str, RestorePointType]]


    class azure.mgmt.sql.models.RestorePointType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CONTINUOUS = "CONTINUOUS"
        DISCRETE = "DISCRETE"


    class azure.mgmt.sql.models.RoleChangeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FORCED = "Forced"
        PLANNED = "Planned"


    class azure.mgmt.sql.models.RuleSeverity(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        HIGH = "High"
        INFORMATIONAL = "Informational"
        LOW = "Low"
        MEDIUM = "Medium"
        OBSOLETE = "Obsolete"


    class azure.mgmt.sql.models.RuleStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FINDING = "Finding"
        INTERNAL_ERROR = "InternalError"
        NON_FINDING = "NonFinding"


    class azure.mgmt.sql.models.RuleType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BASELINE_EXPECTED = "BaselineExpected"
        BINARY = "Binary"
        NEGATIVE_LIST = "NegativeList"
        POSITIVE_LIST = "PositiveList"


    class azure.mgmt.sql.models.SampleName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ADVENTURE_WORKS_LT = "AdventureWorksLT"
        WIDE_WORLD_IMPORTERS_FULL = "WideWorldImportersFull"
        WIDE_WORLD_IMPORTERS_STD = "WideWorldImportersStd"


    class azure.mgmt.sql.models.ScheduleItem(_Model):
        start_day: Union[str, DayOfWeek]
        start_time: str
        stop_day: Union[str, DayOfWeek]
        stop_time: str

        @overload
        def __init__(
                self, 
                *, 
                start_day: Union[str, DayOfWeek], 
                start_time: str, 
                stop_day: Union[str, DayOfWeek], 
                stop_time: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SecondaryInstanceType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GEO = "Geo"
        STANDBY = "Standby"


    class azure.mgmt.sql.models.SecondaryType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GEO = "Geo"
        NAMED = "Named"
        STANDBY = "Standby"


    class azure.mgmt.sql.models.SecurityAlertPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"


    class azure.mgmt.sql.models.SecurityAlertPolicyProperties(_Model):
        creation_time: Optional[datetime]
        disabled_alerts: Optional[list[str]]
        email_account_admins: Optional[bool]
        email_addresses: Optional[list[str]]
        retention_days: Optional[int]
        state: Union[str, SecurityAlertPolicyState]
        storage_account_access_key: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                disabled_alerts: Optional[list[str]] = ..., 
                email_account_admins: Optional[bool] = ..., 
                email_addresses: Optional[list[str]] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, SecurityAlertPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SecurityAlertPolicyState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"
        NEW = "New"


    class azure.mgmt.sql.models.SecurityAlertsPolicyProperties(_Model):
        creation_time: Optional[datetime]
        disabled_alerts: Optional[list[str]]
        email_account_admins: Optional[bool]
        email_addresses: Optional[list[str]]
        retention_days: Optional[int]
        state: Union[str, SecurityAlertsPolicyState]
        storage_account_access_key: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                disabled_alerts: Optional[list[str]] = ..., 
                email_account_admins: Optional[bool] = ..., 
                email_addresses: Optional[list[str]] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, SecurityAlertsPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SecurityAlertsPolicyState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.SecurityEvent(ProxyResource):
        id: str
        name: str
        properties: Optional[SecurityEventProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SecurityEventProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SecurityEventProperties(_Model):
        application_name: Optional[str]
        client_ip: Optional[str]
        database: Optional[str]
        event_time: Optional[datetime]
        principal_name: Optional[str]
        security_event_sql_injection_additional_properties: Optional[SecurityEventSqlInjectionAdditionalProperties]
        security_event_type: Optional[Union[str, SecurityEventType]]
        server: Optional[str]
        subscription: Optional[str]


    class azure.mgmt.sql.models.SecurityEventSqlInjectionAdditionalProperties(_Model):
        error_code: Optional[int]
        error_message: Optional[str]
        error_severity: Optional[int]
        statement: Optional[str]
        statement_highlight_length: Optional[int]
        statement_highlight_offset: Optional[int]
        threat_id: Optional[str]


    class azure.mgmt.sql.models.SecurityEventType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        SQL_INJECTION_EXPLOIT = "SqlInjectionExploit"
        SQL_INJECTION_VULNERABILITY = "SqlInjectionVulnerability"
        UNDEFINED = "Undefined"


    class azure.mgmt.sql.models.SeedingModeType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AUTOMATIC = "Automatic"
        MANUAL = "Manual"


    class azure.mgmt.sql.models.SensitivityLabel(ProxyResource):
        id: str
        managed_by: Optional[str]
        name: str
        properties: Optional[SensitivityLabelProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SensitivityLabelProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SensitivityLabelProperties(_Model):
        client_classification_source: Optional[Union[str, ClientClassificationSource]]
        column_name: Optional[str]
        information_type: Optional[str]
        information_type_id: Optional[str]
        is_disabled: Optional[bool]
        label_id: Optional[str]
        label_name: Optional[str]
        rank: Optional[Union[str, SensitivityLabelRank]]
        schema_name: Optional[str]
        table_name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                client_classification_source: Optional[Union[str, ClientClassificationSource]] = ..., 
                information_type: Optional[str] = ..., 
                information_type_id: Optional[str] = ..., 
                label_id: Optional[str] = ..., 
                label_name: Optional[str] = ..., 
                rank: Optional[Union[str, SensitivityLabelRank]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SensitivityLabelRank(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CRITICAL = "Critical"
        HIGH = "High"
        LOW = "Low"
        MEDIUM = "Medium"
        NONE = "None"


    class azure.mgmt.sql.models.SensitivityLabelSource(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"
        RECOMMENDED = "recommended"


    class azure.mgmt.sql.models.SensitivityLabelUpdate(ProxyResource):
        id: str
        name: str
        properties: Optional[SensitivityLabelUpdateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SensitivityLabelUpdateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SensitivityLabelUpdateKind(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        REMOVE = "remove"
        SET = "set"


    class azure.mgmt.sql.models.SensitivityLabelUpdateList(_Model):
        operations: Optional[list[SensitivityLabelUpdate]]

        @overload
        def __init__(
                self, 
                *, 
                operations: Optional[list[SensitivityLabelUpdate]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SensitivityLabelUpdateProperties(_Model):
        column: str
        op: Union[str, SensitivityLabelUpdateKind]
        schema: str
        sensitivity_label: Optional[SensitivityLabel]
        table: str

        @overload
        def __init__(
                self, 
                *, 
                column: str, 
                op: Union[str, SensitivityLabelUpdateKind], 
                schema: str, 
                sensitivity_label: Optional[SensitivityLabel] = ..., 
                table: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.Server(TrackedResource):
        id: str
        identity: Optional[ResourceIdentity]
        kind: Optional[str]
        location: str
        name: str
        properties: Optional[ServerProperties]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[ResourceIdentity] = ..., 
                location: str, 
                properties: Optional[ServerProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerAdvancedThreatProtection(ProxyResource):
        id: str
        name: str
        properties: Optional[AdvancedThreatProtectionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdvancedThreatProtectionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerAutomaticTuning(ProxyResource):
        id: str
        name: str
        properties: Optional[AutomaticTuningServerProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AutomaticTuningServerProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerAzureADAdministrator(ProxyResource):
        id: str
        name: str
        properties: Optional[AdministratorProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AdministratorProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerAzureADOnlyAuthentication(ProxyResource):
        id: str
        name: str
        properties: Optional[AzureADOnlyAuthProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[AzureADOnlyAuthProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerBlobAuditingPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerBlobAuditingPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerBlobAuditingPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerBlobAuditingPolicyProperties(_Model):
        audit_actions_and_groups: Optional[list[str]]
        is_azure_monitor_target_enabled: Optional[bool]
        is_devops_audit_enabled: Optional[bool]
        is_managed_identity_in_use: Optional[bool]
        is_storage_secondary_key_in_use: Optional[bool]
        queue_delay_ms: Optional[int]
        retention_days: Optional[int]
        state: Union[str, BlobAuditingPolicyState]
        storage_account_access_key: Optional[str]
        storage_account_subscription_id: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                audit_actions_and_groups: Optional[list[str]] = ..., 
                is_azure_monitor_target_enabled: Optional[bool] = ..., 
                is_devops_audit_enabled: Optional[bool] = ..., 
                is_managed_identity_in_use: Optional[bool] = ..., 
                is_storage_secondary_key_in_use: Optional[bool] = ..., 
                queue_delay_ms: Optional[int] = ..., 
                retention_days: Optional[int] = ..., 
                state: Union[str, BlobAuditingPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_account_subscription_id: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerConfigurationOption(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerConfigurationOptionProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerConfigurationOptionProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerConfigurationOptionName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALLOW_POLYBASE_EXPORT = "allowPolybaseExport"


    class azure.mgmt.sql.models.ServerConfigurationOptionProperties(_Model):
        provisioning_state: Optional[Union[str, ProvisioningState]]
        server_configuration_option_value: int

        @overload
        def __init__(
                self, 
                *, 
                server_configuration_option_value: int
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerConnectionPolicy(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[ServerConnectionPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerConnectionPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerConnectionPolicyProperties(_Model):
        connection_type: Union[str, ServerConnectionType]

        @overload
        def __init__(
                self, 
                *, 
                connection_type: Union[str, ServerConnectionType]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerConnectionType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "Default"
        PROXY = "Proxy"
        REDIRECT = "Redirect"


    class azure.mgmt.sql.models.ServerCreateMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NORMAL = "Normal"
        RESTORE = "Restore"


    class azure.mgmt.sql.models.ServerDevOpsAuditSettingsProperties(_Model):
        is_azure_monitor_target_enabled: Optional[bool]
        is_managed_identity_in_use: Optional[bool]
        state: Union[str, BlobAuditingPolicyState]
        storage_account_access_key: Optional[str]
        storage_account_subscription_id: Optional[str]
        storage_endpoint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                is_azure_monitor_target_enabled: Optional[bool] = ..., 
                is_managed_identity_in_use: Optional[bool] = ..., 
                state: Union[str, BlobAuditingPolicyState], 
                storage_account_access_key: Optional[str] = ..., 
                storage_account_subscription_id: Optional[str] = ..., 
                storage_endpoint: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerDevOpsAuditingSettings(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerDevOpsAuditSettingsProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerDevOpsAuditSettingsProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerDnsAlias(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerDnsAliasProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerDnsAliasProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerDnsAliasAcquisition(_Model):
        old_server_dns_alias_id: str

        @overload
        def __init__(
                self, 
                *, 
                old_server_dns_alias_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerDnsAliasProperties(_Model):
        azure_dns_record: Optional[str]


    class azure.mgmt.sql.models.ServerExternalAdministrator(_Model):
        administrator_type: Optional[Union[str, AdministratorType]]
        azure_ad_only_authentication: Optional[bool]
        login: Optional[str]
        principal_type: Optional[Union[str, PrincipalType]]
        sid: Optional[str]
        tenant_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                administrator_type: Optional[Union[str, AdministratorType]] = ..., 
                azure_ad_only_authentication: Optional[bool] = ..., 
                login: Optional[str] = ..., 
                principal_type: Optional[Union[str, PrincipalType]] = ..., 
                sid: Optional[str] = ..., 
                tenant_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerFirewallRuleProperties(_Model):
        end_ip_address: Optional[str]
        start_ip_address: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                end_ip_address: Optional[str] = ..., 
                start_ip_address: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerInfo(_Model):
        server_id: str

        @overload
        def __init__(
                self, 
                *, 
                server_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerKey(ProxyResource):
        id: str
        kind: Optional[str]
        location: Optional[str]
        name: str
        properties: Optional[ServerKeyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerKeyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerKeyProperties(_Model):
        auto_rotation_enabled: Optional[bool]
        creation_date: Optional[datetime]
        key_version: Optional[str]
        server_key_type: Union[str, ServerKeyType]
        subregion: Optional[str]
        thumbprint: Optional[str]
        uri: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                server_key_type: Union[str, ServerKeyType], 
                uri: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerKeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AZURE_KEY_VAULT = "AzureKeyVault"
        SERVICE_MANAGED = "ServiceManaged"


    class azure.mgmt.sql.models.ServerNetworkAccessFlag(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.ServerOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerOperationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerOperationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerOperationProperties(_Model):
        description: Optional[str]
        error_code: Optional[int]
        error_description: Optional[str]
        error_severity: Optional[int]
        estimated_completion_time: Optional[datetime]
        is_cancellable: Optional[bool]
        is_user_error: Optional[bool]
        operation: Optional[str]
        operation_friendly_name: Optional[str]
        percent_complete: Optional[int]
        server_name: Optional[str]
        start_time: Optional[datetime]
        state: Optional[Union[str, ManagementOperationState]]


    class azure.mgmt.sql.models.ServerPrivateEndpointConnection(_Model):
        id: Optional[str]
        properties: Optional[PrivateEndpointConnectionProperties]


    class azure.mgmt.sql.models.ServerProperties(_Model):
        administrator_login: Optional[str]
        administrator_login_password: Optional[str]
        administrators: Optional[ServerExternalAdministrator]
        create_mode: Optional[Union[str, ServerCreateMode]]
        external_governance_status: Optional[Union[str, ExternalGovernanceStatus]]
        federated_client_id: Optional[str]
        fully_qualified_domain_name: Optional[str]
        is_i_pv6_enabled: Optional[Union[str, ServerNetworkAccessFlag]]
        key_id: Optional[str]
        minimal_tls_version: Optional[Union[str, MinimalTlsVersion]]
        primary_user_assigned_identity_id: Optional[str]
        private_endpoint_connections: Optional[list[ServerPrivateEndpointConnection]]
        public_network_access: Optional[Union[str, ServerPublicNetworkAccessFlag]]
        restrict_outbound_network_access: Optional[Union[str, ServerNetworkAccessFlag]]
        retention_days: Optional[int]
        state: Optional[str]
        version: Optional[str]
        workspace_feature: Optional[Union[str, ServerWorkspaceFeature]]

        @overload
        def __init__(
                self, 
                *, 
                administrator_login: Optional[str] = ..., 
                administrator_login_password: Optional[str] = ..., 
                administrators: Optional[ServerExternalAdministrator] = ..., 
                create_mode: Optional[Union[str, ServerCreateMode]] = ..., 
                federated_client_id: Optional[str] = ..., 
                is_i_pv6_enabled: Optional[Union[str, ServerNetworkAccessFlag]] = ..., 
                key_id: Optional[str] = ..., 
                minimal_tls_version: Optional[Union[str, MinimalTlsVersion]] = ..., 
                primary_user_assigned_identity_id: Optional[str] = ..., 
                public_network_access: Optional[Union[str, ServerPublicNetworkAccessFlag]] = ..., 
                restrict_outbound_network_access: Optional[Union[str, ServerNetworkAccessFlag]] = ..., 
                retention_days: Optional[int] = ..., 
                version: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerPublicNetworkAccessFlag(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"
        SECURED_BY_PERIMETER = "SecuredByPerimeter"


    class azure.mgmt.sql.models.ServerSecurityAlertPolicy(ProxyResource):
        id: str
        name: str
        properties: Optional[SecurityAlertsPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SecurityAlertsPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerTrustCertificate(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerTrustCertificateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerTrustCertificateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerTrustCertificateProperties(_Model):
        certificate_name: Optional[str]
        public_blob: Optional[str]
        thumbprint: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                public_blob: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerTrustGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerTrustGroupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerTrustGroupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerTrustGroupProperties(_Model):
        group_members: list[ServerInfo]
        trust_scopes: list[Union[str, ServerTrustGroupPropertiesTrustScopesItem]]

        @overload
        def __init__(
                self, 
                *, 
                group_members: list[ServerInfo], 
                trust_scopes: list[Union[str, ServerTrustGroupPropertiesTrustScopesItem]]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerTrustGroupPropertiesTrustScopesItem(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GLOBAL_TRANSACTIONS = "GlobalTransactions"
        SERVICE_BROKER = "ServiceBroker"


    class azure.mgmt.sql.models.ServerUpdate(_Model):
        identity: Optional[ResourceIdentity]
        properties: Optional[ServerProperties]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                identity: Optional[ResourceIdentity] = ..., 
                properties: Optional[ServerProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerUsage(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerUsageProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerUsageProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerUsageProperties(_Model):
        current_value: Optional[float]
        display_name: Optional[str]
        limit: Optional[float]
        unit: Optional[str]


    class azure.mgmt.sql.models.ServerVersionCapability(_Model):
        name: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        supported_editions: Optional[list[EditionCapability]]
        supported_elastic_pool_editions: Optional[list[ElasticPoolEditionCapability]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerVulnerabilityAssessment(ProxyResource):
        id: str
        name: str
        properties: Optional[ServerVulnerabilityAssessmentProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[ServerVulnerabilityAssessmentProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.ServerVulnerabilityAssessmentProperties(_Model):
        recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties]
        storage_account_access_key: Optional[str]
        storage_container_path: str
        storage_container_sas_key: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                recurring_scans: Optional[VulnerabilityAssessmentRecurringScansProperties] = ..., 
                storage_account_access_key: Optional[str] = ..., 
                storage_container_path: str, 
                storage_container_sas_key: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServerWorkspaceFeature(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CONNECTED = "Connected"
        DISCONNECTED = "Disconnected"


    class azure.mgmt.sql.models.ServiceObjectiveCapability(_Model):
        compute_model: Optional[str]
        id: Optional[str]
        included_max_size: Optional[MaxSizeCapability]
        name: Optional[str]
        performance_level: Optional[PerformanceLevelCapability]
        reason: Optional[str]
        sku: Optional[Sku]
        status: Optional[Union[str, CapabilityStatus]]
        supported_auto_pause_delay: Optional[AutoPauseDelayTimeRange]
        supported_free_limit_exhaustion_behaviors: Optional[list[FreeLimitExhaustionBehaviorCapability]]
        supported_license_types: Optional[list[LicenseTypeCapability]]
        supported_maintenance_configurations: Optional[list[MaintenanceConfigurationCapability]]
        supported_max_sizes: Optional[list[MaxSizeRangeCapability]]
        supported_min_capacities: Optional[list[MinCapacityCapability]]
        supported_zones: Optional[list[ZonePinningCapability]]
        zone_pinning: Optional[bool]
        zone_redundant: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServicePrincipal(_Model):
        client_id: Optional[str]
        principal_id: Optional[str]
        tenant_id: Optional[str]
        type: Optional[Union[str, ServicePrincipalType]]

        @overload
        def __init__(
                self, 
                *, 
                type: Optional[Union[str, ServicePrincipalType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ServicePrincipalType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NONE = "None"
        SYSTEM_ASSIGNED = "SystemAssigned"


    class azure.mgmt.sql.models.SetLegalHoldImmutability(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.ShortTermRetentionPolicyName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.Sku(_Model):
        capacity: Optional[int]
        family: Optional[str]
        name: str
        size: Optional[str]
        tier: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                capacity: Optional[int] = ..., 
                family: Optional[str] = ..., 
                name: str, 
                size: Optional[str] = ..., 
                tier: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SqlAgentConfiguration(ProxyResource):
        id: str
        name: str
        properties: Optional[SqlAgentConfigurationProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SqlAgentConfigurationProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SqlAgentConfigurationProperties(_Model):
        state: Optional[Union[str, SqlAgentConfigurationPropertiesState]]

        @overload
        def __init__(
                self, 
                *, 
                state: Optional[Union[str, SqlAgentConfigurationPropertiesState]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SqlAgentConfigurationPropertiesState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.SqlVulnerabilityAssessment(ProxyResource):
        id: str
        name: str
        properties: Optional[SqlVulnerabilityAssessmentPolicyProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SqlVulnerabilityAssessmentPolicyProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentPolicyProperties(_Model):
        state: Optional[Union[str, SqlVulnerabilityAssessmentState]]

        @overload
        def __init__(
                self, 
                *, 
                state: Optional[Union[str, SqlVulnerabilityAssessmentState]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentScanError(_Model):
        code: Optional[str]
        message: Optional[str]


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentScanRecord(ProxyResource):
        id: str
        name: str
        properties: Optional[SqlVulnerabilityAssessmentScanRecordProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SqlVulnerabilityAssessmentScanRecordProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentScanRecordProperties(_Model):
        database: Optional[str]
        end_time: Optional[datetime]
        errors: Optional[list[SqlVulnerabilityAssessmentScanError]]
        high_severity_failed_rules_count: Optional[int]
        is_baseline_applied: Optional[bool]
        last_scan_time: Optional[datetime]
        low_severity_failed_rules_count: Optional[int]
        medium_severity_failed_rules_count: Optional[int]
        scan_id: Optional[str]
        server: Optional[str]
        sql_version: Optional[str]
        start_time: Optional[datetime]
        state: Optional[Union[str, VulnerabilityAssessmentScanState]]
        total_failed_rules_count: Optional[int]
        total_passed_rules_count: Optional[int]
        total_rules_count: Optional[int]
        trigger_type: Optional[Union[str, VulnerabilityAssessmentScanTriggerType]]


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentScanResultProperties(_Model):
        baseline_adjusted_result: Optional[BaselineAdjustedResult]
        error_message: Optional[str]
        is_trimmed: Optional[bool]
        query_results: Optional[list[list[str]]]
        remediation: Optional[Remediation]
        rule_id: Optional[str]
        rule_metadata: Optional[VaRule]
        status: Optional[Union[str, RuleStatus]]


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentScanResults(ProxyResource):
        id: str
        name: str
        properties: Optional[SqlVulnerabilityAssessmentScanResultProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SqlVulnerabilityAssessmentScanResultProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SqlVulnerabilityAssessmentState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.StartStopManagedInstanceSchedule(ProxyResource):
        id: str
        name: str
        properties: Optional[StartStopManagedInstanceScheduleProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[StartStopManagedInstanceScheduleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.StartStopManagedInstanceScheduleProperties(_Model):
        description: Optional[str]
        next_execution_time: Optional[str]
        next_run_action: Optional[str]
        schedule_list: list[ScheduleItem]
        time_zone_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                description: Optional[str] = ..., 
                schedule_list: list[ScheduleItem], 
                time_zone_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.StartStopScheduleName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.StorageCapability(_Model):
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]
        storage_account_type: Optional[Union[str, StorageCapabilityStorageAccountType]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.StorageCapabilityStorageAccountType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        GRS = "GRS"
        GZRS = "GZRS"
        LRS = "LRS"
        ZRS = "ZRS"


    class azure.mgmt.sql.models.StorageKeyType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        MANAGED_IDENTITY = "ManagedIdentity"
        SHARED_ACCESS_KEY = "SharedAccessKey"
        STORAGE_ACCESS_KEY = "StorageAccessKey"


    class azure.mgmt.sql.models.SubscriptionUsage(ProxyResource):
        id: str
        name: str
        properties: Optional[SubscriptionUsageProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SubscriptionUsageProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SubscriptionUsageProperties(_Model):
        current_value: Optional[float]
        display_name: Optional[str]
        limit: Optional[float]
        unit: Optional[str]


    class azure.mgmt.sql.models.SynapseLinkWorkspace(ProxyResource):
        id: str
        name: str
        properties: Optional[SynapseLinkWorkspaceProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SynapseLinkWorkspaceProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SynapseLinkWorkspaceInfoProperties(_Model):
        link_connection_name: Optional[str]
        workspace_id: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                link_connection_name: Optional[str] = ..., 
                workspace_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SynapseLinkWorkspaceProperties(_Model):
        workspaces: Optional[list[SynapseLinkWorkspaceInfoProperties]]

        @overload
        def __init__(
                self, 
                *, 
                workspaces: Optional[list[SynapseLinkWorkspaceInfoProperties]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncAgent(ProxyResource):
        id: str
        name: str
        properties: Optional[SyncAgentProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SyncAgentProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SyncAgentKeyProperties(_Model):
        sync_agent_key: Optional[str]


    class azure.mgmt.sql.models.SyncAgentLinkedDatabase(ProxyResource):
        id: str
        name: str
        properties: Optional[SyncAgentLinkedDatabaseProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SyncAgentLinkedDatabaseProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SyncAgentLinkedDatabaseProperties(_Model):
        database_id: Optional[str]
        database_name: Optional[str]
        database_type: Optional[Union[str, SyncMemberDbType]]
        description: Optional[str]
        server_name: Optional[str]
        user_name: Optional[str]


    class azure.mgmt.sql.models.SyncAgentProperties(_Model):
        expiry_time: Optional[datetime]
        is_up_to_date: Optional[bool]
        last_alive_time: Optional[datetime]
        name: Optional[str]
        state: Optional[Union[str, SyncAgentState]]
        sync_database_id: Optional[str]
        version: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                sync_database_id: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncAgentState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        NEVER_CONNECTED = "NeverConnected"
        OFFLINE = "Offline"
        ONLINE = "Online"


    class azure.mgmt.sql.models.SyncConflictResolutionPolicy(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        HUB_WIN = "HubWin"
        MEMBER_WIN = "MemberWin"


    class azure.mgmt.sql.models.SyncDatabaseIdProperties(_Model):
        id: Optional[str]


    class azure.mgmt.sql.models.SyncDirection(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        BIDIRECTIONAL = "Bidirectional"
        ONE_WAY_HUB_TO_MEMBER = "OneWayHubToMember"
        ONE_WAY_MEMBER_TO_HUB = "OneWayMemberToHub"


    class azure.mgmt.sql.models.SyncFullSchemaProperties(_Model):
        last_update_time: Optional[datetime]
        tables: Optional[list[SyncFullSchemaTable]]


    class azure.mgmt.sql.models.SyncFullSchemaTable(_Model):
        columns: Optional[list[SyncFullSchemaTableColumn]]
        error_id: Optional[str]
        has_error: Optional[bool]
        name: Optional[str]
        quoted_name: Optional[str]


    class azure.mgmt.sql.models.SyncFullSchemaTableColumn(_Model):
        data_size: Optional[str]
        data_type: Optional[str]
        error_id: Optional[str]
        has_error: Optional[bool]
        is_primary_key: Optional[bool]
        name: Optional[str]
        quoted_name: Optional[str]


    class azure.mgmt.sql.models.SyncGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[SyncGroupProperties]
        sku: Optional[Sku]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SyncGroupProperties] = ..., 
                sku: Optional[Sku] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SyncGroupLogProperties(_Model):
        details: Optional[str]
        operation_status: Optional[str]
        source: Optional[str]
        timestamp: Optional[datetime]
        tracing_id: Optional[str]
        type: Optional[Union[str, SyncGroupLogType]]


    class azure.mgmt.sql.models.SyncGroupLogType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALL = "All"
        ERROR = "Error"
        SUCCESS = "Success"
        WARNING = "Warning"


    class azure.mgmt.sql.models.SyncGroupProperties(_Model):
        conflict_logging_retention_in_days: Optional[int]
        conflict_resolution_policy: Optional[Union[str, SyncConflictResolutionPolicy]]
        enable_conflict_logging: Optional[bool]
        hub_database_password: Optional[str]
        hub_database_user_name: Optional[str]
        interval: Optional[int]
        last_sync_time: Optional[datetime]
        private_endpoint_name: Optional[str]
        schema: Optional[SyncGroupSchema]
        sync_database_id: Optional[str]
        sync_state: Optional[Union[str, SyncGroupState]]
        use_private_link_connection: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                conflict_logging_retention_in_days: Optional[int] = ..., 
                conflict_resolution_policy: Optional[Union[str, SyncConflictResolutionPolicy]] = ..., 
                enable_conflict_logging: Optional[bool] = ..., 
                hub_database_password: Optional[str] = ..., 
                hub_database_user_name: Optional[str] = ..., 
                interval: Optional[int] = ..., 
                schema: Optional[SyncGroupSchema] = ..., 
                sync_database_id: Optional[str] = ..., 
                use_private_link_connection: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncGroupSchema(_Model):
        master_sync_member_name: Optional[str]
        tables: Optional[list[SyncGroupSchemaTable]]

        @overload
        def __init__(
                self, 
                *, 
                master_sync_member_name: Optional[str] = ..., 
                tables: Optional[list[SyncGroupSchemaTable]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncGroupSchemaTable(_Model):
        columns: Optional[list[SyncGroupSchemaTableColumn]]
        quoted_name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                columns: Optional[list[SyncGroupSchemaTableColumn]] = ..., 
                quoted_name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncGroupSchemaTableColumn(_Model):
        data_size: Optional[str]
        data_type: Optional[str]
        quoted_name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                data_size: Optional[str] = ..., 
                data_type: Optional[str] = ..., 
                quoted_name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncGroupState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ERROR = "Error"
        GOOD = "Good"
        NOT_READY = "NotReady"
        PROGRESSING = "Progressing"
        WARNING = "Warning"


    class azure.mgmt.sql.models.SyncGroupsType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ALL = "All"
        ERROR = "Error"
        SUCCESS = "Success"
        WARNING = "Warning"


    class azure.mgmt.sql.models.SyncMember(ProxyResource):
        id: str
        name: str
        properties: Optional[SyncMemberProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[SyncMemberProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.SyncMemberDbType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        AZURE_SQL_DATABASE = "AzureSqlDatabase"
        SQL_SERVER_DATABASE = "SqlServerDatabase"


    class azure.mgmt.sql.models.SyncMemberProperties(_Model):
        database_name: Optional[str]
        database_type: Optional[Union[str, SyncMemberDbType]]
        password: Optional[str]
        private_endpoint_name: Optional[str]
        server_name: Optional[str]
        sql_server_database_id: Optional[str]
        sync_agent_id: Optional[str]
        sync_direction: Optional[Union[str, SyncDirection]]
        sync_member_azure_database_resource_id: Optional[str]
        sync_state: Optional[Union[str, SyncMemberState]]
        use_private_link_connection: Optional[bool]
        user_name: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                database_name: Optional[str] = ..., 
                database_type: Optional[Union[str, SyncMemberDbType]] = ..., 
                password: Optional[str] = ..., 
                server_name: Optional[str] = ..., 
                sql_server_database_id: Optional[str] = ..., 
                sync_agent_id: Optional[str] = ..., 
                sync_direction: Optional[Union[str, SyncDirection]] = ..., 
                sync_member_azure_database_resource_id: Optional[str] = ..., 
                use_private_link_connection: Optional[bool] = ..., 
                user_name: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.SyncMemberState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DE_PROVISIONED = "DeProvisioned"
        DE_PROVISIONING = "DeProvisioning"
        DE_PROVISION_FAILED = "DeProvisionFailed"
        DISABLED_BACKUP_RESTORE = "DisabledBackupRestore"
        DISABLED_TOMBSTONE_CLEANUP = "DisabledTombstoneCleanup"
        PROVISIONED = "Provisioned"
        PROVISIONING = "Provisioning"
        PROVISION_FAILED = "ProvisionFailed"
        REPROVISIONING = "Reprovisioning"
        REPROVISION_FAILED = "ReprovisionFailed"
        SYNC_CANCELLED = "SyncCancelled"
        SYNC_CANCELLING = "SyncCancelling"
        SYNC_FAILED = "SyncFailed"
        SYNC_IN_PROGRESS = "SyncInProgress"
        SYNC_SUCCEEDED = "SyncSucceeded"
        SYNC_SUCCEEDED_WITH_WARNINGS = "SyncSucceededWithWarnings"
        UN_PROVISIONED = "UnProvisioned"
        UN_REPROVISIONED = "UnReprovisioned"


    class azure.mgmt.sql.models.SystemData(_Model):
        created_at: Optional[datetime]
        created_by: Optional[str]
        created_by_type: Optional[Union[str, CreatedByType]]
        last_modified_at: Optional[datetime]
        last_modified_by: Optional[str]
        last_modified_by_type: Optional[Union[str, CreatedByType]]

        @overload
        def __init__(
                self, 
                *, 
                created_at: Optional[datetime] = ..., 
                created_by: Optional[str] = ..., 
                created_by_type: Optional[Union[str, CreatedByType]] = ..., 
                last_modified_at: Optional[datetime] = ..., 
                last_modified_by: Optional[str] = ..., 
                last_modified_by_type: Optional[Union[str, CreatedByType]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.TableTemporalType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        HISTORY_TABLE = "HistoryTable"
        NON_TEMPORAL_TABLE = "NonTemporalTable"
        SYSTEM_VERSIONED_TEMPORAL_TABLE = "SystemVersionedTemporalTable"


    class azure.mgmt.sql.models.TdeCertificate(ProxyResource):
        id: str
        name: str
        properties: Optional[TdeCertificateProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[TdeCertificateProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.TdeCertificateProperties(_Model):
        cert_password: Optional[str]
        private_blob: str

        @overload
        def __init__(
                self, 
                *, 
                cert_password: Optional[str] = ..., 
                private_blob: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.TimeBasedImmutability(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.TimeBasedImmutabilityMode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        LOCKED = "Locked"
        UNLOCKED = "Unlocked"


    class azure.mgmt.sql.models.TimeZone(ProxyResource):
        id: str
        name: str
        properties: Optional[TimeZoneProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[TimeZoneProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.TimeZoneProperties(_Model):
        display_name: Optional[str]
        time_zone_id: Optional[str]


    class azure.mgmt.sql.models.TopQueries(_Model):
        aggregation_function: Optional[str]
        end_time: Optional[str]
        interval_type: Optional[Union[str, QueryTimeGrainType]]
        number_of_queries: Optional[int]
        observation_metric: Optional[str]
        queries: Optional[list[QueryStatisticsProperties]]
        start_time: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                queries: Optional[list[QueryStatisticsProperties]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.TrackedResource(Resource):
        id: str
        location: str
        name: str
        system_data: SystemData
        tags: Optional[dict[str, str]]
        type: str

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.TransparentDataEncryptionName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CURRENT = "current"


    class azure.mgmt.sql.models.TransparentDataEncryptionProperties(_Model):
        scan_state: Optional[Union[str, TransparentDataEncryptionScanState]]
        state: Union[str, TransparentDataEncryptionState]

        @overload
        def __init__(
                self, 
                *, 
                scan_state: Optional[Union[str, TransparentDataEncryptionScanState]] = ..., 
                state: Union[str, TransparentDataEncryptionState]
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.TransparentDataEncryptionScanState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ABORTED = "Aborted"
        COMPLETED = "Completed"
        NONE = "None"
        RESUME = "Resume"
        RUNNING = "Running"
        SUSPEND = "Suspend"


    class azure.mgmt.sql.models.TransparentDataEncryptionState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DISABLED = "Disabled"
        ENABLED = "Enabled"


    class azure.mgmt.sql.models.UpdateLongTermRetentionBackupParameters(_Model):
        properties: Optional[UpdateLongTermRetentionBackupParametersProperties]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[UpdateLongTermRetentionBackupParametersProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.UpdateLongTermRetentionBackupParametersProperties(_Model):
        requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]]

        @overload
        def __init__(
                self, 
                *, 
                requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.UpdateVirtualClusterDnsServersOperation(ProxyResource):
        id: str
        name: str
        properties: Optional[VirtualClusterDnsServersProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[VirtualClusterDnsServersProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.UpsertManagedServerOperationParameters(_Model):
        family: Optional[str]
        storage_size_in_gb: Optional[int]
        tier: Optional[str]
        v_cores: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                family: Optional[str] = ..., 
                storage_size_in_gb: Optional[int] = ..., 
                tier: Optional[str] = ..., 
                v_cores: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.UpsertManagedServerOperationStepWithEstimatesAndDuration(_Model):
        name: Optional[str]
        order: Optional[int]
        status: Optional[Union[str, UpsertManagedServerOperationStepWithEstimatesAndDurationStatus]]
        step_end_time: Optional[datetime]
        step_start_time: Optional[datetime]
        time_elapsed: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                name: Optional[str] = ..., 
                order: Optional[int] = ..., 
                status: Optional[Union[str, UpsertManagedServerOperationStepWithEstimatesAndDurationStatus]] = ..., 
                step_end_time: Optional[datetime] = ..., 
                step_start_time: Optional[datetime] = ..., 
                time_elapsed: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.UpsertManagedServerOperationStepWithEstimatesAndDurationStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        CANCELED = "Canceled"
        COMPLETED = "Completed"
        FAILED = "Failed"
        IN_PROGRESS = "InProgress"
        NOT_STARTED = "NotStarted"
        SLOWED_DOWN = "SlowedDown"


    class azure.mgmt.sql.models.Usage(_Model):
        current_value: Optional[int]
        id: Optional[str]
        limit: Optional[int]
        name: Optional[Name]
        requested_limit: Optional[int]
        type: Optional[str]
        unit: Optional[str]


    class azure.mgmt.sql.models.UserIdentity(_Model):
        client_id: Optional[str]
        principal_id: Optional[str]


    class azure.mgmt.sql.models.VaRule(_Model):
        benchmark_references: Optional[list[BenchmarkReference]]
        category: Optional[str]
        description: Optional[str]
        query_check: Optional[QueryCheck]
        rationale: Optional[str]
        rule_id: Optional[str]
        rule_type: Optional[Union[str, RuleType]]
        severity: Optional[Union[str, RuleSeverity]]
        title: Optional[str]


    class azure.mgmt.sql.models.VirtualCluster(TrackedResource):
        id: str
        location: str
        name: str
        properties: Optional[VirtualClusterProperties]
        system_data: SystemData
        tags: dict[str, str]
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                location: str, 
                properties: Optional[VirtualClusterProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.VirtualClusterDnsServersProperties(_Model):
        status: Optional[Union[str, DNSRefreshOperationStatus]]


    class azure.mgmt.sql.models.VirtualClusterProperties(_Model):
        child_resources: Optional[list[str]]
        subnet_id: Optional[str]
        version: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                version: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.VirtualClusterUpdate(_Model):
        properties: Optional[VirtualClusterProperties]
        tags: Optional[dict[str, str]]

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[VirtualClusterProperties] = ..., 
                tags: Optional[dict[str, str]] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.VirtualNetworkRule(ProxyResource):
        id: str
        name: str
        properties: Optional[VirtualNetworkRuleProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[VirtualNetworkRuleProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.VirtualNetworkRuleProperties(_Model):
        ignore_missing_vnet_service_endpoint: Optional[bool]
        state: Optional[Union[str, VirtualNetworkRuleState]]
        virtual_network_subnet_id: str

        @overload
        def __init__(
                self, 
                *, 
                ignore_missing_vnet_service_endpoint: Optional[bool] = ..., 
                virtual_network_subnet_id: str
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.VirtualNetworkRuleState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DELETING = "Deleting"
        FAILED = "Failed"
        INITIALIZING = "Initializing"
        IN_PROGRESS = "InProgress"
        READY = "Ready"
        UNKNOWN = "Unknown"


    class azure.mgmt.sql.models.VulnerabilityAssessmentName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"


    class azure.mgmt.sql.models.VulnerabilityAssessmentPolicyBaselineName(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        DEFAULT = "default"
        MASTER = "master"


    class azure.mgmt.sql.models.VulnerabilityAssessmentRecurringScansProperties(_Model):
        email_subscription_admins: Optional[bool]
        emails: Optional[list[str]]
        is_enabled: Optional[bool]

        @overload
        def __init__(
                self, 
                *, 
                email_subscription_admins: Optional[bool] = ..., 
                emails: Optional[list[str]] = ..., 
                is_enabled: Optional[bool] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.VulnerabilityAssessmentScanError(_Model):
        code: Optional[str]
        message: Optional[str]


    class azure.mgmt.sql.models.VulnerabilityAssessmentScanRecord(ProxyResource):
        id: str
        name: str
        properties: Optional[VulnerabilityAssessmentScanRecordProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[VulnerabilityAssessmentScanRecordProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.VulnerabilityAssessmentScanRecordProperties(_Model):
        end_time: Optional[datetime]
        errors: Optional[list[VulnerabilityAssessmentScanError]]
        number_of_failed_security_checks: Optional[int]
        scan_id: Optional[str]
        start_time: Optional[datetime]
        state: Optional[Union[str, VulnerabilityAssessmentScanState]]
        storage_container_path: Optional[str]
        trigger_type: Optional[Union[str, VulnerabilityAssessmentScanTriggerType]]


    class azure.mgmt.sql.models.VulnerabilityAssessmentScanState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        FAILED = "Failed"
        FAILED_TO_RUN = "FailedToRun"
        IN_PROGRESS = "InProgress"
        PASSED = "Passed"


    class azure.mgmt.sql.models.VulnerabilityAssessmentScanTriggerType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
        ON_DEMAND = "OnDemand"
        RECURRING = "Recurring"


    class azure.mgmt.sql.models.WorkloadClassifier(ProxyResource):
        id: str
        name: str
        properties: Optional[WorkloadClassifierProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[WorkloadClassifierProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.WorkloadClassifierProperties(_Model):
        context: Optional[str]
        end_time: Optional[str]
        importance: Optional[str]
        label: Optional[str]
        member_name: str
        start_time: Optional[str]

        @overload
        def __init__(
                self, 
                *, 
                context: Optional[str] = ..., 
                end_time: Optional[str] = ..., 
                importance: Optional[str] = ..., 
                label: Optional[str] = ..., 
                member_name: str, 
                start_time: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.WorkloadGroup(ProxyResource):
        id: str
        name: str
        properties: Optional[WorkloadGroupProperties]
        system_data: SystemData
        type: str

        def __getattr__(self, name: str) -> Any: ...

        @overload
        def __init__(
                self, 
                *, 
                properties: Optional[WorkloadGroupProperties] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...

        def __setattr__(
                self, 
                key: str, 
                value: Any
            ) -> None: ...


    class azure.mgmt.sql.models.WorkloadGroupProperties(_Model):
        importance: Optional[str]
        max_resource_percent: int
        max_resource_percent_per_request: Optional[float]
        min_resource_percent: int
        min_resource_percent_per_request: float
        query_execution_timeout: Optional[int]

        @overload
        def __init__(
                self, 
                *, 
                importance: Optional[str] = ..., 
                max_resource_percent: int, 
                max_resource_percent_per_request: Optional[float] = ..., 
                min_resource_percent: int, 
                min_resource_percent_per_request: float, 
                query_execution_timeout: Optional[int] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


    class azure.mgmt.sql.models.ZonePinningCapability(_Model):
        availability_zone: Optional[str]
        reason: Optional[str]
        status: Optional[Union[str, CapabilityStatus]]

        @overload
        def __init__(
                self, 
                *, 
                reason: Optional[str] = ...
            ) -> None: ...

        @overload
        def __init__(self, mapping: Mapping[str, Any]) -> None: ...


namespace azure.mgmt.sql.operations

    class azure.mgmt.sql.operations.BackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: BackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: BackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[BackupShortTermRetentionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, ShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> BackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[BackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.operations.CapabilitiesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                *, 
                include: Optional[Union[str, CapabilityGroup]] = ..., 
                **kwargs: Any
            ) -> LocationCapabilities: ...


    class azure.mgmt.sql.operations.DataMaskingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DataMaskingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DataMaskingPolicy: ...


    class azure.mgmt.sql.operations.DataMaskingRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: DataMaskingRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_masking_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DataMaskingRule: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DataMaskingRule]: ...


    class azure.mgmt.sql.operations.DataWarehouseUserActivitiesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                data_warehouse_user_activity_name: Union[str, DataWarehouseUserActivityName], 
                **kwargs: Any
            ) -> DataWarehouseUserActivities: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DataWarehouseUserActivities]: ...


    class azure.mgmt.sql.operations.DatabaseAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: DatabaseAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> DatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseAdvancedThreatProtection]: ...


    class azure.mgmt.sql.operations.DatabaseAdvisorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> Advisor: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> List[Advisor]: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: Advisor, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...


    class azure.mgmt.sql.operations.DatabaseAutomaticTuningOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseAutomaticTuning, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseAutomaticTuning: ...


    class azure.mgmt.sql.operations.DatabaseBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> DatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseBlobAuditingPolicy]: ...


    class azure.mgmt.sql.operations.DatabaseColumnsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> DatabaseColumn: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                column: Optional[List[str]] = ..., 
                order_by: Optional[List[str]] = ..., 
                schema: Optional[List[str]] = ..., 
                skiptoken: Optional[str] = ..., 
                table: Optional[List[str]] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseColumn]: ...

        @distributed_trace
        def list_by_table(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseColumn]: ...


    class azure.mgmt.sql.operations.DatabaseEncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_revalidate(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_revert(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...


    class azure.mgmt.sql.operations.DatabaseExtensionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: DatabaseExtensions, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportExtensionsOperationResult]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportExtensionsOperationResult]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportExtensionsOperationResult]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                extension_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ImportExportExtensionsOperationResult]: ...


    class azure.mgmt.sql.operations.DatabaseOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseOperation]: ...


    class azure.mgmt.sql.operations.DatabaseRecommendedActionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @distributed_trace
        def list_by_database_advisor(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> List[RecommendedAction]: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: RecommendedAction, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                advisor_name: str, 
                recommended_action_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> RecommendedAction: ...


    class azure.mgmt.sql.operations.DatabaseSchemasOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                **kwargs: Any
            ) -> DatabaseSchema: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSchema]: ...


    class azure.mgmt.sql.operations.DatabaseSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: DatabaseSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> DatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSecurityAlertPolicy]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessment(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSqlVulnerabilityAssessmentBaselineSet]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentExecuteScanOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_execute(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def list_by_baseline(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSqlVulnerabilityAssessmentRuleBaseline]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentScanResultOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                scan_result_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanResults: ...

        @distributed_trace
        def list_by_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessmentScanResults]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessments(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.operations.DatabaseSqlVulnerabilityAssessmentsSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.DatabaseTablesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                **kwargs: Any
            ) -> DatabaseTable: ...

        @distributed_trace
        def list_by_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseTable]: ...


    class azure.mgmt.sql.operations.DatabaseUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseUsage]: ...


    class azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: DatabaseVulnerabilityAssessmentRuleBaseline, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...


    class azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_initiate_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentScansExport: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> VulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[VulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.operations.DatabaseVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: DatabaseVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.DatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: Database, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ExportDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_export(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                replica_type: Optional[Union[str, ReplicaType]] = ..., 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ImportExistingDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_import_method(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @distributed_trace
        def begin_pause(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @distributed_trace
        def begin_resume(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: DatabaseUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Database]: ...

        @distributed_trace
        def begin_upgrade_data_warehouse(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> Database: ...

        @distributed_trace
        def list_by_elastic_pool(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> ItemPaged[Database]: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[Database]: ...

        @distributed_trace
        def list_inaccessible_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[Database]: ...

        @overload
        def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ResourceMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def rename(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.DeletedServersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_recover(
                self, 
                location_name: str, 
                deleted_server_name: str, 
                **kwargs: Any
            ) -> LROPoller[DeletedServer]: ...

        @distributed_trace
        def get(
                self, 
                location_name: str, 
                deleted_server_name: str, 
                **kwargs: Any
            ) -> DeletedServer: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> ItemPaged[DeletedServer]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DeletedServer]: ...


    class azure.mgmt.sql.operations.DistributedAvailabilityGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroupsFailoverRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroupSetRole, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_set_role(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: DistributedAvailabilityGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[DistributedAvailabilityGroup]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                distributed_availability_group_name: str, 
                **kwargs: Any
            ) -> DistributedAvailabilityGroup: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DistributedAvailabilityGroup]: ...


    class azure.mgmt.sql.operations.ElasticPoolOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def list_by_elastic_pool(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ElasticPoolOperation]: ...


    class azure.mgmt.sql.operations.ElasticPoolsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: ElasticPool, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: ElasticPoolUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ElasticPool]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                elastic_pool_name: str, 
                **kwargs: Any
            ) -> ElasticPool: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                skip: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ElasticPool]: ...


    class azure.mgmt.sql.operations.EncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: EncryptionProtector, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[EncryptionProtector]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[EncryptionProtector]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[EncryptionProtector]: ...

        @distributed_trace
        def begin_revalidate(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> EncryptionProtector: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[EncryptionProtector]: ...


    class azure.mgmt.sql.operations.EndpointCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                endpoint_type: str, 
                **kwargs: Any
            ) -> EndpointCertificate: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[EndpointCertificate]: ...


    class azure.mgmt.sql.operations.ExtendedDatabaseBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: ExtendedDatabaseBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ExtendedDatabaseBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ExtendedDatabaseBlobAuditingPolicy]: ...


    class azure.mgmt.sql.operations.ExtendedServerBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ExtendedServerBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ExtendedServerBlobAuditingPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ExtendedServerBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ExtendedServerBlobAuditingPolicy]: ...


    class azure.mgmt.sql.operations.FailoverGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: FailoverGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @distributed_trace
        def begin_force_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @distributed_trace
        def begin_try_planned_before_forced_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: FailoverGroupUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[FailoverGroup]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> FailoverGroup: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[FailoverGroup]: ...


    class azure.mgmt.sql.operations.FirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: FirewallRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> FirewallRule: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> FirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[FirewallRule]: ...

        @overload
        def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: FirewallRuleList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...

        @overload
        def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...

        @overload
        def replace(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Optional[FirewallRule]: ...


    class azure.mgmt.sql.operations.GeoBackupPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: GeoBackupPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                geo_backup_policy_name: Union[str, GeoBackupPolicyName], 
                **kwargs: Any
            ) -> GeoBackupPolicy: ...

        @distributed_trace
        def list(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[GeoBackupPolicy]: ...


    class azure.mgmt.sql.operations.IPv6FirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IPv6FirewallRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                firewall_rule_name: str, 
                **kwargs: Any
            ) -> IPv6FirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[IPv6FirewallRule]: ...


    class azure.mgmt.sql.operations.InstanceFailoverGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: InstanceFailoverGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstanceFailoverGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstanceFailoverGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstanceFailoverGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[InstanceFailoverGroup]: ...

        @distributed_trace
        def begin_force_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[InstanceFailoverGroup]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                failover_group_name: str, 
                **kwargs: Any
            ) -> InstanceFailoverGroup: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[InstanceFailoverGroup]: ...


    class azure.mgmt.sql.operations.InstancePoolOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> InstancePoolOperation: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> ItemPaged[InstancePoolOperation]: ...


    class azure.mgmt.sql.operations.InstancePoolsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: InstancePool, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: InstancePoolUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[InstancePool]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                **kwargs: Any
            ) -> InstancePool: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> ItemPaged[InstancePool]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                **kwargs: Any
            ) -> ItemPaged[InstancePool]: ...


    class azure.mgmt.sql.operations.JobAgentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JobAgent, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JobAgentUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobAgent]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> JobAgent: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobAgent]: ...


    class azure.mgmt.sql.operations.JobCredentialsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: JobCredential, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobCredential: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                credential_name: str, 
                **kwargs: Any
            ) -> JobCredential: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobCredential]: ...


    class azure.mgmt.sql.operations.JobExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> LROPoller[JobExecution]: ...

        @distributed_trace
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> LROPoller[JobExecution]: ...

        @distributed_trace
        def cancel(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[JobExecution]: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[JobExecution]: ...


    class azure.mgmt.sql.operations.JobPrivateEndpointsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: JobPrivateEndpoint, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobPrivateEndpoint]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobPrivateEndpoint]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[JobPrivateEndpoint]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                private_endpoint_name: str, 
                **kwargs: Any
            ) -> JobPrivateEndpoint: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobPrivateEndpoint]: ...


    class azure.mgmt.sql.operations.JobStepExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_job_execution(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[JobExecution]: ...


    class azure.mgmt.sql.operations.JobStepsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: JobStep, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                step_name: str, 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace
        def get_by_version(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                step_name: str, 
                **kwargs: Any
            ) -> JobStep: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobStep]: ...

        @distributed_trace
        def list_by_version(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                **kwargs: Any
            ) -> ItemPaged[JobStep]: ...


    class azure.mgmt.sql.operations.JobTargetExecutionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                target_id: str, 
                **kwargs: Any
            ) -> JobExecution: ...

        @distributed_trace
        def list_by_job_execution(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[JobExecution]: ...

        @distributed_trace
        def list_by_step(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_execution_id: str, 
                step_name: str, 
                *, 
                create_time_max: Optional[datetime] = ..., 
                create_time_min: Optional[datetime] = ..., 
                end_time_max: Optional[datetime] = ..., 
                end_time_min: Optional[datetime] = ..., 
                is_active: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[JobExecution]: ...


    class azure.mgmt.sql.operations.JobTargetGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: JobTargetGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                target_group_name: str, 
                **kwargs: Any
            ) -> JobTargetGroup: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobTargetGroup]: ...


    class azure.mgmt.sql.operations.JobVersionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                job_version: int, 
                **kwargs: Any
            ) -> JobVersion: ...

        @distributed_trace
        def list_by_job(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> ItemPaged[JobVersion]: ...


    class azure.mgmt.sql.operations.JobsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: Job, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Job: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                job_name: str, 
                **kwargs: Any
            ) -> Job: ...

        @distributed_trace
        def list_by_agent(
                self, 
                resource_group_name: str, 
                server_name: str, 
                job_agent_name: str, 
                **kwargs: Any
            ) -> ItemPaged[Job]: ...


    class azure.mgmt.sql.operations.LedgerDigestUploadsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: LedgerDigestUploads, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LedgerDigestUploads]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LedgerDigestUploads]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LedgerDigestUploads]: ...

        @distributed_trace
        def begin_disable(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                **kwargs: Any
            ) -> LROPoller[LedgerDigestUploads]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, LedgerDigestUploadsName], 
                **kwargs: Any
            ) -> LedgerDigestUploads: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[LedgerDigestUploads]: ...


    class azure.mgmt.sql.operations.LongTermRetentionBackupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: ChangeLongTermRetentionBackupAccessTierParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_change_access_tier(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: ChangeLongTermRetentionBackupAccessTierParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_change_access_tier_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: CopyLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_copy(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: CopyLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_copy_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @distributed_trace
        def begin_delete(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_delete_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_lock_time_based_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_lock_time_based_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_remove_legal_hold_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_remove_legal_hold_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_remove_time_based_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_remove_time_based_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_set_legal_hold_immutability(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @distributed_trace
        def begin_set_legal_hold_immutability_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackup]: ...

        @overload
        def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: UpdateLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_update(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: UpdateLongTermRetentionBackupParameters, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @overload
        def begin_update_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionBackupOperationResult]: ...

        @distributed_trace
        def get(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LongTermRetentionBackup: ...

        @distributed_trace
        def get_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LongTermRetentionBackup: ...

        @distributed_trace
        def list_by_database(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_database(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                long_term_retention_database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_server(
                self, 
                resource_group_name: str, 
                location_name: str, 
                long_term_retention_server_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_server(
                self, 
                location_name: str, 
                long_term_retention_server_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionBackup]: ...


    class azure.mgmt.sql.operations.LongTermRetentionManagedInstanceBackupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_delete(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_delete_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionBackup: ...

        @distributed_trace
        def get_by_resource_group(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                backup_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionBackup: ...

        @distributed_trace
        def list_by_database(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_instance(
                self, 
                location_name: str, 
                managed_instance_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_database(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_instance(
                self, 
                resource_group_name: str, 
                location_name: str, 
                managed_instance_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...

        @distributed_trace
        def list_by_resource_group_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                database_state: Optional[Union[str, DatabaseState]] = ..., 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                skip: Optional[int] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionBackup]: ...


    class azure.mgmt.sql.operations.LongTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: LongTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LongTermRetentionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                policy_name: Union[str, LongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> LongTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[LongTermRetentionPolicy]: ...


    class azure.mgmt.sql.operations.MaintenanceWindowOptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                maintenance_window_options_name: str, 
                **kwargs: Any
            ) -> MaintenanceWindowOptions: ...


    class azure.mgmt.sql.operations.MaintenanceWindowsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: MaintenanceWindows, 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                maintenance_window_name: str, 
                **kwargs: Any
            ) -> MaintenanceWindows: ...


    class azure.mgmt.sql.operations.ManagedBackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedBackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedBackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ManagedDatabaseAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ManagedDatabaseAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedDatabaseAdvancedThreatProtection]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseColumnsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> DatabaseColumn: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                column: Optional[List[str]] = ..., 
                order_by: Optional[List[str]] = ..., 
                schema: Optional[List[str]] = ..., 
                skiptoken: Optional[str] = ..., 
                table: Optional[List[str]] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseColumn]: ...

        @distributed_trace
        def list_by_table(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseColumn]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseMoveOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> ManagedDatabaseMoveOperationResult: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                *, 
                filter: Optional[str] = ..., 
                only_latest_per_database: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedDatabaseMoveOperationResult]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseQueriesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                query_id: str, 
                **kwargs: Any
            ) -> ManagedInstanceQuery: ...

        @distributed_trace
        def list_by_query(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                query_id: str, 
                *, 
                end_time: Optional[str] = ..., 
                interval: Optional[Union[str, QueryTimeGrainType]] = ..., 
                start_time: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[QueryStatistics]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseRecommendedSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: RecommendedSensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.ManagedDatabaseRestoreDetailsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                restore_details_name: Union[str, RestoreDetailsName], 
                **kwargs: Any
            ) -> ManagedDatabaseRestoreDetailsResult: ...


    class azure.mgmt.sql.operations.ManagedDatabaseSchemasOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                **kwargs: Any
            ) -> DatabaseSchema: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSchema]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ManagedDatabaseSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ManagedDatabaseSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedDatabaseSecurityAlertPolicy]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseSecurityEventsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                skip: Optional[int] = ..., 
                skiptoken: Optional[str] = ..., 
                top: Optional[int] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SecurityEvent]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: SensitivityLabel, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def disable_recommendation(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def enable_recommendation(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                sensitivity_label_source: Union[str, SensitivityLabelSource], 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_current_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                count: Optional[bool] = ..., 
                filter: Optional[str] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_recommended_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                include_disabled_recommendations: Optional[bool] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: SensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.ManagedDatabaseTablesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                **kwargs: Any
            ) -> DatabaseTable: ...

        @distributed_trace
        def list_by_schema(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                schema_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[DatabaseTable]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseTransparentDataEncryptionOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: ManagedTransparentDataEncryption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> ManagedTransparentDataEncryption: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedTransparentDataEncryption]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: DatabaseVulnerabilityAssessmentRuleBaseline, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                rule_id: str, 
                baseline_name: Union[str, VulnerabilityAssessmentPolicyBaselineName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentRuleBaseline: ...


    class azure.mgmt.sql.operations.ManagedDatabaseVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_initiate_scan(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def export(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessmentScansExport: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> VulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[VulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.operations.ManagedDatabaseVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: DatabaseVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> DatabaseVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[DatabaseVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.ManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_cancel_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: CompleteDatabaseRestoreDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_complete_restore(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabase, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_reevaluate_inaccessible_database_state(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @overload
        def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseStartMoveDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_start_move(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: ManagedDatabaseUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedDatabase]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedDatabase]: ...

        @distributed_trace
        def list_inaccessible_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedDatabase]: ...


    class azure.mgmt.sql.operations.ManagedInstanceAdministratorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: ManagedInstanceAdministrator, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdministrator]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdministrator]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdministrator]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> ManagedInstanceAdministrator: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceAdministrator]: ...


    class azure.mgmt.sql.operations.ManagedInstanceAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ManagedInstanceAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAdvancedThreatProtection]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ManagedInstanceAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceAdvancedThreatProtection]: ...


    class azure.mgmt.sql.operations.ManagedInstanceAzureADOnlyAuthenticationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: ManagedInstanceAzureADOnlyAuthentication, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceAzureADOnlyAuthentication]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> ManagedInstanceAzureADOnlyAuthentication: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceAzureADOnlyAuthentication]: ...


    class azure.mgmt.sql.operations.ManagedInstanceDtcsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: ManagedInstanceDtc, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceDtc]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceDtc]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceDtc]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dtc_name: Union[str, DtcName], 
                **kwargs: Any
            ) -> ManagedInstanceDtc: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceDtc]: ...


    class azure.mgmt.sql.operations.ManagedInstanceEncryptionProtectorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: ManagedInstanceEncryptionProtector, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceEncryptionProtector]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceEncryptionProtector]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceEncryptionProtector]: ...

        @distributed_trace
        def begin_revalidate(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                encryption_protector_name: Union[str, EncryptionProtectorName], 
                **kwargs: Any
            ) -> ManagedInstanceEncryptionProtector: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceEncryptionProtector]: ...


    class azure.mgmt.sql.operations.ManagedInstanceKeysOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: ManagedInstanceKey, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceKey]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceKey]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceKey]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> ManagedInstanceKey: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceKey]: ...


    class azure.mgmt.sql.operations.ManagedInstanceLongTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: ManagedInstanceLongTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> LROPoller[ManagedInstanceLongTermRetentionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                policy_name: Union[str, ManagedInstanceLongTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedInstanceLongTermRetentionPolicy: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceLongTermRetentionPolicy]: ...


    class azure.mgmt.sql.operations.ManagedInstanceOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def cancel(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                operation_id: str, 
                **kwargs: Any
            ) -> ManagedInstanceOperation: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceOperation]: ...


    class azure.mgmt.sql.operations.ManagedInstancePrivateEndpointConnectionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: ManagedInstancePrivateEndpointConnection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstancePrivateEndpointConnection]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> ManagedInstancePrivateEndpointConnection: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstancePrivateEndpointConnection]: ...


    class azure.mgmt.sql.operations.ManagedInstancePrivateLinkResourcesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                group_name: str, 
                **kwargs: Any
            ) -> ManagedInstancePrivateLink: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstancePrivateLink]: ...


    class azure.mgmt.sql.operations.ManagedInstanceTdeCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: TdeCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...


    class azure.mgmt.sql.operations.ManagedInstanceVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: ManagedInstanceVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ManagedInstanceVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstanceVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.ManagedInstancesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstance, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                replica_type: Optional[Union[str, ReplicaType]] = ..., 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_reevaluate_inaccessible_database_state(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_refresh_status(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> LROPoller[RefreshExternalGovernanceStatusOperationResultMI]: ...

        @distributed_trace
        def begin_start(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @distributed_trace
        def begin_stop(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstanceUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedInstance]: ...

        @overload
        def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: ManagedInstanceValidateAzureKeyVaultEncryptionKeyRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_validate_azure_key_vault_encryption_key(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ManagedInstance: ...

        @distributed_trace
        def list(
                self, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                *, 
                aggregation_function: Optional[Union[str, AggregationFunctionType]] = ..., 
                databases: Optional[str] = ..., 
                end_time: Optional[str] = ..., 
                interval: Optional[Union[str, QueryTimeGrainType]] = ..., 
                number_of_queries: Optional[int] = ..., 
                observation_metric: Optional[Union[str, MetricType]] = ..., 
                start_time: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[TopQueries]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[ManagedInstance]: ...

        @distributed_trace
        def list_outbound_network_dependencies_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[OutboundEnvironmentEndpoint]: ...


    class azure.mgmt.sql.operations.ManagedLedgerDigestUploadsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: ManagedLedgerDigestUploads, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedLedgerDigestUploads]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedLedgerDigestUploads]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedLedgerDigestUploads]: ...

        @distributed_trace
        def begin_disable(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                **kwargs: Any
            ) -> LROPoller[ManagedLedgerDigestUploads]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                ledger_digest_uploads: Union[str, ManagedLedgerDigestUploadsName], 
                **kwargs: Any
            ) -> ManagedLedgerDigestUploads: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedLedgerDigestUploads]: ...


    class azure.mgmt.sql.operations.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: ManagedBackupShortTermRetentionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedBackupShortTermRetentionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                policy_name: Union[str, ManagedShortTermRetentionPolicyName], 
                **kwargs: Any
            ) -> ManagedBackupShortTermRetentionPolicy: ...

        @distributed_trace
        def list_by_restorable_dropped_database(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedBackupShortTermRetentionPolicy]: ...


    class azure.mgmt.sql.operations.ManagedServerDnsAliasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: ManagedServerDnsAliasAcquisition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: ManagedServerDnsAliasCreation, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerDnsAlias]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> ManagedServerDnsAlias: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedServerDnsAlias]: ...


    class azure.mgmt.sql.operations.ManagedServerSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ManagedServerSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerSecurityAlertPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerSecurityAlertPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ManagedServerSecurityAlertPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ManagedServerSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ManagedServerSecurityAlertPolicy]: ...


    class azure.mgmt.sql.operations.NetworkSecurityPerimeterConfigurationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_reconcile(
                self, 
                resource_group_name: str, 
                server_name: str, 
                nsp_config_name: str, 
                **kwargs: Any
            ) -> LROPoller[NetworkSecurityPerimeterConfiguration]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                nsp_config_name: str, 
                **kwargs: Any
            ) -> NetworkSecurityPerimeterConfiguration: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[NetworkSecurityPerimeterConfiguration]: ...


    class azure.mgmt.sql.operations.Operations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> ItemPaged[Operation]: ...


    class azure.mgmt.sql.operations.OutboundFirewallRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> LROPoller[OutboundFirewallRule]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                outbound_rule_fqdn: str, 
                **kwargs: Any
            ) -> OutboundFirewallRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[OutboundFirewallRule]: ...


    class azure.mgmt.sql.operations.PrivateEndpointConnectionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: PrivateEndpointConnection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[PrivateEndpointConnection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[PrivateEndpointConnection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[PrivateEndpointConnection]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                private_endpoint_connection_name: str, 
                **kwargs: Any
            ) -> PrivateEndpointConnection: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[PrivateEndpointConnection]: ...


    class azure.mgmt.sql.operations.PrivateLinkResourcesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                group_name: str, 
                **kwargs: Any
            ) -> PrivateLinkResource: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[PrivateLinkResource]: ...


    class azure.mgmt.sql.operations.RecommendedSensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: RecommendedSensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.RecoverableDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> RecoverableDatabase: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[RecoverableDatabase]: ...


    class azure.mgmt.sql.operations.RecoverableManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                recoverable_database_name: str, 
                **kwargs: Any
            ) -> RecoverableManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[RecoverableManagedDatabase]: ...


    class azure.mgmt.sql.operations.ReplicationLinksOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: ReplicationLink, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_failover(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @distributed_trace
        def begin_failover_allow_data_loss(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: ReplicationLinkUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ReplicationLink]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                link_id: str, 
                **kwargs: Any
            ) -> ReplicationLink: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ReplicationLink]: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ReplicationLink]: ...


    class azure.mgmt.sql.operations.RestorableDroppedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                restorable_dropped_database_id: str, 
                *, 
                expand: Optional[str] = ..., 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> RestorableDroppedDatabase: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[RestorableDroppedDatabase]: ...


    class azure.mgmt.sql.operations.RestorableDroppedManagedDatabasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                restorable_dropped_database_id: str, 
                **kwargs: Any
            ) -> RestorableDroppedManagedDatabase: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[RestorableDroppedManagedDatabase]: ...


    class azure.mgmt.sql.operations.RestorePointsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: CreateDatabaseRestorePointDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[RestorePoint]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[RestorePoint]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[RestorePoint]: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                restore_point_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                restore_point_name: str, 
                **kwargs: Any
            ) -> RestorePoint: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[RestorePoint]: ...


    class azure.mgmt.sql.operations.SensitivityLabelsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: SensitivityLabel, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def disable_recommendation(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def enable_recommendation(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                schema_name: str, 
                table_name: str, 
                column_name: str, 
                sensitivity_label_source: Union[str, SensitivityLabelSource], 
                **kwargs: Any
            ) -> SensitivityLabel: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_current_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                count: Optional[bool] = ..., 
                filter: Optional[str] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @distributed_trace
        def list_recommended_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                *, 
                filter: Optional[str] = ..., 
                include_disabled_recommendations: Optional[bool] = ..., 
                skip_token: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[SensitivityLabel]: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: SensitivityLabelUpdateList, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.ServerAdvancedThreatProtectionSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: ServerAdvancedThreatProtection, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAdvancedThreatProtection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAdvancedThreatProtection]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAdvancedThreatProtection]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advanced_threat_protection_name: Union[str, AdvancedThreatProtectionName], 
                **kwargs: Any
            ) -> ServerAdvancedThreatProtection: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerAdvancedThreatProtection]: ...


    class azure.mgmt.sql.operations.ServerAdvisorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                **kwargs: Any
            ) -> Advisor: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> List[Advisor]: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: Advisor, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                advisor_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> Advisor: ...


    class azure.mgmt.sql.operations.ServerAutomaticTuningOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerAutomaticTuning, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...

        @overload
        def update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerAutomaticTuning: ...


    class azure.mgmt.sql.operations.ServerAzureADAdministratorsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: ServerAzureADAdministrator, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADAdministrator]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADAdministrator]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADAdministrator]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                administrator_name: Union[str, AdministratorName], 
                **kwargs: Any
            ) -> ServerAzureADAdministrator: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerAzureADAdministrator]: ...


    class azure.mgmt.sql.operations.ServerAzureADOnlyAuthenticationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: ServerAzureADOnlyAuthentication, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADOnlyAuthentication]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADOnlyAuthentication]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerAzureADOnlyAuthentication]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                authentication_name: Union[str, AuthenticationName], 
                **kwargs: Any
            ) -> ServerAzureADOnlyAuthentication: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerAzureADOnlyAuthentication]: ...


    class azure.mgmt.sql.operations.ServerBlobAuditingPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerBlobAuditingPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerBlobAuditingPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerBlobAuditingPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerBlobAuditingPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ServerBlobAuditingPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerBlobAuditingPolicy]: ...


    class azure.mgmt.sql.operations.ServerConfigurationOptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: ServerConfigurationOption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConfigurationOption]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConfigurationOption]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConfigurationOption]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                server_configuration_option_name: Union[str, ServerConfigurationOptionName], 
                **kwargs: Any
            ) -> ServerConfigurationOption: ...

        @distributed_trace
        def list_by_managed_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerConfigurationOption]: ...


    class azure.mgmt.sql.operations.ServerConnectionPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: ServerConnectionPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConnectionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConnectionPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerConnectionPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                connection_policy_name: Union[str, ConnectionPolicyName], 
                **kwargs: Any
            ) -> ServerConnectionPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerConnectionPolicy]: ...


    class azure.mgmt.sql.operations.ServerDevOpsAuditSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: ServerDevOpsAuditingSettings, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDevOpsAuditingSettings]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDevOpsAuditingSettings]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDevOpsAuditingSettings]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dev_ops_auditing_settings_name: Union[str, DevOpsAuditingSettingsName], 
                **kwargs: Any
            ) -> ServerDevOpsAuditingSettings: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerDevOpsAuditingSettings]: ...


    class azure.mgmt.sql.operations.ServerDnsAliasesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: ServerDnsAliasAcquisition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDnsAlias]: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDnsAlias]: ...

        @overload
        def begin_acquire(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerDnsAlias]: ...

        @distributed_trace
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> LROPoller[ServerDnsAlias]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                dns_alias_name: str, 
                **kwargs: Any
            ) -> ServerDnsAlias: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerDnsAlias]: ...


    class azure.mgmt.sql.operations.ServerKeysOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: ServerKey, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerKey]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerKey]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerKey]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                key_name: str, 
                **kwargs: Any
            ) -> ServerKey: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerKey]: ...


    class azure.mgmt.sql.operations.ServerOperationsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerOperation]: ...


    class azure.mgmt.sql.operations.ServerSecurityAlertPoliciesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: ServerSecurityAlertPolicy, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerSecurityAlertPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerSecurityAlertPolicy]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerSecurityAlertPolicy]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                security_alert_policy_name: Union[str, SecurityAlertPolicyName], 
                **kwargs: Any
            ) -> ServerSecurityAlertPolicy: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerSecurityAlertPolicy]: ...


    class azure.mgmt.sql.operations.ServerTrustCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: ServerTrustCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustCertificate]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustCertificate]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustCertificate]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                certificate_name: str, 
                **kwargs: Any
            ) -> ServerTrustCertificate: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerTrustCertificate]: ...


    class azure.mgmt.sql.operations.ServerTrustGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: ServerTrustGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ServerTrustGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                location_name: str, 
                server_trust_group_name: str, 
                **kwargs: Any
            ) -> ServerTrustGroup: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerTrustGroup]: ...

        @distributed_trace
        def list_by_location(
                self, 
                resource_group_name: str, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerTrustGroup]: ...


    class azure.mgmt.sql.operations.ServerUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerUsage]: ...


    class azure.mgmt.sql.operations.ServerVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: ServerVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ServerVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[ServerVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.ServersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: Server, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ImportNewDatabaseDefinition, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @overload
        def begin_import_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[ImportExportOperationResult]: ...

        @distributed_trace
        def begin_refresh_status(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> LROPoller[RefreshExternalGovernanceStatusOperationResult]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: ServerUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[Server]: ...

        @overload
        def check_name_availability(
                self, 
                parameters: CheckNameAvailabilityRequest, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @overload
        def check_name_availability(
                self, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @overload
        def check_name_availability(
                self, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> CheckNameAvailabilityResponse: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> Server: ...

        @distributed_trace
        def list(
                self, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[Server]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                *, 
                expand: Optional[str] = ..., 
                **kwargs: Any
            ) -> ItemPaged[Server]: ...


    class azure.mgmt.sql.operations.SqlAgentOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: SqlAgentConfiguration, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> SqlAgentConfiguration: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentBaselineOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessment(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSqlVulnerabilityAssessmentBaselineSet]: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentBaselineSet: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentExecuteScanOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def begin_execute(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> LROPoller[None]: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentRuleBaselineOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: DatabaseSqlVulnerabilityAssessmentRuleBaselineInput, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> DatabaseSqlVulnerabilityAssessmentRuleBaseline: ...

        @distributed_trace
        def list_by_baseline(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                **kwargs: Any
            ) -> ItemPaged[DatabaseSqlVulnerabilityAssessmentRuleBaseline]: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentRuleBaselinesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                baseline_name: Union[str, BaselineName], 
                rule_id: str, 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentScanResultOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                scan_result_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanResults: ...

        @distributed_trace
        def list_by_scan(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessmentScanResults]: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentScansOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                scan_id: str, 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessmentScanRecord: ...

        @distributed_trace
        def list_by_sql_vulnerability_assessments(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessmentScanRecord]: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.SqlVulnerabilityAssessmentsSettingsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: SqlVulnerabilityAssessment, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, VulnerabilityAssessmentName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                vulnerability_assessment_name: Union[str, SqlVulnerabilityAssessmentName], 
                **kwargs: Any
            ) -> SqlVulnerabilityAssessment: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SqlVulnerabilityAssessment]: ...


    class azure.mgmt.sql.operations.StartStopManagedInstanceSchedulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: StartStopManagedInstanceSchedule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @overload
        def create_or_update(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @distributed_trace
        def delete(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                start_stop_schedule_name: Union[str, StartStopScheduleName], 
                **kwargs: Any
            ) -> StartStopManagedInstanceSchedule: ...

        @distributed_trace
        def list_by_instance(
                self, 
                resource_group_name: str, 
                managed_instance_name: str, 
                **kwargs: Any
            ) -> ItemPaged[StartStopManagedInstanceSchedule]: ...


    class azure.mgmt.sql.operations.SubscriptionUsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                location_name: str, 
                usage_name: str, 
                **kwargs: Any
            ) -> SubscriptionUsage: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SubscriptionUsage]: ...


    class azure.mgmt.sql.operations.SynapseLinkWorkspacesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SynapseLinkWorkspace]: ...


    class azure.mgmt.sql.operations.SyncAgentsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: SyncAgent, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncAgent]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncAgent]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncAgent]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def generate_key(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> SyncAgentKeyProperties: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> SyncAgent: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncAgent]: ...

        @distributed_trace
        def list_linked_databases(
                self, 
                resource_group_name: str, 
                server_name: str, 
                sync_agent_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncAgentLinkedDatabase]: ...


    class azure.mgmt.sql.operations.SyncGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: SyncGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_refresh_hub_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: SyncGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncGroup]: ...

        @distributed_trace
        def cancel_sync(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> SyncGroup: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncGroup]: ...

        @distributed_trace
        def list_hub_schemas(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncFullSchemaProperties]: ...

        @distributed_trace
        def list_logs(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                *, 
                continuation_token_parameter: Optional[str] = ..., 
                end_time: str, 
                start_time: str, 
                type: Union[str, SyncGroupsType], 
                **kwargs: Any
            ) -> ItemPaged[SyncGroupLogProperties]: ...

        @distributed_trace
        def list_sync_database_ids(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncDatabaseIdProperties]: ...

        @distributed_trace
        def trigger_sync(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> None: ...


    class azure.mgmt.sql.operations.SyncMembersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: SyncMember, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def begin_refresh_member_schema(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: SyncMember, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[SyncMember]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> SyncMember: ...

        @distributed_trace
        def list_by_sync_group(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncMember]: ...

        @distributed_trace
        def list_member_schemas(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                sync_group_name: str, 
                sync_member_name: str, 
                **kwargs: Any
            ) -> ItemPaged[SyncFullSchemaProperties]: ...


    class azure.mgmt.sql.operations.TdeCertificatesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: TdeCertificate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_create(
                self, 
                resource_group_name: str, 
                server_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[None]: ...


    class azure.mgmt.sql.operations.TimeZonesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def get(
                self, 
                location_name: str, 
                time_zone_id: str, 
                **kwargs: Any
            ) -> TimeZone: ...

        @distributed_trace
        def list_by_location(
                self, 
                location_name: str, 
                **kwargs: Any
            ) -> ItemPaged[TimeZone]: ...


    class azure.mgmt.sql.operations.TransparentDataEncryptionsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: LogicalDatabaseTransparentDataEncryption, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace
        def begin_resume(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> LROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace
        def begin_suspend(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> LROPoller[LogicalDatabaseTransparentDataEncryption]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                tde_name: Union[str, TransparentDataEncryptionName], 
                **kwargs: Any
            ) -> LogicalDatabaseTransparentDataEncryption: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[LogicalDatabaseTransparentDataEncryption]: ...


    class azure.mgmt.sql.operations.UsagesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @distributed_trace
        def list_by_instance_pool(
                self, 
                resource_group_name: str, 
                instance_pool_name: str, 
                *, 
                expand_children: Optional[bool] = ..., 
                **kwargs: Any
            ) -> ItemPaged[Usage]: ...


    class azure.mgmt.sql.operations.VirtualClustersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: VirtualCluster, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: VirtualClusterUpdate, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @overload
        def begin_update(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualCluster]: ...

        @distributed_trace
        def begin_update_dns_servers(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> LROPoller[UpdateVirtualClusterDnsServersOperation]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                virtual_cluster_name: str, 
                **kwargs: Any
            ) -> VirtualCluster: ...

        @distributed_trace
        def list(self, **kwargs: Any) -> ItemPaged[VirtualCluster]: ...

        @distributed_trace
        def list_by_resource_group(
                self, 
                resource_group_name: str, 
                **kwargs: Any
            ) -> ItemPaged[VirtualCluster]: ...


    class azure.mgmt.sql.operations.VirtualNetworkRulesOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: VirtualNetworkRule, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualNetworkRule]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualNetworkRule]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[VirtualNetworkRule]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                virtual_network_rule_name: str, 
                **kwargs: Any
            ) -> VirtualNetworkRule: ...

        @distributed_trace
        def list_by_server(
                self, 
                resource_group_name: str, 
                server_name: str, 
                **kwargs: Any
            ) -> ItemPaged[VirtualNetworkRule]: ...


    class azure.mgmt.sql.operations.WorkloadClassifiersOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: WorkloadClassifier, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadClassifier]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadClassifier]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadClassifier]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                workload_classifier_name: str, 
                **kwargs: Any
            ) -> WorkloadClassifier: ...

        @distributed_trace
        def list_by_workload_group(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> ItemPaged[WorkloadClassifier]: ...


    class azure.mgmt.sql.operations.WorkloadGroupsOperations:

        def __init__(
                self, 
                *args, 
                **kwargs
            ) -> None: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: WorkloadGroup, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: JSON, 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadGroup]: ...

        @overload
        def begin_create_or_update(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                parameters: IO[bytes], 
                *, 
                content_type: str = "application/json", 
                **kwargs: Any
            ) -> LROPoller[WorkloadGroup]: ...

        @distributed_trace
        def begin_delete(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> LROPoller[None]: ...

        @distributed_trace
        def get(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                workload_group_name: str, 
                **kwargs: Any
            ) -> WorkloadGroup: ...

        @distributed_trace
        def list_by_database(
                self, 
                resource_group_name: str, 
                server_name: str, 
                database_name: str, 
                **kwargs: Any
            ) -> ItemPaged[WorkloadGroup]: ...


```