js7-client-python 2.0.1__py3-none-any.whl
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.
- js7/__init__.py +8 -0
- js7/api/joc/http/v_2_8_2/agent/cluster/confirm_node_loss.py +36 -0
- js7/api/joc/http/v_2_8_2/agent/cluster/switchover.py +36 -0
- js7/api/joc/http/v_2_8_2/agent/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/agents.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/export.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/import.py +74 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/reset.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/reset.py +36 -0
- js7/api/joc/http/v_2_8_2/authentication/auth.py +32 -0
- js7/api/joc/http/v_2_8_2/authentication/joc_cockpit_permissions.py +28 -0
- js7/api/joc/http/v_2_8_2/authentication/login.py +35 -0
- js7/api/joc/http/v_2_8_2/authentication/logout.py +28 -0
- js7/api/joc/http/v_2_8_2/configuration/configuration.py +36 -0
- js7/api/joc/http/v_2_8_2/configuration/save.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/abort.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/abort_and_restart.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/appoint_nodes.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/confirm_node_loss.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/switchover.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/components.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/controller.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/register.py +42 -0
- js7/api/joc/http/v_2_8_2/controller/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/terminate.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/test.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/unregister.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/cancel.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/copy.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/generate.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/modify.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/orders.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/submit.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/calendar.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/dates.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/recreate.py +28 -0
- js7/api/joc/http/v_2_8_2/daily_plan/submissions/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/change_password.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/permissions.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/accounts.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/reset_password.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_account/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_accounts/blocked_accounts.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_accounts/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folder/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folder/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/folders.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/identity_service.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/store.py +42 -0
- js7/api/joc/http/v_2_8_2/iam/identity_services/identity_services.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permission/permission.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permission/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/permissions.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/role.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/roles/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/roles/roles.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/changes/changes.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/dependencies.py +33 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/import_deploy.py +66 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/export/export.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/export/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/import_objects.py +88 -0
- js7/api/joc/http/v_2_8_2/inventory/releasables/recall/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/releasables/recall/recall.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/release.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/remove/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/remove/remove.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/add.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/checkout.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/clone.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/commit.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/add.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/credentials.py +28 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/remove.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/pull.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/push.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/read.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/store.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/update.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/revalidate/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/store.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/delete/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/delete/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/restore.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/validate.py +42 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/run.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/switch_member.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/license.py +28 -0
- js7/api/joc/http/v_2_8_2/joc/proxies/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/version.py +28 -0
- js7/api/joc/http/v_2_8_2/joc/versions.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/add.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/cancel.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/confirm.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/continue.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/history.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/orders.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/remove_when_terminated.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/resume.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/suspend.py +36 -0
- js7/api/joc/http/v_2_8_2/settings/settings.py +28 -0
- js7/api/joc/http/v_2_8_2/settings/store.py +36 -0
- js7/api/joc/http/v_2_8_2/tasks/history.py +36 -0
- js7/api/joc/http/v_2_8_2/workflow/transition.py +36 -0
- js7/api/joc/http/v_2_8_2/workflow/workflow.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/resume.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/skip.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/stop.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/suspend.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/unskip.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/unstop.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/workflows.py +36 -0
- js7/api/joc/interface/dispatcher.py +76 -0
- js7/api/joc/interface/interface.py +8 -0
- js7/api/joc/interface/resolver.py +75 -0
- js7/client/action/agent/confirm_node_loss_agent_action.py +75 -0
- js7/client/action/agent/delete_subagent_action.py +77 -0
- js7/client/action/agent/delete_subagent_clusters_action.py +75 -0
- js7/client/action/agent/deploy_cluster_agents_action.py +75 -0
- js7/client/action/agent/deploy_standalone_agents_action.py +75 -0
- js7/client/action/agent/deploy_subagent_clusters_action.py +75 -0
- js7/client/action/agent/disable_standalone_agents_action.py +75 -0
- js7/client/action/agent/disable_subagents_action.py +75 -0
- js7/client/action/agent/enable_standalone_agents_action.py +75 -0
- js7/client/action/agent/enable_subagents_action.py +75 -0
- js7/client/action/agent/export_agents_action.py +101 -0
- js7/client/action/agent/get_agents_status_action.py +55 -0
- js7/client/action/agent/import_agents_action.py +139 -0
- js7/client/action/agent/remove_agent_action.py +79 -0
- js7/client/action/agent/reset_agents_action.py +79 -0
- js7/client/action/agent/reset_subagent_action.py +79 -0
- js7/client/action/agent/revoke_cluster_agents_action.py +75 -0
- js7/client/action/agent/revoke_standalone_agents_action.py +75 -0
- js7/client/action/agent/revoke_subagent_clusters_action.py +75 -0
- js7/client/action/agent/store_cluster_agents_action.py +99 -0
- js7/client/action/agent/store_standalone_agents_action.py +87 -0
- js7/client/action/agent/store_subagent_clusters_action.py +83 -0
- js7/client/action/agent/store_subagents_action.py +97 -0
- js7/client/action/agent/switchover_agent_action.py +75 -0
- js7/client/action/controller/appoint_nodes_controller_action.py +67 -0
- js7/client/action/controller/cancel_and_restart_controller_action.py +72 -0
- js7/client/action/controller/cancel_controller_action.py +71 -0
- js7/client/action/controller/confirm_cluster_node_loss_action.py +68 -0
- js7/client/action/controller/get_controller_components_action.py +41 -0
- js7/client/action/controller/get_controller_status_action.py +72 -0
- js7/client/action/controller/register_controller_action.py +93 -0
- js7/client/action/controller/restart_controller_action.py +72 -0
- js7/client/action/controller/switchover_controller_cluster_action.py +67 -0
- js7/client/action/controller/terminate_controller_action.py +72 -0
- js7/client/action/controller/test_controller_instance_action.py +65 -0
- js7/client/action/controller/unregister_controller_action.py +68 -0
- js7/client/action/daily_plan/cancel_orders_action.py +59 -0
- js7/client/action/daily_plan/copy_orders_action.py +108 -0
- js7/client/action/daily_plan/create_projections_action.py +24 -0
- js7/client/action/daily_plan/delete_orders_action.py +80 -0
- js7/client/action/daily_plan/delete_submissions_action.py +83 -0
- js7/client/action/daily_plan/generate_orders_action.py +121 -0
- js7/client/action/daily_plan/get_calendar_projections_action.py +59 -0
- js7/client/action/daily_plan/get_orders_action.py +70 -0
- js7/client/action/daily_plan/get_projection_dates_action.py +59 -0
- js7/client/action/daily_plan/modify_orders_action.py +130 -0
- js7/client/action/daily_plan/submit_orders_action.py +79 -0
- js7/client/action/helper/decrypt_action.py +82 -0
- js7/client/action/helper/encrypt_action.py +87 -0
- js7/client/action/iam/block_account_action.py +71 -0
- js7/client/action/iam/change_account_password_action.py +96 -0
- js7/client/action/iam/disable_accounts_action.py +75 -0
- js7/client/action/iam/enable_accounts_action.py +75 -0
- js7/client/action/iam/get_account_permissions_action.py +75 -0
- js7/client/action/iam/get_accounts_action.py +76 -0
- js7/client/action/iam/get_blocked_accounts_action.py +76 -0
- js7/client/action/iam/get_folder_permissions_action.py +112 -0
- js7/client/action/iam/get_identity_service_settings_action.py +70 -0
- js7/client/action/iam/get_identity_services_action.py +102 -0
- js7/client/action/iam/get_permissions_action.py +113 -0
- js7/client/action/iam/get_roles_action.py +57 -0
- js7/client/action/iam/remove_accounts_action.py +75 -0
- js7/client/action/iam/remove_folder_permissions_action.py +91 -0
- js7/client/action/iam/remove_identity_service_action.py +67 -0
- js7/client/action/iam/remove_permissions_action.py +88 -0
- js7/client/action/iam/remove_roles_action.py +75 -0
- js7/client/action/iam/rename_account_action.py +83 -0
- js7/client/action/iam/rename_folder_permissions_action.py +100 -0
- js7/client/action/iam/rename_identity_service_action.py +75 -0
- js7/client/action/iam/rename_permission_action.py +103 -0
- js7/client/action/iam/rename_role_action.py +83 -0
- js7/client/action/iam/reset_account_passwords_action.py +75 -0
- js7/client/action/iam/set_folder_permissions_action.py +96 -0
- js7/client/action/iam/set_permissions_action.py +91 -0
- js7/client/action/iam/store_account_action.py +69 -0
- js7/client/action/iam/store_identity_service_action.py +75 -0
- js7/client/action/iam/store_identity_service_settings_action.py +74 -0
- js7/client/action/iam/store_role_action.py +79 -0
- js7/client/action/iam/unblock_accounts_action.py +67 -0
- js7/client/action/inventory/deploy_configurations_action.py +138 -0
- js7/client/action/inventory/export_configurations_action.py +203 -0
- js7/client/action/inventory/export_folders_action.py +160 -0
- js7/client/action/inventory/get_change_dependencies_action.py +161 -0
- js7/client/action/inventory/get_changes_action.py +59 -0
- js7/client/action/inventory/get_git_credentials_action.py +29 -0
- js7/client/action/inventory/git_add_action.py +72 -0
- js7/client/action/inventory/git_checkout_action.py +88 -0
- js7/client/action/inventory/git_clone_action.py +84 -0
- js7/client/action/inventory/git_commit_action.py +80 -0
- js7/client/action/inventory/git_pull_action.py +72 -0
- js7/client/action/inventory/git_push_action.py +76 -0
- js7/client/action/inventory/import_configurations_action.py +153 -0
- js7/client/action/inventory/import_deploy_configurations_action.py +188 -0
- js7/client/action/inventory/read_from_local_repository_action.py +67 -0
- js7/client/action/inventory/recall_folder_action.py +89 -0
- js7/client/action/inventory/recall_released_configuration_action.py +75 -0
- js7/client/action/inventory/release_configuartions_action.py +89 -0
- js7/client/action/inventory/remove_configurations_action.py +77 -0
- js7/client/action/inventory/remove_configurations_from_trash_action.py +80 -0
- js7/client/action/inventory/remove_folder_action.py +67 -0
- js7/client/action/inventory/remove_folder_from_trash_action.py +69 -0
- js7/client/action/inventory/remove_git_credentials_action.py +53 -0
- js7/client/action/inventory/remove_repository_configuration_action.py +84 -0
- js7/client/action/inventory/restore_configuration_from_trash_action.py +84 -0
- js7/client/action/inventory/revalidate_folder_action.py +46 -0
- js7/client/action/inventory/revoke_configurations_action.py +86 -0
- js7/client/action/inventory/store_configuration_action.py +79 -0
- js7/client/action/inventory/store_git_credentials_action.py +99 -0
- js7/client/action/inventory/store_repository_configuration_action.py +124 -0
- js7/client/action/inventory/update_repository_configuration_action.py +85 -0
- js7/client/action/inventory/validate_configuration_action.py +58 -0
- js7/client/action/joc/get_components_versions_action.py +57 -0
- js7/client/action/joc/get_license_info_action.py +22 -0
- js7/client/action/joc/get_settings_action.py +19 -0
- js7/client/action/joc/get_version_action.py +17 -0
- js7/client/action/joc/restart_proxies_action.py +50 -0
- js7/client/action/joc/restart_service_action.py +74 -0
- js7/client/action/joc/run_service_action.py +74 -0
- js7/client/action/joc/store_settings_action.py +62 -0
- js7/client/action/joc/switch_over_action.py +89 -0
- js7/client/action/order/add_orders_action.py +115 -0
- js7/client/action/order/cancel_orders_action.py +93 -0
- js7/client/action/order/confirm_orders_action.py +86 -0
- js7/client/action/order/continue_orders_action.py +86 -0
- js7/client/action/order/get_order_history_action.py +84 -0
- js7/client/action/order/get_orders_action.py +83 -0
- js7/client/action/order/remove_terminated_orders_action.py +86 -0
- js7/client/action/order/resume_orders_action.py +102 -0
- js7/client/action/order/suspend_orders_action.py +97 -0
- js7/client/action/task/get_task_history_info_action.py +88 -0
- js7/client/action/workflow/get_workflow_versions_action.py +131 -0
- js7/client/action/workflow/resume_workflows_action.py +76 -0
- js7/client/action/workflow/set_workflow_version_as_current_action.py +86 -0
- js7/client/action/workflow/skip_job_instructions_action.py +83 -0
- js7/client/action/workflow/stop_job_instructions_action.py +83 -0
- js7/client/action/workflow/suspend_workflows_action.py +76 -0
- js7/client/action/workflow/unskip_job_instructions_action.py +83 -0
- js7/client/action/workflow/unstop_job_instructions_action.py +79 -0
- js7/client/auth/auth_provider.py +109 -0
- js7/client/auth/login.py +34 -0
- js7/client/auth/logout.py +22 -0
- js7/client/client.py +250 -0
- js7/client/context.py +40 -0
- js7/client/feature/agent/agent.py +26 -0
- js7/client/feature/agent/deploy.py +134 -0
- js7/client/feature/agent/manage.py +363 -0
- js7/client/feature/agent/operate.py +577 -0
- js7/client/feature/controller/controller.py +19 -0
- js7/client/feature/controller/manage.py +214 -0
- js7/client/feature/controller/operate.py +274 -0
- js7/client/feature/daily_plan/daily_plan.py +14 -0
- js7/client/feature/daily_plan/manage.py +179 -0
- js7/client/feature/daily_plan/operate.py +354 -0
- js7/client/feature/iam/iam.py +14 -0
- js7/client/feature/iam/manage.py +1311 -0
- js7/client/feature/inventory/inventory.py +13 -0
- js7/client/feature/inventory/manage.py +943 -0
- js7/client/feature/inventory/manage_repository.py +533 -0
- js7/client/feature/joc/joc.py +18 -0
- js7/client/feature/joc/manage.py +102 -0
- js7/client/feature/joc/operate.py +185 -0
- js7/client/feature/order/manage.py +79 -0
- js7/client/feature/order/operate.py +346 -0
- js7/client/feature/order/order.py +18 -0
- js7/client/feature/task/task.py +54 -0
- js7/client/feature/workflow/manage.py +54 -0
- js7/client/feature/workflow/operate.py +336 -0
- js7/client/feature/workflow/workflow.py +19 -0
- js7/java/lib/3rd-party/bcpg-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcpkix-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcprov-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcutil-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/commons-io-2.15.1.jar +0 -0
- js7/java/lib/3rd-party/commons-lang3-3.14.0.jar +0 -0
- js7/java/lib/3rd-party/jackson-core-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jackson-databind-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jackson-dataformat-xml-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jakarta.annotation-api-2.1.1.jar +0 -0
- js7/java/lib/3rd-party/javax.activation-api-1.2.0.jar +0 -0
- js7/java/lib/3rd-party/jaxb-api-2.4.0-b180830.0359.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-api-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-core-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-slf4j2-impl-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.slf4j.slf4j-api-2.0.13.jar +0 -0
- js7/java/lib/3rd-party/stax2-api-4.2.1.jar +0 -0
- js7/java/lib/3rd-party/woodstox-core-6.5.0.jar +0 -0
- js7/java/lib/sos/sos-commons-encryption-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-commons-exception-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-commons-sign-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-webservices-json-2.7.3.jar +0 -0
- js7/model/__init__.py +132 -0
- js7/model/configuration/auth_configuration.py +24 -0
- js7/model/configuration/client_configuration.py +6 -0
- js7/model/configuration/http_configuration.py +10 -0
- js7/model/error/http/joc_exceptions.py +151 -0
- js7/model/private/api/endpoint.py +30 -0
- js7/model/private/http/joc/joc_v_2_8_2.py +3666 -0
- js7/model/public/client/common/__init__.py +27 -0
- js7/model/public/client/common/accounts.py +21 -0
- js7/model/public/client/common/audit_log.py +8 -0
- js7/model/public/client/common/changes.py +18 -0
- js7/model/public/client/common/configurations.py +53 -0
- js7/model/public/client/common/cycle.py +12 -0
- js7/model/public/client/common/git_credentials.py +12 -0
- js7/model/public/client/common/identity_service.py +14 -0
- js7/model/public/client/common/schedule_time.py +50 -0
- js7/model/public/client/common/store_agents.py +96 -0
- js7/model/public/client/enum/__init__.py +19 -0
- js7/model/public/client/enum/object_types.py +48 -0
- js7/model/public/client/enum/operation_type.py +11 -0
- js7/model/public/client/enum/order_priority.py +9 -0
- js7/model/public/client/filter/__init__.py +35 -0
- js7/model/public/client/filter/daily_plan_order_filters.py +255 -0
- js7/model/public/client/filter/element/__init__.py +3 -0
- js7/model/public/client/filter/element/folder.py +6 -0
- js7/model/public/client/filter/element/workflow_id.py +10 -0
- js7/model/public/client/filter/export_filter.py +52 -0
- js7/model/public/client/filter/export_folders_filter.py +34 -0
- js7/model/public/client/filter/get_order_filter.py +59 -0
- js7/model/public/client/filter/order_history_filter.py +113 -0
- js7/model/public/client/filter/resume_order_filter.py +45 -0
- js7/model/public/client/filter/suspend_order_filter.py +44 -0
- js7/model/public/client/filter/tasks_filter.py +50 -0
- js7/model/public/client/input/__init__.py +2 -0
- js7/model/public/client/input/add_order.py +50 -0
- js7/service/http_service.py +206 -0
- js7/util/bytes_converter/bytes_to_archive_bytes.py +52 -0
- js7/util/bytes_converter/bytes_to_file.py +12 -0
- js7/util/bytes_converter/files_to_bytes.py +52 -0
- js7/util/bytes_converter/read_bytes_archive_files_to_bytes.py +69 -0
- js7/util/bytes_converter/sign_to_bytes.py +106 -0
- js7/util/check_matching_version.py +20 -0
- js7/util/detect_archive_type.py +37 -0
- js7/util/str_converter/order_id_to_order_name.py +5 -0
- js7/validator/http/joc_http_status_validator.py +155 -0
- js7_client_python-2.0.1.0.dist-info/LICENSE +674 -0
- js7_client_python-2.0.1.0.dist-info/METADATA +763 -0
- js7_client_python-2.0.1.0.dist-info/RECORD +389 -0
- js7_client_python-2.0.1.0.dist-info/WHEEL +5 -0
- js7_client_python-2.0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
from typing import Literal, Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
5
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
6
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
7
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
8
|
+
OK as OK_V_2_8_2,
|
|
9
|
+
RegisterParameters as RegisterParameters_V_2_8_2,
|
|
10
|
+
RegisterParameter as RegisterParameter_V_2_8_2,
|
|
11
|
+
ControllerRole as ControllerRole_V_2_8_2
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
from ....util.check_matching_version import check_matching_version
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def register_controller_action(
|
|
18
|
+
*,
|
|
19
|
+
context: Context,
|
|
20
|
+
controller_id: Optional[str],
|
|
21
|
+
url: str,
|
|
22
|
+
cluster_url: Optional[str],
|
|
23
|
+
role: Literal["STANDALONE", "PRIMARY", "BACKUP"],
|
|
24
|
+
title: Optional[str],
|
|
25
|
+
audit_log: Optional[AuditLog]
|
|
26
|
+
) -> bool:
|
|
27
|
+
|
|
28
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
29
|
+
request_data = _build_v_2_8_2_request(
|
|
30
|
+
controller_id=controller_id,
|
|
31
|
+
url=url,
|
|
32
|
+
cluster_url=cluster_url,
|
|
33
|
+
role=role,
|
|
34
|
+
title=title,
|
|
35
|
+
audit_log=audit_log
|
|
36
|
+
)
|
|
37
|
+
else:
|
|
38
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
39
|
+
|
|
40
|
+
# Calls the dispatcher for the matching JOC version
|
|
41
|
+
result = context.joc_api.dispatch(endpoint_id="controller/register", call=EndpointCall(
|
|
42
|
+
http_service=context.http_service,
|
|
43
|
+
access_token=context.auth_provider.login(),
|
|
44
|
+
payload=request_data,
|
|
45
|
+
options=None,
|
|
46
|
+
))
|
|
47
|
+
|
|
48
|
+
if isinstance(result, OK_V_2_8_2):
|
|
49
|
+
return bool(result.ok)
|
|
50
|
+
|
|
51
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
52
|
+
|
|
53
|
+
#---------------------#
|
|
54
|
+
# Build 2.8.2 request #
|
|
55
|
+
#---------------------#
|
|
56
|
+
def _build_v_2_8_2_request(
|
|
57
|
+
*,
|
|
58
|
+
controller_id: Optional[str],
|
|
59
|
+
url: str,
|
|
60
|
+
cluster_url: Optional[str],
|
|
61
|
+
role: Literal["STANDALONE", "PRIMARY", "BACKUP"],
|
|
62
|
+
title: Optional[str],
|
|
63
|
+
audit_log: Optional[AuditLog]
|
|
64
|
+
) -> RegisterParameters_V_2_8_2:
|
|
65
|
+
|
|
66
|
+
# Validate: url
|
|
67
|
+
if not url:
|
|
68
|
+
raise ValueError("'url' is required.")
|
|
69
|
+
|
|
70
|
+
# Validate: role
|
|
71
|
+
if role not in ["STANDALONE", "PRIMARY", "BACKUP"]:
|
|
72
|
+
raise ValueError(f"Invalid 'role': {role}.")
|
|
73
|
+
|
|
74
|
+
# Build: Audit Log
|
|
75
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
76
|
+
ticket_link=audit_log.ticket_link,
|
|
77
|
+
comment=audit_log.comment,
|
|
78
|
+
time_spent=audit_log.time_spent
|
|
79
|
+
) if audit_log else None
|
|
80
|
+
|
|
81
|
+
# Result
|
|
82
|
+
return RegisterParameters_V_2_8_2(
|
|
83
|
+
controller_id=controller_id,
|
|
84
|
+
controllers=[
|
|
85
|
+
RegisterParameter_V_2_8_2(
|
|
86
|
+
url=url,
|
|
87
|
+
cluster_url=cluster_url,
|
|
88
|
+
role=ControllerRole_V_2_8_2(role), # Raises ValueError() if invalid.
|
|
89
|
+
title=title,
|
|
90
|
+
)
|
|
91
|
+
],
|
|
92
|
+
audit_log=res_audit_log
|
|
93
|
+
)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
5
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
6
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
7
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
8
|
+
OK as OK_V_2_8_2,
|
|
9
|
+
URLParameter as URLParameter__V_2_8_2
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ....util.check_matching_version import check_matching_version
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def restart_controller_action(
|
|
16
|
+
*,
|
|
17
|
+
context: Context,
|
|
18
|
+
controller_id: str,
|
|
19
|
+
url: Optional[str],
|
|
20
|
+
audit_log: Optional[AuditLog]
|
|
21
|
+
) -> bool:
|
|
22
|
+
|
|
23
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
24
|
+
request_data = _build_v_2_8_2_request(
|
|
25
|
+
controller_id=controller_id,
|
|
26
|
+
url=url,
|
|
27
|
+
audit_log=audit_log
|
|
28
|
+
)
|
|
29
|
+
else:
|
|
30
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
31
|
+
|
|
32
|
+
# Calls the dispatcher for the matching JOC version
|
|
33
|
+
result = context.joc_api.dispatch(endpoint_id="controller/restart", call=EndpointCall(
|
|
34
|
+
http_service=context.http_service,
|
|
35
|
+
access_token=context.auth_provider.login(),
|
|
36
|
+
payload=request_data,
|
|
37
|
+
options=None,
|
|
38
|
+
))
|
|
39
|
+
|
|
40
|
+
if isinstance(result, OK_V_2_8_2):
|
|
41
|
+
return bool(result.ok)
|
|
42
|
+
|
|
43
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
44
|
+
|
|
45
|
+
#---------------------#
|
|
46
|
+
# Build 2.8.2 request #
|
|
47
|
+
#---------------------#
|
|
48
|
+
def _build_v_2_8_2_request(
|
|
49
|
+
*,
|
|
50
|
+
controller_id: str,
|
|
51
|
+
url: Optional[str],
|
|
52
|
+
audit_log: Optional[AuditLog]
|
|
53
|
+
) -> URLParameter__V_2_8_2:
|
|
54
|
+
|
|
55
|
+
# Validates controller id
|
|
56
|
+
if not controller_id:
|
|
57
|
+
raise ValueError("'controller_id' is required.")
|
|
58
|
+
|
|
59
|
+
# Build: Audit Log
|
|
60
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
61
|
+
ticket_link=audit_log.ticket_link,
|
|
62
|
+
comment=audit_log.comment,
|
|
63
|
+
time_spent=audit_log.time_spent
|
|
64
|
+
) if audit_log else None
|
|
65
|
+
|
|
66
|
+
# Result
|
|
67
|
+
return URLParameter__V_2_8_2(
|
|
68
|
+
controller_id=controller_id,
|
|
69
|
+
url=url,
|
|
70
|
+
audit_log=res_audit_log,
|
|
71
|
+
with_switchover=False
|
|
72
|
+
)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
5
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
6
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
7
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
8
|
+
OK as OK_V_2_8_2,
|
|
9
|
+
URLParameter as URLParameter__V_2_8_2
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ....util.check_matching_version import check_matching_version
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def switchover_controller_cluster_action(
|
|
16
|
+
*,
|
|
17
|
+
context: Context,
|
|
18
|
+
controller_id: str,
|
|
19
|
+
audit_log: Optional[AuditLog]
|
|
20
|
+
) -> bool:
|
|
21
|
+
|
|
22
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
23
|
+
request_data = _build_v_2_8_2_request(
|
|
24
|
+
controller_id=controller_id,
|
|
25
|
+
audit_log=audit_log
|
|
26
|
+
)
|
|
27
|
+
else:
|
|
28
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
29
|
+
|
|
30
|
+
# Calls the dispatcher for the matching JOC version
|
|
31
|
+
result = context.joc_api.dispatch(endpoint_id="controller/cluster/switchover", call=EndpointCall(
|
|
32
|
+
http_service=context.http_service,
|
|
33
|
+
access_token=context.auth_provider.login(),
|
|
34
|
+
payload=request_data,
|
|
35
|
+
options=None,
|
|
36
|
+
))
|
|
37
|
+
|
|
38
|
+
if isinstance(result, OK_V_2_8_2):
|
|
39
|
+
return bool(result.ok)
|
|
40
|
+
|
|
41
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
42
|
+
|
|
43
|
+
#---------------------#
|
|
44
|
+
# Build 2.8.2 request #
|
|
45
|
+
#---------------------#
|
|
46
|
+
def _build_v_2_8_2_request(
|
|
47
|
+
*,
|
|
48
|
+
controller_id: str,
|
|
49
|
+
audit_log: Optional[AuditLog]
|
|
50
|
+
) -> URLParameter__V_2_8_2:
|
|
51
|
+
|
|
52
|
+
# Validates controller id
|
|
53
|
+
if not controller_id:
|
|
54
|
+
raise ValueError("'controller_id' is required.")
|
|
55
|
+
|
|
56
|
+
# Build: Audit Log
|
|
57
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
58
|
+
ticket_link=audit_log.ticket_link,
|
|
59
|
+
comment=audit_log.comment,
|
|
60
|
+
time_spent=audit_log.time_spent
|
|
61
|
+
) if audit_log else None
|
|
62
|
+
|
|
63
|
+
# Result
|
|
64
|
+
return URLParameter__V_2_8_2(
|
|
65
|
+
controller_id=controller_id,
|
|
66
|
+
audit_log=res_audit_log
|
|
67
|
+
)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
5
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
6
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
7
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
8
|
+
OK as OK_V_2_8_2,
|
|
9
|
+
URLParameter as URLParameter_V_2_8_2
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ....util.check_matching_version import check_matching_version
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def terminate_controller_action(
|
|
16
|
+
*,
|
|
17
|
+
context: Context,
|
|
18
|
+
controller_id: str,
|
|
19
|
+
url: Optional[str],
|
|
20
|
+
audit_log: Optional[AuditLog]
|
|
21
|
+
) -> bool:
|
|
22
|
+
|
|
23
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
24
|
+
request_data = _build_v_2_8_2_request(
|
|
25
|
+
controller_id=controller_id,
|
|
26
|
+
url=url,
|
|
27
|
+
audit_log=audit_log
|
|
28
|
+
)
|
|
29
|
+
else:
|
|
30
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
31
|
+
|
|
32
|
+
# Calls the dispatcher for the matching JOC version
|
|
33
|
+
result = context.joc_api.dispatch(endpoint_id="controller/terminate", call=EndpointCall(
|
|
34
|
+
http_service=context.http_service,
|
|
35
|
+
access_token=context.auth_provider.login(),
|
|
36
|
+
payload=request_data,
|
|
37
|
+
options=None,
|
|
38
|
+
))
|
|
39
|
+
|
|
40
|
+
if isinstance(result, OK_V_2_8_2):
|
|
41
|
+
return bool(result.ok)
|
|
42
|
+
|
|
43
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
44
|
+
|
|
45
|
+
#---------------------#
|
|
46
|
+
# Build 2.8.2 request #
|
|
47
|
+
#---------------------#
|
|
48
|
+
def _build_v_2_8_2_request(
|
|
49
|
+
*,
|
|
50
|
+
controller_id: str,
|
|
51
|
+
url: Optional[str],
|
|
52
|
+
audit_log: Optional[AuditLog]
|
|
53
|
+
) -> URLParameter_V_2_8_2:
|
|
54
|
+
|
|
55
|
+
# Validates controller id
|
|
56
|
+
if not controller_id:
|
|
57
|
+
raise ValueError("'controller_id' is required.")
|
|
58
|
+
|
|
59
|
+
# Build: Audit Log
|
|
60
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
61
|
+
ticket_link=audit_log.ticket_link,
|
|
62
|
+
comment=audit_log.comment,
|
|
63
|
+
time_spent=audit_log.time_spent
|
|
64
|
+
) if audit_log else None
|
|
65
|
+
|
|
66
|
+
# Result
|
|
67
|
+
return URLParameter_V_2_8_2(
|
|
68
|
+
controller_id=controller_id,
|
|
69
|
+
url=url,
|
|
70
|
+
audit_log=res_audit_log,
|
|
71
|
+
with_switchover=False
|
|
72
|
+
)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
5
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
6
|
+
TestConnect as TestConnect_V_2_8_2,
|
|
7
|
+
JobScheduler200 as JobScheduler200_V_2_8_2
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from ....util.check_matching_version import check_matching_version
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def test_controller_instance_action(
|
|
14
|
+
*,
|
|
15
|
+
context: Context,
|
|
16
|
+
controller_id: Optional[str],
|
|
17
|
+
url: str
|
|
18
|
+
) -> bool:
|
|
19
|
+
|
|
20
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
21
|
+
request_data = _build_v_2_8_2_request(
|
|
22
|
+
controller_id=controller_id,
|
|
23
|
+
url=url
|
|
24
|
+
)
|
|
25
|
+
else:
|
|
26
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
27
|
+
|
|
28
|
+
# Calls the dispatcher for the matching JOC version
|
|
29
|
+
result = context.joc_api.dispatch(endpoint_id="controller/test", call=EndpointCall(
|
|
30
|
+
http_service=context.http_service,
|
|
31
|
+
access_token=context.auth_provider.login(),
|
|
32
|
+
payload=request_data,
|
|
33
|
+
options=None,
|
|
34
|
+
))
|
|
35
|
+
|
|
36
|
+
if isinstance(result, JobScheduler200_V_2_8_2):
|
|
37
|
+
if not (
|
|
38
|
+
result.controller
|
|
39
|
+
and result.controller.connection_state
|
|
40
|
+
and result.controller.connection_state.severity != 0
|
|
41
|
+
):
|
|
42
|
+
return False
|
|
43
|
+
|
|
44
|
+
return True
|
|
45
|
+
|
|
46
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
47
|
+
|
|
48
|
+
#---------------------#
|
|
49
|
+
# Build 2.8.2 request #
|
|
50
|
+
#---------------------#
|
|
51
|
+
def _build_v_2_8_2_request(
|
|
52
|
+
*,
|
|
53
|
+
controller_id: Optional[str],
|
|
54
|
+
url: str
|
|
55
|
+
) -> TestConnect_V_2_8_2:
|
|
56
|
+
|
|
57
|
+
# Validates controller id
|
|
58
|
+
if not url:
|
|
59
|
+
raise ValueError("'url' is required.")
|
|
60
|
+
|
|
61
|
+
# Result
|
|
62
|
+
return TestConnect_V_2_8_2(
|
|
63
|
+
controller_id=controller_id,
|
|
64
|
+
url=url
|
|
65
|
+
)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
5
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
6
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
7
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
8
|
+
OK as OK_V_2_8_2,
|
|
9
|
+
URLParameter as URLParameter_V_2_8_2
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ....util.check_matching_version import check_matching_version
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def unregister_controller_action(
|
|
16
|
+
*,
|
|
17
|
+
context: Context,
|
|
18
|
+
controller_id: str,
|
|
19
|
+
audit_log: Optional[AuditLog]
|
|
20
|
+
) -> bool:
|
|
21
|
+
|
|
22
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
23
|
+
request_data = _build_v_2_8_2_request(
|
|
24
|
+
controller_id=controller_id,
|
|
25
|
+
audit_log=audit_log
|
|
26
|
+
)
|
|
27
|
+
else:
|
|
28
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
29
|
+
|
|
30
|
+
# Calls the dispatcher for the matching JOC version
|
|
31
|
+
result = context.joc_api.dispatch(endpoint_id="controller/unregister", call=EndpointCall(
|
|
32
|
+
http_service=context.http_service,
|
|
33
|
+
access_token=context.auth_provider.login(),
|
|
34
|
+
payload=request_data,
|
|
35
|
+
options=None,
|
|
36
|
+
))
|
|
37
|
+
|
|
38
|
+
if isinstance(result, OK_V_2_8_2):
|
|
39
|
+
return bool(result.ok)
|
|
40
|
+
|
|
41
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
42
|
+
|
|
43
|
+
#---------------------#
|
|
44
|
+
# Build 2.8.2 request #
|
|
45
|
+
#---------------------#
|
|
46
|
+
def _build_v_2_8_2_request(
|
|
47
|
+
*,
|
|
48
|
+
controller_id: str,
|
|
49
|
+
audit_log: Optional[AuditLog]
|
|
50
|
+
) -> URLParameter_V_2_8_2:
|
|
51
|
+
|
|
52
|
+
# Validates controller id
|
|
53
|
+
if not controller_id:
|
|
54
|
+
raise ValueError("'controller_id' is required.")
|
|
55
|
+
|
|
56
|
+
# Build: Audit Log
|
|
57
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
58
|
+
ticket_link=audit_log.ticket_link,
|
|
59
|
+
comment=audit_log.comment,
|
|
60
|
+
time_spent=audit_log.time_spent
|
|
61
|
+
) if audit_log else None
|
|
62
|
+
|
|
63
|
+
# Result
|
|
64
|
+
return URLParameter_V_2_8_2(
|
|
65
|
+
controller_id=controller_id,
|
|
66
|
+
audit_log=res_audit_log,
|
|
67
|
+
with_switchover=False
|
|
68
|
+
)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from ...context import Context
|
|
2
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
3
|
+
from ....model.public.client.filter.daily_plan_order_filters import DailyPlanCancelOrdersFilter
|
|
4
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
5
|
+
Folder as Folder_V_2_8_2,
|
|
6
|
+
DailyPlanCancelOrders as DailyPlanCancelOrders_V_2_8_2,
|
|
7
|
+
OK as OK_V_2_8_2
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from ....util.check_matching_version import check_matching_version
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def cancel_orders_action(
|
|
14
|
+
*,
|
|
15
|
+
context: Context,
|
|
16
|
+
filter: DailyPlanCancelOrdersFilter
|
|
17
|
+
) -> bool:
|
|
18
|
+
|
|
19
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
20
|
+
request_data = _build_v_2_8_2_request(filter)
|
|
21
|
+
else:
|
|
22
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
23
|
+
|
|
24
|
+
# Calls the dispatcher for the matching JOC version
|
|
25
|
+
result = context.joc_api.dispatch(endpoint_id="daily_plan/orders/cancel", call=EndpointCall(
|
|
26
|
+
http_service=context.http_service,
|
|
27
|
+
access_token=context.auth_provider.login(),
|
|
28
|
+
payload=request_data,
|
|
29
|
+
options=None
|
|
30
|
+
))
|
|
31
|
+
|
|
32
|
+
if isinstance(result, OK_V_2_8_2):
|
|
33
|
+
return bool(result.ok)
|
|
34
|
+
|
|
35
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
36
|
+
|
|
37
|
+
#---------------------#
|
|
38
|
+
# Build 2.8.2 request #
|
|
39
|
+
#---------------------#
|
|
40
|
+
def _build_v_2_8_2_request(filter: DailyPlanCancelOrdersFilter) -> DailyPlanCancelOrders_V_2_8_2:
|
|
41
|
+
# Result
|
|
42
|
+
return DailyPlanCancelOrders_V_2_8_2(
|
|
43
|
+
daily_plan_date_from=filter.date_from,
|
|
44
|
+
daily_plan_date_to=filter.date_to,
|
|
45
|
+
controller_ids=filter.controller_ids,
|
|
46
|
+
order_ids=filter.order_ids,
|
|
47
|
+
workflow_paths=filter.workflow_paths,
|
|
48
|
+
schedule_paths=filter.schedule_paths,
|
|
49
|
+
|
|
50
|
+
schedule_folders=[
|
|
51
|
+
Folder_V_2_8_2(folder=f.folder_path, recursive=f.recursive)
|
|
52
|
+
for f in filter.schedule_folders
|
|
53
|
+
] if filter.schedule_folders else None,
|
|
54
|
+
|
|
55
|
+
workflow_folders=[
|
|
56
|
+
Folder_V_2_8_2(folder=f.folder_path, recursive=f.recursive)
|
|
57
|
+
for f in filter.workflow_folders
|
|
58
|
+
] if filter.workflow_folders else None
|
|
59
|
+
)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
from typing import List, Optional, Tuple
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.public.client.common.cycle import Cycle
|
|
5
|
+
from ....model.public.client.common.audit_log import AuditLog
|
|
6
|
+
from ....model.public.client.common.schedule_time import ScheduleTime
|
|
7
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
8
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
9
|
+
DailyPlanCopyOrder as DailyPlanCopyOrder_V_2_8_2,
|
|
10
|
+
Cycle as Cycle_V_2_8_2,
|
|
11
|
+
AuditParams as AuditParams_V_2_8_2,
|
|
12
|
+
OrderIDMap200 as OrderIDMap200_V_2_8_2
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
from ....util.check_matching_version import check_matching_version
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def copy_orders_action(
|
|
19
|
+
*,
|
|
20
|
+
context: Context,
|
|
21
|
+
controller_id: str,
|
|
22
|
+
order_ids: List[str],
|
|
23
|
+
scheduled_for: Optional[ScheduleTime],
|
|
24
|
+
cycle: Optional[Cycle],
|
|
25
|
+
force_job_admission: bool,
|
|
26
|
+
sticky_daily_plan_date: bool,
|
|
27
|
+
audit_log: Optional[AuditLog]
|
|
28
|
+
) -> List[Tuple[str, str]]:
|
|
29
|
+
|
|
30
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
31
|
+
request_data = _build_v_2_8_2_request(
|
|
32
|
+
timezone=context.client_config.timezone,
|
|
33
|
+
controller_id=controller_id,
|
|
34
|
+
order_ids=order_ids,
|
|
35
|
+
scheduled_for=scheduled_for,
|
|
36
|
+
cycle=cycle,
|
|
37
|
+
force_job_admission=force_job_admission,
|
|
38
|
+
sticky_daily_plan_date=sticky_daily_plan_date,
|
|
39
|
+
audit_log=audit_log
|
|
40
|
+
)
|
|
41
|
+
else:
|
|
42
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
43
|
+
|
|
44
|
+
# Calls the dispatcher for the matching JOC version
|
|
45
|
+
result = context.joc_api.dispatch(endpoint_id="daily_plan/orders/copy", call=EndpointCall(
|
|
46
|
+
http_service=context.http_service,
|
|
47
|
+
access_token=context.auth_provider.login(),
|
|
48
|
+
payload=request_data,
|
|
49
|
+
options=None
|
|
50
|
+
))
|
|
51
|
+
|
|
52
|
+
if isinstance(result, OrderIDMap200_V_2_8_2):
|
|
53
|
+
return [
|
|
54
|
+
(old_id, new_id)
|
|
55
|
+
for old_id, new_id in result.order_ids
|
|
56
|
+
] if result.order_ids else []
|
|
57
|
+
|
|
58
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
59
|
+
|
|
60
|
+
#---------------------#
|
|
61
|
+
# Build 2.8.2 request #
|
|
62
|
+
#---------------------#
|
|
63
|
+
def _build_v_2_8_2_request(
|
|
64
|
+
*,
|
|
65
|
+
timezone: str,
|
|
66
|
+
controller_id: str,
|
|
67
|
+
order_ids: List[str],
|
|
68
|
+
scheduled_for: Optional[ScheduleTime],
|
|
69
|
+
cycle: Optional[Cycle],
|
|
70
|
+
force_job_admission: bool,
|
|
71
|
+
sticky_daily_plan_date: bool,
|
|
72
|
+
audit_log: Optional[AuditLog]
|
|
73
|
+
) -> DailyPlanCopyOrder_V_2_8_2:
|
|
74
|
+
|
|
75
|
+
# Validate: timezone
|
|
76
|
+
if not timezone:
|
|
77
|
+
raise ValueError("'timezone' is required in client config.")
|
|
78
|
+
|
|
79
|
+
# Validate: controller_id
|
|
80
|
+
if not controller_id:
|
|
81
|
+
raise ValueError("'controller_id' is required.")
|
|
82
|
+
|
|
83
|
+
# Validate: order_ids
|
|
84
|
+
if not order_ids:
|
|
85
|
+
raise ValueError("At least one order id in 'order_ids' is required.")
|
|
86
|
+
|
|
87
|
+
# Build: audit_log
|
|
88
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
89
|
+
ticket_link=audit_log.ticket_link,
|
|
90
|
+
comment=audit_log.comment,
|
|
91
|
+
time_spent=audit_log.time_spent
|
|
92
|
+
) if audit_log else None
|
|
93
|
+
|
|
94
|
+
# Result
|
|
95
|
+
return DailyPlanCopyOrder_V_2_8_2(
|
|
96
|
+
time_zone=timezone,
|
|
97
|
+
controller_id=controller_id,
|
|
98
|
+
order_ids=order_ids,
|
|
99
|
+
scheduled_for=scheduled_for.value if scheduled_for else None,
|
|
100
|
+
cycle=Cycle_V_2_8_2(
|
|
101
|
+
begin=str(cycle.begin),
|
|
102
|
+
end=str(cycle.end),
|
|
103
|
+
repeat=str(cycle.repeat)
|
|
104
|
+
) if cycle else None,
|
|
105
|
+
force_job_admission=force_job_admission,
|
|
106
|
+
stick_daily_plan_date=sticky_daily_plan_date,
|
|
107
|
+
audit_log=res_audit_log
|
|
108
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from ...context import Context
|
|
2
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
3
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
4
|
+
OK as OK_V_2_8_2
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def create_projections_action(
|
|
9
|
+
*,
|
|
10
|
+
context: Context
|
|
11
|
+
) -> bool:
|
|
12
|
+
|
|
13
|
+
# Calls the dispatcher for the matching JOC version
|
|
14
|
+
result = context.joc_api.dispatch(endpoint_id="daily_plan/projections/recreate", call=EndpointCall(
|
|
15
|
+
http_service=context.http_service,
|
|
16
|
+
access_token=context.auth_provider.login(),
|
|
17
|
+
payload=None,
|
|
18
|
+
options=None
|
|
19
|
+
))
|
|
20
|
+
|
|
21
|
+
if isinstance(result, OK_V_2_8_2):
|
|
22
|
+
return bool(result.ok)
|
|
23
|
+
|
|
24
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|