streamsets 6.5.0__tar.gz → 6.6.0.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/PKG-INFO +1 -1
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/__version__.py +1 -1
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sch.py +227 -53
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sch_api.py +193 -25
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sch_models.py +296 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/PKG-INFO +1 -1
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/SOURCES.txt +3 -0
- streamsets-6.6.0.dev0/tests/integration/test_projects.py +93 -0
- streamsets-6.6.0.dev0/tests/unit/resources/projects.py +5 -0
- streamsets-6.6.0.dev0/tests/unit/test_projects.py +196 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/.gitignore +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/Dockerfile +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/HISTORY.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/MANIFEST.in +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/Makefile +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/README.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/build_requirements.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/TopologyMissingNodes.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/TopologyMultipleJobsSingleSystem.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/TopologyRestoredNodes.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/add_snowflake_credentials.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/click_snowflake_settings.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/css/docs_theme.css +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/dev_data_generator_to_trash.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/dev_data_generator_to_two_trashes.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/dev_data_generator_with_events.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/dev_raw_data_source_help.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/dev_raw_data_to_trash.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/favicon.ico +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/file_tail_to_two_trashes.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/full-ibm-streamsets-logo.svg +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/add_frag_to_pipeline.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/connect_event_lane.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/delete_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/edit_configuration.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/error_records_configuration.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/error_records_main.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/existing_pipelines.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/fragment_canvas.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/fragment_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/multi_output_stages_complete.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/multi_output_stages_incomplete.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/pipeline_canvas.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/pipeline_check_in.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/pipeline_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/pipelines_using_fragment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/produce_events.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/remove_stage.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/selector_four_conditions.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/snowflake_required_parameters.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/stages_unconnected.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/stages_with_different_types.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/build/update_pipeline_with_frag.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/permissions/add_new_permissions.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/permissions/change_owner.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/permissions/delete_permissions.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/permissions/share_button.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/permissions/share_settings.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/activate_user.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/add_new_group.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/add_new_user.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/deactivate_user.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/delete_group.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/delete_user.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/groups_list.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/invite_user_details.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/new_group_details.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/update_group_details.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/update_user_details.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/manage/users_and_groups/users_list.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/activate_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/add_job_modal.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/add_jobs_to_job_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/create_job_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/delete_draftrun_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/delete_job_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/disable_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/draftrun_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/get_job_sequence_steps.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/get_job_sequences.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/logs_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/move_step.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/snapshots_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/start_draftrun_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/stop_draftrun_ui.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/three_dots_sequence.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/run/view_history.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Mark_Favorite.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Query_Builder.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Remove.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Save_Search.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Saved_Searches.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Search_Name_Wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/SAQL_Update.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/search/Search_Advanced.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/configuring_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/create_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/deleting_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/editing_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/get_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/pipelines_using_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/using_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/connections/verify_connection.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_autoscaling_group.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_ssh_access.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_zone.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_docker.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_tarball.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_as_a_list.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_screen.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_as_a_list.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_screen.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/common/creation_share_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_autoscaling_group.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_ssh_access.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_define_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_share_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_transformer_define_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_autoscaling_group.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_region.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_ssh_access.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_zone.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_deployment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_kubernetes_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_create_deployment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_jdbc_version_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_review_launch_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_stage_libs_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_configure_deployment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_create_deployment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_jdbc_version_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_stage_libs_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_sdc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_transformer.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_share_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/get_install_script.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/select_install_type.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_access_keys.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_subnets.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_vpc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_cross_account_role.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_select_aws_region.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_define_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_review_and_activate_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_share_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_credentials.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_region.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_subnet.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_vnet.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_defaults_azure_vm_instances.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_define_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_review_and_activate_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_impersonation.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_key.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_gcp_project.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_define_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_review_and_activate.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_select_gcp_vpc.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_share_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/activate_and_install_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/configure_environment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/create_environment_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/installation_script_wizard.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/managing_environments/managing_environments.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_define_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_review_and_activate.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_share_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/welcome/api_credentials.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/images/welcome/examples/find_sdc_id.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sample_fragment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sample_pipeline_using_fragment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/saved_snowflake_credential.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sdk_sample_pipeline1.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sdk_sample_self_managed_deployment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sdk_sample_self_managed_deployment_details.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/sdk_sample_self_managed_environment.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/snowflake_credentials_modal.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/_static/snowflake_pipeline_defaults.png +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/advanced_search.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/api/sch_api.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/api.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/build/creating_pipelines.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/build/editing_pipelines.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/build/error_record_handling.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/build/pipeline_fragments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/build.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/conf.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/index.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage/legacy_kubernetes_integration.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage/users_and_groups/managing_users_and_groups.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage/users_and_groups/permissions.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage/users_and_groups/roles.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage/users_and_groups/users_and_groups.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/manage.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/monitor/subscriptions.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/monitor/topologies.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/monitor.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/requirements.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run/draft_runs.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run/job_sequences.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run/job_templates.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run/jobs_instances.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run/scheduled_tasks.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/run.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/search/saql_saved_search.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/search/search_for_object.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/set_up.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/connections/connections.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/azure_vm_deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/ec2_deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/gce_deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/kubernetes_deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/self_managed_deployments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/stage_libs_sdc.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/deployments/stage_libs_st.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/aws_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/azure_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/gcp_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/kubernetes_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/managing_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/usage/set_up/environments/self_managed_environments.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/authentication.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/examples/sdk_examples_job_pipeline.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/examples/sdk_examples_self_managed_deployment.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/examples.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/installation.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/known_issues.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/overview.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome/release_notes.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/docs/welcome.rst +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/evergreen/.flake8 +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/evergreen/.pre-commit-config.yaml +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/evergreen/Dockerfile +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/evergreen/Jenkinsfile +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/evergreen/pyproject.toml +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/pyproject.toml +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/requirements.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/setup.cfg +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/analytics.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/aster_api.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/constants.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/exceptions.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/models.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sdc.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sdc_api.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/sdc_models.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/st.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/st_api.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/st_models.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets/sdk/utils.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/dependency_links.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/not-zip-safe +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/requires.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/streamsets.egg-info/top_level.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/test_requirements.txt +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/conftest.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_acl.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_analytics.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_api_credentials.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_connections.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_dpath.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_draft_runs.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_ec2_environments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_engineless_design.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_job_sequences.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_jobs.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_kubernetes_environments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_metering.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_organization.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_pipeline_fragments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_pipeline_labels.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_pipeline_parameters.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_pipelines.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_saql.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_saql_search.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_sch.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_scheduled_tasks.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_scheduler.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_self_managed_deployments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_snowflake_jobs.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_snowflake_pipeline_fragments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_snowflake_pipeline_labels.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_snowflake_pipeline_parameters.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_snowflake_pipelines.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_stages.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_topology.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/integration/test_users_and_groups.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/mocks/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/mocks/mock_api.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/conftest.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/__init__.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/base_model_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/configuration_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/conftest_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/connections_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/engines_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/job_sequence_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/job_sequence_step_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/pipeline_builder_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/sch_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/scheduled_tasks_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/self_managed_deployments_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/resources/utils_data.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_analytics.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_azure_environment.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_base_model.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_collection_model.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_configuration.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_connections.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_deployment_builder.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_engines.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_job_sequence.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_job_sequence_builder.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_mutable_kwargs.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_permission.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_pipeline.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_pipeline_builder.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_saql_search_builder.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_sch.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_scheduled_tasks.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_seekable_list.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_self_managed_deployments.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_stage.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_step.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_utils.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tests/unit/test_version.py +0 -0
- {streamsets-6.5.0 → streamsets-6.6.0.dev0}/tox.ini +0 -0
|
@@ -40,11 +40,12 @@ from .sch_models import (
|
|
|
40
40
|
Environments, GCEDeployment, GCPEnvironment, GroupBuilder, Groups, Job, JobBuilder, Jobs, JobSequence,
|
|
41
41
|
JobSequenceBuilder, JobSequences, KubernetesDeployment, KubernetesEnvironment, LegacyDeploymentBuilder,
|
|
42
42
|
LegacyDeployments, LoginAudits, MeteringUsage, NotImplementedDeployment, NotImplementedEnvironment,
|
|
43
|
-
OrganizationBuilder, Organizations, Pipeline, PipelineBuilder, PipelineLabels, Pipelines,
|
|
44
|
-
|
|
45
|
-
SAQLSearchBuilder, SAQLSearches, ScheduledTask, ScheduledTaskActions,
|
|
46
|
-
|
|
47
|
-
Subscriptions, Topologies, Topology, TopologyBuilder,
|
|
43
|
+
OrganizationBuilder, Organizations, Pipeline, PipelineBuilder, PipelineLabels, Pipelines, Project, ProjectBuilder,
|
|
44
|
+
Projects, ProtectionMethodBuilder, ProtectionPolicies, ProtectionPolicy, ProtectionPolicyBuilder,
|
|
45
|
+
ProvisioningAgents, SAQLSearch, SAQLSearchBuilder, SAQLSearches, ScheduledTask, ScheduledTaskActions,
|
|
46
|
+
ScheduledTaskBuilder, ScheduledTasks, SelfManagedDeployment, SelfManagedEnvironment,
|
|
47
|
+
StPipelineBuilder, SubscriptionAudit, SubscriptionBuilder, Subscriptions, Topologies, Topology, TopologyBuilder,
|
|
48
|
+
UserBuilder, Users,
|
|
48
49
|
)
|
|
49
50
|
from .utils import (
|
|
50
51
|
SDC_DEFAULT_EXECUTION_MODE, TRANSFORMER_EXECUTION_MODES, SeekableList, get_stage_library_display_name_from_library,
|
|
@@ -181,6 +182,9 @@ class ControlHub:
|
|
|
181
182
|
|
|
182
183
|
self._en_translations = self.api_client.get_translations_json()
|
|
183
184
|
|
|
185
|
+
# store which project we are running in, if any
|
|
186
|
+
self._current_project = None
|
|
187
|
+
|
|
184
188
|
self._data_collectors = {}
|
|
185
189
|
self._transformers = {}
|
|
186
190
|
thread = threading.Thread(target=self._call_data_collectors)
|
|
@@ -403,6 +407,124 @@ class ControlHub:
|
|
|
403
407
|
engine_start_up_time=authoring_engine._data["startUpTime"] if authoring_engine else 0,
|
|
404
408
|
)
|
|
405
409
|
|
|
410
|
+
def get_snowflake_pipeline_user_defined_functions(self, pipeline, filter_text=None, tunneling=False):
|
|
411
|
+
"""Return user defined functions for the pipeline
|
|
412
|
+
|
|
413
|
+
Args:
|
|
414
|
+
pipeline (:py:class:`streamsets.sdk.sch_models.Pipeline`): Pipeline object.
|
|
415
|
+
filter_text (:obj:`str`: optional): Filter response text. Default: ``None``.
|
|
416
|
+
tunneling (:obj:`bool`: optional): Enable tunneling for hosted instances. Default: ``False``.
|
|
417
|
+
|
|
418
|
+
Rreturns:
|
|
419
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
420
|
+
"""
|
|
421
|
+
engine_id = None
|
|
422
|
+
tunneling_instance_id = None
|
|
423
|
+
if tunneling:
|
|
424
|
+
engine_id = pipeline.engine_id
|
|
425
|
+
tunneling_instance_id_request = self.api_client.get_tunneling_instance_id(engine_id)
|
|
426
|
+
tunneling_instance_id = tunneling_instance_id_request.response.json().get('instanceId')
|
|
427
|
+
|
|
428
|
+
pipeline_fqn = f'{pipeline.pipeline_id.split(":")[0]}__{pipeline.organization}__{pipeline.committer}'
|
|
429
|
+
response = self.api_client.post_snowflake_pipeline_user_defined_functions_search_start(
|
|
430
|
+
pipeline_id=pipeline_fqn,
|
|
431
|
+
engine_id=engine_id,
|
|
432
|
+
rev=pipeline.commit_id,
|
|
433
|
+
filter_text=filter_text,
|
|
434
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
435
|
+
)
|
|
436
|
+
id = response.response.json().get('id', '')
|
|
437
|
+
responses = []
|
|
438
|
+
|
|
439
|
+
def failure(timeout=None, exception=False):
|
|
440
|
+
self.api_client.delete_snowflake_pipeline_user_defined_fucntions_search_cancel(
|
|
441
|
+
pipeline_id=pipeline_fqn,
|
|
442
|
+
engine_id=engine_id,
|
|
443
|
+
id=id,
|
|
444
|
+
rev=pipeline.commit_id,
|
|
445
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
446
|
+
)
|
|
447
|
+
if exception:
|
|
448
|
+
raise ValueError('An ERROR status was reached before retrieving UDFs.')
|
|
449
|
+
else:
|
|
450
|
+
raise TimeoutError(f'Timeout reached after {timeout} seconds while searching for UDFs.')
|
|
451
|
+
|
|
452
|
+
def condition(responses=[]):
|
|
453
|
+
response = self.api_client.get_snowflake_pipeline_user_defined_functions_search_status(
|
|
454
|
+
pipeline_id=pipeline_fqn,
|
|
455
|
+
id=id,
|
|
456
|
+
engine_id=engine_id,
|
|
457
|
+
rev=pipeline.commit_id,
|
|
458
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
459
|
+
)
|
|
460
|
+
status = response.response.json().get('status', '')
|
|
461
|
+
responses.append(response)
|
|
462
|
+
if status == 'ERROR':
|
|
463
|
+
failure(exception=True)
|
|
464
|
+
return status == 'FINISHED'
|
|
465
|
+
|
|
466
|
+
wait_for_condition(condition, condition_kwargs={'responses': responses}, failure=failure, timeout=600)
|
|
467
|
+
return responses[-1]
|
|
468
|
+
|
|
469
|
+
def get_snowflake_pipeline_procedures(self, pipeline, filter_text=None, tunneling=False):
|
|
470
|
+
"""Return procedures for the pipeline
|
|
471
|
+
|
|
472
|
+
Args:
|
|
473
|
+
pipeline (:py:class:`streamsets.sdk.sch_models.Pipeline`): Pipeline object.
|
|
474
|
+
filter_text (:obj:`str`: optional): Filter response text. Default: ``None``.
|
|
475
|
+
tunneling (:obj:`bool`: optional): Enable tunneling for hosted instances. Default: ``False``.
|
|
476
|
+
|
|
477
|
+
Rreturns:
|
|
478
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
479
|
+
"""
|
|
480
|
+
engine_id = None
|
|
481
|
+
tunneling_instance_id = None
|
|
482
|
+
if tunneling:
|
|
483
|
+
engine_id = pipeline.engine_id
|
|
484
|
+
tunneling_instance_id_request = self.api_client.get_tunneling_instance_id(engine_id)
|
|
485
|
+
tunneling_instance_id = tunneling_instance_id_request.response.json().get('instanceId')
|
|
486
|
+
|
|
487
|
+
pipeline_fqn = f'{pipeline.pipeline_id.split(":")[0]}__{pipeline.organization}__{pipeline.committer}'
|
|
488
|
+
response = self.api_client.post_snowflake_pipeline_procedures_search_start(
|
|
489
|
+
pipeline_id=pipeline_fqn,
|
|
490
|
+
engine_id=engine_id,
|
|
491
|
+
rev=pipeline.commit_id,
|
|
492
|
+
fitler_text=filter_text,
|
|
493
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
494
|
+
)
|
|
495
|
+
id = response.response.json().get('id', '')
|
|
496
|
+
responses = []
|
|
497
|
+
|
|
498
|
+
def failure(timeout=None, exception=False):
|
|
499
|
+
self.api_client.delete_snowflake_pipeline_procedures_search_cancel(
|
|
500
|
+
pipeline_id=pipeline_fqn,
|
|
501
|
+
id=id,
|
|
502
|
+
engine_id=engine_id,
|
|
503
|
+
rev=pipeline.commit_id,
|
|
504
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
505
|
+
)
|
|
506
|
+
if exception:
|
|
507
|
+
raise ValueError('An ERROR status was reached before retrieving the pipeline procedures.')
|
|
508
|
+
else:
|
|
509
|
+
raise TimeoutError(f'Timeout reached after {timeout} seconds while searching for pipeline procedures.')
|
|
510
|
+
|
|
511
|
+
def condition(responses=[]):
|
|
512
|
+
response = self.api_client.get_snowflake_pipeline_procedures_search_status(
|
|
513
|
+
pipeline_id=pipeline_fqn,
|
|
514
|
+
engine_id=engine_id,
|
|
515
|
+
id=id,
|
|
516
|
+
rev=pipeline.commit_id,
|
|
517
|
+
tunneling_instance_id=tunneling_instance_id,
|
|
518
|
+
)
|
|
519
|
+
status = response.response.json().get('status', '')
|
|
520
|
+
if status == 'ERROR':
|
|
521
|
+
failure(exception=True)
|
|
522
|
+
responses.append(response)
|
|
523
|
+
return status == 'FINISHED'
|
|
524
|
+
|
|
525
|
+
wait_for_condition(condition, condition_kwargs={'responses': responses}, failure=failure, timeout=600)
|
|
526
|
+
return responses[-1]
|
|
527
|
+
|
|
406
528
|
def publish_pipeline(self, pipeline, commit_message='New pipeline', draft=False, validate=False):
|
|
407
529
|
"""Publish a pipeline.
|
|
408
530
|
|
|
@@ -3423,54 +3545,6 @@ class ControlHub:
|
|
|
3423
3545
|
|
|
3424
3546
|
return response
|
|
3425
3547
|
|
|
3426
|
-
@property
|
|
3427
|
-
def report_definitions(self):
|
|
3428
|
-
"""Report Definitions.
|
|
3429
|
-
|
|
3430
|
-
Returns:
|
|
3431
|
-
An instance of :py:class:`streamsets.sdk.sch_models.ReportDefinitions`.
|
|
3432
|
-
"""
|
|
3433
|
-
return ReportDefinitions(self)
|
|
3434
|
-
|
|
3435
|
-
def add_report_definition(self, report_definition):
|
|
3436
|
-
"""Add Report Definition to ControlHub.
|
|
3437
|
-
|
|
3438
|
-
Args:
|
|
3439
|
-
report_definition (:py:class:`streamsets.sdk.sch_models.ReportDefinition`): Report Definition instance.
|
|
3440
|
-
|
|
3441
|
-
Returns:
|
|
3442
|
-
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
3443
|
-
"""
|
|
3444
|
-
create_report_definition_command = self.api_client.create_new_report_definition(report_definition._data)
|
|
3445
|
-
report_definition._data = create_report_definition_command.response.json()
|
|
3446
|
-
return create_report_definition_command
|
|
3447
|
-
|
|
3448
|
-
def update_report_definition(self, report_definition):
|
|
3449
|
-
"""Update an existing Report Definition.
|
|
3450
|
-
|
|
3451
|
-
Args:
|
|
3452
|
-
report_definition (:py:class:`streamsets.sdk.sch_models.ReportDefinition`): Report Definition instance.
|
|
3453
|
-
|
|
3454
|
-
Returns:
|
|
3455
|
-
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
3456
|
-
"""
|
|
3457
|
-
update_report_definition_command = self.api_client.update_report_definition(
|
|
3458
|
-
report_definition.id, report_definition._data
|
|
3459
|
-
)
|
|
3460
|
-
report_definition._data = update_report_definition_command.response.json()
|
|
3461
|
-
return update_report_definition_command
|
|
3462
|
-
|
|
3463
|
-
def delete_report_definition(self, report_definition):
|
|
3464
|
-
"""Delete an existing Report Definition.
|
|
3465
|
-
|
|
3466
|
-
Args:
|
|
3467
|
-
report_definition (:py:class:`streamsets.sdk.sch_models.ReportDefinition`): Report Definition instance.
|
|
3468
|
-
|
|
3469
|
-
Returns:
|
|
3470
|
-
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
3471
|
-
"""
|
|
3472
|
-
return self.api_client.delete_report_definition(report_definition.id)
|
|
3473
|
-
|
|
3474
3548
|
def get_connection_builder(self):
|
|
3475
3549
|
"""Get a connection builder instance with which a connection can be created.
|
|
3476
3550
|
|
|
@@ -4750,3 +4824,103 @@ class ControlHub:
|
|
|
4750
4824
|
'username': username,
|
|
4751
4825
|
}
|
|
4752
4826
|
return self.api_client.validate_snowflake_account(body=validate_snowflake_account_json)
|
|
4827
|
+
|
|
4828
|
+
@property
|
|
4829
|
+
def projects(self):
|
|
4830
|
+
"""Projects.
|
|
4831
|
+
|
|
4832
|
+
Returns:
|
|
4833
|
+
An instance of :py:class:`streamsets.sdk.sch_models.Projects`.
|
|
4834
|
+
"""
|
|
4835
|
+
return Projects(self)
|
|
4836
|
+
|
|
4837
|
+
@property
|
|
4838
|
+
def current_project(self):
|
|
4839
|
+
"""Which project we are currently running in.
|
|
4840
|
+
|
|
4841
|
+
Returns:
|
|
4842
|
+
An instance of :py:class:`streamsets.sdk.sch_models.Project` or :obj:`None`.
|
|
4843
|
+
"""
|
|
4844
|
+
return self._current_project
|
|
4845
|
+
|
|
4846
|
+
@current_project.setter
|
|
4847
|
+
def current_project(self, val):
|
|
4848
|
+
if val is not None:
|
|
4849
|
+
if not isinstance(val, Project):
|
|
4850
|
+
raise TypeError(
|
|
4851
|
+
"current_project should be of type :py:class:`streamsets.sdk.sch_models.Project` or `None`"
|
|
4852
|
+
)
|
|
4853
|
+
if val.id is None:
|
|
4854
|
+
raise ValueError(
|
|
4855
|
+
"ID of the project passed is not set. " "Set it by adding it to platform via `add_project`"
|
|
4856
|
+
)
|
|
4857
|
+
self._current_project = val
|
|
4858
|
+
|
|
4859
|
+
# set the appropriate project ID in the API client. This will consumed while making calls to platform.
|
|
4860
|
+
self.api_client.current_project_id = self.current_project.id if self.current_project else None
|
|
4861
|
+
|
|
4862
|
+
def add_project(self, project):
|
|
4863
|
+
"""Add a project to Control Hub.
|
|
4864
|
+
|
|
4865
|
+
Args:
|
|
4866
|
+
project (:py:class:`streamsets.sdk.sch_models.Project`): An instance of the project to be added.
|
|
4867
|
+
|
|
4868
|
+
Returns:
|
|
4869
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
4870
|
+
"""
|
|
4871
|
+
if not isinstance(project, Project):
|
|
4872
|
+
raise TypeError("project should be of type Project.")
|
|
4873
|
+
|
|
4874
|
+
request_body = {'name': project.name, 'description': project.description}
|
|
4875
|
+
command = self.api_client.create_project(body=request_body)
|
|
4876
|
+
|
|
4877
|
+
# overwrite the data into the same object.
|
|
4878
|
+
project._data = command.response.json()
|
|
4879
|
+
|
|
4880
|
+
return command
|
|
4881
|
+
|
|
4882
|
+
def update_project(self, project):
|
|
4883
|
+
"""Update an existing project.
|
|
4884
|
+
|
|
4885
|
+
Args:
|
|
4886
|
+
project (:py:class:`streamsets.sdk.sch_models.Project`): An instance of the project to be updated.
|
|
4887
|
+
|
|
4888
|
+
Returns:
|
|
4889
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
4890
|
+
"""
|
|
4891
|
+
if not isinstance(project, Project):
|
|
4892
|
+
raise TypeError("project should be of type Project.")
|
|
4893
|
+
|
|
4894
|
+
if project.id is None:
|
|
4895
|
+
raise ValueError("project is not initialized. Add it to Control Hub using the `add_project` method.")
|
|
4896
|
+
|
|
4897
|
+
command = self.api_client.update_project(data=project._data, project_id=project.id)
|
|
4898
|
+
return command
|
|
4899
|
+
|
|
4900
|
+
def delete_project(self, *projects):
|
|
4901
|
+
"""Delete one or more projects from Control Hub
|
|
4902
|
+
|
|
4903
|
+
Args: projects (:py:class:`streamsets.sdk.sch_models.Project`): One or more instances of
|
|
4904
|
+
:py:class:`streamsets.sdk.sch_models.Project`.
|
|
4905
|
+
|
|
4906
|
+
Returns:
|
|
4907
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
4908
|
+
"""
|
|
4909
|
+
if not all([isinstance(project, Project) for project in projects]):
|
|
4910
|
+
raise TypeError("project should be of type Project.")
|
|
4911
|
+
|
|
4912
|
+
request_body = {'projectIds': [project.id for project in projects]}
|
|
4913
|
+
command = self.api_client.delete_projects(body=request_body)
|
|
4914
|
+
|
|
4915
|
+
return command
|
|
4916
|
+
|
|
4917
|
+
def get_project_builder(self):
|
|
4918
|
+
"""Get a ProjectBuilder instance to create a project.
|
|
4919
|
+
|
|
4920
|
+
Returns:
|
|
4921
|
+
An instance of :py:class:`streamsets.sdk.sch_models.ProjectBuilder`.
|
|
4922
|
+
"""
|
|
4923
|
+
project_properties = self._security_api['definitions']['ProjectJson']['properties']
|
|
4924
|
+
project = {property_: None for property_ in project_properties}
|
|
4925
|
+
|
|
4926
|
+
return ProjectBuilder(project=project, control_hub=self)
|
|
@@ -35,6 +35,19 @@ from .utils import (
|
|
|
35
35
|
|
|
36
36
|
logger = logging.getLogger(__name__)
|
|
37
37
|
|
|
38
|
+
APPS_REQUIRING_PROJECT_ID = [
|
|
39
|
+
'connection',
|
|
40
|
+
'jobrunner',
|
|
41
|
+
'notification',
|
|
42
|
+
'pipeline',
|
|
43
|
+
'pipelinestore',
|
|
44
|
+
'provisioning',
|
|
45
|
+
'scheduler',
|
|
46
|
+
'sequencing',
|
|
47
|
+
'sla',
|
|
48
|
+
'topology',
|
|
49
|
+
]
|
|
50
|
+
|
|
38
51
|
# The `#:` constructs at the end of assignments are part of Sphinx's autodoc functionality.
|
|
39
52
|
DEFAULT_BANNER_API_VERSION = 1 #:
|
|
40
53
|
DEFAULT_EXPLORER_API_VERSION = 1
|
|
@@ -130,6 +143,9 @@ class ApiClient(object):
|
|
|
130
143
|
# If we disable SSL cert verification, we should disable warnings about having disabled it.
|
|
131
144
|
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
132
145
|
|
|
146
|
+
# store the ID of the project we are running in, if any
|
|
147
|
+
self.current_project_id = None
|
|
148
|
+
|
|
133
149
|
def update_session_headers_with_analytics_data(self):
|
|
134
150
|
analytics_instance = AnalyticsHeaders.get_instance()
|
|
135
151
|
self.session.headers.update(analytics_instance.headers)
|
|
@@ -6220,7 +6236,7 @@ class ApiClient(object):
|
|
|
6220
6236
|
Args:
|
|
6221
6237
|
job_id (:obj:`str`)
|
|
6222
6238
|
sdc_id (:obj:`str`, optional): Default: ``None``.
|
|
6223
|
-
|
|
6239
|
+
time_filter_condition (:obj:`str`, optional): Default: ``'LAST_5M'``.
|
|
6224
6240
|
limit (:obj:`str`, optional): Default: ``None``.
|
|
6225
6241
|
start_time (:obj:`int`, optional): Default: ``None``.
|
|
6226
6242
|
end_time (:obj:`int`, optional): Default: ``None``.
|
|
@@ -6242,7 +6258,7 @@ class ApiClient(object):
|
|
|
6242
6258
|
Args:
|
|
6243
6259
|
job_id (:obj:`str`)
|
|
6244
6260
|
sdc_id (:obj:`str`, optional): Default: ``None``.
|
|
6245
|
-
|
|
6261
|
+
time_filter_condition (:obj:`str`, optional): Default: ``'LAST_5M'``.
|
|
6246
6262
|
limit (:obj:`str`, optional): Default: ``None``.
|
|
6247
6263
|
start_time (:obj:`int`, optional): Default: ``None``.
|
|
6248
6264
|
end_time (:obj:`int`, optional): Default: ``None``.
|
|
@@ -8888,6 +8904,129 @@ class ApiClient(object):
|
|
|
8888
8904
|
|
|
8889
8905
|
return Command(self, response)
|
|
8890
8906
|
|
|
8907
|
+
def create_project(self, body):
|
|
8908
|
+
"""Create a Project in the organization.
|
|
8909
|
+
|
|
8910
|
+
Args:
|
|
8911
|
+
body (:obj:`dict`): Request body conforming to the Swagger API definition.
|
|
8912
|
+
|
|
8913
|
+
Returns:
|
|
8914
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8915
|
+
"""
|
|
8916
|
+
response = self._post(app="security", endpoint=f"/v{self.api_version}/projects", data=body)
|
|
8917
|
+
return Command(self, response)
|
|
8918
|
+
|
|
8919
|
+
def delete_projects(self, body):
|
|
8920
|
+
"""Delete one or more Projects.
|
|
8921
|
+
|
|
8922
|
+
Args:
|
|
8923
|
+
body (:obj:`dict`): Request body conforming to the Swagger API definition.
|
|
8924
|
+
|
|
8925
|
+
Returns:
|
|
8926
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8927
|
+
"""
|
|
8928
|
+
response = self._put(app="security", endpoint=f"/v{self.api_version}/projects", data=body)
|
|
8929
|
+
return Command(self, response)
|
|
8930
|
+
|
|
8931
|
+
def get_project_by_id(self, project_id):
|
|
8932
|
+
"""Get a Project by ID.
|
|
8933
|
+
|
|
8934
|
+
Args:
|
|
8935
|
+
project_id (:obj:`str`): ID of the Project to get.
|
|
8936
|
+
|
|
8937
|
+
Returns:
|
|
8938
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8939
|
+
"""
|
|
8940
|
+
response = self._get(app="security", endpoint=f"/v{self.api_version}/project/{project_id}")
|
|
8941
|
+
return Command(self, response)
|
|
8942
|
+
|
|
8943
|
+
def update_project(self, data, project_id):
|
|
8944
|
+
"""Update an existing project.
|
|
8945
|
+
|
|
8946
|
+
Args:
|
|
8947
|
+
data (:obj:`dict`): Request body conforming to Swagger API definition.
|
|
8948
|
+
project_id (:obj:`str`): Project ID of the project to update.
|
|
8949
|
+
"""
|
|
8950
|
+
|
|
8951
|
+
response = self._post(app="security", endpoint=f"v{self.api_version}/project/{project_id}", data=data)
|
|
8952
|
+
return Command(self, response)
|
|
8953
|
+
|
|
8954
|
+
def get_all_projects_in_org(self, len=None, offset=None, order_by=None, search=None):
|
|
8955
|
+
"""Gets all the Projects in an organization.
|
|
8956
|
+
|
|
8957
|
+
Args:
|
|
8958
|
+
len (:obj:`int`, optional): The size of the page to be returned. Default: ``None``
|
|
8959
|
+
offset (:obj:`int`, optional): Zero Based Offset Index. Default: ``None``.
|
|
8960
|
+
order_by (:obj:`str`, optional): The order in which the results should be returned.
|
|
8961
|
+
search (:obj:`str`, optional): The SAQL search query. Default: ``None``.
|
|
8962
|
+
|
|
8963
|
+
Returns:
|
|
8964
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8965
|
+
"""
|
|
8966
|
+
params = get_params(locals(), exclusions=(self,))
|
|
8967
|
+
response = self._get(app="security", endpoint=f"/v{self.api_version}/projects/search", params=params)
|
|
8968
|
+
return Command(self, response)
|
|
8969
|
+
|
|
8970
|
+
def get_all_projects_available_to_user(self, offset=None, len=None):
|
|
8971
|
+
"""Gets all the Projects the current user is part of.
|
|
8972
|
+
|
|
8973
|
+
Returns:
|
|
8974
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8975
|
+
"""
|
|
8976
|
+
params = get_params(locals(), exclusions=(self,))
|
|
8977
|
+
response = self._get(app="security", endpoint=f"/v{self.api_version}/projects", params=params)
|
|
8978
|
+
return Command(self, response)
|
|
8979
|
+
|
|
8980
|
+
def get_all_users_in_project(self, project_id):
|
|
8981
|
+
"""Get all users in a given Project.
|
|
8982
|
+
|
|
8983
|
+
Args:
|
|
8984
|
+
project_id (:obj:`str`): ID of the Project to get.
|
|
8985
|
+
|
|
8986
|
+
Returns:
|
|
8987
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8988
|
+
"""
|
|
8989
|
+
response = self._get(app="security", endpoint=f"/v{self.api_version}/project/{project_id}/getAllUsers")
|
|
8990
|
+
return Command(self, response)
|
|
8991
|
+
|
|
8992
|
+
def get_all_groups_in_project(self, project_id):
|
|
8993
|
+
"""Get all groups in a given Project.
|
|
8994
|
+
|
|
8995
|
+
Args:
|
|
8996
|
+
project_id (:obj:`str`): ID of the Project to get.
|
|
8997
|
+
|
|
8998
|
+
Returns:
|
|
8999
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
9000
|
+
"""
|
|
9001
|
+
response = self._get(app="security", endpoint=f"/v{self.api_version}/project/{project_id}/getAllGroups")
|
|
9002
|
+
return Command(self, response)
|
|
9003
|
+
|
|
9004
|
+
def update_users_in_project(self, project_id, body):
|
|
9005
|
+
"""Update users in a given Project.
|
|
9006
|
+
|
|
9007
|
+
Args:
|
|
9008
|
+
project_id (:obj:`str`): ID of the Project to get.
|
|
9009
|
+
body (:obj:`dict`): Request body conforming to the Swagger API definition.
|
|
9010
|
+
|
|
9011
|
+
Returns:
|
|
9012
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
9013
|
+
"""
|
|
9014
|
+
response = self._put(app="security", endpoint=f"/v{self.api_version}/project/{project_id}/users", data=body)
|
|
9015
|
+
return Command(self, response)
|
|
9016
|
+
|
|
9017
|
+
def update_groups_in_project(self, project_id, body):
|
|
9018
|
+
"""Update groups in a given Project.
|
|
9019
|
+
|
|
9020
|
+
Args:
|
|
9021
|
+
project_id (:obj:`str`): ID of the Project to get.
|
|
9022
|
+
body (:obj:`dict`): Request body conforming to the Swagger API definition.
|
|
9023
|
+
|
|
9024
|
+
Returns:
|
|
9025
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
9026
|
+
"""
|
|
9027
|
+
response = self._put(app="security", endpoint=f"/v{self.api_version}/project/{project_id}/groups", data=body)
|
|
9028
|
+
return Command(self, response)
|
|
9029
|
+
|
|
8891
9030
|
def get_banner_api(self):
|
|
8892
9031
|
try:
|
|
8893
9032
|
response = self._get(app='banner', endpoint='swagger.json')
|
|
@@ -8943,11 +9082,28 @@ class ApiClient(object):
|
|
|
8943
9082
|
return None
|
|
8944
9083
|
|
|
8945
9084
|
# Internal functions only below.
|
|
9085
|
+
def _update_project_param_based_on_app(self, app, params):
|
|
9086
|
+
"""Updates the query string params to pass the project ID based on which app is being called.
|
|
9087
|
+
|
|
9088
|
+
Args:
|
|
9089
|
+
app (:obj:`str`): App for which the endpoint being called.
|
|
9090
|
+
params (:obj:`dict`): A dictionary with the query string params being passed to the endpoint.
|
|
9091
|
+
"""
|
|
9092
|
+
if not isinstance(params, dict):
|
|
9093
|
+
raise TypeError("Params should be of type dict.")
|
|
9094
|
+
|
|
9095
|
+
if app in APPS_REQUIRING_PROJECT_ID:
|
|
9096
|
+
params.update(get_params({'project': self.current_project_id}))
|
|
9097
|
+
|
|
8946
9098
|
@retry_on_connection_error
|
|
8947
9099
|
def _delete(self, app, endpoint, rest='rest', params=None):
|
|
9100
|
+
# update params with which project we are running in
|
|
9101
|
+
params = params or {}
|
|
9102
|
+
self._update_project_param_based_on_app(app=app, params=params)
|
|
9103
|
+
|
|
8948
9104
|
self.update_session_headers_with_analytics_data()
|
|
8949
9105
|
url = join_url_parts(self.base_url, app, '/{}'.format(rest), endpoint)
|
|
8950
|
-
response = self.session.delete(url, params=params
|
|
9106
|
+
response = self.session.delete(url, params=params)
|
|
8951
9107
|
self._handle_http_error(response)
|
|
8952
9108
|
return response
|
|
8953
9109
|
|
|
@@ -8955,6 +9111,11 @@ class ApiClient(object):
|
|
|
8955
9111
|
def _delete_via_tunneling(
|
|
8956
9112
|
self, endpoint, tunneling_instance_id, rest='rest', tunneling='tunneling', engine_id=None, params=None
|
|
8957
9113
|
):
|
|
9114
|
+
params = params or {}
|
|
9115
|
+
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9116
|
+
# same naming convention as other parameters, thus we have to set it manually here
|
|
9117
|
+
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9118
|
+
|
|
8958
9119
|
self.update_session_headers_with_analytics_data()
|
|
8959
9120
|
url = join_url_parts(
|
|
8960
9121
|
self.base_url,
|
|
@@ -8964,20 +9125,19 @@ class ApiClient(object):
|
|
|
8964
9125
|
'/{}'.format(rest),
|
|
8965
9126
|
endpoint,
|
|
8966
9127
|
)
|
|
8967
|
-
if params is None:
|
|
8968
|
-
params = {}
|
|
8969
|
-
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
8970
|
-
# same naming convention as other parameters, thus we have to set it manually here
|
|
8971
|
-
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
8972
9128
|
response = self.session.delete(url, params=params)
|
|
8973
9129
|
self._handle_http_error(response)
|
|
8974
9130
|
return response
|
|
8975
9131
|
|
|
8976
9132
|
@retry_on_connection_error
|
|
8977
9133
|
def _get(self, endpoint, app=None, rest='rest', params=None, headers=None, absolute_endpoint=False):
|
|
9134
|
+
# update params with which project we are running in
|
|
9135
|
+
params = params or {}
|
|
9136
|
+
self._update_project_param_based_on_app(app=app, params=params)
|
|
9137
|
+
|
|
8978
9138
|
self.update_session_headers_with_analytics_data()
|
|
8979
9139
|
url = endpoint if absolute_endpoint else join_url_parts(self.base_url, app, '/{}'.format(rest), endpoint)
|
|
8980
|
-
response = self.session.get(url, params=params
|
|
9140
|
+
response = self.session.get(url, params=params, headers=headers)
|
|
8981
9141
|
self._handle_http_error(response)
|
|
8982
9142
|
return response
|
|
8983
9143
|
|
|
@@ -8985,6 +9145,11 @@ class ApiClient(object):
|
|
|
8985
9145
|
def _get_via_tunneling(
|
|
8986
9146
|
self, endpoint, tunneling_instance_id, rest='rest', tunneling='tunneling', engine_id=None, params=None
|
|
8987
9147
|
):
|
|
9148
|
+
params = params or {}
|
|
9149
|
+
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9150
|
+
# same naming convention as other parameters, thus we have to set it manually here
|
|
9151
|
+
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9152
|
+
|
|
8988
9153
|
self.update_session_headers_with_analytics_data()
|
|
8989
9154
|
url = join_url_parts(
|
|
8990
9155
|
self.base_url,
|
|
@@ -8994,11 +9159,6 @@ class ApiClient(object):
|
|
|
8994
9159
|
'/{}'.format(rest),
|
|
8995
9160
|
endpoint,
|
|
8996
9161
|
)
|
|
8997
|
-
if params is None:
|
|
8998
|
-
params = {}
|
|
8999
|
-
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9000
|
-
# same naming convention as other parameters, thus we have to set it manually here
|
|
9001
|
-
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9002
9162
|
response = self.session.get(url, params=params)
|
|
9003
9163
|
self._handle_http_error(response)
|
|
9004
9164
|
return response
|
|
@@ -9007,13 +9167,17 @@ class ApiClient(object):
|
|
|
9007
9167
|
def _post(
|
|
9008
9168
|
self, endpoint, app=None, rest='rest', params=None, data=None, files=None, headers=None, absolute_endpoint=False
|
|
9009
9169
|
):
|
|
9170
|
+
# update params with which project we are running in
|
|
9171
|
+
params = params or {}
|
|
9172
|
+
self._update_project_param_based_on_app(app=app, params=params)
|
|
9173
|
+
|
|
9010
9174
|
self.update_session_headers_with_analytics_data()
|
|
9011
9175
|
url = endpoint if absolute_endpoint else join_url_parts(self.base_url, app, '/{}'.format(rest), endpoint)
|
|
9012
9176
|
if not data:
|
|
9013
9177
|
data = None
|
|
9014
9178
|
else:
|
|
9015
9179
|
data = data if isinstance(data, str) else json.dumps(data)
|
|
9016
|
-
response = self.session.post(url, params=params
|
|
9180
|
+
response = self.session.post(url, params=params, data=data, files=files, headers=headers)
|
|
9017
9181
|
self._handle_http_error(response)
|
|
9018
9182
|
return response
|
|
9019
9183
|
|
|
@@ -9031,13 +9195,13 @@ class ApiClient(object):
|
|
|
9031
9195
|
headers=None,
|
|
9032
9196
|
engine_id=None,
|
|
9033
9197
|
):
|
|
9034
|
-
|
|
9035
|
-
url = join_url_parts(self.base_url, tunneling, rest, form_data, engine_id, rest, endpoint)
|
|
9036
|
-
if params is None:
|
|
9037
|
-
params = {}
|
|
9198
|
+
params = params or {}
|
|
9038
9199
|
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9039
9200
|
# same naming convention as other parameters, thus we have to set it manually here
|
|
9040
9201
|
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9202
|
+
|
|
9203
|
+
self.update_session_headers_with_analytics_data()
|
|
9204
|
+
url = join_url_parts(self.base_url, tunneling, rest, form_data, engine_id, rest, endpoint)
|
|
9041
9205
|
if data:
|
|
9042
9206
|
data = data if isinstance(data, str) else json.dumps(data)
|
|
9043
9207
|
response = self.session.post(url, params=params, data=data, files=files, headers=headers)
|
|
@@ -9046,9 +9210,13 @@ class ApiClient(object):
|
|
|
9046
9210
|
|
|
9047
9211
|
@retry_on_connection_error
|
|
9048
9212
|
def _put(self, app, endpoint, rest='rest', params=None, data=None):
|
|
9213
|
+
# update params with which project we are running in
|
|
9214
|
+
params = params or {}
|
|
9215
|
+
self._update_project_param_based_on_app(app=app, params=params)
|
|
9216
|
+
|
|
9049
9217
|
self.update_session_headers_with_analytics_data()
|
|
9050
9218
|
url = join_url_parts(self.base_url, app, '/{}'.format(rest), endpoint)
|
|
9051
|
-
response = self.session.put(url, params=params
|
|
9219
|
+
response = self.session.put(url, params=params, data=json.dumps(data or {}))
|
|
9052
9220
|
self._handle_http_error(response)
|
|
9053
9221
|
return response
|
|
9054
9222
|
|
|
@@ -9063,6 +9231,11 @@ class ApiClient(object):
|
|
|
9063
9231
|
params=None,
|
|
9064
9232
|
data=None,
|
|
9065
9233
|
):
|
|
9234
|
+
params = params or {}
|
|
9235
|
+
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9236
|
+
# same naming convention as other parameters, thus we have to set it manually here
|
|
9237
|
+
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9238
|
+
|
|
9066
9239
|
self.update_session_headers_with_analytics_data()
|
|
9067
9240
|
url = join_url_parts(
|
|
9068
9241
|
self.base_url,
|
|
@@ -9072,11 +9245,6 @@ class ApiClient(object):
|
|
|
9072
9245
|
'/{}'.format(rest),
|
|
9073
9246
|
endpoint,
|
|
9074
9247
|
)
|
|
9075
|
-
if params is None:
|
|
9076
|
-
params = {}
|
|
9077
|
-
# Platform's APIs use an unconventional parameter for tunneling instance ID that doesn't conform to the
|
|
9078
|
-
# same naming convention as other parameters, thus we have to set it manually here
|
|
9079
|
-
params.update({'TUNNELING_INSTANCE_ID': tunneling_instance_id})
|
|
9080
9248
|
response = self.session.put(url, params=params, data=json.dumps(data or {}))
|
|
9081
9249
|
self._handle_http_error(response)
|
|
9082
9250
|
return response
|