streamsets 6.6.2.dev0__tar.gz → 6.7.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.6.2.dev0 → streamsets-6.7.0.dev0}/HISTORY.rst +6 -0
- {streamsets-6.6.2.dev0/streamsets.egg-info → streamsets-6.7.0.dev0}/PKG-INFO +1 -1
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/__version__.py +1 -1
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sch.py +34 -4
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sch_api.py +18 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sch_models.py +22 -164
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sdc_models.py +2 -54
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/st_models.py +5 -39
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/utils.py +17 -28
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0/streamsets.egg-info}/PKG-INFO +1 -1
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets.egg-info/SOURCES.txt +3 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_jobs.py +12 -0
- streamsets-6.7.0.dev0/tests/integration/test_pagination.py +64 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_pipelines.py +23 -36
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_snowflake_pipelines.py +4 -1
- streamsets-6.7.0.dev0/tests/unit/resources/jobs_data.py +102 -0
- streamsets-6.7.0.dev0/tests/unit/test_jobs.py +33 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_sch.py +81 -1
- streamsets-6.7.0.dev0/tests/unit/test_utils.py +353 -0
- streamsets-6.6.2.dev0/tests/unit/test_utils.py +0 -788
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/.gitignore +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/Dockerfile +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/MANIFEST.in +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/Makefile +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/README.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/build_requirements.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/TopologyMissingNodes.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/TopologyMultipleJobsSingleSystem.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/TopologyRestoredNodes.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/add_snowflake_credentials.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/click_snowflake_settings.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/css/docs_theme.css +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/dev_data_generator_to_trash.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/dev_data_generator_to_two_trashes.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/dev_data_generator_with_events.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/dev_raw_data_source_help.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/dev_raw_data_to_trash.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/favicon.ico +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/file_tail_to_two_trashes.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/full-ibm-streamsets-logo.svg +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/add_frag_to_pipeline.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/connect_event_lane.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/delete_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/edit_configuration.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/error_records_configuration.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/error_records_main.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/existing_pipelines.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/fragment_canvas.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/fragment_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/multi_output_stages_complete.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/multi_output_stages_incomplete.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/pipeline_canvas.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/pipeline_check_in.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/pipeline_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/pipelines_using_fragment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/produce_events.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/remove_stage.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/selector_four_conditions.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/snowflake_required_parameters.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/stages_unconnected.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/stages_with_different_types.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/update_pipeline_with_frag.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/build/value_chooser__JSON_content.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/permissions/add_new_permissions.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/permissions/change_owner.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/permissions/delete_permissions.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/permissions/share_button.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/permissions/share_settings.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/projects/create_project.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/projects/switch_projects.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/activate_user.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/add_new_group.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/add_new_user.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/deactivate_user.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/delete_group.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/delete_user.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/groups_list.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/invite_user_details.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/new_group_details.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/project_roles.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/update_group_details.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/update_user_details.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/manage/users_and_groups/users_list.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/activate_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/add_job_modal.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/add_jobs_to_job_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/create_job_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/delete_draftrun_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/delete_job_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/disable_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/draftrun_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/get_job_sequence_steps.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/get_job_sequences.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/logs_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/move_step.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/snapshots_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/start_draftrun_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/stop_draftrun_ui.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/three_dots_sequence.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/run/view_history.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Mark_Favorite.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Query_Builder.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Remove.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Save_Search.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Saved_Searches.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Search_Name_Wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/SAQL_Update.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/search/Search_Advanced.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/configuring_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/create_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/deleting_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/editing_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/get_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/pipelines_using_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/using_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/connections/verify_connection.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_autoscaling_group.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_ssh_access.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_zone.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_docker.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_tarball.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_as_a_list.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_screen.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_as_a_list.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_screen.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/common/creation_share_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_autoscaling_group.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_ssh_access.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_define_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_share_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_transformer_define_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_autoscaling_group.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_region.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_ssh_access.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_zone.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_review_and_launch.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_deployment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_kubernetes_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_create_deployment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_jdbc_version_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_review_launch_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_stage_libs_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_configure_deployment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_create_deployment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_jdbc_version_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_stage_libs_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_configure_engine.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_sdc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_transformer.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_sdc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_transformer.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_share_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/get_install_script.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/select_install_type.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_access_keys.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_subnets.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_vpc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_cross_account_role.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_select_aws_region.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_define_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_review_and_activate_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_share_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_credentials.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_region.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_subnet.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_vnet.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_defaults_azure_vm_instances.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_define_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_review_and_activate_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_impersonation.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_key.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_gcp_project.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_define_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_review_and_activate.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_select_gcp_vpc.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_share_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/activate_and_install_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/configure_environment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/create_environment_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/installation_script_wizard.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/managing_environments/managing_environments.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_define_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_review_and_activate.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_share_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/welcome/api_credentials.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/images/welcome/examples/find_sdc_id.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sample_fragment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sample_pipeline_using_fragment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/saved_snowflake_credential.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sdk_sample_pipeline1.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sdk_sample_self_managed_deployment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sdk_sample_self_managed_deployment_details.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/sdk_sample_self_managed_environment.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/snowflake_credentials_modal.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/_static/snowflake_pipeline_defaults.png +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/advanced_search.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/api/sch_api.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/api.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/build/creating_pipelines.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/build/editing_pipelines.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/build/error_record_handling.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/build/pipeline_fragments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/build.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/conf.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/index.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/legacy_kubernetes_integration.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/projects/projects.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/users_and_groups/managing_users_and_groups.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/users_and_groups/permissions.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/users_and_groups/roles.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage/users_and_groups/users_and_groups.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/manage.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/monitor/subscriptions.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/monitor/topologies.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/monitor.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/requirements.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run/draft_runs.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run/job_sequences.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run/job_templates.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run/jobs_instances.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run/scheduled_tasks.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/run.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/search/saql_saved_search.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/search/search_for_object.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/set_up.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/connections/connections.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/azure_vm_deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/ec2_deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/gce_deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/kubernetes_deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/self_managed_deployments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/stage_libs_sdc.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/deployments/stage_libs_st.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/aws_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/azure_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/gcp_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/kubernetes_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/managing_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/usage/set_up/environments/self_managed_environments.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/authentication.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/examples/sdk_examples_job_pipeline.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/examples/sdk_examples_self_managed_deployment.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/examples.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/installation.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/known_issues.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/overview.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome/release_notes.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/docs/welcome.rst +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/evergreen/.flake8 +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/evergreen/.pre-commit-config.yaml +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/evergreen/Dockerfile +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/evergreen/Jenkinsfile +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/evergreen/pyproject.toml +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/pyproject.toml +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/requirements.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/setup.cfg +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/analytics.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/aster_api.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/constants.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/exceptions.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/models.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sdc.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/sdc_api.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/st.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets/sdk/st_api.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets.egg-info/dependency_links.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets.egg-info/not-zip-safe +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets.egg-info/requires.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/streamsets.egg-info/top_level.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/test_requirements.txt +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/conftest.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_acl.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_analytics.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_api_credentials.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_connections.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_dpath.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_draft_runs.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_ec2_environments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_engineless_design.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_job_sequences.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_kubernetes_environments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_metering.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_organization.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_pipeline_fragments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_pipeline_labels.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_pipeline_parameters.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_projects.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_saql.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_saql_search.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_sch.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_scheduled_tasks.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_scheduler.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_self_managed_deployments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_snowflake_jobs.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_snowflake_pipeline_fragments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_snowflake_pipeline_labels.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_snowflake_pipeline_parameters.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_stages.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_topology.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/integration/test_users_and_groups.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/mocks/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/mocks/mock_api.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/conftest.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/__init__.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/base_model_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/configuration_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/conftest_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/connections_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/engines_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/job_sequence_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/job_sequence_step_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/pipeline_builder_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/projects.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/sch_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/scheduled_tasks_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/self_managed_deployments_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/resources/utils_data.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_analytics.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_azure_environment.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_base_model.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_collection_model.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_configuration.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_connections.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_deployment_builder.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_engine_api.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_engines.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_job_sequence.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_job_sequence_builder.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_mutable_kwargs.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_permission.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_pipeline.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_pipeline_builder.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_projects.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_roles.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_saql_search_builder.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_scheduled_tasks.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_seekable_list.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_self_managed_deployments.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_stage.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_step.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tests/unit/test_version.py +0 -0
- {streamsets-6.6.2.dev0 → streamsets-6.7.0.dev0}/tox.ini +0 -0
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
History
|
|
5
5
|
=======
|
|
6
|
+
6.6.2 (August 2025)
|
|
7
|
+
----------------------
|
|
8
|
+
* Fixed race conditions when retrieving objects
|
|
9
|
+
|
|
10
|
+
* Bug fixes and improvements
|
|
11
|
+
|
|
6
12
|
6.6.1 (June 2025)
|
|
7
13
|
----------------------
|
|
8
14
|
* Fixed an issue that caused an error to be raised when calling the method :py:meth:`streamsets.sdk.ControlHub.delete_deployment`.
|
|
@@ -3962,19 +3962,49 @@ class ControlHub:
|
|
|
3962
3962
|
raise start_deployment_exception
|
|
3963
3963
|
return enable_deployments_command
|
|
3964
3964
|
|
|
3965
|
-
def stop_deployment(self, *deployments):
|
|
3965
|
+
def stop_deployment(self, *deployments, force: bool = False):
|
|
3966
3966
|
"""Stop Deployments.
|
|
3967
3967
|
|
|
3968
3968
|
Args:
|
|
3969
3969
|
*deployments: One or more instances of :py:class:`streamsets.sdk.sch_models.Deployment`.
|
|
3970
|
+
force (:obj:`bool`, optional): Force deployment to stop. Default: ``False``.
|
|
3970
3971
|
"""
|
|
3971
3972
|
deployments = [deployment for deployment in deployments if not isinstance(deployment, NotImplementedDeployment)]
|
|
3972
3973
|
if not deployments:
|
|
3973
3974
|
logger.info('No deployments to stop. Returning')
|
|
3974
3975
|
return
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3976
|
+
|
|
3977
|
+
force_stop_deployment_ids = []
|
|
3978
|
+
|
|
3979
|
+
if force:
|
|
3980
|
+
# only force stop k8s deployments
|
|
3981
|
+
force_stop_deployment_ids = [
|
|
3982
|
+
deployment.deployment_id for deployment in deployments if isinstance(deployment, KubernetesDeployment)
|
|
3983
|
+
]
|
|
3984
|
+
|
|
3985
|
+
disable_deployment_ids = [
|
|
3986
|
+
deployment.deployment_id
|
|
3987
|
+
for deployment in deployments
|
|
3988
|
+
if deployment.deployment_id not in force_stop_deployment_ids
|
|
3989
|
+
]
|
|
3990
|
+
|
|
3991
|
+
if force and not force_stop_deployment_ids:
|
|
3992
|
+
raise ValueError(
|
|
3993
|
+
"Invalid operation: force=True was specified, but no Kubernetes deployments were provided."
|
|
3994
|
+
)
|
|
3995
|
+
if force and force_stop_deployment_ids and disable_deployment_ids:
|
|
3996
|
+
raise ValueError(
|
|
3997
|
+
"Invalid operation: when force=True, only Kubernetes deployments may be stopped. "
|
|
3998
|
+
"Non-Kubernetes deployments were also included."
|
|
3999
|
+
)
|
|
4000
|
+
|
|
4001
|
+
stop_deployments_command = None
|
|
4002
|
+
|
|
4003
|
+
if force_stop_deployment_ids:
|
|
4004
|
+
for deployment_id in force_stop_deployment_ids:
|
|
4005
|
+
stop_deployments_command = self.api_client.force_stop_deployment(deployment_id, confirm=True)
|
|
4006
|
+
if disable_deployment_ids:
|
|
4007
|
+
stop_deployments_command = self.api_client.disable_deployments(disable_deployment_ids)
|
|
3978
4008
|
|
|
3979
4009
|
stop_deployment_exception = None
|
|
3980
4010
|
for deployment in deployments:
|
|
@@ -8100,6 +8100,24 @@ class ApiClient(object):
|
|
|
8100
8100
|
initial_state_display_label = self.get_deployment(deployment_id).response.json()['stateDisplayLabel']
|
|
8101
8101
|
wait_for_condition(condition=condition, timeout=timeout_sec, failure=failure, success=success)
|
|
8102
8102
|
|
|
8103
|
+
def force_stop_deployment(self, deployment_id: str, confirm: bool = False):
|
|
8104
|
+
"""Force stop a deployment.
|
|
8105
|
+
|
|
8106
|
+
Args:
|
|
8107
|
+
deployment_id (:obj:`str`): Id of the deployment.
|
|
8108
|
+
confirm (:obj:`bool`, optional): Must be True to actually perform the
|
|
8109
|
+
force stop. Defaults to False.
|
|
8110
|
+
|
|
8111
|
+
Returns:
|
|
8112
|
+
An instance of :py:class:`streamsets.sdk.sch_api.Command`.
|
|
8113
|
+
"""
|
|
8114
|
+
response = self._post(
|
|
8115
|
+
app='provisioning',
|
|
8116
|
+
endpoint='/v{}/csp/deployment/{}/forceStop'.format(self.api_version, deployment_id),
|
|
8117
|
+
params={'confirm': 'true' if confirm else 'false'},
|
|
8118
|
+
)
|
|
8119
|
+
return Command(self, response)
|
|
8120
|
+
|
|
8103
8121
|
def get_deployment_engine_token(self, deployment_id):
|
|
8104
8122
|
"""Fetches a Engine Token for the Deployment.
|
|
8105
8123
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# IBM Confidential
|
|
2
|
+
# PID 5900-BAF
|
|
3
|
+
# Copyright StreamSets Inc., an IBM Company 2025
|
|
2
4
|
|
|
3
5
|
"""Classes for ControlHub-related models.
|
|
4
6
|
|
|
@@ -51,8 +53,8 @@ from .st_models import PipelineBuilder as StPipelineBuilder
|
|
|
51
53
|
from .st_models import Stage as StStage
|
|
52
54
|
from .utils import (
|
|
53
55
|
DEFAULT_PROVISIONING_SPEC, METERING_METRIC_LOOKUP, TRANSFORMER_DEFAULT_EXECUTION_MODE, MutableKwargs, SeekableList,
|
|
54
|
-
Version, build_tag_from_raw_tag, format_sch_log, get_attribute,
|
|
55
|
-
get_library_directory_name, get_params, get_stage_library_display_name_from_library,
|
|
56
|
+
Version, build_tag_from_raw_tag, convert_last_modified_on_field_for_saql, format_sch_log, get_attribute,
|
|
57
|
+
get_bw_compatibility_map, get_library_directory_name, get_params, get_stage_library_display_name_from_library,
|
|
56
58
|
get_stage_library_name_from_display_name, get_topology_nodes, reversed_dict, set_acl,
|
|
57
59
|
top_objects_by_metering_metric, update_acl_permissions, wait_for_condition,
|
|
58
60
|
)
|
|
@@ -3632,150 +3634,6 @@ class Pipeline(BaseModel):
|
|
|
3632
3634
|
|
|
3633
3635
|
return stage_list
|
|
3634
3636
|
|
|
3635
|
-
@property
|
|
3636
|
-
def start_event(self):
|
|
3637
|
-
"""Get the Start Event of the Pipeline."""
|
|
3638
|
-
library_definitions = self._library_definitions
|
|
3639
|
-
stage = self._pipeline_definition.get('startEventStages', [{}])[0]
|
|
3640
|
-
|
|
3641
|
-
if not stage:
|
|
3642
|
-
return None
|
|
3643
|
-
|
|
3644
|
-
stage_definition = next(
|
|
3645
|
-
(stage_def for stage_def in library_definitions['stages'] if stage_def['name'] == stage['stageName']),
|
|
3646
|
-
{},
|
|
3647
|
-
)
|
|
3648
|
-
|
|
3649
|
-
stage_class = self._get_stage_class(stage_definition, library_definitions)
|
|
3650
|
-
stage_object = stage_class(stage=stage, pipeline=self)
|
|
3651
|
-
|
|
3652
|
-
return stage_object
|
|
3653
|
-
|
|
3654
|
-
@property
|
|
3655
|
-
def stop_event(self):
|
|
3656
|
-
"""Get the Stop Event of the Pipeline."""
|
|
3657
|
-
library_definitions = self._library_definitions
|
|
3658
|
-
stage = self._pipeline_definition.get('stopEventStages', [{}])[0]
|
|
3659
|
-
|
|
3660
|
-
if not stage:
|
|
3661
|
-
return None
|
|
3662
|
-
|
|
3663
|
-
stage_definition = next(
|
|
3664
|
-
(stage_def for stage_def in library_definitions['stages'] if stage_def['name'] == stage['stageName']),
|
|
3665
|
-
{},
|
|
3666
|
-
)
|
|
3667
|
-
|
|
3668
|
-
stage_class = self._get_stage_class(stage_definition, library_definitions)
|
|
3669
|
-
stage_object = stage_class(stage=stage, pipeline=self)
|
|
3670
|
-
|
|
3671
|
-
return stage_object
|
|
3672
|
-
|
|
3673
|
-
@property
|
|
3674
|
-
def test_origin(self):
|
|
3675
|
-
"""Get the Test Origin of the Pipeline."""
|
|
3676
|
-
library_definitions = self._library_definitions
|
|
3677
|
-
stage = self._pipeline_definition.get('testOriginStage', [{}])
|
|
3678
|
-
|
|
3679
|
-
if not stage:
|
|
3680
|
-
return None
|
|
3681
|
-
|
|
3682
|
-
stage_definition = next(
|
|
3683
|
-
(stage_def for stage_def in library_definitions['stages'] if stage_def['name'] == stage['stageName']),
|
|
3684
|
-
{},
|
|
3685
|
-
)
|
|
3686
|
-
|
|
3687
|
-
stage_class = self._get_stage_class(stage_definition, library_definitions)
|
|
3688
|
-
stage_object = stage_class(stage=stage, pipeline=self)
|
|
3689
|
-
|
|
3690
|
-
return stage_object
|
|
3691
|
-
|
|
3692
|
-
def set_start_event(self, label=None, name=None, library=None):
|
|
3693
|
-
"""Set the Start Event of the Pipeline."""
|
|
3694
|
-
|
|
3695
|
-
# If _library_definitions is not populated, we call the internal _library_definitions property to perform
|
|
3696
|
-
# lazy-loading of the underlying data
|
|
3697
|
-
if not self._data_internal['libraryDefinitions']:
|
|
3698
|
-
self._library_definitions
|
|
3699
|
-
|
|
3700
|
-
try:
|
|
3701
|
-
builder = self._get_builder()
|
|
3702
|
-
# ValueError gets raised by the Engines class when trying to find an inaccessible Engine
|
|
3703
|
-
# However, sometimes ControlHub finds the Inaccessible Engine instance but we then error out later
|
|
3704
|
-
# downstream of the get_pipeline_builder method and throws an InternalServerError
|
|
3705
|
-
except (ValueError, InternalServerError) as e:
|
|
3706
|
-
raise ValueError(
|
|
3707
|
-
'Editing pipeline {} is not supported when the engine is not accessible,'
|
|
3708
|
-
' please check if the engine is running and try again.'.format(self.pipeline_id)
|
|
3709
|
-
) from e
|
|
3710
|
-
|
|
3711
|
-
stage = builder.add_start_event_stage(label=label, name=name, library=library)
|
|
3712
|
-
|
|
3713
|
-
# Pass the newly created stage into the Pipeline
|
|
3714
|
-
self._pipeline_definition['startEventStages'] = builder._pipeline[builder._config_key]['startEventStages']
|
|
3715
|
-
|
|
3716
|
-
# Set the value in the Pipeline configuration
|
|
3717
|
-
self.configuration.start_event = self._builder._stage_to_configuration_name(stage._data)
|
|
3718
|
-
|
|
3719
|
-
return stage
|
|
3720
|
-
|
|
3721
|
-
def set_stop_event(self, label=None, name=None, library=None):
|
|
3722
|
-
"""Set the Stop Event of the Pipeline."""
|
|
3723
|
-
|
|
3724
|
-
# If _library_definitions is not populated, we call the internal _library_definitions property to perform
|
|
3725
|
-
# lazy-loading of the underlying data
|
|
3726
|
-
if not self._data_internal['libraryDefinitions']:
|
|
3727
|
-
self._library_definitions
|
|
3728
|
-
|
|
3729
|
-
try:
|
|
3730
|
-
builder = self._get_builder()
|
|
3731
|
-
# ValueError gets raised by the Engines class when trying to find an inaccessible Engine
|
|
3732
|
-
# However, sometimes ControlHub finds the Inaccessible Engine instance but we then error out later
|
|
3733
|
-
# downstream of the get_pipeline_builder method and throws an InternalServerError
|
|
3734
|
-
except (ValueError, InternalServerError) as e:
|
|
3735
|
-
raise ValueError(
|
|
3736
|
-
'Editing pipeline {} is not supported when the engine is not accessible,'
|
|
3737
|
-
' please check if the engine is running and try again.'.format(self.pipeline_id)
|
|
3738
|
-
) from e
|
|
3739
|
-
|
|
3740
|
-
stage = builder.add_stop_event_stage(label=label, name=name, library=library)
|
|
3741
|
-
|
|
3742
|
-
# Pass the newly created stage into the Pipeline
|
|
3743
|
-
self._pipeline_definition['stopEventStages'] = builder._pipeline[builder._config_key]['stopEventStages']
|
|
3744
|
-
|
|
3745
|
-
# Set the value in the Pipeline configuration
|
|
3746
|
-
self.configuration.stop_event = self._builder._stage_to_configuration_name(stage._data)
|
|
3747
|
-
|
|
3748
|
-
return stage
|
|
3749
|
-
|
|
3750
|
-
def set_test_origin(self, label=None, name=None, library=None):
|
|
3751
|
-
"""Set the Test Origin of the Pipeline."""
|
|
3752
|
-
|
|
3753
|
-
# If _library_definitions is not populated, we call the internal _library_definitions property to perform
|
|
3754
|
-
# lazy-loading of the underlying data
|
|
3755
|
-
if not self._data_internal['libraryDefinitions']:
|
|
3756
|
-
self._library_definitions
|
|
3757
|
-
|
|
3758
|
-
try:
|
|
3759
|
-
builder = self._get_builder()
|
|
3760
|
-
# ValueError gets raised by the Engines class when trying to find an inaccessible Engine
|
|
3761
|
-
# However, sometimes ControlHub finds the Inaccessible Engine instance but we then error out later
|
|
3762
|
-
# downstream of the get_pipeline_builder method and throws an InternalServerError
|
|
3763
|
-
except (ValueError, InternalServerError) as e:
|
|
3764
|
-
raise ValueError(
|
|
3765
|
-
'Editing pipeline {} is not supported when the engine is not accessible,'
|
|
3766
|
-
' please check if the engine is running and try again.'.format(self.pipeline_id)
|
|
3767
|
-
) from e
|
|
3768
|
-
|
|
3769
|
-
stage = builder.add_test_origin_stage(label=label, name=name, library=library)
|
|
3770
|
-
|
|
3771
|
-
# Pass the newly created stage into the Pipeline
|
|
3772
|
-
self._pipeline_definition['testOriginStage'] = builder._pipeline[builder._config_key]['testOriginStage']
|
|
3773
|
-
|
|
3774
|
-
# Set the value in Pipeline configuration
|
|
3775
|
-
self.configuration.test_origin = self._builder._stage_to_configuration_name(stage._data)
|
|
3776
|
-
|
|
3777
|
-
return stage
|
|
3778
|
-
|
|
3779
3637
|
@property
|
|
3780
3638
|
def error_stage(self):
|
|
3781
3639
|
"""Get the error stage of the Pipeline."""
|
|
@@ -4343,7 +4201,7 @@ class Pipelines(CollectionModel):
|
|
|
4343
4201
|
kwargs_defaults = {
|
|
4344
4202
|
'offset': None,
|
|
4345
4203
|
'len': None,
|
|
4346
|
-
'order_by': '
|
|
4204
|
+
'order_by': 'LAST_MODIFIED_ON',
|
|
4347
4205
|
'order': None,
|
|
4348
4206
|
'system': None,
|
|
4349
4207
|
'filter_text': None,
|
|
@@ -4399,7 +4257,7 @@ class Pipelines(CollectionModel):
|
|
|
4399
4257
|
response = self._control_hub.api_client.get_fragments_by_query(
|
|
4400
4258
|
search=search,
|
|
4401
4259
|
org_id=self._control_hub.organization,
|
|
4402
|
-
order_by=kwargs_unioned['order_by'].lower(),
|
|
4260
|
+
order_by=convert_last_modified_on_field_for_saql(kwargs_unioned['order_by'].lower()),
|
|
4403
4261
|
offset=kwargs_unioned['offset'],
|
|
4404
4262
|
len=kwargs_unioned['len'],
|
|
4405
4263
|
).response.json()
|
|
@@ -4424,7 +4282,7 @@ class Pipelines(CollectionModel):
|
|
|
4424
4282
|
response = self._control_hub.api_client.get_pipelines_by_query(
|
|
4425
4283
|
search=search,
|
|
4426
4284
|
org_id=self._control_hub.organization,
|
|
4427
|
-
order_by=kwargs_unioned['order_by'].lower(),
|
|
4285
|
+
order_by=convert_last_modified_on_field_for_saql(kwargs_unioned['order_by'].lower()),
|
|
4428
4286
|
offset=kwargs_unioned['offset'],
|
|
4429
4287
|
len=kwargs_unioned['len'],
|
|
4430
4288
|
).response.json()
|
|
@@ -4862,7 +4720,7 @@ class Tag(BaseModel):
|
|
|
4862
4720
|
@property
|
|
4863
4721
|
def tag(self):
|
|
4864
4722
|
"""Get the Tag."""
|
|
4865
|
-
return self.id.split(':')[
|
|
4723
|
+
return ':'.join(self.id.split(':')[:-1])
|
|
4866
4724
|
|
|
4867
4725
|
|
|
4868
4726
|
@analytics_class_decorator
|
|
@@ -5647,7 +5505,7 @@ class JobSequences(CollectionModel):
|
|
|
5647
5505
|
class_kwargs (:obj:`dict`): a dict of additional arguments required by the class_type's init
|
|
5648
5506
|
"""
|
|
5649
5507
|
|
|
5650
|
-
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': '
|
|
5508
|
+
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': 'LAST_MODIFIED_TIME', 'order': 'ASC'}
|
|
5651
5509
|
kwargs_instance = MutableKwargs(kwargs_defaults, kwargs)
|
|
5652
5510
|
kwargs_unioned = kwargs_instance.union()
|
|
5653
5511
|
if 'id' in kwargs_unioned:
|
|
@@ -5826,7 +5684,7 @@ class Job(BaseModel):
|
|
|
5826
5684
|
data_collectors = SeekableList()
|
|
5827
5685
|
for pipeline_status in self.pipeline_status:
|
|
5828
5686
|
# warning: some downstream uses incorrectly rely on the ValueError raised by the SeekableList here
|
|
5829
|
-
data_collector = self._control_hub.
|
|
5687
|
+
data_collector = self._control_hub.engines.get(id=pipeline_status.sdc_id, engine_type='COLLECTOR')
|
|
5830
5688
|
pipeline_name = pipeline_status.name
|
|
5831
5689
|
data_collectors.append(JobDataCollector(data_collector=data_collector, pipeline_name=pipeline_name))
|
|
5832
5690
|
return data_collectors
|
|
@@ -5836,7 +5694,7 @@ class Job(BaseModel):
|
|
|
5836
5694
|
transformers = SeekableList()
|
|
5837
5695
|
for pipeline_status in self.pipeline_status:
|
|
5838
5696
|
# warning: some downstream uses incorrectly rely on the ValueError raised by the SeekableList here
|
|
5839
|
-
transformer = self._control_hub.
|
|
5697
|
+
transformer = self._control_hub.engines.get(id=pipeline_status.sdc_id, engine_type='TRANSFORMER')
|
|
5840
5698
|
pipeline_name = pipeline_status.name
|
|
5841
5699
|
transformers.append(JobTransformer(transformer=transformer, pipeline_name=pipeline_name))
|
|
5842
5700
|
return transformers
|
|
@@ -6560,7 +6418,7 @@ class DraftRuns(CollectionModel):
|
|
|
6560
6418
|
class_type (:py:class:`streamsets.sdk.sch_models.DraftRun`): the type of class to instantiate
|
|
6561
6419
|
class_kwargs (:obj:`dict`): a dict of additional arguments required by the class_type's init
|
|
6562
6420
|
"""
|
|
6563
|
-
kwargs_defaults = {'order_by': '
|
|
6421
|
+
kwargs_defaults = {'order_by': 'modified_on', 'search': None, 'offset': 0, 'len': None}
|
|
6564
6422
|
kwargs_instance = MutableKwargs(kwargs_defaults, kwargs)
|
|
6565
6423
|
kwargs_unioned = kwargs_instance.union()
|
|
6566
6424
|
response = self._control_hub.api_client.get_draft_runs_by_query(
|
|
@@ -6638,7 +6496,7 @@ class Jobs(CollectionModel):
|
|
|
6638
6496
|
class_kwargs (:obj:`dict`): a dict of additional arguments required by the class_type's init
|
|
6639
6497
|
"""
|
|
6640
6498
|
kwargs_defaults = {
|
|
6641
|
-
'order_by': '
|
|
6499
|
+
'order_by': 'CREATE_TIME',
|
|
6642
6500
|
'order': 'ASC',
|
|
6643
6501
|
'removed': False,
|
|
6644
6502
|
'system': False,
|
|
@@ -6695,7 +6553,7 @@ class Jobs(CollectionModel):
|
|
|
6695
6553
|
response = self._control_hub.api_client.get_job_templates_by_query(
|
|
6696
6554
|
search=search,
|
|
6697
6555
|
org_id=self._control_hub.organization,
|
|
6698
|
-
order_by=kwargs_unioned['order_by'].lower(),
|
|
6556
|
+
order_by=convert_last_modified_on_field_for_saql(kwargs_unioned['order_by'].lower()),
|
|
6699
6557
|
offset=kwargs_unioned['offset'],
|
|
6700
6558
|
len=kwargs_unioned['len'],
|
|
6701
6559
|
).response.json()
|
|
@@ -6703,7 +6561,7 @@ class Jobs(CollectionModel):
|
|
|
6703
6561
|
response = self._control_hub.api_client.get_jobs_by_query(
|
|
6704
6562
|
search=search,
|
|
6705
6563
|
org_id=self._control_hub.organization,
|
|
6706
|
-
order_by=kwargs_unioned['order_by'].lower(),
|
|
6564
|
+
order_by=convert_last_modified_on_field_for_saql(kwargs_unioned['order_by'].lower()),
|
|
6707
6565
|
offset=kwargs_unioned['offset'],
|
|
6708
6566
|
len=kwargs_unioned['len'],
|
|
6709
6567
|
).response.json()
|
|
@@ -7549,7 +7407,7 @@ class Topologies(CollectionModel):
|
|
|
7549
7407
|
class_type (:py:class:`streamsets.sdk.sch_models.Topology`): the type of class to instantiate
|
|
7550
7408
|
class_kwargs (:obj:`dict`): a dict of additional arguments required by the class_type's init
|
|
7551
7409
|
"""
|
|
7552
|
-
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': '
|
|
7410
|
+
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': 'LAST_MODIFIED_TIME', 'order': 'ASC'}
|
|
7553
7411
|
kwargs_instance = MutableKwargs(kwargs_defaults, kwargs)
|
|
7554
7412
|
kwargs_unioned = kwargs_instance.union()
|
|
7555
7413
|
response = self._control_hub.api_client.return_all_topologies(
|
|
@@ -8524,7 +8382,7 @@ class Environments(CollectionModel):
|
|
|
8524
8382
|
kwargs_defaults = {
|
|
8525
8383
|
'offset': None,
|
|
8526
8384
|
'len': None,
|
|
8527
|
-
'order_by': '
|
|
8385
|
+
'order_by': 'LAST_MODIFIED_TIME',
|
|
8528
8386
|
'order': 'ASC',
|
|
8529
8387
|
'tag': None,
|
|
8530
8388
|
'with_total_count': False,
|
|
@@ -9060,7 +8918,7 @@ class Engines(CollectionModel):
|
|
|
9060
8918
|
# pagination
|
|
9061
8919
|
'offset': 0,
|
|
9062
8920
|
'len': None,
|
|
9063
|
-
'order_by': '
|
|
8921
|
+
'order_by': 'HTTP_URL',
|
|
9064
8922
|
'order': 'ASC',
|
|
9065
8923
|
# server-side filtering
|
|
9066
8924
|
'label': label,
|
|
@@ -9865,7 +9723,7 @@ class Deployments(CollectionModel):
|
|
|
9865
9723
|
kwargs_defaults = {
|
|
9866
9724
|
'offset': None,
|
|
9867
9725
|
'len': None,
|
|
9868
|
-
'order_by': '
|
|
9726
|
+
'order_by': 'LAST_MODIFIED_TIME',
|
|
9869
9727
|
'order': 'ASC',
|
|
9870
9728
|
'with_total_count': False,
|
|
9871
9729
|
'state_display_label': None,
|
|
@@ -11998,7 +11856,7 @@ class Subscriptions(CollectionModel):
|
|
|
11998
11856
|
class_type (:py:class:`streamsets.sdk.sch_models.Subscription`): the type of class to instantiate
|
|
11999
11857
|
class_kwargs (:obj:`dict`): a dict of additional arguments required by the class_type's init
|
|
12000
11858
|
"""
|
|
12001
|
-
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': '
|
|
11859
|
+
kwargs_defaults = {'offset': 0, 'len': None, 'order_by': 'CREATE_TIME', 'order': 'ASC'}
|
|
12002
11860
|
kwargs_instance = MutableKwargs(kwargs_defaults, kwargs)
|
|
12003
11861
|
kwargs_unioned = kwargs_instance.union()
|
|
12004
11862
|
response = self._control_hub.api_client.get_all_event_subscriptions(
|
|
@@ -12726,7 +12584,7 @@ class Connections(CollectionModel):
|
|
|
12726
12584
|
kwargs_defaults = {
|
|
12727
12585
|
'offset': None,
|
|
12728
12586
|
'len': None,
|
|
12729
|
-
'order_by': '
|
|
12587
|
+
'order_by': 'LAST_MODIFIED_TIME',
|
|
12730
12588
|
'order': 'ASC',
|
|
12731
12589
|
'filter_text': None,
|
|
12732
12590
|
'with_total_count': False,
|
|
@@ -21,8 +21,8 @@ from .constants import (
|
|
|
21
21
|
from .exceptions import ServiceDefinitionNotFound
|
|
22
22
|
from .models import Configuration, _StageWithPredicates
|
|
23
23
|
from .utils import (
|
|
24
|
-
SeekableList, determine_fragment_label, format_log,
|
|
25
|
-
|
|
24
|
+
SeekableList, determine_fragment_label, format_log, get_attribute, get_color_icon_from_stage_definition,
|
|
25
|
+
get_open_output_lanes, get_params, pipeline_json_encoder,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
# fmt: on
|
|
@@ -1062,28 +1062,11 @@ class PipelineBuilder:
|
|
|
1062
1062
|
Returns:
|
|
1063
1063
|
An instance of :py:class:`streamsets.sdk.sdc_models.Stage`.
|
|
1064
1064
|
"""
|
|
1065
|
-
accepted_labels, accepted_libraries, accepted_java_names = get_accepted_labels_libraries_and_names(
|
|
1066
|
-
self, 'startEventStage'
|
|
1067
|
-
)
|
|
1068
|
-
|
|
1069
|
-
if label and label not in accepted_labels:
|
|
1070
|
-
raise ValueError('Stage with label {} is not a supported start event stage'.format(label))
|
|
1071
|
-
if name and name not in accepted_java_names:
|
|
1072
|
-
raise ValueError('Stage with name {} is not a supported start event stage'.format(name))
|
|
1073
|
-
if library and library not in accepted_libraries:
|
|
1074
|
-
raise ValueError('Stage with library {} is not a supported start event stage'.format(library))
|
|
1075
|
-
|
|
1076
1065
|
stage_instance, stage_definition = next(
|
|
1077
1066
|
(stage.instance, stage.definition)
|
|
1078
1067
|
for stage in self._get_stage_data(label=label, name=name, library=library)
|
|
1079
1068
|
if stage.definition.get('pipelineLifecycleStage') is True
|
|
1080
1069
|
)
|
|
1081
|
-
|
|
1082
|
-
# We need instanceName in the form <instance_name>_StartEventStage and not <instance_name>_01
|
|
1083
|
-
instance_name_split_list = stage_instance['instanceName'].split('_')
|
|
1084
|
-
instance_name_split_list[-1] = 'StartEventStage'
|
|
1085
|
-
stage_instance['instanceName'] = '_'.join(instance_name_split_list)
|
|
1086
|
-
|
|
1087
1070
|
self._pipeline[self._config_key]['startEventStages'] = [stage_instance]
|
|
1088
1071
|
self._set_pipeline_configuration('startEventStage', self._stage_to_configuration_name(stage_instance))
|
|
1089
1072
|
return self._all_stages.get(stage_instance['stageName'], Stage)(
|
|
@@ -1109,28 +1092,11 @@ class PipelineBuilder:
|
|
|
1109
1092
|
Returns:
|
|
1110
1093
|
An instance of :py:class:`streamsets.sdk.sdc_models.Stage`.
|
|
1111
1094
|
"""
|
|
1112
|
-
accepted_labels, accepted_libraries, accepted_java_names = get_accepted_labels_libraries_and_names(
|
|
1113
|
-
self, 'stopEventStage'
|
|
1114
|
-
)
|
|
1115
|
-
|
|
1116
|
-
if label and label not in accepted_labels:
|
|
1117
|
-
raise ValueError('Stage with label {} is not a supported stop event stage'.format(label))
|
|
1118
|
-
if name and name not in accepted_java_names:
|
|
1119
|
-
raise ValueError('Stage with name {} is not a supported stop event stage'.format(name))
|
|
1120
|
-
if library and library not in accepted_libraries:
|
|
1121
|
-
raise ValueError('Stage with library {} is not a supported stop event stage'.format(library))
|
|
1122
|
-
|
|
1123
1095
|
stage_instance, stage_definition = next(
|
|
1124
1096
|
(stage.instance, stage.definition)
|
|
1125
1097
|
for stage in self._get_stage_data(label=label, name=name, library=library)
|
|
1126
1098
|
if stage.definition.get('pipelineLifecycleStage') is True
|
|
1127
1099
|
)
|
|
1128
|
-
|
|
1129
|
-
# We need instanceName in the form <instance_name>_StartEventStage and not <instance_name>_01
|
|
1130
|
-
instance_name_split_list = stage_instance['instanceName'].split('_')
|
|
1131
|
-
instance_name_split_list[-1] = 'StopEventStage'
|
|
1132
|
-
stage_instance['instanceName'] = '_'.join(instance_name_split_list)
|
|
1133
|
-
|
|
1134
1100
|
self._pipeline[self._config_key]['stopEventStages'] = [stage_instance]
|
|
1135
1101
|
self._set_pipeline_configuration('stopEventStage', self._stage_to_configuration_name(stage_instance))
|
|
1136
1102
|
return self._all_stages.get(stage_instance['stageName'], Stage)(
|
|
@@ -1155,30 +1121,12 @@ class PipelineBuilder:
|
|
|
1155
1121
|
|
|
1156
1122
|
Returns:
|
|
1157
1123
|
An instance of :py:class:`streamsets.sdk.sdc_models.Stage`.
|
|
1158
|
-
|
|
1159
1124
|
"""
|
|
1160
|
-
accepted_labels, accepted_libraries, accepted_java_names = get_accepted_labels_libraries_and_names(
|
|
1161
|
-
self, 'testOriginStage'
|
|
1162
|
-
)
|
|
1163
|
-
|
|
1164
|
-
if label and label not in accepted_labels:
|
|
1165
|
-
raise ValueError('Stage with label {} is not a supported test origin stage'.format(label))
|
|
1166
|
-
if name and name not in accepted_java_names:
|
|
1167
|
-
raise ValueError('Stage with name {} is not a supported test origin stage'.format(name))
|
|
1168
|
-
if library and library not in accepted_libraries:
|
|
1169
|
-
raise ValueError('Stage with library {} is not a supported test origin stage'.format(library))
|
|
1170
|
-
|
|
1171
1125
|
stage_instance, stage_definition = next(
|
|
1172
1126
|
(stage.instance, stage.definition)
|
|
1173
1127
|
for stage in self._get_stage_data(label=label, name=name, library=library)
|
|
1174
1128
|
if stage.definition.get('type') == 'SOURCE'
|
|
1175
1129
|
)
|
|
1176
|
-
|
|
1177
|
-
# We need instanceName in the form <instance_name>_StartEventStage and not <instance_name>_01
|
|
1178
|
-
instance_name_split_list = stage_instance['instanceName'].split('_')
|
|
1179
|
-
instance_name_split_list[-1] = 'TestOriginStage'
|
|
1180
|
-
stage_instance['instanceName'] = '_'.join(instance_name_split_list)
|
|
1181
|
-
|
|
1182
1130
|
self._pipeline[self._config_key]['testOriginStage'] = stage_instance
|
|
1183
1131
|
self._set_pipeline_configuration('testOriginStage', self._stage_to_configuration_name(stage_instance))
|
|
1184
1132
|
return self._all_stages.get(stage_instance['stageName'], Stage)(
|
|
@@ -19,8 +19,7 @@ from .constants import ST_STAGE_ATTRIBUTE_RENAME_ALIASES as STAGE_ATTRIBUTE_RENA
|
|
|
19
19
|
from .constants import ServiceConfigurationProperty, StageConfigurationProperty
|
|
20
20
|
from .models import Configuration, _StageWithPredicates
|
|
21
21
|
from .utils import (
|
|
22
|
-
SeekableList, format_log,
|
|
23
|
-
get_color_icon_from_stage_definition, get_params, pipeline_json_encoder,
|
|
22
|
+
SeekableList, format_log, get_attribute, get_color_icon_from_stage_definition, get_params, pipeline_json_encoder,
|
|
24
23
|
)
|
|
25
24
|
|
|
26
25
|
# fmt: on
|
|
@@ -898,30 +897,14 @@ class PipelineBuilder:
|
|
|
898
897
|
Returns:
|
|
899
898
|
An instance of :py:class:`streamsets.sdk.st_models.Stage`.
|
|
900
899
|
"""
|
|
901
|
-
accepted_labels, accepted_libraries, accepted_java_names = get_accepted_labels_libraries_and_names(
|
|
902
|
-
self, 'startEventStage'
|
|
903
|
-
)
|
|
904
|
-
|
|
905
|
-
if label and label not in accepted_labels:
|
|
906
|
-
raise ValueError('Stage with label {} is not a supported start event stage'.format(label))
|
|
907
|
-
if name and name not in accepted_java_names:
|
|
908
|
-
raise ValueError('Stage with name {} is not a supported start event stage'.format(name))
|
|
909
|
-
if library and library not in accepted_libraries:
|
|
910
|
-
raise ValueError('Stage with library {} is not a supported start event stage'.format(library))
|
|
911
|
-
|
|
912
900
|
stage_instance, stage_definition = next(
|
|
913
901
|
(stage.instance, stage.definition)
|
|
914
902
|
for stage in self._get_stage_data(label=label, name=name, library=library)
|
|
915
903
|
if stage.definition.get('pipelineLifecycleStage') is True
|
|
916
904
|
)
|
|
917
|
-
|
|
918
|
-
# We need instanceName in the form <instance_name>_StartEventStage and not <instance_name>_01
|
|
919
|
-
instance_name_split_list = stage_instance['instanceName'].split('_')
|
|
920
|
-
instance_name_split_list[-1] = 'StartEventStage'
|
|
921
|
-
stage_instance['instanceName'] = '_'.join(instance_name_split_list)
|
|
922
|
-
|
|
923
|
-
self._pipeline[self._config_key]['startEventStages'] = [stage_instance]
|
|
905
|
+
self._pipeline['pipelineConfig']['startEventStages'] = [stage_instance]
|
|
924
906
|
self._set_pipeline_configuration('startEventStage', self._stage_to_configuration_name(stage_instance))
|
|
907
|
+
|
|
925
908
|
return self._all_stages.get(stage_instance['stageName'], Stage)(
|
|
926
909
|
stage=stage_instance,
|
|
927
910
|
output_streams=stage_definition.get('outputStreams', 0),
|
|
@@ -945,31 +928,14 @@ class PipelineBuilder:
|
|
|
945
928
|
Returns:
|
|
946
929
|
An instance of :py:class:`streamsets.sdk.st_models.Stage`.
|
|
947
930
|
"""
|
|
948
|
-
# Create accepted lists
|
|
949
|
-
accepted_labels, accepted_libraries, accepted_java_names = get_accepted_labels_libraries_and_names(
|
|
950
|
-
self, 'stopEventStage'
|
|
951
|
-
)
|
|
952
|
-
|
|
953
|
-
if label and label not in accepted_labels:
|
|
954
|
-
raise ValueError('Stage with label {} is not a supported stop event stage'.format(label))
|
|
955
|
-
if name and name not in accepted_java_names:
|
|
956
|
-
raise ValueError('Stage with name {} is not a supported stop event stage'.format(name))
|
|
957
|
-
if library and library not in accepted_libraries:
|
|
958
|
-
raise ValueError('Stage with library {} is not a supported stop event stage'.format(library))
|
|
959
|
-
|
|
960
931
|
stage_instance, stage_definition = next(
|
|
961
932
|
(stage.instance, stage.definition)
|
|
962
933
|
for stage in self._get_stage_data(label=label, name=name, library=library)
|
|
963
934
|
if stage.definition.get('pipelineLifecycleStage') is True
|
|
964
935
|
)
|
|
965
|
-
|
|
966
|
-
# We need instanceName in the form <instance_name>_StartEventStage and not <instance_name>_01
|
|
967
|
-
instance_name_split_list = stage_instance['instanceName'].split('_')
|
|
968
|
-
instance_name_split_list[-1] = 'StopEventStage'
|
|
969
|
-
stage_instance['instanceName'] = '_'.join(instance_name_split_list)
|
|
970
|
-
|
|
971
|
-
self._pipeline[self._config_key]['stopEventStages'] = [stage_instance]
|
|
936
|
+
self._pipeline['pipelineConfig']['stopEventStages'] = [stage_instance]
|
|
972
937
|
self._set_pipeline_configuration('stopEventStage', self._stage_to_configuration_name(stage_instance))
|
|
938
|
+
|
|
973
939
|
return self._all_stages.get(stage_instance['stageName'], Stage)(
|
|
974
940
|
stage=stage_instance,
|
|
975
941
|
output_streams=stage_definition.get('outputStreams', 0),
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# IBM Confidential
|
|
2
|
+
# PID 5900-BAF
|
|
3
|
+
# Copyright StreamSets Inc., an IBM Company 2025
|
|
2
4
|
|
|
3
5
|
"""Assorted utility functions."""
|
|
4
6
|
|
|
@@ -1060,33 +1062,20 @@ def validate_pipeline_stages(pipeline):
|
|
|
1060
1062
|
raise ValueError("Stage {} does not exist within Engine Libraries".format(stage.instance_name))
|
|
1061
1063
|
|
|
1062
1064
|
|
|
1063
|
-
def
|
|
1064
|
-
|
|
1065
|
-
# The accepted labels and associated java_name values are of the form:
|
|
1066
|
-
# {'labels': [label1 (library: Library_name1), label2 (Library: library_name2)],
|
|
1067
|
-
# 'values': [java_name_for_label1, java_name_for_label2]}
|
|
1068
|
-
config_definition = next(
|
|
1069
|
-
(
|
|
1070
|
-
config.get('model')
|
|
1071
|
-
for config in pipeline_builder._definitions['pipeline'][0]['configDefinitions']
|
|
1072
|
-
if config['fieldName'] == field_name
|
|
1073
|
-
),
|
|
1074
|
-
{},
|
|
1075
|
-
)
|
|
1076
|
-
if not config_definition:
|
|
1077
|
-
raise RuntimeError('Could not pull the {} library definitions'.format(field_name))
|
|
1078
|
-
|
|
1079
|
-
# Create accepted lists
|
|
1080
|
-
accepted_labels = []
|
|
1081
|
-
accepted_libraries = []
|
|
1082
|
-
accepted_java_names = []
|
|
1083
|
-
for idx, field in enumerate(config_definition['labels']):
|
|
1084
|
-
label_name = field.split(' (')[0]
|
|
1085
|
-
accepted_labels.append(label_name)
|
|
1065
|
+
def convert_last_modified_on_field_for_saql(maybe_last_modified_on):
|
|
1066
|
+
"""Trims ``last_`` prefix from ``last_modified_on`` property.
|
|
1086
1067
|
|
|
1087
|
-
|
|
1088
|
-
|
|
1068
|
+
Make ``last_modified_on`` property compliant with Advanced query language endpoints which
|
|
1069
|
+
support only ``modified_on`` property.
|
|
1089
1070
|
|
|
1090
|
-
|
|
1071
|
+
Args:
|
|
1072
|
+
maybe_last_modified_on (:py:obj:`str`): A property name for resource pipeline, job etc.
|
|
1091
1073
|
|
|
1092
|
-
|
|
1074
|
+
Returns:
|
|
1075
|
+
A :py:obj:`str` with property name without prefix or original value if it is not ``last_modified_on``.
|
|
1076
|
+
"""
|
|
1077
|
+
if re.match(r'^last_modified_on[+\-]?$', maybe_last_modified_on.lower()):
|
|
1078
|
+
return maybe_last_modified_on.lower().replace('last_', '')
|
|
1079
|
+
if re.match(r'^create_time[+\-]?$', maybe_last_modified_on.lower()):
|
|
1080
|
+
return "created_on"
|
|
1081
|
+
return maybe_last_modified_on
|