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,533 @@
1
+ from typing import List, Literal, Optional, Union
2
+
3
+ from ...context import Context
4
+ from ....model.public.client.common.git_credentials import GitCredentials
5
+ from ....model.public.client.common.configurations import Configuration, DeployConfiguration, DraftConfiguration, ReleaseConfiguration
6
+ from ....model.public.client.common.audit_log import AuditLog
7
+
8
+ from ...action.inventory.get_git_credentials_action import get_git_credentials_action
9
+ from ...action.inventory.git_add_action import git_add_action
10
+ from ...action.inventory.git_checkout_action import git_checkout_action
11
+ from ...action.inventory.git_clone_action import git_clone_action
12
+ from ...action.inventory.git_commit_action import git_commit_action
13
+ from ...action.inventory.git_pull_action import git_pull_action
14
+ from ...action.inventory.git_push_action import git_push_action
15
+ from ...action.inventory.remove_git_credentials_action import remove_git_credentials_action
16
+ from ...action.inventory.store_git_credentials_action import store_git_credentials_action
17
+ from ...action.inventory.read_from_local_repository_action import read_from_local_repository_action
18
+ from ...action.inventory.remove_repository_configuration_action import remove_repository_configuration_action
19
+ from ...action.inventory.store_repository_configuration_action import store_repository_configuration_action
20
+ from ...action.inventory.update_repository_configuration_action import update_repository_configuration_action
21
+
22
+
23
+ class ManageRepository:
24
+ """Manages Repository objects."""
25
+
26
+ def __init__(self, context: Context):
27
+ self._ctx = context
28
+
29
+ def get_git_credentials(self) -> GitCredentials:
30
+ """
31
+ Retrieve the stored Git credentials for the current JOC account.
32
+
33
+ Returns:
34
+ GitCredentials:
35
+ The stored Git credentials.
36
+
37
+ Raises:
38
+ RuntimeError:
39
+ If the server version is incompatible or if an unexpected
40
+ response is returned.
41
+ """
42
+
43
+ return get_git_credentials_action(context=self._ctx)
44
+
45
+ def git_add(
46
+ self,
47
+ folder_path: str,
48
+ category: Literal['LOCAL', 'ROLLOUT'],
49
+ audit_log: Optional[AuditLog] = None
50
+ ) -> bool:
51
+ """
52
+ Add all unstaged changes (tracked and untracked) to the staging area
53
+ of the specified local repository.
54
+
55
+ Args:
56
+ folder_path (str):
57
+ The path of the repository folder.
58
+
59
+ category (Literal["LOCAL", "ROLLOUT"]):
60
+ The repository category.
61
+
62
+ audit_log (Optional[AuditLog]):
63
+ Optional audit log information to create an audit entry
64
+ for this operation.
65
+
66
+ Returns:
67
+ bool:
68
+ Returns `True` if the operation was successful, otherwise `False`.
69
+
70
+ Raises:
71
+ ValueError:
72
+ If required arguments are missing or invalid.
73
+
74
+ RuntimeError:
75
+ If the server version is incompatible or if an unexpected
76
+ response is returned.
77
+ """
78
+
79
+ return git_add_action(
80
+ context=self._ctx,
81
+ folder_path=folder_path,
82
+ category=category,
83
+ audit_log=audit_log
84
+ )
85
+
86
+ def git_checkout(
87
+ self,
88
+ folder_path: str,
89
+ category: Literal['LOCAL', 'ROLLOUT'],
90
+ branch: Optional[str] = None,
91
+ tag: Optional[str] = None,
92
+ audit_log: Optional[AuditLog] = None
93
+ ) -> bool:
94
+ """
95
+ Check out a specific branch or tag in the specified local repository.
96
+
97
+ Args:
98
+ folder_path (str):
99
+ The path of the repository folder.
100
+
101
+ category (Literal["LOCAL", "ROLLOUT"]):
102
+ The repository category.
103
+
104
+ branch (Optional[str]):
105
+ The name of the branch to check out.
106
+
107
+ tag (Optional[str]):
108
+ The name of the tag to check out.
109
+
110
+ audit_log (Optional[AuditLog]):
111
+ Optional audit log information to create an audit entry
112
+ for this operation.
113
+
114
+ Returns:
115
+ bool:
116
+ Returns `True` if the operation was successful, otherwise `False`.
117
+
118
+ Raises:
119
+ ValueError:
120
+ If both `branch` and `tag` are specified or arguments are invalid.
121
+
122
+ RuntimeError:
123
+ If the server version is incompatible or if an unexpected
124
+ response is returned.
125
+ """
126
+
127
+ return git_checkout_action(
128
+ context=self._ctx,
129
+ folder_path=folder_path,
130
+ category=category,
131
+ branch=branch,
132
+ tag=tag,
133
+ audit_log=audit_log
134
+ )
135
+
136
+ def git_clone(
137
+ self,
138
+ remote_url: str,
139
+ folder_path: str,
140
+ category: Literal['LOCAL', 'ROLLOUT'],
141
+ audit_log: Optional[AuditLog] = None
142
+ ) -> bool:
143
+ """
144
+ Clones a remote repository into a local repository folder.
145
+
146
+ Args:
147
+ remote_url (str):
148
+ The URL of the remote repository.
149
+
150
+ folder_path (str):
151
+ The target path of the local repository folder.
152
+
153
+ category (Literal["LOCAL", "ROLLOUT"]):
154
+ The repository category.
155
+
156
+ audit_log (Optional[AuditLog]):
157
+ Optional audit log information to create an audit entry
158
+ for this operation.
159
+
160
+ Returns:
161
+ bool:
162
+ Returns `True` if the operation was successful, otherwise `False`.
163
+
164
+ Raises:
165
+ ValueError:
166
+ If required arguments are missing or invalid.
167
+
168
+ RuntimeError:
169
+ If cloning fails or the server version is incompatible.
170
+ """
171
+
172
+ return git_clone_action(
173
+ context=self._ctx,
174
+ remote_url=remote_url,
175
+ folder_path=folder_path,
176
+ category=category,
177
+ audit_log=audit_log
178
+ )
179
+
180
+ def git_commit(
181
+ self,
182
+ folder_path: str,
183
+ category: Literal['LOCAL', 'ROLLOUT'],
184
+ message: Optional[str] = None,
185
+ audit_log: Optional[AuditLog] = None
186
+ ) -> bool:
187
+ """
188
+ Commit all staged changes in the specified local repository.
189
+
190
+ Args:
191
+ folder_path (str):
192
+ The path of the repository folder.
193
+
194
+ category (Literal["LOCAL", "ROLLOUT"]):
195
+ The repository category.
196
+
197
+ message (Optional[str]):
198
+ The commit message.
199
+
200
+ audit_log (Optional[AuditLog]):
201
+ Optional audit log information to create an audit entry
202
+ for this operation.
203
+
204
+ Returns:
205
+ bool:
206
+ Returns `True` if the operation was successful, otherwise `False`.
207
+
208
+ Raises:
209
+ ValueError:
210
+ If required arguments are missing or invalid.
211
+
212
+ RuntimeError:
213
+ If the commit fails or the server version is incompatible.
214
+ """
215
+
216
+ return git_commit_action(
217
+ context=self._ctx,
218
+ folder_path=folder_path,
219
+ category=category,
220
+ message=message,
221
+ audit_log=audit_log
222
+ )
223
+
224
+ def git_pull(
225
+ self,
226
+ folder_path: str,
227
+ category: Literal['LOCAL', 'ROLLOUT'],
228
+ audit_log: Optional[AuditLog] = None
229
+ ) -> bool:
230
+ """
231
+ Pull recent changes from the remote repository into the specified
232
+ local repository.
233
+
234
+ If merge conflicts occur, they must be resolved outside of JOC Cockpit.
235
+
236
+ Args:
237
+ folder_path (str):
238
+ The path of the repository folder.
239
+
240
+ category (Literal["LOCAL", "ROLLOUT"]):
241
+ The repository category.
242
+
243
+ audit_log (Optional[AuditLog]):
244
+ Optional audit log information to create an audit entry
245
+ for this operation.
246
+
247
+ Returns:
248
+ bool:
249
+ Returns `True` if the operation was successful, otherwise `False`.
250
+
251
+ Raises:
252
+ ValueError:
253
+ If required arguments are missing or invalid.
254
+
255
+ RuntimeError:
256
+ If the pull operation fails or the server version is incompatible.
257
+ """
258
+
259
+ return git_pull_action(
260
+ context=self._ctx,
261
+ folder_path=folder_path,
262
+ category=category,
263
+ audit_log=audit_log
264
+ )
265
+
266
+ def git_push(
267
+ self,
268
+ folder_path: str,
269
+ category: Literal['LOCAL', 'ROLLOUT'],
270
+ audit_log: Optional[AuditLog] = None
271
+ ) -> bool:
272
+ """
273
+ Push committed changes to the remote repository.
274
+
275
+ If merge conflicts occur, they must be resolved outside of JOC Cockpit.
276
+
277
+ Args:
278
+ folder_path (str):
279
+ The path of the repository folder.
280
+
281
+ category (Literal["LOCAL", "ROLLOUT"]):
282
+ The repository category.
283
+
284
+ audit_log (Optional[AuditLog]):
285
+ Optional audit log information to create an audit entry
286
+ for this operation.
287
+
288
+ Returns:
289
+ bool:
290
+ Returns `True` if the operation was successful, otherwise `False`.
291
+
292
+ Raises:
293
+ ValueError:
294
+ If required arguments are missing or invalid.
295
+
296
+ RuntimeError:
297
+ If the push operation fails or the server version is incompatible.
298
+ """
299
+
300
+ return git_push_action(
301
+ context=self._ctx,
302
+ folder_path=folder_path,
303
+ category=category,
304
+ audit_log=audit_log
305
+ )
306
+
307
+ def remove_git_credentials(self, git_server: str, audit_log: Optional[AuditLog] = None) -> bool:
308
+ """
309
+ Remove Git credentials for the current JOC account,
310
+ depending on the configured JOC security levels.
311
+
312
+ Args:
313
+ git_server (str):
314
+ The Git server for which the credentials should be removed.
315
+
316
+ audit_log (Optional[AuditLog]):
317
+ Optional audit log information to create an audit entry
318
+ for this operation.
319
+
320
+ Returns:
321
+ bool:
322
+ Returns `True` if the operation was successful, otherwise `False`.
323
+
324
+ Raises:
325
+ ValueError:
326
+ If required arguments are missing or invalid.
327
+
328
+ RuntimeError:
329
+ If the operation fails or the server version is incompatible.
330
+ """
331
+
332
+ return remove_git_credentials_action(
333
+ context=self._ctx,
334
+ git_server=git_server,
335
+ audit_log=audit_log
336
+ )
337
+
338
+ def store_git_credentials(
339
+ self,
340
+ credentials: GitCredentials,
341
+ audit_log: Optional[AuditLog] = None
342
+ ) -> bool:
343
+ """
344
+ Store Git credentials for the current JOC account,
345
+ depending on the configured JOC security levels.
346
+
347
+ Args:
348
+ credentials (GitCredentials):
349
+ The Git credentials to be stored.
350
+
351
+ audit_log (Optional[AuditLog]):
352
+ Optional audit log information to create an audit entry
353
+ for this operation.
354
+
355
+ Returns:
356
+ bool:
357
+ Returns `True` if the operation was successful, otherwise `False`.
358
+
359
+ Raises:
360
+ ValueError:
361
+ If required arguments are missing or invalid.
362
+
363
+ RuntimeError:
364
+ If the operation fails or the server version is incompatible.
365
+ """
366
+
367
+ return store_git_credentials_action(
368
+ context=self._ctx,
369
+ credentials=credentials,
370
+ audit_log=audit_log
371
+ )
372
+
373
+ def read_from_local_repository(
374
+ self,
375
+ folder_path: str,
376
+ category: Literal['LOCAL', 'ROLLOUT']
377
+ ) -> List[Configuration]:
378
+ """
379
+ Read configuration objects from a local repository located at
380
+ `./resources/joc/repositories`.
381
+
382
+ Args:
383
+ folder_path (str):
384
+ The path of the repository folder.
385
+
386
+ category (Literal["LOCAL", "ROLLOUT"]):
387
+ The repository category.
388
+
389
+ Returns:
390
+ List[Configuration]:
391
+ A list of configuration objects read from the repository.
392
+
393
+ Raises:
394
+ ValueError:
395
+ If required arguments are missing or invalid.
396
+
397
+ RuntimeError:
398
+ If reading fails or the server version is incompatible.
399
+ """
400
+
401
+ return read_from_local_repository_action(
402
+ context=self._ctx,
403
+ folder_path=folder_path,
404
+ category=category
405
+ )
406
+
407
+ def remove_repository_configuration(
408
+ self,
409
+ configurations: List[Configuration],
410
+ category: Literal['LOCAL', 'ROLLOUT'],
411
+ audit_log: Optional[AuditLog] = None
412
+ ) -> bool:
413
+ """
414
+ Delete configuration objects from a local repository located at
415
+ `./resources/joc/repositories`.
416
+
417
+ If the object type `FOLDER` is specified, all configurations within
418
+ that folder will be deleted from the local repository.
419
+
420
+ Args:
421
+ configurations (List[Configuration]):
422
+ The configuration objects to be deleted.
423
+
424
+ category (Literal["LOCAL", "ROLLOUT"]):
425
+ The repository category.
426
+
427
+ audit_log (Optional[AuditLog]):
428
+ Optional audit log information to create an audit entry
429
+ for this operation.
430
+
431
+ Returns:
432
+ bool:
433
+ Returns `True` if the operation was successful, otherwise `False`.
434
+
435
+ Raises:
436
+ ValueError:
437
+ If required arguments are missing or invalid.
438
+
439
+ RuntimeError:
440
+ If the operation fails or the server version is incompatible.
441
+ """
442
+
443
+ return remove_repository_configuration_action(
444
+ context=self._ctx,
445
+ configurations=configurations,
446
+ category=category,
447
+ audit_log=audit_log
448
+ )
449
+
450
+ def store_repository_configuration(
451
+ self,
452
+ controller_id: str,
453
+ category: Literal['LOCAL', 'ROLLOUT'],
454
+ configurations: List[Union[DraftConfiguration, DeployConfiguration, ReleaseConfiguration]],
455
+ audit_log: Optional[AuditLog] = None
456
+ ) -> bool:
457
+ """
458
+ Store configuration objects in a local repository located at
459
+ `./resources/joc/repositories`.
460
+
461
+ Args:
462
+ controller_id (str):
463
+ The ID of the controller associated with the configurations.
464
+
465
+ category (Literal["LOCAL", "ROLLOUT"]):
466
+ The repository category.
467
+
468
+ configurations (List[Union[DraftConfiguration, DeployConfiguration, ReleaseConfiguration]]):
469
+ The configuration objects to be stored.
470
+
471
+ audit_log (Optional[AuditLog]):
472
+ Optional audit log information to create an audit entry
473
+ for this operation.
474
+
475
+ Returns:
476
+ bool:
477
+ Returns `True` if the operation was successful, otherwise `False`.
478
+
479
+ Raises:
480
+ ValueError:
481
+ If required arguments are missing or invalid.
482
+
483
+ RuntimeError:
484
+ If the operation fails or the server version is incompatible.
485
+ """
486
+
487
+ return store_repository_configuration_action(
488
+ context=self._ctx,
489
+ controller_id=controller_id,
490
+ category=category,
491
+ configurations=configurations,
492
+ audit_log=audit_log
493
+ )
494
+
495
+ def update_repository_configuration(
496
+ self,
497
+ configurations: List[Configuration],
498
+ category: Literal['LOCAL', 'ROLLOUT'],
499
+ audit_log: Optional[AuditLog] = None
500
+ ) -> bool:
501
+ """
502
+ Add or update configuration objects in JOC using configurations
503
+ from the local repository.
504
+
505
+ Args:
506
+ configurations (List[Configuration]):
507
+ The configuration objects to be added or updated.
508
+
509
+ category (Literal["LOCAL", "ROLLOUT"]):
510
+ The repository category.
511
+
512
+ audit_log (Optional[AuditLog]):
513
+ Optional audit log information to create an audit entry
514
+ for this operation.
515
+
516
+ Returns:
517
+ bool:
518
+ Returns `True` if the operation was successful, otherwise `False`.
519
+
520
+ Raises:
521
+ ValueError:
522
+ If required arguments are missing or invalid.
523
+
524
+ RuntimeError:
525
+ If the operation fails or the server version is incompatible.
526
+ """
527
+
528
+ return update_repository_configuration_action(
529
+ context=self._ctx,
530
+ configurations=configurations,
531
+ category=category,
532
+ audit_log=audit_log
533
+ )
@@ -0,0 +1,18 @@
1
+ from functools import cached_property
2
+
3
+ from ....client.context import Context
4
+ from .manage import Manage
5
+ from .operate import Operate
6
+
7
+
8
+ class JOC:
9
+ def __init__(self, context: Context):
10
+ self._ctx = context
11
+
12
+ @cached_property
13
+ def manage(self) -> Manage:
14
+ return Manage(context=self._ctx)
15
+
16
+ @cached_property
17
+ def operate(self) -> Operate:
18
+ return Operate(context=self._ctx)
@@ -0,0 +1,102 @@
1
+ from typing import Any, Dict, List, Optional, Tuple
2
+
3
+ from ....client.context import Context
4
+
5
+ from ...action.joc.get_license_info_action import get_license_info_action
6
+ from ...action.joc.get_components_versions_action import get_components_versions_action
7
+ from ...action.joc.get_version_action import get_version_action
8
+ from ...action.joc.get_settings_action import get_settings_action
9
+
10
+
11
+ class Manage:
12
+ def __init__(self, context: Context):
13
+ self._ctx = context
14
+
15
+ def get_license_info(self) -> Tuple[bool, Dict[str, Any]]:
16
+ """
17
+ Retrieve license validation status and related metadata.
18
+
19
+ Returns:
20
+ Tuple (bool, Dict[str, Any]):
21
+ - bool: Indicates whether the license is valid
22
+ (`True` if valid, otherwise `False`).
23
+ - Dict[str, Any]: Additional information about the
24
+ current license.
25
+
26
+ Raises:
27
+ RuntimeError:
28
+ If the server version is incompatible or if an unexpected
29
+ response is returned.
30
+ """
31
+
32
+ return get_license_info_action(context=self._ctx)
33
+
34
+ def get_components_versions_info(
35
+ self,
36
+ controller_ids: Optional[List[str]] = None,
37
+ agent_ids: Optional[List[str]] = None
38
+ ) -> Dict[str, Any]:
39
+ """
40
+ Retrieve version information for specified JS7 components.
41
+
42
+ Args:
43
+ controller_ids (Optional[List[str]]):
44
+ A list of controller IDs for which version information
45
+ should be retrieved.
46
+
47
+ agent_ids (Optional[List[str]]):
48
+ A list of agent IDs for which version information
49
+ should be retrieved.
50
+
51
+ Returns:
52
+ Dict[str, Any]:
53
+ A dictionary containing version details for the
54
+ requested components.
55
+
56
+ Raises:
57
+ ValueError:
58
+ If arguments are invalid.
59
+
60
+ RuntimeError:
61
+ If the operation fails or the server version
62
+ is incompatible.
63
+ """
64
+
65
+ return get_components_versions_action(
66
+ context=self._ctx,
67
+ controller_ids=controller_ids,
68
+ agent_ids=agent_ids
69
+ )
70
+
71
+ def get_version(self) -> str:
72
+ """
73
+ Retrieve the JOC version with which the client
74
+ is currently registered.
75
+
76
+ Returns:
77
+ str:
78
+ The version string of the connected JOC instance.
79
+
80
+ Raises:
81
+ RuntimeError:
82
+ If the operation fails or the server version
83
+ is incompatible.
84
+ """
85
+
86
+ return get_version_action(context=self._ctx)
87
+
88
+ def get_settings_info(self) -> Dict[str, Any]:
89
+ """
90
+ Retrieve the global JOC settings.
91
+
92
+ Returns:
93
+ Dict[str, Any]:
94
+ A dictionary containing the current global settings.
95
+
96
+ Raises:
97
+ RuntimeError:
98
+ If the operation fails or the server version
99
+ is incompatible.
100
+ """
101
+
102
+ return get_settings_action(context=self._ctx)