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.
Files changed (389) hide show
  1. js7/__init__.py +8 -0
  2. js7/api/joc/http/v_2_8_2/agent/cluster/confirm_node_loss.py +36 -0
  3. js7/api/joc/http/v_2_8_2/agent/cluster/switchover.py +36 -0
  4. js7/api/joc/http/v_2_8_2/agent/delete.py +36 -0
  5. js7/api/joc/http/v_2_8_2/agents/agents.py +36 -0
  6. js7/api/joc/http/v_2_8_2/agents/cluster/delete.py +36 -0
  7. js7/api/joc/http/v_2_8_2/agents/cluster/deploy.py +36 -0
  8. js7/api/joc/http/v_2_8_2/agents/cluster/revoke.py +36 -0
  9. js7/api/joc/http/v_2_8_2/agents/cluster/store.py +36 -0
  10. js7/api/joc/http/v_2_8_2/agents/export.py +36 -0
  11. js7/api/joc/http/v_2_8_2/agents/import.py +74 -0
  12. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/deploy.py +36 -0
  13. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/revoke.py +36 -0
  14. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/store.py +36 -0
  15. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/delete.py +36 -0
  16. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/disable.py +36 -0
  17. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/enable.py +36 -0
  18. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/reset.py +36 -0
  19. js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/store.py +36 -0
  20. js7/api/joc/http/v_2_8_2/agents/inventory/deploy.py +36 -0
  21. js7/api/joc/http/v_2_8_2/agents/inventory/disable.py +36 -0
  22. js7/api/joc/http/v_2_8_2/agents/inventory/enable.py +36 -0
  23. js7/api/joc/http/v_2_8_2/agents/inventory/revoke.py +36 -0
  24. js7/api/joc/http/v_2_8_2/agents/inventory/store.py +36 -0
  25. js7/api/joc/http/v_2_8_2/agents/reset.py +36 -0
  26. js7/api/joc/http/v_2_8_2/authentication/auth.py +32 -0
  27. js7/api/joc/http/v_2_8_2/authentication/joc_cockpit_permissions.py +28 -0
  28. js7/api/joc/http/v_2_8_2/authentication/login.py +35 -0
  29. js7/api/joc/http/v_2_8_2/authentication/logout.py +28 -0
  30. js7/api/joc/http/v_2_8_2/configuration/configuration.py +36 -0
  31. js7/api/joc/http/v_2_8_2/configuration/save.py +36 -0
  32. js7/api/joc/http/v_2_8_2/controller/abort.py +36 -0
  33. js7/api/joc/http/v_2_8_2/controller/abort_and_restart.py +36 -0
  34. js7/api/joc/http/v_2_8_2/controller/cluster/appoint_nodes.py +36 -0
  35. js7/api/joc/http/v_2_8_2/controller/cluster/confirm_node_loss.py +36 -0
  36. js7/api/joc/http/v_2_8_2/controller/cluster/switchover.py +36 -0
  37. js7/api/joc/http/v_2_8_2/controller/components.py +36 -0
  38. js7/api/joc/http/v_2_8_2/controller/controller.py +36 -0
  39. js7/api/joc/http/v_2_8_2/controller/register.py +42 -0
  40. js7/api/joc/http/v_2_8_2/controller/restart.py +36 -0
  41. js7/api/joc/http/v_2_8_2/controller/terminate.py +36 -0
  42. js7/api/joc/http/v_2_8_2/controller/test.py +36 -0
  43. js7/api/joc/http/v_2_8_2/controller/unregister.py +36 -0
  44. js7/api/joc/http/v_2_8_2/daily_plan/orders/cancel.py +36 -0
  45. js7/api/joc/http/v_2_8_2/daily_plan/orders/copy.py +36 -0
  46. js7/api/joc/http/v_2_8_2/daily_plan/orders/delete.py +36 -0
  47. js7/api/joc/http/v_2_8_2/daily_plan/orders/generate.py +36 -0
  48. js7/api/joc/http/v_2_8_2/daily_plan/orders/modify.py +36 -0
  49. js7/api/joc/http/v_2_8_2/daily_plan/orders/orders.py +36 -0
  50. js7/api/joc/http/v_2_8_2/daily_plan/orders/submit.py +36 -0
  51. js7/api/joc/http/v_2_8_2/daily_plan/projections/calendar.py +36 -0
  52. js7/api/joc/http/v_2_8_2/daily_plan/projections/dates.py +36 -0
  53. js7/api/joc/http/v_2_8_2/daily_plan/projections/recreate.py +28 -0
  54. js7/api/joc/http/v_2_8_2/daily_plan/submissions/delete.py +36 -0
  55. js7/api/joc/http/v_2_8_2/iam/account/change_password.py +36 -0
  56. js7/api/joc/http/v_2_8_2/iam/account/permissions.py +36 -0
  57. js7/api/joc/http/v_2_8_2/iam/account/rename.py +36 -0
  58. js7/api/joc/http/v_2_8_2/iam/account/store.py +36 -0
  59. js7/api/joc/http/v_2_8_2/iam/accounts/accounts.py +36 -0
  60. js7/api/joc/http/v_2_8_2/iam/accounts/delete.py +36 -0
  61. js7/api/joc/http/v_2_8_2/iam/accounts/disable.py +36 -0
  62. js7/api/joc/http/v_2_8_2/iam/accounts/enable.py +36 -0
  63. js7/api/joc/http/v_2_8_2/iam/accounts/reset_password.py +36 -0
  64. js7/api/joc/http/v_2_8_2/iam/blocked_account/store.py +36 -0
  65. js7/api/joc/http/v_2_8_2/iam/blocked_accounts/blocked_accounts.py +36 -0
  66. js7/api/joc/http/v_2_8_2/iam/blocked_accounts/delete.py +36 -0
  67. js7/api/joc/http/v_2_8_2/iam/folder/folder.py +36 -0
  68. js7/api/joc/http/v_2_8_2/iam/folder/rename.py +36 -0
  69. js7/api/joc/http/v_2_8_2/iam/folders/delete.py +36 -0
  70. js7/api/joc/http/v_2_8_2/iam/folders/folders.py +36 -0
  71. js7/api/joc/http/v_2_8_2/iam/folders/store.py +36 -0
  72. js7/api/joc/http/v_2_8_2/iam/identity_service/delete.py +36 -0
  73. js7/api/joc/http/v_2_8_2/iam/identity_service/identity_service.py +36 -0
  74. js7/api/joc/http/v_2_8_2/iam/identity_service/rename.py +36 -0
  75. js7/api/joc/http/v_2_8_2/iam/identity_service/store.py +42 -0
  76. js7/api/joc/http/v_2_8_2/iam/identity_services/identity_services.py +36 -0
  77. js7/api/joc/http/v_2_8_2/iam/permission/permission.py +36 -0
  78. js7/api/joc/http/v_2_8_2/iam/permission/rename.py +36 -0
  79. js7/api/joc/http/v_2_8_2/iam/permissions/delete.py +36 -0
  80. js7/api/joc/http/v_2_8_2/iam/permissions/permissions.py +36 -0
  81. js7/api/joc/http/v_2_8_2/iam/permissions/store.py +36 -0
  82. js7/api/joc/http/v_2_8_2/iam/role/rename.py +36 -0
  83. js7/api/joc/http/v_2_8_2/iam/role/role.py +36 -0
  84. js7/api/joc/http/v_2_8_2/iam/role/store.py +36 -0
  85. js7/api/joc/http/v_2_8_2/iam/roles/delete.py +36 -0
  86. js7/api/joc/http/v_2_8_2/iam/roles/roles.py +36 -0
  87. js7/api/joc/http/v_2_8_2/inventory/changes/changes.py +36 -0
  88. js7/api/joc/http/v_2_8_2/inventory/dependencies.py +33 -0
  89. js7/api/joc/http/v_2_8_2/inventory/deployment/deploy.py +36 -0
  90. js7/api/joc/http/v_2_8_2/inventory/deployment/import_deploy.py +66 -0
  91. js7/api/joc/http/v_2_8_2/inventory/deployment/revoke.py +36 -0
  92. js7/api/joc/http/v_2_8_2/inventory/export/export.py +36 -0
  93. js7/api/joc/http/v_2_8_2/inventory/export/folder.py +36 -0
  94. js7/api/joc/http/v_2_8_2/inventory/import_objects.py +88 -0
  95. js7/api/joc/http/v_2_8_2/inventory/releasables/recall/folder.py +36 -0
  96. js7/api/joc/http/v_2_8_2/inventory/releasables/recall/recall.py +36 -0
  97. js7/api/joc/http/v_2_8_2/inventory/release.py +36 -0
  98. js7/api/joc/http/v_2_8_2/inventory/remove/folder.py +36 -0
  99. js7/api/joc/http/v_2_8_2/inventory/remove/remove.py +36 -0
  100. js7/api/joc/http/v_2_8_2/inventory/repository/delete.py +36 -0
  101. js7/api/joc/http/v_2_8_2/inventory/repository/git/add.py +36 -0
  102. js7/api/joc/http/v_2_8_2/inventory/repository/git/checkout.py +36 -0
  103. js7/api/joc/http/v_2_8_2/inventory/repository/git/clone.py +36 -0
  104. js7/api/joc/http/v_2_8_2/inventory/repository/git/commit.py +36 -0
  105. js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/add.py +36 -0
  106. js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/credentials.py +28 -0
  107. js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/remove.py +36 -0
  108. js7/api/joc/http/v_2_8_2/inventory/repository/git/pull.py +36 -0
  109. js7/api/joc/http/v_2_8_2/inventory/repository/git/push.py +36 -0
  110. js7/api/joc/http/v_2_8_2/inventory/repository/read.py +36 -0
  111. js7/api/joc/http/v_2_8_2/inventory/repository/store.py +36 -0
  112. js7/api/joc/http/v_2_8_2/inventory/repository/update.py +36 -0
  113. js7/api/joc/http/v_2_8_2/inventory/revalidate/folder.py +36 -0
  114. js7/api/joc/http/v_2_8_2/inventory/store.py +36 -0
  115. js7/api/joc/http/v_2_8_2/inventory/trash/delete/delete.py +36 -0
  116. js7/api/joc/http/v_2_8_2/inventory/trash/delete/folder.py +36 -0
  117. js7/api/joc/http/v_2_8_2/inventory/trash/restore.py +36 -0
  118. js7/api/joc/http/v_2_8_2/inventory/validate.py +42 -0
  119. js7/api/joc/http/v_2_8_2/joc/cluster/restart.py +36 -0
  120. js7/api/joc/http/v_2_8_2/joc/cluster/run.py +36 -0
  121. js7/api/joc/http/v_2_8_2/joc/cluster/switch_member.py +36 -0
  122. js7/api/joc/http/v_2_8_2/joc/license.py +28 -0
  123. js7/api/joc/http/v_2_8_2/joc/proxies/restart.py +36 -0
  124. js7/api/joc/http/v_2_8_2/joc/version.py +28 -0
  125. js7/api/joc/http/v_2_8_2/joc/versions.py +36 -0
  126. js7/api/joc/http/v_2_8_2/orders/add.py +33 -0
  127. js7/api/joc/http/v_2_8_2/orders/cancel.py +33 -0
  128. js7/api/joc/http/v_2_8_2/orders/confirm.py +36 -0
  129. js7/api/joc/http/v_2_8_2/orders/continue.py +36 -0
  130. js7/api/joc/http/v_2_8_2/orders/history.py +36 -0
  131. js7/api/joc/http/v_2_8_2/orders/orders.py +36 -0
  132. js7/api/joc/http/v_2_8_2/orders/remove_when_terminated.py +33 -0
  133. js7/api/joc/http/v_2_8_2/orders/resume.py +36 -0
  134. js7/api/joc/http/v_2_8_2/orders/suspend.py +36 -0
  135. js7/api/joc/http/v_2_8_2/settings/settings.py +28 -0
  136. js7/api/joc/http/v_2_8_2/settings/store.py +36 -0
  137. js7/api/joc/http/v_2_8_2/tasks/history.py +36 -0
  138. js7/api/joc/http/v_2_8_2/workflow/transition.py +36 -0
  139. js7/api/joc/http/v_2_8_2/workflow/workflow.py +36 -0
  140. js7/api/joc/http/v_2_8_2/workflows/resume.py +36 -0
  141. js7/api/joc/http/v_2_8_2/workflows/skip.py +36 -0
  142. js7/api/joc/http/v_2_8_2/workflows/stop.py +36 -0
  143. js7/api/joc/http/v_2_8_2/workflows/suspend.py +36 -0
  144. js7/api/joc/http/v_2_8_2/workflows/unskip.py +36 -0
  145. js7/api/joc/http/v_2_8_2/workflows/unstop.py +36 -0
  146. js7/api/joc/http/v_2_8_2/workflows/workflows.py +36 -0
  147. js7/api/joc/interface/dispatcher.py +76 -0
  148. js7/api/joc/interface/interface.py +8 -0
  149. js7/api/joc/interface/resolver.py +75 -0
  150. js7/client/action/agent/confirm_node_loss_agent_action.py +75 -0
  151. js7/client/action/agent/delete_subagent_action.py +77 -0
  152. js7/client/action/agent/delete_subagent_clusters_action.py +75 -0
  153. js7/client/action/agent/deploy_cluster_agents_action.py +75 -0
  154. js7/client/action/agent/deploy_standalone_agents_action.py +75 -0
  155. js7/client/action/agent/deploy_subagent_clusters_action.py +75 -0
  156. js7/client/action/agent/disable_standalone_agents_action.py +75 -0
  157. js7/client/action/agent/disable_subagents_action.py +75 -0
  158. js7/client/action/agent/enable_standalone_agents_action.py +75 -0
  159. js7/client/action/agent/enable_subagents_action.py +75 -0
  160. js7/client/action/agent/export_agents_action.py +101 -0
  161. js7/client/action/agent/get_agents_status_action.py +55 -0
  162. js7/client/action/agent/import_agents_action.py +139 -0
  163. js7/client/action/agent/remove_agent_action.py +79 -0
  164. js7/client/action/agent/reset_agents_action.py +79 -0
  165. js7/client/action/agent/reset_subagent_action.py +79 -0
  166. js7/client/action/agent/revoke_cluster_agents_action.py +75 -0
  167. js7/client/action/agent/revoke_standalone_agents_action.py +75 -0
  168. js7/client/action/agent/revoke_subagent_clusters_action.py +75 -0
  169. js7/client/action/agent/store_cluster_agents_action.py +99 -0
  170. js7/client/action/agent/store_standalone_agents_action.py +87 -0
  171. js7/client/action/agent/store_subagent_clusters_action.py +83 -0
  172. js7/client/action/agent/store_subagents_action.py +97 -0
  173. js7/client/action/agent/switchover_agent_action.py +75 -0
  174. js7/client/action/controller/appoint_nodes_controller_action.py +67 -0
  175. js7/client/action/controller/cancel_and_restart_controller_action.py +72 -0
  176. js7/client/action/controller/cancel_controller_action.py +71 -0
  177. js7/client/action/controller/confirm_cluster_node_loss_action.py +68 -0
  178. js7/client/action/controller/get_controller_components_action.py +41 -0
  179. js7/client/action/controller/get_controller_status_action.py +72 -0
  180. js7/client/action/controller/register_controller_action.py +93 -0
  181. js7/client/action/controller/restart_controller_action.py +72 -0
  182. js7/client/action/controller/switchover_controller_cluster_action.py +67 -0
  183. js7/client/action/controller/terminate_controller_action.py +72 -0
  184. js7/client/action/controller/test_controller_instance_action.py +65 -0
  185. js7/client/action/controller/unregister_controller_action.py +68 -0
  186. js7/client/action/daily_plan/cancel_orders_action.py +59 -0
  187. js7/client/action/daily_plan/copy_orders_action.py +108 -0
  188. js7/client/action/daily_plan/create_projections_action.py +24 -0
  189. js7/client/action/daily_plan/delete_orders_action.py +80 -0
  190. js7/client/action/daily_plan/delete_submissions_action.py +83 -0
  191. js7/client/action/daily_plan/generate_orders_action.py +121 -0
  192. js7/client/action/daily_plan/get_calendar_projections_action.py +59 -0
  193. js7/client/action/daily_plan/get_orders_action.py +70 -0
  194. js7/client/action/daily_plan/get_projection_dates_action.py +59 -0
  195. js7/client/action/daily_plan/modify_orders_action.py +130 -0
  196. js7/client/action/daily_plan/submit_orders_action.py +79 -0
  197. js7/client/action/helper/decrypt_action.py +82 -0
  198. js7/client/action/helper/encrypt_action.py +87 -0
  199. js7/client/action/iam/block_account_action.py +71 -0
  200. js7/client/action/iam/change_account_password_action.py +96 -0
  201. js7/client/action/iam/disable_accounts_action.py +75 -0
  202. js7/client/action/iam/enable_accounts_action.py +75 -0
  203. js7/client/action/iam/get_account_permissions_action.py +75 -0
  204. js7/client/action/iam/get_accounts_action.py +76 -0
  205. js7/client/action/iam/get_blocked_accounts_action.py +76 -0
  206. js7/client/action/iam/get_folder_permissions_action.py +112 -0
  207. js7/client/action/iam/get_identity_service_settings_action.py +70 -0
  208. js7/client/action/iam/get_identity_services_action.py +102 -0
  209. js7/client/action/iam/get_permissions_action.py +113 -0
  210. js7/client/action/iam/get_roles_action.py +57 -0
  211. js7/client/action/iam/remove_accounts_action.py +75 -0
  212. js7/client/action/iam/remove_folder_permissions_action.py +91 -0
  213. js7/client/action/iam/remove_identity_service_action.py +67 -0
  214. js7/client/action/iam/remove_permissions_action.py +88 -0
  215. js7/client/action/iam/remove_roles_action.py +75 -0
  216. js7/client/action/iam/rename_account_action.py +83 -0
  217. js7/client/action/iam/rename_folder_permissions_action.py +100 -0
  218. js7/client/action/iam/rename_identity_service_action.py +75 -0
  219. js7/client/action/iam/rename_permission_action.py +103 -0
  220. js7/client/action/iam/rename_role_action.py +83 -0
  221. js7/client/action/iam/reset_account_passwords_action.py +75 -0
  222. js7/client/action/iam/set_folder_permissions_action.py +96 -0
  223. js7/client/action/iam/set_permissions_action.py +91 -0
  224. js7/client/action/iam/store_account_action.py +69 -0
  225. js7/client/action/iam/store_identity_service_action.py +75 -0
  226. js7/client/action/iam/store_identity_service_settings_action.py +74 -0
  227. js7/client/action/iam/store_role_action.py +79 -0
  228. js7/client/action/iam/unblock_accounts_action.py +67 -0
  229. js7/client/action/inventory/deploy_configurations_action.py +138 -0
  230. js7/client/action/inventory/export_configurations_action.py +203 -0
  231. js7/client/action/inventory/export_folders_action.py +160 -0
  232. js7/client/action/inventory/get_change_dependencies_action.py +161 -0
  233. js7/client/action/inventory/get_changes_action.py +59 -0
  234. js7/client/action/inventory/get_git_credentials_action.py +29 -0
  235. js7/client/action/inventory/git_add_action.py +72 -0
  236. js7/client/action/inventory/git_checkout_action.py +88 -0
  237. js7/client/action/inventory/git_clone_action.py +84 -0
  238. js7/client/action/inventory/git_commit_action.py +80 -0
  239. js7/client/action/inventory/git_pull_action.py +72 -0
  240. js7/client/action/inventory/git_push_action.py +76 -0
  241. js7/client/action/inventory/import_configurations_action.py +153 -0
  242. js7/client/action/inventory/import_deploy_configurations_action.py +188 -0
  243. js7/client/action/inventory/read_from_local_repository_action.py +67 -0
  244. js7/client/action/inventory/recall_folder_action.py +89 -0
  245. js7/client/action/inventory/recall_released_configuration_action.py +75 -0
  246. js7/client/action/inventory/release_configuartions_action.py +89 -0
  247. js7/client/action/inventory/remove_configurations_action.py +77 -0
  248. js7/client/action/inventory/remove_configurations_from_trash_action.py +80 -0
  249. js7/client/action/inventory/remove_folder_action.py +67 -0
  250. js7/client/action/inventory/remove_folder_from_trash_action.py +69 -0
  251. js7/client/action/inventory/remove_git_credentials_action.py +53 -0
  252. js7/client/action/inventory/remove_repository_configuration_action.py +84 -0
  253. js7/client/action/inventory/restore_configuration_from_trash_action.py +84 -0
  254. js7/client/action/inventory/revalidate_folder_action.py +46 -0
  255. js7/client/action/inventory/revoke_configurations_action.py +86 -0
  256. js7/client/action/inventory/store_configuration_action.py +79 -0
  257. js7/client/action/inventory/store_git_credentials_action.py +99 -0
  258. js7/client/action/inventory/store_repository_configuration_action.py +124 -0
  259. js7/client/action/inventory/update_repository_configuration_action.py +85 -0
  260. js7/client/action/inventory/validate_configuration_action.py +58 -0
  261. js7/client/action/joc/get_components_versions_action.py +57 -0
  262. js7/client/action/joc/get_license_info_action.py +22 -0
  263. js7/client/action/joc/get_settings_action.py +19 -0
  264. js7/client/action/joc/get_version_action.py +17 -0
  265. js7/client/action/joc/restart_proxies_action.py +50 -0
  266. js7/client/action/joc/restart_service_action.py +74 -0
  267. js7/client/action/joc/run_service_action.py +74 -0
  268. js7/client/action/joc/store_settings_action.py +62 -0
  269. js7/client/action/joc/switch_over_action.py +89 -0
  270. js7/client/action/order/add_orders_action.py +115 -0
  271. js7/client/action/order/cancel_orders_action.py +93 -0
  272. js7/client/action/order/confirm_orders_action.py +86 -0
  273. js7/client/action/order/continue_orders_action.py +86 -0
  274. js7/client/action/order/get_order_history_action.py +84 -0
  275. js7/client/action/order/get_orders_action.py +83 -0
  276. js7/client/action/order/remove_terminated_orders_action.py +86 -0
  277. js7/client/action/order/resume_orders_action.py +102 -0
  278. js7/client/action/order/suspend_orders_action.py +97 -0
  279. js7/client/action/task/get_task_history_info_action.py +88 -0
  280. js7/client/action/workflow/get_workflow_versions_action.py +131 -0
  281. js7/client/action/workflow/resume_workflows_action.py +76 -0
  282. js7/client/action/workflow/set_workflow_version_as_current_action.py +86 -0
  283. js7/client/action/workflow/skip_job_instructions_action.py +83 -0
  284. js7/client/action/workflow/stop_job_instructions_action.py +83 -0
  285. js7/client/action/workflow/suspend_workflows_action.py +76 -0
  286. js7/client/action/workflow/unskip_job_instructions_action.py +83 -0
  287. js7/client/action/workflow/unstop_job_instructions_action.py +79 -0
  288. js7/client/auth/auth_provider.py +109 -0
  289. js7/client/auth/login.py +34 -0
  290. js7/client/auth/logout.py +22 -0
  291. js7/client/client.py +250 -0
  292. js7/client/context.py +40 -0
  293. js7/client/feature/agent/agent.py +26 -0
  294. js7/client/feature/agent/deploy.py +134 -0
  295. js7/client/feature/agent/manage.py +363 -0
  296. js7/client/feature/agent/operate.py +577 -0
  297. js7/client/feature/controller/controller.py +19 -0
  298. js7/client/feature/controller/manage.py +214 -0
  299. js7/client/feature/controller/operate.py +274 -0
  300. js7/client/feature/daily_plan/daily_plan.py +14 -0
  301. js7/client/feature/daily_plan/manage.py +179 -0
  302. js7/client/feature/daily_plan/operate.py +354 -0
  303. js7/client/feature/iam/iam.py +14 -0
  304. js7/client/feature/iam/manage.py +1311 -0
  305. js7/client/feature/inventory/inventory.py +13 -0
  306. js7/client/feature/inventory/manage.py +943 -0
  307. js7/client/feature/inventory/manage_repository.py +533 -0
  308. js7/client/feature/joc/joc.py +18 -0
  309. js7/client/feature/joc/manage.py +102 -0
  310. js7/client/feature/joc/operate.py +185 -0
  311. js7/client/feature/order/manage.py +79 -0
  312. js7/client/feature/order/operate.py +346 -0
  313. js7/client/feature/order/order.py +18 -0
  314. js7/client/feature/task/task.py +54 -0
  315. js7/client/feature/workflow/manage.py +54 -0
  316. js7/client/feature/workflow/operate.py +336 -0
  317. js7/client/feature/workflow/workflow.py +19 -0
  318. js7/java/lib/3rd-party/bcpg-jdk15to18-1.78.1.jar +0 -0
  319. js7/java/lib/3rd-party/bcpkix-jdk15to18-1.78.1.jar +0 -0
  320. js7/java/lib/3rd-party/bcprov-jdk15to18-1.78.1.jar +0 -0
  321. js7/java/lib/3rd-party/bcutil-jdk15to18-1.78.1.jar +0 -0
  322. js7/java/lib/3rd-party/commons-io-2.15.1.jar +0 -0
  323. js7/java/lib/3rd-party/commons-lang3-3.14.0.jar +0 -0
  324. js7/java/lib/3rd-party/jackson-core-2.14.2.jar +0 -0
  325. js7/java/lib/3rd-party/jackson-databind-2.14.2.jar +0 -0
  326. js7/java/lib/3rd-party/jackson-dataformat-xml-2.14.2.jar +0 -0
  327. js7/java/lib/3rd-party/jakarta.annotation-api-2.1.1.jar +0 -0
  328. js7/java/lib/3rd-party/javax.activation-api-1.2.0.jar +0 -0
  329. js7/java/lib/3rd-party/jaxb-api-2.4.0-b180830.0359.jar +0 -0
  330. js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-api-2.23.1.jar +0 -0
  331. js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-core-2.23.1.jar +0 -0
  332. js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-slf4j2-impl-2.23.1.jar +0 -0
  333. js7/java/lib/3rd-party/org.slf4j.slf4j-api-2.0.13.jar +0 -0
  334. js7/java/lib/3rd-party/stax2-api-4.2.1.jar +0 -0
  335. js7/java/lib/3rd-party/woodstox-core-6.5.0.jar +0 -0
  336. js7/java/lib/sos/sos-commons-encryption-2.7.3.jar +0 -0
  337. js7/java/lib/sos/sos-commons-exception-2.7.3.jar +0 -0
  338. js7/java/lib/sos/sos-commons-sign-2.7.3.jar +0 -0
  339. js7/java/lib/sos/sos-webservices-json-2.7.3.jar +0 -0
  340. js7/model/__init__.py +132 -0
  341. js7/model/configuration/auth_configuration.py +24 -0
  342. js7/model/configuration/client_configuration.py +6 -0
  343. js7/model/configuration/http_configuration.py +10 -0
  344. js7/model/error/http/joc_exceptions.py +151 -0
  345. js7/model/private/api/endpoint.py +30 -0
  346. js7/model/private/http/joc/joc_v_2_8_2.py +3666 -0
  347. js7/model/public/client/common/__init__.py +27 -0
  348. js7/model/public/client/common/accounts.py +21 -0
  349. js7/model/public/client/common/audit_log.py +8 -0
  350. js7/model/public/client/common/changes.py +18 -0
  351. js7/model/public/client/common/configurations.py +53 -0
  352. js7/model/public/client/common/cycle.py +12 -0
  353. js7/model/public/client/common/git_credentials.py +12 -0
  354. js7/model/public/client/common/identity_service.py +14 -0
  355. js7/model/public/client/common/schedule_time.py +50 -0
  356. js7/model/public/client/common/store_agents.py +96 -0
  357. js7/model/public/client/enum/__init__.py +19 -0
  358. js7/model/public/client/enum/object_types.py +48 -0
  359. js7/model/public/client/enum/operation_type.py +11 -0
  360. js7/model/public/client/enum/order_priority.py +9 -0
  361. js7/model/public/client/filter/__init__.py +35 -0
  362. js7/model/public/client/filter/daily_plan_order_filters.py +255 -0
  363. js7/model/public/client/filter/element/__init__.py +3 -0
  364. js7/model/public/client/filter/element/folder.py +6 -0
  365. js7/model/public/client/filter/element/workflow_id.py +10 -0
  366. js7/model/public/client/filter/export_filter.py +52 -0
  367. js7/model/public/client/filter/export_folders_filter.py +34 -0
  368. js7/model/public/client/filter/get_order_filter.py +59 -0
  369. js7/model/public/client/filter/order_history_filter.py +113 -0
  370. js7/model/public/client/filter/resume_order_filter.py +45 -0
  371. js7/model/public/client/filter/suspend_order_filter.py +44 -0
  372. js7/model/public/client/filter/tasks_filter.py +50 -0
  373. js7/model/public/client/input/__init__.py +2 -0
  374. js7/model/public/client/input/add_order.py +50 -0
  375. js7/service/http_service.py +206 -0
  376. js7/util/bytes_converter/bytes_to_archive_bytes.py +52 -0
  377. js7/util/bytes_converter/bytes_to_file.py +12 -0
  378. js7/util/bytes_converter/files_to_bytes.py +52 -0
  379. js7/util/bytes_converter/read_bytes_archive_files_to_bytes.py +69 -0
  380. js7/util/bytes_converter/sign_to_bytes.py +106 -0
  381. js7/util/check_matching_version.py +20 -0
  382. js7/util/detect_archive_type.py +37 -0
  383. js7/util/str_converter/order_id_to_order_name.py +5 -0
  384. js7/validator/http/joc_http_status_validator.py +155 -0
  385. js7_client_python-2.0.1.0.dist-info/LICENSE +674 -0
  386. js7_client_python-2.0.1.0.dist-info/METADATA +763 -0
  387. js7_client_python-2.0.1.0.dist-info/RECORD +389 -0
  388. js7_client_python-2.0.1.0.dist-info/WHEEL +5 -0
  389. js7_client_python-2.0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,54 @@
1
+ from typing import Dict
2
+
3
+ from ....client.context import Context
4
+
5
+ from ...action.workflow.get_workflow_versions_action import get_workflow_versions_action
6
+
7
+
8
+ class Manage:
9
+ def __init__(self, context: Context):
10
+ self._ctx = context
11
+
12
+ def get_workflow_versions(
13
+ self,
14
+ controller_id: str,
15
+ workflow_path: str,
16
+ exclude_current_version: bool = False
17
+ ) -> Dict[str, str]:
18
+ """
19
+ Returns all versions of a given workflow.
20
+
21
+ Args:
22
+ controller_id (str):
23
+ The ID of the controller on which the operation should be executed.
24
+
25
+ workflow_path (str):
26
+ The full path of the workflow whose versions should be retrieved.
27
+
28
+ exclude_current_version (bool):
29
+ If set to `True`, the currently active (current) version
30
+ of the workflow will be excluded from the result.
31
+
32
+ Returns:
33
+ Dict ([str, str]):
34
+ A dictionary mapping version id to workflow path
35
+ in the format: `{version_id: workflow_path}`.
36
+
37
+ Raises:
38
+ ValueError:
39
+ If required arguments such as `controller_id` or
40
+ `workflow_path` are missing or invalid.
41
+
42
+ RuntimeError:
43
+ If the server version is not compatible or if an
44
+ unexpected response is returned.
45
+ """
46
+
47
+ return get_workflow_versions_action(
48
+ context=self._ctx,
49
+ controller_id=controller_id,
50
+ workflow_path=workflow_path,
51
+ exclude_current_version=exclude_current_version
52
+ )
53
+
54
+
@@ -0,0 +1,336 @@
1
+ from typing import List, Optional
2
+
3
+ from ....client.context import Context
4
+ from ....model.public.client.common.audit_log import AuditLog
5
+
6
+ from ...action.workflow.set_workflow_version_as_current_action import set_workflow_version_as_current_action
7
+ from ...action.workflow.resume_workflows_action import resume_workflows_action
8
+ from ...action.workflow.skip_job_instructions_action import skip_job_instructions_action
9
+ from ...action.workflow.stop_job_instructions_action import stop_job_instructions_action
10
+ from ...action.workflow.suspend_workflows_action import suspend_workflows_action
11
+ from ...action.workflow.unskip_job_instructions_action import unskip_job_instructions_action
12
+ from ...action.workflow.unstop_job_instructions_action import unstop_job_instructions_action
13
+
14
+
15
+ class Operate:
16
+ def __init__(self, context: Context):
17
+ self._ctx = context
18
+
19
+ def set_workflow_version_as_current(
20
+ self,
21
+ controller_id: str,
22
+ workflow_path: str,
23
+ workflow_version_id: str,
24
+ audit_log: Optional[AuditLog] = None
25
+ ) -> bool:
26
+ """
27
+ Sets a specific workflow version as the current version for all orders.
28
+
29
+ Args:
30
+ controller_id (str):
31
+ The ID of the controller on which the operation should be executed.
32
+
33
+ workflow_path (str):
34
+ The full path of the workflow whose version should be updated.
35
+
36
+ workflow_version_id (str):
37
+ The workflow `version_id` that should be set as the current version.
38
+
39
+ audit_log (Optional[AuditLog]):
40
+ Creates an audit log entry for this operation.
41
+
42
+ Returns:
43
+ bool:
44
+ Returns `True` if the operation was successful, otherwise `False`.
45
+
46
+ Raises:
47
+ ValueError:
48
+ If required arguments such as `controller_id`,
49
+ `workflow_path`, or `workflow_version_id` are missing or invalid.
50
+
51
+ RuntimeError:
52
+ If the server version is not compatible or if an
53
+ unexpected response is returned.
54
+ """
55
+
56
+ return set_workflow_version_as_current_action(
57
+ context=self._ctx,
58
+ controller_id=controller_id,
59
+ workflow_path=workflow_path,
60
+ workflow_version_id=workflow_version_id,
61
+ audit_log=audit_log
62
+ )
63
+
64
+ def resume_workflow(
65
+ self,
66
+ controller_id: str,
67
+ workflow_paths: List[str],
68
+ audit_log: Optional[AuditLog] = None
69
+ ) -> bool:
70
+ """
71
+ Resumes a suspended workflow.
72
+
73
+ Args:
74
+ controller_id (str):
75
+ The ID of the controller on which the operation should be executed.
76
+
77
+ workflow_path (str):
78
+ The full path of the workflow that should be resumed.
79
+
80
+ audit_log (Optional[AuditLog]):
81
+ Creates an audit log entry for this operation.
82
+
83
+ Returns:
84
+ bool:
85
+ Returns `True` if the operation was successful,
86
+ otherwise `False`.
87
+
88
+ Raises:
89
+ ValueError:
90
+ If required arguments such as `controller_id`
91
+ or `workflow_path` are missing or invalid.
92
+
93
+ RuntimeError:
94
+ If the server version is not compatible or if an
95
+ unexpected response is returned.
96
+ """
97
+
98
+ return resume_workflows_action(
99
+ context=self._ctx,
100
+ controller_id=controller_id,
101
+ workflow_paths=workflow_paths,
102
+ audit_log=audit_log
103
+ )
104
+
105
+ def skip_job_instructions(
106
+ self,
107
+ controller_id: str,
108
+ workflow_path: str,
109
+ labels: List[str],
110
+ audit_log: Optional[AuditLog] = None
111
+ ) -> bool:
112
+ """
113
+ Skips one or more job instructions in a workflow.
114
+
115
+ Args:
116
+ controller_id (str):
117
+ The ID of the controller on which the operation should be executed.
118
+
119
+ workflow_path (str):
120
+ The full path of the workflow in which the specified job
121
+ instructions should be skipped.
122
+
123
+ labels (List[str]):
124
+ A list of job instruction labels that should be skipped.
125
+
126
+ audit_log (Optional[AuditLog]):
127
+ Creates an audit log entry for this operation.
128
+
129
+ Returns:
130
+ bool:
131
+ Returns `True` if the operation was successful,
132
+ otherwise `False`.
133
+
134
+ Raises:
135
+ ValueError:
136
+ If required arguments such as `controller_id`,
137
+ `workflow_path`, or `labels` are missing or invalid.
138
+
139
+ RuntimeError:
140
+ If the server version is not compatible or if an
141
+ unexpected response is returned.
142
+ """
143
+
144
+ return skip_job_instructions_action(
145
+ context=self._ctx,
146
+ controller_id=controller_id,
147
+ workflow_path=workflow_path,
148
+ labels=labels,
149
+ audit_log=audit_log
150
+ )
151
+
152
+ def stop_job_instructions(
153
+ self,
154
+ controller_id: str,
155
+ workflow_path: str,
156
+ labels: List[str],
157
+ audit_log: Optional[AuditLog] = None
158
+ ) -> bool:
159
+ """
160
+ Stops one or more job instructions in a workflow.
161
+
162
+ Args:
163
+ controller_id (str):
164
+ The ID of the controller on which the operation should be executed.
165
+
166
+ workflow_path (str):
167
+ The full path of the workflow in which the specified job
168
+ instructions should be stopped.
169
+
170
+ labels (List[str]):
171
+ A list of job instruction labels identifying the job
172
+ instructions that should be stopped.
173
+
174
+ audit_log (Optional[AuditLog]):
175
+ Creates an audit log entry for this operation.
176
+
177
+ Returns:
178
+ bool:
179
+ Returns `True` if the operation was successful,
180
+ otherwise `False`.
181
+
182
+ Raises:
183
+ ValueError:
184
+ If required arguments such as `controller_id`,
185
+ `workflow_path`, or `labels` are missing or invalid.
186
+
187
+ RuntimeError:
188
+ If the server version is not compatible or if an
189
+ unexpected response is returned.
190
+ """
191
+
192
+ return stop_job_instructions_action(
193
+ context=self._ctx,
194
+ controller_id=controller_id,
195
+ workflow_path=workflow_path,
196
+ labels=labels,
197
+ audit_log=audit_log
198
+ )
199
+
200
+ def suspend_workflows(
201
+ self,
202
+ controller_id: str,
203
+ workflow_paths: List[str],
204
+ audit_log: Optional[AuditLog] = None
205
+ ) -> bool:
206
+ """
207
+ Suspends one or more workflows.
208
+
209
+ Args:
210
+ controller_id (str):
211
+ The ID of the controller on which the operation should be executed.
212
+
213
+ workflow_paths (List[str]):
214
+ A list of workflow paths identifying the workflows
215
+ that should be suspended.
216
+
217
+ audit_log (Optional[AuditLog]):
218
+ Creates an audit log entry for this operation.
219
+
220
+ Returns:
221
+ bool:
222
+ Returns `True` if the operation was successful,
223
+ otherwise `False`.
224
+
225
+ Raises:
226
+ ValueError:
227
+ If required arguments such as `controller_id`
228
+ or `workflow_paths` are missing or invalid.
229
+
230
+ RuntimeError:
231
+ If the server version is not compatible or if an
232
+ unexpected response is returned.
233
+ """
234
+
235
+ return suspend_workflows_action(
236
+ context=self._ctx,
237
+ controller_id=controller_id,
238
+ workflow_paths=workflow_paths,
239
+ audit_log=audit_log
240
+ )
241
+
242
+ def unskip_job_instructions(
243
+ self,
244
+ controller_id: str,
245
+ workflow_path: str,
246
+ labels: List[str],
247
+ audit_log: Optional[AuditLog] = None
248
+ ) -> bool:
249
+ """
250
+ Unskips previously skipped job instructions in a workflow.
251
+
252
+ Args:
253
+ controller_id (str):
254
+ The ID of the controller on which the operation should be executed.
255
+
256
+ workflow_path (str):
257
+ The full path of the workflow in which the specified job
258
+ instructions should be re-enabled.
259
+
260
+ labels (List[str]):
261
+ A list of job instruction labels identifying the job
262
+ instructions that should no longer be skipped.
263
+
264
+ audit_log (Optional[AuditLog]):
265
+ Creates an audit log entry for this operation.
266
+
267
+ Returns:
268
+ bool:
269
+ Returns `True` if the operation was successful,
270
+ otherwise `False`.
271
+
272
+ Raises:
273
+ ValueError:
274
+ If required arguments such as `controller_id`,
275
+ `workflow_path`, or `labels` are missing or invalid.
276
+
277
+ RuntimeError:
278
+ If the server version is not compatible or if an
279
+ unexpected response is returned.
280
+ """
281
+
282
+ return unskip_job_instructions_action(
283
+ context=self._ctx,
284
+ controller_id=controller_id,
285
+ workflow_path=workflow_path,
286
+ labels=labels,
287
+ audit_log=audit_log
288
+ )
289
+
290
+ def unstop_job_instructions(
291
+ self,
292
+ controller_id: str,
293
+ workflow_path: str,
294
+ labels: List[str],
295
+ audit_log: Optional[AuditLog] = None
296
+ ) -> bool:
297
+ """
298
+ Releases previously stopped job instructions in a workflow.
299
+
300
+ Args:
301
+ controller_id (str):
302
+ The ID of the controller on which the operation should be executed.
303
+
304
+ workflow_path (str):
305
+ The full path of the workflow in which the specified job
306
+ instructions should be released.
307
+
308
+ labels (List[str]):
309
+ A list of job instruction labels identifying the job
310
+ instructions that should no longer remain stopped.
311
+
312
+ audit_log (Optional[AuditLog]):
313
+ Creates an audit log entry for this operation.
314
+
315
+ Returns:
316
+ bool:
317
+ Returns `True` if the operation was successful,
318
+ otherwise `False`.
319
+
320
+ Raises:
321
+ ValueError:
322
+ If required arguments such as `controller_id`,
323
+ `workflow_path`, or `labels` are missing or invalid.
324
+
325
+ RuntimeError:
326
+ If the server version is not compatible or if an
327
+ unexpected response is returned.
328
+ """
329
+
330
+ return unstop_job_instructions_action(
331
+ context=self._ctx,
332
+ controller_id=controller_id,
333
+ workflow_path=workflow_path,
334
+ labels=labels,
335
+ audit_log=audit_log
336
+ )
@@ -0,0 +1,19 @@
1
+ from functools import cached_property
2
+
3
+ from .manage import Manage
4
+ from .operate import Operate
5
+
6
+ from ....client.context import Context
7
+
8
+
9
+ class Workflow:
10
+ def __init__(self, context: Context):
11
+ self._ctx = context
12
+
13
+ @cached_property
14
+ def manage(self) -> Manage:
15
+ return Manage(context=self._ctx)
16
+
17
+ @cached_property
18
+ def operate(self) -> Operate:
19
+ return Operate(context=self._ctx)
js7/model/__init__.py ADDED
@@ -0,0 +1,132 @@
1
+ #---------------------#
2
+ # `./configuration/*` #
3
+ #---------------------#
4
+ from .configuration.http_configuration import HTTPConfiguration
5
+ __all__ = ["HTTPConfiguration"]
6
+
7
+ from .configuration.client_configuration import ClientConfiguration
8
+ __all__ += ["ClientConfiguration"]
9
+
10
+ #----------------------#
11
+ # `./authentication/*` #
12
+ #----------------------#
13
+ from .configuration.auth_configuration import AuthConfiguration, BasicAuth, CertAuth
14
+ __all__ += ["AuthConfiguration", "BasicAuth", "CertAuth"]
15
+
16
+ #-------------#
17
+ # `./error/*` #
18
+ #-------------#
19
+ from .error.http.joc_exceptions import (
20
+ JocError,
21
+ AuthenticationFailed,
22
+ PermissionDenied,
23
+ SessionExpired,
24
+ JocValidationFailed,
25
+ JocOperationFailed,
26
+ ApprovalRequired
27
+ )
28
+
29
+ __all__ += [
30
+ "JocError",
31
+ "AuthenticationFailed",
32
+ "PermissionDenied",
33
+ "SessionExpired",
34
+ "JocValidationFailed",
35
+ "JocOperationFailed",
36
+ "ApprovalRequired"
37
+ ]
38
+
39
+ #--------------#
40
+ # `./public/*` #
41
+ #--------------#
42
+ from .public.client.common import (
43
+ AuditLog,
44
+ Change,
45
+ Configuration,
46
+ DeployConfiguration,
47
+ DraftConfiguration,
48
+ ReleaseConfiguration,
49
+ GitCredentials,
50
+ ScheduleTime,
51
+ StoreAgent,
52
+ StoreClusterAgent,
53
+ StoreSubagent,
54
+ SubagentCluster,
55
+ Account,
56
+ IdentityService,
57
+ Cycle
58
+ )
59
+
60
+ __all__ += [
61
+ "AuditLog",
62
+ "Change",
63
+ "Configuration",
64
+ "DeployConfiguration",
65
+ "DraftConfiguration",
66
+ "ReleaseConfiguration",
67
+ "GitCredentials",
68
+ "ScheduleTime",
69
+ "StoreAgent",
70
+ "StoreClusterAgent",
71
+ "StoreSubagent",
72
+ "SubagentCluster",
73
+ "Account",
74
+ "IdentityService",
75
+ "Cycle"
76
+ ]
77
+
78
+ from .public.client.enum import (
79
+ DeployObjectType,
80
+ DescriptorObjectType,
81
+ OperationType,
82
+ OrderPriority,
83
+ ReleaseObjectType,
84
+ ObjectType
85
+ )
86
+
87
+ __all__ += [
88
+ "DeployObjectType",
89
+ "DescriptorObjectType",
90
+ "OperationType",
91
+ "OrderPriority",
92
+ "ReleaseObjectType",
93
+ "ObjectType"
94
+ ]
95
+
96
+ #---------------------#
97
+ # `./public/filter/*` #
98
+ #---------------------#
99
+ from .public.client.filter import (
100
+ ExportFilter,
101
+ Folder,
102
+ ExportFoldersFilter,
103
+ GetOrderFilter,
104
+ OrderHistoryFilter,
105
+ ResumeOrderFilter,
106
+ SuspendOrderFilter,
107
+ TasksFilter,
108
+ WorkflowID,
109
+ DailyPlanOrdersFilter,
110
+ DailyPlanSubmitOrderFilter,
111
+ DailyPlanCancelOrdersFilter,
112
+ DailyPlanProjectionsFilter
113
+ )
114
+
115
+ __all__ += [
116
+ "DailyPlanOrdersFilter",
117
+ "ExportFilter",
118
+ "Folder",
119
+ "ExportFoldersFilter",
120
+ "GetOrderFilter",
121
+ "OrderHistoryFilter",
122
+ "ResumeOrderFilter",
123
+ "SuspendOrderFilter",
124
+ "TasksFilter",
125
+ "WorkflowID",
126
+ "DailyPlanSubmitOrderFilter",
127
+ "DailyPlanCancelOrdersFilter",
128
+ "DailyPlanProjectionsFilter"
129
+ ]
130
+
131
+ from .public.client.input import Order, PlanID
132
+ __all__ += ["Order", "PlanID"]
@@ -0,0 +1,24 @@
1
+ from pathlib import Path
2
+ from typing import Optional, Union
3
+ from pydantic import BaseModel, model_validator
4
+
5
+
6
+ class BasicAuth(BaseModel):
7
+ username: str
8
+ password: str
9
+
10
+
11
+ class CertAuth(BaseModel):
12
+ certfile_path: Union[Path, str]
13
+ keyfile_path: Union[Path, str]
14
+
15
+
16
+ class AuthConfiguration(BaseModel):
17
+ basic_auth: Optional[BasicAuth] = None
18
+ cert_auth: Optional[CertAuth] = None
19
+
20
+ @model_validator(mode="after")
21
+ def validate_exactly_one_auth(self):
22
+ if (self.basic_auth is None) == (self.cert_auth is None):
23
+ raise ValueError("Exactly one of 'basic_auth' or 'cert_auth' must be provided.")
24
+ return self
@@ -0,0 +1,6 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class ClientConfiguration(BaseModel):
5
+ timezone: str = "Etc/UTC"
6
+ """see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"""
@@ -0,0 +1,10 @@
1
+ from pathlib import Path
2
+ from typing import Optional, Union
3
+ from pydantic import BaseModel
4
+
5
+
6
+ class HTTPConfiguration(BaseModel):
7
+ host: str
8
+ port: int
9
+ ssl: bool = False
10
+ cafile_path: Optional[Union[Path, str]] = None