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,59 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from ...context import Context
|
|
4
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
5
|
+
from ....model.public.client.common.changes import Change
|
|
6
|
+
from ....model.public.client.enum.object_types import ObjectType
|
|
7
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
8
|
+
ShowChangesFilter as ShowChangesFilter_V_2_8_2,
|
|
9
|
+
ShowChangesResponse as ShowChangesResponse_V_2_8_2,
|
|
10
|
+
ChangeItem as ChangeItem_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_changes_action(*, context: Context, names: List[str]) -> List[Change]:
|
|
17
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
18
|
+
request_data = ShowChangesFilter_V_2_8_2(
|
|
19
|
+
details=True,
|
|
20
|
+
names=names
|
|
21
|
+
)
|
|
22
|
+
else:
|
|
23
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
24
|
+
|
|
25
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/changes", 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, ShowChangesResponse_V_2_8_2):
|
|
33
|
+
return _build_v_2_8_2_response(result)
|
|
34
|
+
|
|
35
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
36
|
+
|
|
37
|
+
#----------------------#
|
|
38
|
+
# Build 2.8.2 response #
|
|
39
|
+
#----------------------#
|
|
40
|
+
def _build_v_2_8_2_response(response: ShowChangesResponse_V_2_8_2) -> List[Change]:
|
|
41
|
+
if not response.changes:
|
|
42
|
+
return []
|
|
43
|
+
|
|
44
|
+
change_items: List[ChangeItem_V_2_8_2] = []
|
|
45
|
+
for change in response.changes:
|
|
46
|
+
if not change.configurations:
|
|
47
|
+
continue
|
|
48
|
+
|
|
49
|
+
for cfg in change.configurations:
|
|
50
|
+
change_items.append(cfg)
|
|
51
|
+
|
|
52
|
+
return [
|
|
53
|
+
Change(
|
|
54
|
+
path=item.path or "",
|
|
55
|
+
name=item.name,
|
|
56
|
+
object_type=ObjectType(item.object_type.value if item.object_type else "")
|
|
57
|
+
)
|
|
58
|
+
for item in change_items
|
|
59
|
+
]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from ...context import Context
|
|
2
|
+
from ....model.public.client.common.git_credentials import GitCredentials
|
|
3
|
+
from ....model.private.api.endpoint import EndpointCall
|
|
4
|
+
from ....model.private.http.joc.joc_v_2_8_2 import (
|
|
5
|
+
GitCredentials as GitCredentials_V_2_8_2
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_git_credentials_action(*, context: Context) -> GitCredentials:
|
|
10
|
+
# Calls the dispatcher for the matching JOC version
|
|
11
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/credentials", call=EndpointCall(
|
|
12
|
+
http_service=context.http_service,
|
|
13
|
+
access_token=context.auth_provider.login(),
|
|
14
|
+
payload=None,
|
|
15
|
+
options=None,
|
|
16
|
+
))
|
|
17
|
+
|
|
18
|
+
if isinstance(result, GitCredentials_V_2_8_2):
|
|
19
|
+
return GitCredentials(
|
|
20
|
+
email=result.email,
|
|
21
|
+
git_account=result.git_account,
|
|
22
|
+
git_server=result.git_server,
|
|
23
|
+
keyfile_path=result.keyfile_path,
|
|
24
|
+
password=result.password,
|
|
25
|
+
personal_access_token=result.personal_access_token,
|
|
26
|
+
username=result.username
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
Category as Category_V_2_8_2,
|
|
9
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2,
|
|
10
|
+
CommonFilter as CommonFilter_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_add_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
folder_path: str,
|
|
20
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
21
|
+
audit_log: Optional[AuditLog]
|
|
22
|
+
) -> bool:
|
|
23
|
+
|
|
24
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
25
|
+
request_data = _build_v_2_8_2_request(folder_path=folder_path, category=category, audit_log=audit_log)
|
|
26
|
+
else:
|
|
27
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
28
|
+
|
|
29
|
+
# Calls the dispatcher for the matching JOC version
|
|
30
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/add", call=EndpointCall(
|
|
31
|
+
http_service=context.http_service,
|
|
32
|
+
access_token=context.auth_provider.login(),
|
|
33
|
+
payload=request_data,
|
|
34
|
+
options=None,
|
|
35
|
+
))
|
|
36
|
+
|
|
37
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
38
|
+
return bool(result.exit_code == 0)
|
|
39
|
+
|
|
40
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
41
|
+
|
|
42
|
+
#---------------------#
|
|
43
|
+
# Build 2.8.2 request #
|
|
44
|
+
#---------------------#
|
|
45
|
+
def _build_v_2_8_2_request(
|
|
46
|
+
*,
|
|
47
|
+
folder_path: str,
|
|
48
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
49
|
+
audit_log: Optional[AuditLog]
|
|
50
|
+
) -> CommonFilter_V_2_8_2:
|
|
51
|
+
|
|
52
|
+
# Validates folder path
|
|
53
|
+
if not folder_path:
|
|
54
|
+
raise ValueError("'folder_path' is required.")
|
|
55
|
+
|
|
56
|
+
# Validate: category
|
|
57
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
58
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
59
|
+
|
|
60
|
+
# Build: Audit Log
|
|
61
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
62
|
+
ticket_link=audit_log.ticket_link,
|
|
63
|
+
comment=audit_log.comment,
|
|
64
|
+
time_spent=audit_log.time_spent
|
|
65
|
+
) if audit_log else None
|
|
66
|
+
|
|
67
|
+
# Result
|
|
68
|
+
return CommonFilter_V_2_8_2(
|
|
69
|
+
folder=folder_path,
|
|
70
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
71
|
+
audit_log=res_audit_log,
|
|
72
|
+
)
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
CheckoutFilter as CheckoutFilter_V_2_8_2,
|
|
9
|
+
Category as Category_V_2_8_2,
|
|
10
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_checkout_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
branch: Optional[str],
|
|
20
|
+
tag: Optional[str],
|
|
21
|
+
folder_path: str,
|
|
22
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
23
|
+
audit_log: Optional[AuditLog]
|
|
24
|
+
) -> bool:
|
|
25
|
+
|
|
26
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
27
|
+
request_data = _build_v_2_8_2_request(
|
|
28
|
+
branch=branch,
|
|
29
|
+
tag=tag,
|
|
30
|
+
folder_path=folder_path,
|
|
31
|
+
category=category,
|
|
32
|
+
audit_log=audit_log
|
|
33
|
+
)
|
|
34
|
+
else:
|
|
35
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
36
|
+
|
|
37
|
+
# Calls the dispatcher for the matching JOC version
|
|
38
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/checkout", call=EndpointCall(
|
|
39
|
+
http_service=context.http_service,
|
|
40
|
+
access_token=context.auth_provider.login(),
|
|
41
|
+
payload=request_data,
|
|
42
|
+
options=None,
|
|
43
|
+
))
|
|
44
|
+
|
|
45
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
46
|
+
return bool(result.exit_code == 0)
|
|
47
|
+
|
|
48
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
49
|
+
|
|
50
|
+
#---------------------#
|
|
51
|
+
# Build 2.8.2 request #
|
|
52
|
+
#---------------------#
|
|
53
|
+
def _build_v_2_8_2_request(
|
|
54
|
+
*,
|
|
55
|
+
branch: Optional[str],
|
|
56
|
+
tag: Optional[str],
|
|
57
|
+
folder_path: str,
|
|
58
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
59
|
+
audit_log: Optional[AuditLog]
|
|
60
|
+
) -> CheckoutFilter_V_2_8_2:
|
|
61
|
+
|
|
62
|
+
# Validates one of branch or tag
|
|
63
|
+
if sum([branch is not None, tag is not None]) != 1:
|
|
64
|
+
raise ValueError("Exactly one of 'branch' or 'tag' must be specified.")
|
|
65
|
+
|
|
66
|
+
# Validates folder_path
|
|
67
|
+
if not folder_path:
|
|
68
|
+
raise ValueError("'folder_path' is required.")
|
|
69
|
+
|
|
70
|
+
# Validate: category
|
|
71
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
72
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
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 CheckoutFilter_V_2_8_2(
|
|
83
|
+
branch=branch,
|
|
84
|
+
tag=tag,
|
|
85
|
+
folder=folder_path,
|
|
86
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
87
|
+
audit_log=res_audit_log,
|
|
88
|
+
)
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2,
|
|
9
|
+
CloneFilter as CloneFilter_V_2_8_2,
|
|
10
|
+
Category as Category_V_2_8_2,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_clone_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
remote_url: str,
|
|
20
|
+
folder_path: str,
|
|
21
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
22
|
+
audit_log: Optional[AuditLog]
|
|
23
|
+
) -> bool:
|
|
24
|
+
|
|
25
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
26
|
+
request_data = _build_v_2_8_2_request(
|
|
27
|
+
remote_url=remote_url,
|
|
28
|
+
folder_path=folder_path,
|
|
29
|
+
category=category,
|
|
30
|
+
audit_log=audit_log
|
|
31
|
+
)
|
|
32
|
+
else:
|
|
33
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
34
|
+
|
|
35
|
+
# Calls the dispatcher for the matching JOC version
|
|
36
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/clone", call=EndpointCall(
|
|
37
|
+
http_service=context.http_service,
|
|
38
|
+
access_token=context.auth_provider.login(),
|
|
39
|
+
payload=request_data,
|
|
40
|
+
options=None,
|
|
41
|
+
))
|
|
42
|
+
|
|
43
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
44
|
+
return bool(result.exit_code == 0)
|
|
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
|
+
remote_url: str,
|
|
54
|
+
folder_path: str,
|
|
55
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
56
|
+
audit_log: Optional[AuditLog],
|
|
57
|
+
) -> CloneFilter_V_2_8_2:
|
|
58
|
+
|
|
59
|
+
# Validates remote URL
|
|
60
|
+
if not remote_url:
|
|
61
|
+
raise ValueError("'remote_url' is required.")
|
|
62
|
+
|
|
63
|
+
# Validates folder path
|
|
64
|
+
if not folder_path:
|
|
65
|
+
raise ValueError("'folder_path' is required.")
|
|
66
|
+
|
|
67
|
+
# Validate: category
|
|
68
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
69
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
70
|
+
|
|
71
|
+
# Build: Audit Log
|
|
72
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
73
|
+
ticket_link=audit_log.ticket_link,
|
|
74
|
+
comment=audit_log.comment,
|
|
75
|
+
time_spent=audit_log.time_spent
|
|
76
|
+
) if audit_log else None
|
|
77
|
+
|
|
78
|
+
# Result
|
|
79
|
+
return CloneFilter_V_2_8_2(
|
|
80
|
+
remote_url=remote_url,
|
|
81
|
+
folder=folder_path,
|
|
82
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
83
|
+
audit_log=res_audit_log
|
|
84
|
+
)
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
CommitFilter as CommitFilter_V_2_8_2,
|
|
9
|
+
Category as Category_V_2_8_2,
|
|
10
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_commit_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
message: Optional[str],
|
|
20
|
+
folder_path: str,
|
|
21
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
22
|
+
audit_log: Optional[AuditLog],
|
|
23
|
+
) -> bool:
|
|
24
|
+
|
|
25
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
26
|
+
request_data = _build_v_2_8_2_request(
|
|
27
|
+
message=message,
|
|
28
|
+
folder_path=folder_path,
|
|
29
|
+
category=category,
|
|
30
|
+
audit_log=audit_log
|
|
31
|
+
)
|
|
32
|
+
else:
|
|
33
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
34
|
+
|
|
35
|
+
# Calls the dispatcher for the matching JOC version
|
|
36
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/commit", call=EndpointCall(
|
|
37
|
+
http_service=context.http_service,
|
|
38
|
+
access_token=context.auth_provider.login(),
|
|
39
|
+
payload=request_data,
|
|
40
|
+
options=None,
|
|
41
|
+
))
|
|
42
|
+
|
|
43
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
44
|
+
return bool(result.exit_code == 0)
|
|
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
|
+
message: Optional[str],
|
|
54
|
+
folder_path: str,
|
|
55
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
56
|
+
audit_log: Optional[AuditLog],
|
|
57
|
+
) -> CommitFilter_V_2_8_2:
|
|
58
|
+
|
|
59
|
+
# Validates folder path
|
|
60
|
+
if not folder_path:
|
|
61
|
+
raise ValueError("'folder_path' is required.")
|
|
62
|
+
|
|
63
|
+
# Validate: category
|
|
64
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
65
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
66
|
+
|
|
67
|
+
# Build: Audit Log
|
|
68
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
69
|
+
ticket_link=audit_log.ticket_link,
|
|
70
|
+
comment=audit_log.comment,
|
|
71
|
+
time_spent=audit_log.time_spent
|
|
72
|
+
) if audit_log else None
|
|
73
|
+
|
|
74
|
+
# Result
|
|
75
|
+
return CommitFilter_V_2_8_2(
|
|
76
|
+
message=message,
|
|
77
|
+
folder=folder_path,
|
|
78
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
79
|
+
audit_log=res_audit_log
|
|
80
|
+
)
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
Category as Category_V_2_8_2,
|
|
9
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2,
|
|
10
|
+
CommonFilter as CommonFilter_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_pull_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
folder_path: str,
|
|
20
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
21
|
+
audit_log: Optional[AuditLog]
|
|
22
|
+
) -> bool:
|
|
23
|
+
|
|
24
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
25
|
+
request_data = _build_v_2_8_2_request(folder_path=folder_path, category=category, audit_log=audit_log)
|
|
26
|
+
else:
|
|
27
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
28
|
+
|
|
29
|
+
# Calls the dispatcher for the matching JOC version
|
|
30
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/pull", call=EndpointCall(
|
|
31
|
+
http_service=context.http_service,
|
|
32
|
+
access_token=context.auth_provider.login(),
|
|
33
|
+
payload=request_data,
|
|
34
|
+
options=None,
|
|
35
|
+
))
|
|
36
|
+
|
|
37
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
38
|
+
return bool(result.exit_code == 0)
|
|
39
|
+
|
|
40
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
41
|
+
|
|
42
|
+
#---------------------#
|
|
43
|
+
# Build 2.8.2 request #
|
|
44
|
+
#---------------------#
|
|
45
|
+
def _build_v_2_8_2_request(
|
|
46
|
+
*,
|
|
47
|
+
folder_path: str,
|
|
48
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
49
|
+
audit_log: Optional[AuditLog]
|
|
50
|
+
) -> CommonFilter_V_2_8_2:
|
|
51
|
+
|
|
52
|
+
# Validates folder path
|
|
53
|
+
if not folder_path:
|
|
54
|
+
raise ValueError("'folder_path' is required.")
|
|
55
|
+
|
|
56
|
+
# Validate: category
|
|
57
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
58
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
59
|
+
|
|
60
|
+
# Build: Audit Log
|
|
61
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
62
|
+
ticket_link=audit_log.ticket_link,
|
|
63
|
+
comment=audit_log.comment,
|
|
64
|
+
time_spent=audit_log.time_spent
|
|
65
|
+
) if audit_log else None
|
|
66
|
+
|
|
67
|
+
# Result
|
|
68
|
+
return CommonFilter_V_2_8_2(
|
|
69
|
+
folder=folder_path,
|
|
70
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
71
|
+
audit_log=res_audit_log,
|
|
72
|
+
)
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
CommonFilter as CommonFilter_V_2_8_2,
|
|
9
|
+
Category as Category_V_2_8_2,
|
|
10
|
+
GitCommandResponse as GitCommandResponse_V_2_8_2
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ....util.check_matching_version import check_matching_version
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def git_push_action(
|
|
17
|
+
*,
|
|
18
|
+
context: Context,
|
|
19
|
+
folder_path: str,
|
|
20
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
21
|
+
audit_log: Optional[AuditLog],
|
|
22
|
+
) -> bool:
|
|
23
|
+
|
|
24
|
+
if check_matching_version(min="2.6.5", max="2.8.3", check=context.version):
|
|
25
|
+
request_data = _build_v_2_8_2_request(
|
|
26
|
+
folder_path=folder_path,
|
|
27
|
+
category=category,
|
|
28
|
+
audit_log=audit_log
|
|
29
|
+
)
|
|
30
|
+
else:
|
|
31
|
+
raise RuntimeError(f"Version {context.version} is not compatible with building the request.")
|
|
32
|
+
|
|
33
|
+
# Calls the dispatcher for the matching JOC version
|
|
34
|
+
result = context.joc_api.dispatch(endpoint_id="inventory/repository/git/push", call=EndpointCall(
|
|
35
|
+
http_service=context.http_service,
|
|
36
|
+
access_token=context.auth_provider.login(),
|
|
37
|
+
payload=request_data,
|
|
38
|
+
options=None,
|
|
39
|
+
))
|
|
40
|
+
|
|
41
|
+
if isinstance(result, GitCommandResponse_V_2_8_2):
|
|
42
|
+
return bool(result.exit_code == 0)
|
|
43
|
+
|
|
44
|
+
raise RuntimeError(f"Unexpected response type: {type(result).__name__}")
|
|
45
|
+
|
|
46
|
+
#---------------------#
|
|
47
|
+
# Build 2.8.2 request #
|
|
48
|
+
#---------------------#
|
|
49
|
+
def _build_v_2_8_2_request(
|
|
50
|
+
*,
|
|
51
|
+
folder_path: str,
|
|
52
|
+
category: Literal["LOCAL", "ROLLOUT"],
|
|
53
|
+
audit_log: Optional[AuditLog],
|
|
54
|
+
) -> CommonFilter_V_2_8_2:
|
|
55
|
+
|
|
56
|
+
# Validates folder path
|
|
57
|
+
if not folder_path:
|
|
58
|
+
raise ValueError("'folder_path' is required.")
|
|
59
|
+
|
|
60
|
+
# Validate: category
|
|
61
|
+
if category not in ("LOCAL", "ROLLOUT"):
|
|
62
|
+
raise ValueError("'category' must be one of 'LOCAL' or 'ROLLOUT'.")
|
|
63
|
+
|
|
64
|
+
# Build: Audit Log
|
|
65
|
+
res_audit_log = AuditParams_V_2_8_2(
|
|
66
|
+
ticket_link=audit_log.ticket_link,
|
|
67
|
+
comment=audit_log.comment,
|
|
68
|
+
time_spent=audit_log.time_spent
|
|
69
|
+
) if audit_log else None
|
|
70
|
+
|
|
71
|
+
# Result
|
|
72
|
+
return CommonFilter_V_2_8_2(
|
|
73
|
+
folder=folder_path,
|
|
74
|
+
category=Category_V_2_8_2(category), # Raises ValueError() if invalid.
|
|
75
|
+
audit_log=res_audit_log
|
|
76
|
+
)
|