from ._version import __version__
from .api.api import ApiResult, api_request
from .api.auth import clear_token_cache, set_auth_provider
from .cd.support_files import create_support_files
from .core.capacities import get_capacity_id, list_capacities, resolve_capacity
from .core.connections import (
    add_connection_role_assignment,
    bind_semantic_model_connection,
    create_adlsgen2_connection_with_service_principal_credentials,
    create_github_source_control_connection,
    create_sql_cloud_connection,
    create_sql_on_premises_connection,
    delete_connection,
    delete_connection_role_assignment,
    get_connection,
    get_connection_id,
    get_connection_role_assignment,
    list_connection_role_assignments,
    list_connections,
    resolve_connection,
    update_connection_role_assignment,
)
from .core.deployment_pipelines import (
    add_deployment_pipeline_role_assignment,
    assign_workspace_to_stage,
    create_deployment_pipeline,
    delete_deployment_pipeline,
    delete_deployment_pipeline_role_assignment,
    deploy_stage_content,
    get_deployment_pipeline,
    get_deployment_pipeline_id,
    get_deployment_pipeline_operation,
    list_deployment_pipeline_operations,
    list_deployment_pipeline_role_assignments,
    list_deployment_pipelines,
    resolve_deployment_pipeline,
    resolve_deployment_pipeline_stage,
    unassign_workspace_to_stage,
    update_deployment_pipeline,
    update_deployment_pipeline_stage,
)
from .core.domains import (
    assign_domain_workspaces_by_capacities,
    assign_domain_workspaces_by_ids,
    assign_domain_workspaces_by_principals,
    create_domain,
    delete_domain,
    domain_role_assignments_bulk_assign,
    domain_role_assignments_bulk_unassign,
    domain_sync_role_assignments_to_subdomain,
    get_domain,
    get_domain_id,
    list_domain_role_assignments,
    list_domain_workspaces,
    list_domains,
    resolve_domain,
    unassign_all_domain_workspaces,
    unassign_domain_workspaces_by_ids,
    update_domain,
)
from .core.folders import (
    create_folder,
    delete_folder,
    get_folder,
    get_folder_id,
    list_folders,
    move_folder,
    resolve_folder,
    update_folder,
)
from .core.gateways import (
    get_gateway,
    get_gateway_id,
    get_gateway_public_key,
    list_gateways,
    resolve_gateway,
)
from .core.git import (
    ado_connect,
    commit_to_git,
    get_git_connection,
    get_my_git_credentials,
    git_disconnect,
    git_init,
    git_status,
    github_connect,
    update_from_git,
    update_my_git_connection,
)
from .core.tags import (
    bulk_create_tags,
    delete_tag,
    get_tag_id,
    list_tags,
    resolve_tag,
    update_tag,
)
from .core.workspaces import (
    add_workspace_role_assignment,
    assign_to_capacity,
    create_workspace,
    delete_workspace,
    delete_workspace_role_assignment,
    get_workspace,
    get_workspace_id,
    get_workspace_role_assignment,
    list_workspace_role_assignments,
    list_workspaces,
    resolve_workspace,
    unassign_from_capacity,
    update_workspace,
    update_workspace_role_assignment,
)
from .dmv.dmv import (
    dmv_fetch_partitions_enriched,
    dmv_fetch_partitions_raw,
    dmv_fetch_tables_raw,
    evaluate_dmv_queries,
    import_pyadomd,
    set_dmv_connection_string_spn,
    set_dmv_connection_string_user,
)
from .graph.users import (
    get_app_registration_id,
    get_app_registration_name,
    get_security_group_id,
    get_security_group_name,
    get_service_principal_id,
    get_service_principal_name,
    get_user_email,
    get_user_id,
)
from .helpers.data_pipelines import (
    deploy_all_data_pipelines,
    deploy_data_pipeline,
    export_all_data_pipelines,
    export_data_pipeline,
    extract_data_pipeline_variables,
    get_all_data_pipelines_config,
    get_data_pipeline_config,
    replace_data_pipeline_placeholders_with_variables,
    replace_data_pipeline_variables_with_placeholders,
)
from .helpers.dataflows_gen1 import (
    deploy_all_dataflows_gen1,
    deploy_dataflow_gen1,
    export_all_dataflows_gen1,
    export_dataflow_gen1,
    get_all_dataflows_gen1_config,
    get_dataflow_gen1_config,
)
from .helpers.dataflows_gen2 import (
    deploy_all_dataflows_gen2,
    deploy_dataflow_gen2,
    export_all_dataflows_gen2,
    export_dataflow_gen2,
    extract_dataflow_gen2_variables,
    get_all_dataflows_gen2_config,
    get_dataflow_gen2_config,
    replace_dataflow_gen2_placeholders_with_parameters,
    replace_dataflow_gen2_variables_with_placeholders,
)
from .helpers.environments import (
    add_environment_external_library_from_pypi,
    deploy_all_environments,
    deploy_environment,
    export_all_environments,
    export_environment,
    get_all_environments_config,
    get_environment_config,
)
from .helpers.folders import (
    create_folders_from_path_string,
    deploy_folders,
    export_folders,
    generate_folders_paths,
    get_folders_config,
    get_folders_paths,
    resolve_folder_from_id_to_path,
)
from .helpers.items import (
    deploy_all_items,
    deploy_item,
    export_all_items,
    export_item,
)
from .helpers.lakehouses import (
    export_all_lakehouses,
    export_lakehouse,
    generate_lakehouse_shortcuts_metadata,
    get_all_lakehouses_config,
    get_lakehouse_config,
    list_valid_lakehouses,
    save_lakehouse_shortcuts_metadata,
)
from .helpers.notebooks import (
    deploy_all_notebooks,
    deploy_notebook,
    export_all_notebooks,
    export_notebook,
    extract_notebook_parameters,
    get_all_notebooks_config,
    get_notebook_config,
    replace_notebook_parameters_with_placeholders,
    replace_notebook_placeholders_with_parameters,
)
from .helpers.reports import (
    convert_report_definition_to_by_connection,
    convert_report_definition_to_by_path,
    deploy_all_reports,
    deploy_report,
    export_all_reports,
    export_report,
    extract_report_definition_pbir,
    get_all_reports_config,
    get_report_config,
)
from .helpers.semantic_models import (
    bind_semantic_model_to_gateway,
    deploy_all_semantic_models,
    deploy_semantic_model,
    execute_queries,
    export_all_semantic_models,
    export_semantic_model,
    extract_tmdl_parameters_from_semantic_model,
    get_all_semantic_models_config,
    get_semantic_model_config,
    get_semantic_model_refresh_details,
    get_semantic_model_refreshes,
    list_valid_semantic_models,
    refresh_semantic_model,
    replace_semantic_model_parameters_with_placeholders,
    replace_semantic_model_placeholders_with_parameters,
)
from .helpers.warehouses import (
    export_all_warehouses,
    export_warehouse,
    get_all_warehouses_config,
    get_warehouse_config,
    list_valid_warehouses,
)
from .helpers.workspaces import get_workspace_config
from .items.data_pipelines import (
    create_data_pipeline,
    delete_data_pipeline,
    get_data_pipeline,
    get_data_pipeline_definition,
    get_data_pipeline_id,
    list_data_pipelines,
    resolve_data_pipeline,
    update_data_pipeline,
    update_data_pipeline_definition,
)
from .items.dataflows_gen1 import (
    create_dataflow_gen1,
    delete_dataflow_gen1,
    get_dataflow_gen1,
    get_dataflow_gen1_definition,
    get_dataflow_gen1_id,
    get_dataflow_gen1_transactions,
    get_dataflows_gen1_datasources,
    list_dataflows_gen1,
    refresh_dataflow_gen1,
    resolve_dataflow_gen1,
    takeover_dataflow_gen1,
    update_dataflow_gen1,
    update_dataflow_gen1_definition,
)
from .items.dataflows_gen2 import (
    create_dataflow_gen2,
    delete_dataflow_gen2,
    get_dataflow_gen2,
    get_dataflow_gen2_definition,
    get_dataflow_gen2_id,
    list_dataflows_gen2,
    resolve_dataflow_gen2,
    update_dataflow_gen2,
    update_dataflow_gen2_definition,
)
from .items.environments import (
    create_environment,
    delete_environment,
    export_environment_external_libraries,
    get_environment,
    get_environment_definition,
    get_environment_id,
    get_environment_spark_compute,
    import_environment_external_libraries,
    list_environments,
    publish_environment,
    resolve_environment,
    update_environment,
    update_environment_definition,
    update_environment_spark_compute,
)
from .items.items import (
    create_item,
    delete_item,
    get_item,
    get_item_definition,
    get_item_id,
    list_items,
    resolve_item,
    update_item,
    update_item_definition,
)
from .items.lakehouses import (
    create_lakehouse,
    delete_lakehouse,
    get_lakehouse,
    get_lakehouse_id,
    list_lakehouses,
    resolve_lakehouse,
    update_lakehouse,
)
from .items.notebooks import (
    create_notebook,
    delete_notebook,
    get_notebook,
    get_notebook_definition,
    get_notebook_id,
    list_notebooks,
    resolve_notebook,
    update_notebook,
    update_notebook_definition,
)
from .items.reports import (
    create_report,
    delete_report,
    get_report,
    get_report_definition,
    get_report_id,
    list_reports,
    resolve_report,
    update_report,
    update_report_definition,
)
from .items.semantic_models import (
    create_semantic_model,
    delete_semantic_model,
    get_semantic_model,
    get_semantic_model_definition,
    get_semantic_model_id,
    list_semantic_models,
    resolve_semantic_model,
    update_semantic_model,
    update_semantic_model_definition,
)
from .items.shortcuts import (
    create_shortcut,
    delete_shortcut,
    get_shortcut,
    list_shortcuts,
)
from .items.spark import (
    create_workspace_custom_pool,
    delete_workspace_custom_pool,
    get_workspace_custom_pool,
    get_workspace_custom_pool_id,
    get_workspace_spark_settings,
    list_workspace_custom_pools,
    resolve_workspace_custom_pool,
    update_workspace_custom_pool,
    update_workspace_spark_settings,
)
from .items.variable_libraries import (
    create_variable_library,
    delete_variable_library,
    get_variable_library,
    get_variable_library_definition,
    get_variable_library_id,
    list_variable_libraries,
    resolve_variable_library,
    update_variable_library,
    update_variable_library_definition,
)
from .items.warehouses import (
    create_warehouse,
    delete_warehouse,
    get_warehouse,
    get_warehouse_id,
    list_warehouses,
    resolve_warehouse,
    update_warehouse,
)
from .utils.decorators import df
from .utils.exceptions import (
    AuthenticationError,
    ConfigurationError,
    FileNotFoundError,
    InvalidParameterError,
    OptionNotAvailableError,
    PyFabricOpsError,
    RequestError,
    ResourceNotFoundError,
)
from .utils.logging import (
    SUCCESS_LEVEL,
    PyFabricOpsFilter,
    PyFabricOpsFormatter,
    disable_logging,
    enable_debug_mode,
    get_logger,
    reset_logging,
    setup_logging,
)
from .utils.utils import (
    copy_to_staging,
    dataframe_to_list,
    delete_path,
    extract_display_name_from_platform,
    extract_middle_path,
    find_and_replace,
    get_current_branch,
    get_root_path,
    get_workspace_suffix,
    is_valid_uuid,
    json_to_df,
    list_paths_of_type,
    load_and_sanitize,
    pack_item_definition,
    parse_definition_report,
    parse_tmdl_parameters,
    read_json,
    unpack_item_definition,
    write_json,
    write_single_line_json,
)

__all__ = [
    'ApiResult',
    'AuthenticationError',
    'ConfigurationError',
    'FileNotFoundError',
    'InvalidParameterError',
    'OptionNotAvailableError',
    'PyFabricOpsError',
    'PyFabricOpsFilter',
    'PyFabricOpsFormatter',
    'RequestError',
    'ResourceNotFoundError',
    'SUCCESS_LEVEL',
    'add_connection_role_assignment',
    'add_deployment_pipeline_role_assignment',
    'add_environment_external_library_from_pypi',
    'add_workspace_role_assignment',
    'ado_connect',
    'api_request',
    'assign_domain_workspaces_by_capacities',
    'assign_domain_workspaces_by_ids',
    'assign_domain_workspaces_by_principals',
    'assign_to_capacity',
    'assign_workspace_to_stage',
    'bind_semantic_model_connection',
    'bind_semantic_model_to_gateway',
    'bulk_create_tags',
    'clear_token_cache',
    'commit_to_git',
    'convert_report_definition_to_by_connection',
    'convert_report_definition_to_by_path',
    'copy_to_staging',
    'create_adlsgen2_connection_with_service_principal_credentials',
    'create_data_pipeline',
    'create_dataflow_gen1',
    'create_dataflow_gen2',
    'create_deployment_pipeline',
    'create_domain',
    'create_environment',
    'create_folder',
    'create_folders_from_path_string',
    'create_github_source_control_connection',
    'create_item',
    'create_lakehouse',
    'create_notebook',
    'create_report',
    'create_semantic_model',
    'create_shortcut',
    'create_sql_cloud_connection',
    'create_sql_on_premises_connection',
    'create_support_files',
    'create_variable_library',
    'create_warehouse',
    'create_workspace',
    'create_workspace_custom_pool',
    'dataframe_to_list',
    'delete_connection',
    'delete_connection_role_assignment',
    'delete_data_pipeline',
    'delete_dataflow_gen1',
    'delete_dataflow_gen2',
    'delete_deployment_pipeline',
    'delete_deployment_pipeline_role_assignment',
    'delete_domain',
    'delete_environment',
    'delete_folder',
    'delete_item',
    'delete_lakehouse',
    'delete_notebook',
    'delete_path',
    'delete_report',
    'delete_semantic_model',
    'delete_shortcut',
    'delete_tag',
    'delete_variable_library',
    'delete_warehouse',
    'delete_workspace',
    'delete_workspace_custom_pool',
    'delete_workspace_role_assignment',
    'deploy_all_data_pipelines',
    'deploy_all_dataflows_gen1',
    'deploy_all_dataflows_gen2',
    'deploy_all_environments',
    'deploy_all_items',
    'deploy_all_notebooks',
    'deploy_all_reports',
    'deploy_all_semantic_models',
    'deploy_data_pipeline',
    'deploy_dataflow_gen1',
    'deploy_dataflow_gen2',
    'deploy_environment',
    'deploy_folders',
    'deploy_item',
    'deploy_notebook',
    'deploy_report',
    'deploy_semantic_model',
    'deploy_stage_content',
    'df',
    'disable_logging',
    'dmv_fetch_partitions_enriched',
    'dmv_fetch_partitions_raw',
    'dmv_fetch_tables_raw',
    'domain_role_assignments_bulk_assign',
    'domain_role_assignments_bulk_unassign',
    'domain_sync_role_assignments_to_subdomain',
    'enable_debug_mode',
    'evaluate_dmv_queries',
    'execute_queries',
    'export_all_data_pipelines',
    'export_all_dataflows_gen1',
    'export_all_dataflows_gen2',
    'export_all_environments',
    'export_all_items',
    'export_all_lakehouses',
    'export_all_notebooks',
    'export_all_reports',
    'export_all_semantic_models',
    'export_all_warehouses',
    'export_data_pipeline',
    'export_dataflow_gen1',
    'export_dataflow_gen2',
    'export_environment',
    'export_environment_external_libraries',
    'export_folders',
    'export_item',
    'export_lakehouse',
    'export_notebook',
    'export_report',
    'export_semantic_model',
    'export_warehouse',
    'extract_data_pipeline_variables',
    'extract_dataflow_gen2_variables',
    'extract_display_name_from_platform',
    'extract_middle_path',
    'extract_notebook_parameters',
    'extract_report_definition_pbir',
    'extract_tmdl_parameters_from_semantic_model',
    'find_and_replace',
    'generate_folders_paths',
    'generate_lakehouse_shortcuts_metadata',
    'get_all_data_pipelines_config',
    'get_all_dataflows_gen1_config',
    'get_all_dataflows_gen2_config',
    'get_all_environments_config',
    'get_all_lakehouses_config',
    'get_all_notebooks_config',
    'get_all_reports_config',
    'get_all_semantic_models_config',
    'get_all_warehouses_config',
    'get_app_registration_id',
    'get_app_registration_name',
    'get_capacity_id',
    'get_connection',
    'get_connection_id',
    'get_connection_role_assignment',
    'get_current_branch',
    'get_data_pipeline',
    'get_data_pipeline_config',
    'get_data_pipeline_definition',
    'get_data_pipeline_id',
    'get_dataflow_gen1',
    'get_dataflow_gen1_config',
    'get_dataflow_gen1_definition',
    'get_dataflow_gen1_id',
    'get_dataflow_gen1_transactions',
    'get_dataflow_gen2',
    'get_dataflow_gen2_config',
    'get_dataflow_gen2_definition',
    'get_dataflow_gen2_id',
    'get_dataflows_gen1_datasources',
    'get_deployment_pipeline',
    'get_deployment_pipeline_id',
    'get_deployment_pipeline_operation',
    'get_domain',
    'get_domain_id',
    'get_environment',
    'get_environment_config',
    'get_environment_definition',
    'get_environment_id',
    'get_environment_spark_compute',
    'get_folder',
    'get_folder_id',
    'get_folders_config',
    'get_folders_paths',
    'get_gateway',
    'get_gateway_id',
    'get_gateway_public_key',
    'get_git_connection',
    'get_item',
    'get_item_definition',
    'get_item_id',
    'get_lakehouse',
    'get_lakehouse_config',
    'get_lakehouse_id',
    'get_logger',
    'get_my_git_credentials',
    'get_notebook',
    'get_notebook_config',
    'get_notebook_definition',
    'get_notebook_id',
    'get_report',
    'get_report_config',
    'get_report_definition',
    'get_report_id',
    'get_root_path',
    'get_security_group_id',
    'get_security_group_name',
    'get_semantic_model',
    'get_semantic_model_config',
    'get_semantic_model_definition',
    'get_semantic_model_id',
    'get_semantic_model_refresh_details',
    'get_semantic_model_refreshes',
    'get_service_principal_id',
    'get_service_principal_name',
    'get_shortcut',
    'get_tag_id',
    'get_user_email',
    'get_user_id',
    'get_variable_library',
    'get_variable_library_definition',
    'get_variable_library_id',
    'get_warehouse',
    'get_warehouse_config',
    'get_warehouse_id',
    'get_workspace',
    'get_workspace_config',
    'get_workspace_custom_pool',
    'get_workspace_custom_pool_id',
    'get_workspace_id',
    'get_workspace_role_assignment',
    'get_workspace_spark_settings',
    'get_workspace_suffix',
    'git_disconnect',
    'git_init',
    'git_status',
    'github_connect',
    'import_environment_external_libraries',
    'import_pyadomd',
    'is_valid_uuid',
    'json_to_df',
    'list_capacities',
    'list_connection_role_assignments',
    'list_connections',
    'list_data_pipelines',
    'list_dataflows_gen1',
    'list_dataflows_gen2',
    'list_deployment_pipeline_operations',
    'list_deployment_pipeline_role_assignments',
    'list_deployment_pipelines',
    'list_domain_role_assignments',
    'list_domain_workspaces',
    'list_domains',
    'list_environments',
    'list_folders',
    'list_gateways',
    'list_items',
    'list_lakehouses',
    'list_notebooks',
    'list_paths_of_type',
    'list_reports',
    'list_semantic_models',
    'list_shortcuts',
    'list_tags',
    'list_valid_lakehouses',
    'list_valid_semantic_models',
    'list_valid_warehouses',
    'list_variable_libraries',
    'list_warehouses',
    'list_workspace_custom_pools',
    'list_workspace_role_assignments',
    'list_workspaces',
    'load_and_sanitize',
    'move_folder',
    'pack_item_definition',
    'parse_definition_report',
    'parse_tmdl_parameters',
    'publish_environment',
    'read_json',
    'refresh_dataflow_gen1',
    'refresh_semantic_model',
    'replace_data_pipeline_placeholders_with_variables',
    'replace_data_pipeline_variables_with_placeholders',
    'replace_dataflow_gen2_placeholders_with_parameters',
    'replace_dataflow_gen2_variables_with_placeholders',
    'replace_notebook_parameters_with_placeholders',
    'replace_notebook_placeholders_with_parameters',
    'replace_semantic_model_parameters_with_placeholders',
    'replace_semantic_model_placeholders_with_parameters',
    'reset_logging',
    'resolve_capacity',
    'resolve_connection',
    'resolve_data_pipeline',
    'resolve_dataflow_gen1',
    'resolve_dataflow_gen2',
    'resolve_deployment_pipeline',
    'resolve_deployment_pipeline_stage',
    'resolve_domain',
    'resolve_environment',
    'resolve_folder',
    'resolve_folder_from_id_to_path',
    'resolve_gateway',
    'resolve_item',
    'resolve_lakehouse',
    'resolve_notebook',
    'resolve_report',
    'resolve_semantic_model',
    'resolve_tag',
    'resolve_variable_library',
    'resolve_warehouse',
    'resolve_workspace',
    'resolve_workspace_custom_pool',
    'save_lakehouse_shortcuts_metadata',
    'set_auth_provider',
    'set_dmv_connection_string_spn',
    'set_dmv_connection_string_user',
    'setup_logging',
    'takeover_dataflow_gen1',
    'unassign_all_domain_workspaces',
    'unassign_domain_workspaces_by_ids',
    'unassign_from_capacity',
    'unassign_workspace_to_stage',
    'unpack_item_definition',
    'update_connection_role_assignment',
    'update_data_pipeline',
    'update_data_pipeline_definition',
    'update_dataflow_gen1',
    'update_dataflow_gen1_definition',
    'update_dataflow_gen2',
    'update_dataflow_gen2_definition',
    'update_deployment_pipeline',
    'update_deployment_pipeline_stage',
    'update_domain',
    'update_environment',
    'update_environment_definition',
    'update_environment_spark_compute',
    'update_folder',
    'update_from_git',
    'update_item',
    'update_item_definition',
    'update_lakehouse',
    'update_my_git_connection',
    'update_notebook',
    'update_notebook_definition',
    'update_report',
    'update_report_definition',
    'update_semantic_model',
    'update_semantic_model_definition',
    'update_tag',
    'update_variable_library',
    'update_variable_library_definition',
    'update_warehouse',
    'update_workspace',
    'update_workspace_custom_pool',
    'update_workspace_role_assignment',
    'update_workspace_spark_settings',
    'write_json',
    'write_single_line_json',
]
