streamsets 6.6.0rc1__tar.gz → 6.6.2.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.
Files changed (356) hide show
  1. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/HISTORY.rst +26 -0
  2. streamsets-6.6.2.dev0/PKG-INFO +66 -0
  3. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/README.rst +2 -3
  4. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/build/creating_pipelines.rst +1 -0
  5. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/build/editing_pipelines.rst +6 -1
  6. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/connections/connections.rst +1 -1
  7. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/pyproject.toml +1 -1
  8. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/requirements.txt +1 -1
  9. streamsets-6.6.2.dev0/streamsets/sdk/__version__.py +5 -0
  10. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sch.py +1 -1
  11. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sch_models.py +175 -15
  12. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sdc_models.py +54 -2
  13. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/st_models.py +39 -5
  14. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/utils.py +32 -0
  15. streamsets-6.6.2.dev0/streamsets.egg-info/PKG-INFO +66 -0
  16. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_pipelines.py +34 -0
  17. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_users_and_groups.py +2 -2
  18. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_collection_model.py +2 -0
  19. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_pipeline_builder.py +15 -0
  20. streamsets-6.6.2.dev0/tests/unit/test_utils.py +788 -0
  21. streamsets-6.6.0rc1/PKG-INFO +0 -21
  22. streamsets-6.6.0rc1/streamsets/sdk/__version__.py +0 -5
  23. streamsets-6.6.0rc1/streamsets.egg-info/PKG-INFO +0 -21
  24. streamsets-6.6.0rc1/tests/unit/test_utils.py +0 -353
  25. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/.gitignore +0 -0
  26. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/Dockerfile +0 -0
  27. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/MANIFEST.in +0 -0
  28. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/Makefile +0 -0
  29. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/build_requirements.txt +0 -0
  30. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/TopologyMissingNodes.png +0 -0
  31. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/TopologyMultipleJobsSingleSystem.png +0 -0
  32. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/TopologyRestoredNodes.png +0 -0
  33. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/add_snowflake_credentials.png +0 -0
  34. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/click_snowflake_settings.png +0 -0
  35. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/css/docs_theme.css +0 -0
  36. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/dev_data_generator_to_trash.png +0 -0
  37. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/dev_data_generator_to_two_trashes.png +0 -0
  38. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/dev_data_generator_with_events.png +0 -0
  39. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/dev_raw_data_source_help.png +0 -0
  40. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/dev_raw_data_to_trash.png +0 -0
  41. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/favicon.ico +0 -0
  42. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/file_tail_to_two_trashes.png +0 -0
  43. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/full-ibm-streamsets-logo.svg +0 -0
  44. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/add_frag_to_pipeline.png +0 -0
  45. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/connect_event_lane.png +0 -0
  46. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/delete_connection.png +0 -0
  47. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/edit_configuration.png +0 -0
  48. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/error_records_configuration.png +0 -0
  49. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/error_records_main.png +0 -0
  50. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/existing_pipelines.png +0 -0
  51. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/fragment_canvas.png +0 -0
  52. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/fragment_ui.png +0 -0
  53. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/multi_output_stages_complete.png +0 -0
  54. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/multi_output_stages_incomplete.png +0 -0
  55. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/pipeline_canvas.png +0 -0
  56. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/pipeline_check_in.png +0 -0
  57. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/pipeline_ui.png +0 -0
  58. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/pipelines_using_fragment.png +0 -0
  59. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/produce_events.png +0 -0
  60. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/remove_stage.png +0 -0
  61. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/selector_four_conditions.png +0 -0
  62. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/snowflake_required_parameters.png +0 -0
  63. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/stages_unconnected.png +0 -0
  64. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/stages_with_different_types.png +0 -0
  65. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/update_pipeline_with_frag.png +0 -0
  66. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/build/value_chooser__JSON_content.png +0 -0
  67. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/permissions/add_new_permissions.png +0 -0
  68. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/permissions/change_owner.png +0 -0
  69. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/permissions/delete_permissions.png +0 -0
  70. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/permissions/share_button.png +0 -0
  71. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/permissions/share_settings.png +0 -0
  72. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/projects/create_project.png +0 -0
  73. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/projects/switch_projects.png +0 -0
  74. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/activate_user.png +0 -0
  75. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/add_new_group.png +0 -0
  76. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/add_new_user.png +0 -0
  77. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/deactivate_user.png +0 -0
  78. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/delete_group.png +0 -0
  79. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/delete_user.png +0 -0
  80. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/groups_list.png +0 -0
  81. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/invite_user_details.png +0 -0
  82. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/new_group_details.png +0 -0
  83. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/project_roles.png +0 -0
  84. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/update_group_details.png +0 -0
  85. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/update_user_details.png +0 -0
  86. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/manage/users_and_groups/users_list.png +0 -0
  87. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/activate_sequence.png +0 -0
  88. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/add_job_modal.png +0 -0
  89. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/add_jobs_to_job_sequence.png +0 -0
  90. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/create_job_sequence.png +0 -0
  91. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/delete_draftrun_ui.png +0 -0
  92. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/delete_job_sequence.png +0 -0
  93. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/disable_sequence.png +0 -0
  94. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/draftrun_ui.png +0 -0
  95. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/get_job_sequence_steps.png +0 -0
  96. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/get_job_sequences.png +0 -0
  97. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/logs_ui.png +0 -0
  98. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/move_step.png +0 -0
  99. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/snapshots_ui.png +0 -0
  100. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/start_draftrun_ui.png +0 -0
  101. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/stop_draftrun_ui.png +0 -0
  102. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/three_dots_sequence.png +0 -0
  103. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/run/view_history.png +0 -0
  104. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Mark_Favorite.png +0 -0
  105. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Query_Builder.png +0 -0
  106. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Remove.png +0 -0
  107. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Save_Search.png +0 -0
  108. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Saved_Searches.png +0 -0
  109. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Search_Name_Wizard.png +0 -0
  110. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/SAQL_Update.png +0 -0
  111. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/search/Search_Advanced.png +0 -0
  112. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/configuring_connection.png +0 -0
  113. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/create_connection.png +0 -0
  114. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/deleting_connection.png +0 -0
  115. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/editing_connection.png +0 -0
  116. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/get_connection.png +0 -0
  117. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/pipelines_using_connection.png +0 -0
  118. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/using_connection.png +0 -0
  119. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/connections/verify_connection.png +0 -0
  120. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_autoscaling_group.png +0 -0
  121. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_ssh_access.png +0 -0
  122. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_configure_azure_vm_zone.png +0 -0
  123. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_sdc.png +0 -0
  124. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_define_deployment_transformer.png +0 -0
  125. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/azure_vm_deployments/creation_review_and_launch.png +0 -0
  126. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_docker.png +0 -0
  127. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/configure_install_type_tarball.png +0 -0
  128. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_as_a_list.png +0 -0
  129. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_stage_lib_selection_screen.png +0 -0
  130. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_as_a_list.png +0 -0
  131. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/creation_configure_engine_transformer_stage_lib_selection_screen.png +0 -0
  132. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/common/creation_share_deployment.png +0 -0
  133. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_autoscaling_group.png +0 -0
  134. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_ec2_ssh_access.png +0 -0
  135. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_configure_engine.png +0 -0
  136. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_define_deployment.png +0 -0
  137. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_review_and_launch.png +0 -0
  138. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_share_deployment.png +0 -0
  139. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/ec2_deployments/creation_transformer_define_deployment.png +0 -0
  140. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_engine.png +0 -0
  141. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_autoscaling_group.png +0 -0
  142. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_region.png +0 -0
  143. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_ssh_access.png +0 -0
  144. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_configure_gce_zone.png +0 -0
  145. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_sdc.png +0 -0
  146. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_define_deployment_transformer.png +0 -0
  147. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/gce_deployments/creation_review_and_launch.png +0 -0
  148. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_deployment_wizard.png +0 -0
  149. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_configure_kubernetes_wizard.png +0 -0
  150. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_create_deployment_wizard.png +0 -0
  151. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_jdbc_version_wizard.png +0 -0
  152. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_review_launch_wizard.png +0 -0
  153. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/sdc_stage_libs_wizard.png +0 -0
  154. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_configure_deployment_wizard.png +0 -0
  155. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_create_deployment_wizard.png +0 -0
  156. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_jdbc_version_wizard.png +0 -0
  157. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/kubernetes_deployments/transformer_stage_libs_wizard.png +0 -0
  158. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_configure_engine.png +0 -0
  159. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_sdc.png +0 -0
  160. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_define_deployment_transformer.png +0 -0
  161. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_sdc.png +0 -0
  162. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_review_and_launch_transformer.png +0 -0
  163. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/creation_share_deployment.png +0 -0
  164. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/get_install_script.png +0 -0
  165. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/deployments/self_managed_deployments/select_install_type.png +0 -0
  166. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_access_keys.png +0 -0
  167. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_subnets.png +0 -0
  168. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_aws_vpc.png +0 -0
  169. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_configure_cross_account_role.png +0 -0
  170. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_configure_engine_select_aws_region.png +0 -0
  171. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_define_environment.png +0 -0
  172. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_review_and_activate_environment.png +0 -0
  173. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/aws_environments/creation_share_environment.png +0 -0
  174. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_credentials.png +0 -0
  175. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_region.png +0 -0
  176. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_subnet.png +0 -0
  177. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_configure_azure_vnet.png +0 -0
  178. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_configure_engine_defaults_azure_vm_instances.png +0 -0
  179. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_define_environment.png +0 -0
  180. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/azure_environments/creation_review_and_activate_environment.png +0 -0
  181. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_impersonation.png +0 -0
  182. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_credentials_service_account_key.png +0 -0
  183. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_configure_gcp_project.png +0 -0
  184. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_define_environment.png +0 -0
  185. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_review_and_activate.png +0 -0
  186. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_select_gcp_vpc.png +0 -0
  187. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/gcp_environments/creation_share_environment.png +0 -0
  188. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/activate_and_install_wizard.png +0 -0
  189. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/configure_environment_wizard.png +0 -0
  190. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/create_environment_wizard.png +0 -0
  191. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/kubernetes_environments/installation_script_wizard.png +0 -0
  192. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/managing_environments/managing_environments.png +0 -0
  193. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_define_environment.png +0 -0
  194. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_review_and_activate.png +0 -0
  195. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/set_up/environments/self_managed_environments/creation_share_environment.png +0 -0
  196. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/welcome/api_credentials.png +0 -0
  197. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/images/welcome/examples/find_sdc_id.png +0 -0
  198. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sample_fragment.png +0 -0
  199. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sample_pipeline_using_fragment.png +0 -0
  200. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/saved_snowflake_credential.png +0 -0
  201. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sdk_sample_pipeline1.png +0 -0
  202. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sdk_sample_self_managed_deployment.png +0 -0
  203. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sdk_sample_self_managed_deployment_details.png +0 -0
  204. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/sdk_sample_self_managed_environment.png +0 -0
  205. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/snowflake_credentials_modal.png +0 -0
  206. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/_static/snowflake_pipeline_defaults.png +0 -0
  207. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/advanced_search.rst +0 -0
  208. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/api/sch_api.rst +0 -0
  209. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/api.rst +0 -0
  210. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/build/error_record_handling.rst +0 -0
  211. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/build/pipeline_fragments.rst +0 -0
  212. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/build.rst +0 -0
  213. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/conf.py +0 -0
  214. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/index.rst +0 -0
  215. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/legacy_kubernetes_integration.rst +0 -0
  216. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/projects/projects.rst +0 -0
  217. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/users_and_groups/managing_users_and_groups.rst +0 -0
  218. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/users_and_groups/permissions.rst +0 -0
  219. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/users_and_groups/roles.rst +0 -0
  220. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage/users_and_groups/users_and_groups.rst +0 -0
  221. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/manage.rst +0 -0
  222. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/monitor/subscriptions.rst +0 -0
  223. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/monitor/topologies.rst +0 -0
  224. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/monitor.rst +0 -0
  225. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/requirements.txt +0 -0
  226. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run/draft_runs.rst +0 -0
  227. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run/job_sequences.rst +0 -0
  228. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run/job_templates.rst +0 -0
  229. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run/jobs_instances.rst +0 -0
  230. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run/scheduled_tasks.rst +0 -0
  231. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/run.rst +0 -0
  232. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/search/saql_saved_search.rst +0 -0
  233. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/search/search_for_object.rst +0 -0
  234. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/set_up.rst +0 -0
  235. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/azure_vm_deployments.rst +0 -0
  236. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/deployments.rst +0 -0
  237. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/ec2_deployments.rst +0 -0
  238. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/gce_deployments.rst +0 -0
  239. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/kubernetes_deployments.rst +0 -0
  240. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/self_managed_deployments.rst +0 -0
  241. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/stage_libs_sdc.rst +0 -0
  242. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/deployments/stage_libs_st.rst +0 -0
  243. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/aws_environments.rst +0 -0
  244. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/azure_environments.rst +0 -0
  245. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/environments.rst +0 -0
  246. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/gcp_environments.rst +0 -0
  247. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/kubernetes_environments.rst +0 -0
  248. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/managing_environments.rst +0 -0
  249. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/usage/set_up/environments/self_managed_environments.rst +0 -0
  250. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/authentication.rst +0 -0
  251. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/examples/sdk_examples_job_pipeline.rst +0 -0
  252. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/examples/sdk_examples_self_managed_deployment.rst +0 -0
  253. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/examples.rst +0 -0
  254. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/installation.rst +0 -0
  255. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/known_issues.rst +0 -0
  256. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/overview.rst +0 -0
  257. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome/release_notes.rst +0 -0
  258. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/docs/welcome.rst +0 -0
  259. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/evergreen/.flake8 +0 -0
  260. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/evergreen/.pre-commit-config.yaml +0 -0
  261. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/evergreen/Dockerfile +0 -0
  262. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/evergreen/Jenkinsfile +0 -0
  263. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/evergreen/pyproject.toml +0 -0
  264. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/setup.cfg +0 -0
  265. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/__init__.py +0 -0
  266. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/analytics.py +0 -0
  267. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/aster_api.py +0 -0
  268. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/constants.py +0 -0
  269. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/exceptions.py +0 -0
  270. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/models.py +0 -0
  271. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sch_api.py +0 -0
  272. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sdc.py +0 -0
  273. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/sdc_api.py +0 -0
  274. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/st.py +0 -0
  275. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets/sdk/st_api.py +0 -0
  276. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets.egg-info/SOURCES.txt +0 -0
  277. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets.egg-info/dependency_links.txt +0 -0
  278. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets.egg-info/not-zip-safe +0 -0
  279. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets.egg-info/requires.txt +0 -0
  280. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/streamsets.egg-info/top_level.txt +0 -0
  281. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/test_requirements.txt +0 -0
  282. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/__init__.py +0 -0
  283. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/__init__.py +0 -0
  284. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/conftest.py +0 -0
  285. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_acl.py +0 -0
  286. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_analytics.py +0 -0
  287. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_api_credentials.py +0 -0
  288. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_connections.py +0 -0
  289. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_dpath.py +0 -0
  290. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_draft_runs.py +0 -0
  291. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_ec2_environments.py +0 -0
  292. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_engineless_design.py +0 -0
  293. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_job_sequences.py +0 -0
  294. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_jobs.py +0 -0
  295. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_kubernetes_environments.py +0 -0
  296. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_metering.py +0 -0
  297. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_organization.py +0 -0
  298. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_pipeline_fragments.py +0 -0
  299. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_pipeline_labels.py +0 -0
  300. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_pipeline_parameters.py +0 -0
  301. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_projects.py +0 -0
  302. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_saql.py +0 -0
  303. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_saql_search.py +0 -0
  304. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_sch.py +0 -0
  305. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_scheduled_tasks.py +0 -0
  306. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_scheduler.py +0 -0
  307. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_self_managed_deployments.py +0 -0
  308. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_snowflake_jobs.py +0 -0
  309. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_snowflake_pipeline_fragments.py +0 -0
  310. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_snowflake_pipeline_labels.py +0 -0
  311. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_snowflake_pipeline_parameters.py +0 -0
  312. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_snowflake_pipelines.py +0 -0
  313. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_stages.py +0 -0
  314. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/integration/test_topology.py +0 -0
  315. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/mocks/__init__.py +0 -0
  316. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/mocks/mock_api.py +0 -0
  317. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/__init__.py +0 -0
  318. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/conftest.py +0 -0
  319. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/__init__.py +0 -0
  320. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/base_model_data.py +0 -0
  321. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/configuration_data.py +0 -0
  322. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/conftest_data.py +0 -0
  323. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/connections_data.py +0 -0
  324. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/engines_data.py +0 -0
  325. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/job_sequence_data.py +0 -0
  326. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/job_sequence_step_data.py +0 -0
  327. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/pipeline_builder_data.py +0 -0
  328. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/projects.py +0 -0
  329. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/sch_data.py +0 -0
  330. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/scheduled_tasks_data.py +0 -0
  331. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/self_managed_deployments_data.py +0 -0
  332. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/resources/utils_data.py +0 -0
  333. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_analytics.py +0 -0
  334. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_azure_environment.py +0 -0
  335. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_base_model.py +0 -0
  336. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_configuration.py +0 -0
  337. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_connections.py +0 -0
  338. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_deployment_builder.py +0 -0
  339. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_engine_api.py +0 -0
  340. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_engines.py +0 -0
  341. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_job_sequence.py +0 -0
  342. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_job_sequence_builder.py +0 -0
  343. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_mutable_kwargs.py +0 -0
  344. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_permission.py +0 -0
  345. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_pipeline.py +0 -0
  346. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_projects.py +0 -0
  347. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_roles.py +0 -0
  348. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_saql_search_builder.py +0 -0
  349. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_sch.py +0 -0
  350. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_scheduled_tasks.py +0 -0
  351. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_seekable_list.py +0 -0
  352. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_self_managed_deployments.py +0 -0
  353. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_stage.py +0 -0
  354. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_step.py +0 -0
  355. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tests/unit/test_version.py +0 -0
  356. {streamsets-6.6.0rc1 → streamsets-6.6.2.dev0}/tox.ini +0 -0
@@ -3,6 +3,32 @@
3
3
 
4
4
  History
5
5
  =======
6
+ 6.6.1 (June 2025)
7
+ ----------------------
8
+ * Fixed an issue that caused an error to be raised when calling the method :py:meth:`streamsets.sdk.ControlHub.delete_deployment`.
9
+
10
+ * Bug fixes and improvements
11
+
12
+ 6.6.0 (June 2025)
13
+ -----------------
14
+ * Added support for interacting with network access rules
15
+
16
+ * Added the ability to modify whether network access rules are enabled for your organization using the :py:attr:`streamsets.sdk.sch_models.Organization.ip_auth_enabled` attribute.
17
+
18
+ * Added the ability to modify network access rules for your organization using the :py:meth:`streamsets.sdk.sch_models.Organization.add_ip_auth_ruleset` and :py:meth:`streamsets.sdk.sch_models.Organization.remove_ip_auth_ruleset`.
19
+
20
+ * Added the ability to view the current network access rules using the :py:attr:`streamsets.sdk.sch_models.Organization.ip_auth_rules` attribute.
21
+
22
+ * Added functionality to check the possible values of a stage configuration by using the :py:meth:`streamsets.sdk.sch_models.PipelineBuilder.get_stage_configuration_options` method.
23
+
24
+ * Added support for interacting with Projects
25
+
26
+ * Added SDK support for projects feature by being able to switch between different projects using the :py:attr:`streamsets.sdk.ControlHub.current_project` attribute.
27
+
28
+ * Added SDK support to list and modify projects by using the :py:attr:`streamsets.sdk.ControlHub.projects` attribute and the methods :py:meth:`streamsets.sdk.ControlHub.add_project` and :py:meth:`streamsets.sdk.ControlHub.delete_project`.
29
+
30
+ * Bug fixes and improvements.
31
+
6
32
  6.5.0 (November 2024)
7
33
  -----------------
8
34
  * The :py:class:`streamsets.sdk.sch_models.Step` class now supports Finish Conditions and has a new attribute ``name`` which will allow retrieving and setting the name of a step.
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.1
2
+ Name: streamsets
3
+ Version: 6.6.2.dev0
4
+ Summary: A Python SDK for StreamSets
5
+ Author: StreamSets Inc
6
+ Classifier: Development Status :: 5 - Production/Stable
7
+ Classifier: Programming Language :: Python :: 3.4
8
+ Classifier: Programming Language :: Python :: 3.5
9
+ Classifier: Programming Language :: Python :: 3.6
10
+ Classifier: Programming Language :: Python :: 3.7
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Requires-Python: >=3.4
17
+ Description-Content-Type: text/x-rst
18
+ Requires-Dist: dpath==1.5.0
19
+ Requires-Dist: inflection
20
+ Requires-Dist: PyYAML
21
+ Requires-Dist: requests
22
+
23
+ =========================
24
+ StreamSets SDK for Python
25
+ =========================
26
+
27
+ |Version| |Python|
28
+
29
+ .. |Python| image:: https://shields.io/pypi/pyversions/streamsets.svg?style=flat
30
+ :target: https://pypi.python.org/pypi/streamsets/
31
+ :alt: Python Versions
32
+ .. |Version| image:: http://img.shields.io/pypi/v/streamsets.svg?style=flat
33
+ :target: https://pypi.python.org/pypi/streamsets/
34
+ :alt: Package Version
35
+
36
+ The StreamSets SDK allows users to interact with StreamSets products programmatically using Python, including Control Hub, Data Collector, Transformer, and Transformer for Snowflake.
37
+
38
+ Notices
39
+ -------
40
+ Versions 4.0.0 and higher of the StreamSets SDK for Python support the `StreamSets Platform <https://docs.streamsets.com/portal/platform-controlhub/controlhub/UserGuide/GettingStarted/GettingStarted_title.html>`_.
41
+ Versions below 4.0.0 support our `Legacy products <https://docs.streamsets.com/portal/controlhub/latest/help/controlhub/UserGuide/GettingStarted/DPM.html#concept_l45_qwf_xw>`_.
42
+ Please verify that the version of the SDK you're using is compatible with the StreamSets products you plan to interact with.
43
+
44
+ Documentation
45
+ -------------
46
+ .. _documentation:
47
+
48
+ For documentation on the StreamSets SDK for Platform, refer to our `Platform SDK documentation <https://docs.streamsets.com/platform-sdk/latest/index.html>`_.
49
+ For documentation on the StreamSets SDK for Legacy products, refer to our `Legacy SDK documentation <https://docs.streamsets.com/sdk/latest/index.html>`_.
50
+
51
+ More Resources
52
+ --------------
53
+ You can find training and additional resources on the `StreamSets Academy <https://academy.streamsets.com/learn/courses/45/streamsets-sdk-for-python>`_.
54
+
55
+ You can also find a wealth of knowledge on the `StreamSets Community Forums <https://community.streamsets.com>`_ including product updates, workshops, events and webinars, and more!
56
+
57
+ Getting Help
58
+ ------------
59
+ Running into issues while using the StreamSets SDK?
60
+ Get assistance from `StreamSets Support <https://www.ibm.com/mysupport>`_!
61
+
62
+ Release Notes
63
+ -------------
64
+ Release notes for the Platform SDK can be found in the `Platform SDK release notes <https://docs.streamsets.com/platform-sdk/latest/welcome/release_notes.html>`_.
65
+
66
+ Release notes for the Legacy SDK can be found in the `Legacy SDK release notes <https://docs.streamsets.com/sdk/latest/history.html>`_.
@@ -23,7 +23,6 @@ Documentation
23
23
  -------------
24
24
  .. _documentation:
25
25
 
26
- You can find the latest, most updated documentation on our `documentation portal <https://docs.streamsets.com/>`_, including how to get started with the StreamSets SDK for Python.
27
26
  For documentation on the StreamSets SDK for Platform, refer to our `Platform SDK documentation <https://docs.streamsets.com/platform-sdk/latest/index.html>`_.
28
27
  For documentation on the StreamSets SDK for Legacy products, refer to our `Legacy SDK documentation <https://docs.streamsets.com/sdk/latest/index.html>`_.
29
28
 
@@ -36,10 +35,10 @@ You can also find a wealth of knowledge on the `StreamSets Community Forums <htt
36
35
  Getting Help
37
36
  ------------
38
37
  Running into issues while using the StreamSets SDK?
39
- Get assistance from `StreamSets Support <https://streamsets.com/support/>`_!
38
+ Get assistance from `StreamSets Support <https://www.ibm.com/mysupport>`_!
40
39
 
41
40
  Release Notes
42
41
  -------------
43
- Release notes for the Platform SDK can be found in the `Platform SDK release notes <https://docs.streamsets.com/platform-sdk/latest/learn/release_notes.html>`_.
42
+ Release notes for the Platform SDK can be found in the `Platform SDK release notes <https://docs.streamsets.com/platform-sdk/latest/welcome/release_notes.html>`_.
44
43
 
45
44
  Release notes for the Legacy SDK can be found in the `Legacy SDK release notes <https://docs.streamsets.com/sdk/latest/history.html>`_.
@@ -12,6 +12,7 @@ for pipelines.
12
12
 
13
13
  Instantiating a Pipeline Builder
14
14
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .. _instantiate_builder:
15
16
 
16
17
  In the UI, a pipeline can be created and modified from the Pipelines section as seen below:
17
18
 
@@ -216,7 +216,8 @@ Setting the configuration value is as simple as directly setting the value in-me
216
216
  .. note::
217
217
  The same workflow can be followed to access/edit configuration values of :py:class:`streamsets.sdk.sch_models.Pipeline` objects
218
218
 
219
- Some configuration values have a predefined set of options to choose from. You can get a list of these using the :py:meth:`streamsets.sdk.sch.PipelineBuilder.get_stage_configuration_options` method, as shown below:
219
+ Some configuration values have a predefined set of options to choose from.
220
+ You can get a list of these using the :py:meth:`streamsets.sdk.sch_models.PipelineBuilder.get_stage_configuration_options` method, as shown below:
220
221
 
221
222
  .. code-block:: python
222
223
 
@@ -235,6 +236,10 @@ Some configuration values have a predefined set of options to choose from. You c
235
236
  The list will match the values shown in the `JSON Content` UI dropdown.
236
237
 
237
238
  .. image:: ../_static/images/build/value_chooser__JSON_content.png
239
+
240
+ .. tip::
241
+ Refer to the :ref:`Instantiating a Pipeline Builder<instantiate_builder>` section for creating a Pipeline Builder instance.
242
+
238
243
  |
239
244
  |
240
245
  Once you have edited your :py:class:`streamsets.sdk.sch_models.Pipeline` or :py:class:`streamsets.sdk.sch_models.SchSdcStage`, the changes must be published to Control Hub.
@@ -59,7 +59,7 @@ The parameters you'll need to provide for the Connection are ``title``, ``connec
59
59
 
60
60
  .. tip::
61
61
  The available options for the ``connection_type`` in the :py:meth:`streamsets.sdk.sch_models.ConnectionBuilder.build` method are:
62
- ``'STREAMSETS_AWS_EMR_CLUSTER'``, ``'STREAMSETS_MYSQL'``, ``'STREAMSETS_SNOWFLAKE'``, ``'STREAMSETS_COAP_CLIENT'``, ``'STREAMSETS_OPC_UA_CLIENT'``, ``'STREAMSETS_GOOGLE_PUB_SUB'``, ``'STREAMSETS_MQTT'``, ``'STREAMSETS_POSTGRES'``, ``'STREAMSETS_GOOGLE_CLOUD_STORAGE'``, ``'STREAMSETS_AWS_REDSHIFT'``, ``'STREAMSETS_GOOGLE_BIG_QUERY'``, ``'STREAMSETS_ORACLE'``, ``'STREAMSETS_AWS_S3'``, ``'STREAMSETS_REMOTE_FILE'``, ``'STREAMSETS_SQLSERVER'``, ``'STREAMSETS_AWS_SQS'``, ``'STREAMSETS_SNOWPIPE'``, and ``'STREAMSETS_JDBC'``.
62
+ ``'STREAMSETS_MYSQL'``, ``'STREAMSETS_AZURE_SYNAPSE'``, ``'STREAMSETS_ORCHESTRATOR'``, ``'STREAMSETS_INFLUX2'``, ``'STREAMSETS_DATABRICKS_DELTA_LAKE'``, ``'STREAMSETS_HIVE'``, ``'STREAMSETS_GOOGLE_PUB_SUB'``, ``'STREAMSETS_BLOB_STORAGE'``, ``'STREAMSETS_MQTT'``, ``'STREAMSETS_MONGODB'``, ``'STREAMSETS_POSTGRES'``, ``'STREAMSETS_GOOGLE_CLOUD_STORAGE'``, ``'STREAMSETS_CASSANDRA'``, ``'STREAMSETS_JMS'``, ``'STREAMSETS_ELASTICSEARCH'``, ``'STREAMSETS_ORACLE'``, ``'STREAMSETS_DB2'``, ``'STREAMSETS_ADLS_GEN2'``, ``'STREAMSETS_TERADATA'``, ``'STREAMSETS_WEBCLIENT'``, ``'STREAMSETS_AEROSPIKE'``, ``'STREAMSETS_SNOWPIPE'``, ``'STREAMSETS_AWS_EMR_CLUSTER'``, ``'STREAMSETS_SNOWFLAKE'``, ``'STREAMSETS_SPLUNK'``, ``'STREAMSETS_COAP_CLIENT'``, ``'STREAMSETS_OPC_UA_CLIENT'``, ``'STREAMSETS_COUCHBASE'``, ``'STREAMSETS_MONGODB_ATLAS'``, ``'STREAMSETS_WATSONXDATA'``, ``'STREAMSETS_AWS_KINESIS_STREAM'``, ``'STREAMSETS_AWS_KINESIS_FIREHOSE'``, ``'STREAMSETS_KUDU'``, ``'STREAMSETS_PULSAR'``, ``'STREAMSETS_AWS_REDSHIFT'``, ``'STREAMSETS_GOOGLE_BIG_QUERY'``, ``'STREAMSETS_REMOTE_FILE'``, ``'STREAMSETS_AWS_S3'``, ``'STREAMSETS_KAFKA'``, ``'STREAMSETS_SQLSERVER'``, ``'STREAMSETS_AWS_SQS'``, ``'STREAMSETS_AWS_EMR_SERVERLESS'``, ``'STREAMSETS_CONNX'``, ``'STREAMSETS_RABBITMQ'``, ``'STREAMSETS_SALESFORCE'``, ``'STREAMSETS_REDIS'``, ``'STREAMSETS_JDBC'``.
63
63
 
64
64
  Please refer to the `StreamSets Platform documentation <https://docs.streamsets.com/portal/platform-controlhub/controlhub/UserGuide/Connections/Connections_title.html>`_ for details on the various connection types as well as the corresponding configuration properties.
65
65
 
@@ -4,7 +4,7 @@ authors = [
4
4
  {name = "StreamSets Inc"}
5
5
  ]
6
6
  description = "A Python SDK for StreamSets"
7
- readme = {file = "README.txt", content-type = "text/x-rst"}
7
+ readme = {file = "README.rst", content-type = "text/x-rst"}
8
8
  requires-python = ">=3.4"
9
9
  classifiers=[
10
10
  'Development Status :: 5 - Production/Stable',
@@ -7,4 +7,4 @@ Cython==0.29.30
7
7
  inflection==0.3.1
8
8
  javaproperties==0.4.0
9
9
  PyYAML==5.4.1
10
- requests==2.32.2
10
+ requests==2.32.4
@@ -0,0 +1,5 @@
1
+ # IBM Confidential
2
+ # PID 5900-BAF
3
+ # Copyright StreamSets Inc., an IBM Company 2025
4
+
5
+ __version__ = "6.6.2dev0"
@@ -4243,7 +4243,7 @@ class ControlHub:
4243
4243
  delete_deployment_exception = None
4244
4244
  for deployment in deployments:
4245
4245
  try:
4246
- self.api_client.wait_for_deployment_to_be_deleted(deployment_id=deployment.id)
4246
+ self.api_client.wait_for_deployment_to_be_deleted(deployment_id=deployment.deployment_id)
4247
4247
  except Exception as ex:
4248
4248
  # just log the exceptions and ultimately raise the last one.
4249
4249
  logger.debug(ex)
@@ -70,7 +70,7 @@ ModelCollectionResults = collections.namedtuple('ModelCollectionResults', ['resu
70
70
  CollectionModelResults = collections.namedtuple(
71
71
  'CollectionModelResults', ['results', 'kwargs', 'class_type', 'class_kwargs']
72
72
  )
73
- NameMap = namedtuple('NameMap', ['label', 'fieldName', 'name'])
73
+ NameMap = namedtuple('NameMap', ['label', 'fieldName', 'name', 'sdk'])
74
74
  ChooseOption = namedtuple('ChooseOption', ['UI_VALUE', 'SDK_VALUE'])
75
75
 
76
76
  MILLIS_IN_HOUR = 3600000
@@ -404,8 +404,8 @@ class CollectionModel:
404
404
  if kwargs.get('offset') and not (isinstance(kwargs.get('offset'), int) and kwargs.get('offset') >= 0):
405
405
  raise ValueError("`offset` should be an integer with value of at least 0")
406
406
 
407
+ is_api_paginable = lambda rsp: all(i in rsp for i in ['data', 'totalCount', 'offset', 'len'])
407
408
  all_ids = set()
408
- previous_length = len(self)
409
409
  requested_length = kwargs.get('len', float('inf'))
410
410
  if requested_length == -1:
411
411
  requested_length = float('inf')
@@ -416,12 +416,15 @@ class CollectionModel:
416
416
  kwargs_without_pagination_params = {
417
417
  k: v for k, v in kwargs.items() if k not in CollectionModel.PAGINATION_PARAMS
418
418
  }
419
+ logger.debug('Fetching items with offset=%d and len=%d', current_offset, page_length)
419
420
  response, current_new_kwargs, class_type, class_kwargs = self._get_all_results_from_api(
420
421
  offset=current_offset, len=page_length, **kwargs_without_pagination_params
421
422
  )
423
+ previous_length = response['totalCount'] if is_api_paginable(response) else len(self)
424
+
422
425
  # If an API is paginated, the result set we need to page through will be contained in the response's 'data'
423
426
  # attribute. If there is no 'data' attribute, the response itself is the result set (unpaginated API).
424
- if 'data' in response:
427
+ if is_api_paginable(response):
425
428
  current_results = SeekableList(class_type(item, **class_kwargs) for item in response['data'])
426
429
  else:
427
430
  current_results = SeekableList(class_type(item, **class_kwargs) for item in response)
@@ -432,17 +435,18 @@ class CollectionModel:
432
435
  # ControlHub api endpoints)
433
436
  current_results = current_results.get_all(**current_new_kwargs)
434
437
  for result in current_results:
435
- if len(all_ids) == requested_length:
436
- # We fetched specified number of items so, return
437
- return
438
438
  # This check is to avoid duplicates especially since we are doing the
439
439
  # if current_length < previous_length check below to handle deleted entities.
440
440
  item_id = getattr(result, self._id_attr)
441
441
  if item_id not in all_ids:
442
442
  all_ids.add(item_id)
443
443
  yield result
444
+
445
+ if len(all_ids) >= requested_length:
446
+ return
447
+
444
448
  current_offset += page_length
445
- current_length = len(self)
449
+ current_length = response['totalCount'] if is_api_paginable(response) else len(self)
446
450
  # If the total number of items decreased, reduce the offset by the difference to make sure we return all the
447
451
  # items. If duplicates occur in the process as described in step 5 of workflow in the docstring are handled
448
452
  # above by checking for the id in all_ids.
@@ -2775,22 +2779,26 @@ class PipelineBuilder(SdcPipelineBuilder):
2775
2779
 
2776
2780
  # add simple field config
2777
2781
  for field_config in raw_stage.definition['configDefinitions']:
2782
+ sdk_name, a = get_attribute(field_config)
2778
2783
  names.append(
2779
2784
  NameMap(
2780
2785
  label=field_config['label'],
2781
2786
  fieldName=field_config['fieldName'],
2782
2787
  name=field_config['name'],
2788
+ sdk=sdk_name,
2783
2789
  )
2784
2790
  )
2785
2791
 
2786
2792
  # add services fields config (with full name <service_name>.<field_name>) - this name is probably invisible for the end user
2787
2793
  for service in raw_stage.definition['services']:
2788
2794
  for field_config in service_definitions[service['service']]['configDefinitions']:
2795
+ sdk_name, a = get_attribute(field_config)
2789
2796
  names.append(
2790
2797
  NameMap(
2791
2798
  label=field_config['label'],
2792
2799
  fieldName=field_config['fieldName'],
2793
2800
  name=field_config['name'],
2801
+ sdk=sdk_name,
2794
2802
  )
2795
2803
  )
2796
2804
 
@@ -2804,7 +2812,7 @@ class PipelineBuilder(SdcPipelineBuilder):
2804
2812
  Args:
2805
2813
  config_name (:obj:`str`): Name of the configuration field.
2806
2814
  stage_name (:obj:`str`): Name of the stage type (eg. com_streamsets_pipeline_stage_devtest_rawdata_RawDataDSource)
2807
- config_name_type (:obj:`str`): Type of config_name value. Available options: ['full_name', 'field_name', 'label']. Default ``label``.
2815
+ config_name_type (:obj:`str`): Type of config_name value. Available options: ['full_name', 'field_name', 'label', 'sdk']. Default ``label``.
2808
2816
  stage_name_type (:obj:`str`): Type of stage_name value. Available options: ['label', 'name']. Default ``label``.
2809
2817
 
2810
2818
  Returns:
@@ -2814,7 +2822,7 @@ class PipelineBuilder(SdcPipelineBuilder):
2814
2822
  ValueError: If incorrect value of config_name_type.
2815
2823
  ValueError: If config_name value is not in configuration fields list for stage.
2816
2824
  """
2817
- ALLOWED_CONFIG_NAME_TYPES = {'full_name': 'name', 'field_name': 'fieldName', 'label': 'label'}
2825
+ ALLOWED_CONFIG_NAME_TYPES = {'full_name': 'name', 'field_name': 'fieldName', 'label': 'label', 'sdk': 'sdk'}
2818
2826
 
2819
2827
  if not isinstance(config_name_type, str) or config_name_type not in ALLOWED_CONFIG_NAME_TYPES.keys():
2820
2828
  raise ValueError(
@@ -3624,6 +3632,150 @@ class Pipeline(BaseModel):
3624
3632
 
3625
3633
  return stage_list
3626
3634
 
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
+
3627
3779
  @property
3628
3780
  def error_stage(self):
3629
3781
  """Get the error stage of the Pipeline."""
@@ -8933,7 +9085,7 @@ class Engines(CollectionModel):
8933
9085
  kwargs_defaults['engine_type'] = response['executorType']
8934
9086
  kwargs_instance = MutableKwargs(kwargs_defaults, kwargs)
8935
9087
  response = [response]
8936
- except (requests.exceptions.HTTPError, requests.JSONDecodeError):
9088
+ except (requests.exceptions.HTTPError, requests.exceptions.JSONDecodeError):
8937
9089
  raise ValueError('Engine (id={}) not found'.format(id))
8938
9090
 
8939
9091
  else:
@@ -12183,11 +12335,19 @@ class ConnectionBuilder:
12183
12335
  Args:
12184
12336
  title (:obj:`str`): Connection title.
12185
12337
  connection_type (:obj:`str`): Type of connection. The options are 'STREAMSETS_AWS_EMR_CLUSTER',
12186
- 'STREAMSETS_MYSQL', 'STREAMSETS_SNOWFLAKE', 'STREAMSETS_COAP_CLIENT', 'STREAMSETS_OPC_UA_CLIENT',
12187
- 'STREAMSETS_GOOGLE_PUB_SUB', 'STREAMSETS_MQTT', 'STREAMSETS_POSTGRES',
12188
- 'STREAMSETS_GOOGLE_CLOUD_STORAGE', 'STREAMSETS_AWS_REDSHIFT', 'STREAMSETS_GOOGLE_BIG_QUERY',
12189
- 'STREAMSETS_ORACLE', 'STREAMSETS_AWS_S3', 'STREAMSETS_REMOTE_FILE', 'STREAMSETS_SQLSERVER',
12190
- 'STREAMSETS_AWS_SQS', 'STREAMSETS_SNOWPIPE', and 'STREAMSETS_JDBC'.
12338
+ 'STREAMSETS_MYSQL', 'STREAMSETS_AZURE_SYNAPSE', 'STREAMSETS_ORCHESTRATOR', 'STREAMSETS_INFLUX2',
12339
+ 'STREAMSETS_DATABRICKS_DELTA_LAKE', 'STREAMSETS_HIVE', 'STREAMSETS_GOOGLE_PUB_SUB',
12340
+ 'STREAMSETS_BLOB_STORAGE', 'STREAMSETS_MQTT', 'STREAMSETS_MONGODB', 'STREAMSETS_POSTGRES',
12341
+ 'STREAMSETS_GOOGLE_CLOUD_STORAGE', 'STREAMSETS_CASSANDRA', 'STREAMSETS_JMS', 'STREAMSETS_ELASTICSEARCH',
12342
+ 'STREAMSETS_ORACLE', 'STREAMSETS_DB2', 'STREAMSETS_ADLS_GEN2', 'STREAMSETS_TERADATA',
12343
+ 'STREAMSETS_WEBCLIENT', 'STREAMSETS_AEROSPIKE', 'STREAMSETS_SNOWPIPE', 'STREAMSETS_AWS_EMR_CLUSTER',
12344
+ 'STREAMSETS_SNOWFLAKE', 'STREAMSETS_SPLUNK', 'STREAMSETS_COAP_CLIENT', 'STREAMSETS_OPC_UA_CLIENT',
12345
+ 'STREAMSETS_COUCHBASE', 'STREAMSETS_MONGODB_ATLAS', 'STREAMSETS_WATSONXDATA',
12346
+ 'STREAMSETS_AWS_KINESIS_STREAM', 'STREAMSETS_AWS_KINESIS_FIREHOSE', 'STREAMSETS_KUDU',
12347
+ 'STREAMSETS_PULSAR', 'STREAMSETS_AWS_REDSHIFT', 'STREAMSETS_GOOGLE_BIG_QUERY', 'STREAMSETS_REMOTE_FILE',
12348
+ 'STREAMSETS_AWS_S3', 'STREAMSETS_KAFKA', 'STREAMSETS_SQLSERVER', 'STREAMSETS_AWS_SQS',
12349
+ 'STREAMSETS_AWS_EMR_SERVERLESS', 'STREAMSETS_CONNX', 'STREAMSETS_RABBITMQ', 'STREAMSETS_SALESFORCE',
12350
+ 'STREAMSETS_REDIS' and 'STREAMSETS_JDBC
12191
12351
  authoring_data_collector (:obj:`streamsets.sdk.sch.DataCollector`): Authoring Data Collector.
12192
12352
  tags (:obj:`list`, optional): List of tags (strings). Default: ``None``.
12193
12353
 
@@ -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, get_attribute, get_color_icon_from_stage_definition,
25
- get_open_output_lanes, get_params, pipeline_json_encoder,
24
+ SeekableList, determine_fragment_label, format_log, get_accepted_labels_libraries_and_names, get_attribute,
25
+ get_color_icon_from_stage_definition, get_open_output_lanes, get_params, pipeline_json_encoder,
26
26
  )
27
27
 
28
28
  # fmt: on
@@ -1062,11 +1062,28 @@ 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
+
1065
1076
  stage_instance, stage_definition = next(
1066
1077
  (stage.instance, stage.definition)
1067
1078
  for stage in self._get_stage_data(label=label, name=name, library=library)
1068
1079
  if stage.definition.get('pipelineLifecycleStage') is True
1069
1080
  )
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
+
1070
1087
  self._pipeline[self._config_key]['startEventStages'] = [stage_instance]
1071
1088
  self._set_pipeline_configuration('startEventStage', self._stage_to_configuration_name(stage_instance))
1072
1089
  return self._all_stages.get(stage_instance['stageName'], Stage)(
@@ -1092,11 +1109,28 @@ class PipelineBuilder:
1092
1109
  Returns:
1093
1110
  An instance of :py:class:`streamsets.sdk.sdc_models.Stage`.
1094
1111
  """
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
+
1095
1123
  stage_instance, stage_definition = next(
1096
1124
  (stage.instance, stage.definition)
1097
1125
  for stage in self._get_stage_data(label=label, name=name, library=library)
1098
1126
  if stage.definition.get('pipelineLifecycleStage') is True
1099
1127
  )
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
+
1100
1134
  self._pipeline[self._config_key]['stopEventStages'] = [stage_instance]
1101
1135
  self._set_pipeline_configuration('stopEventStage', self._stage_to_configuration_name(stage_instance))
1102
1136
  return self._all_stages.get(stage_instance['stageName'], Stage)(
@@ -1121,12 +1155,30 @@ class PipelineBuilder:
1121
1155
 
1122
1156
  Returns:
1123
1157
  An instance of :py:class:`streamsets.sdk.sdc_models.Stage`.
1158
+
1124
1159
  """
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
+
1125
1171
  stage_instance, stage_definition = next(
1126
1172
  (stage.instance, stage.definition)
1127
1173
  for stage in self._get_stage_data(label=label, name=name, library=library)
1128
1174
  if stage.definition.get('type') == 'SOURCE'
1129
1175
  )
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
+
1130
1182
  self._pipeline[self._config_key]['testOriginStage'] = stage_instance
1131
1183
  self._set_pipeline_configuration('testOriginStage', self._stage_to_configuration_name(stage_instance))
1132
1184
  return self._all_stages.get(stage_instance['stageName'], Stage)(