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,3666 @@
1
+ from typing import Any, Dict, Optional, List, Union
2
+ from typing_extensions import Self
3
+ from pydantic import (field_serializer, model_validator, BaseModel as PydanticBaseModel)
4
+ from datetime import date, datetime
5
+ from enum import Enum
6
+
7
+
8
+ #---------------#
9
+ # Configuration #
10
+ #---------------#
11
+ def snake_to_camel_case(s: str) -> str:
12
+ parts = s.split("_")
13
+ return parts[0] + "".join(p.capitalize() for p in parts[1:])
14
+
15
+
16
+ class BaseModel(PydanticBaseModel):
17
+ model_config = {
18
+ "alias_generator": snake_to_camel_case,
19
+ "populate_by_name": True,
20
+ "extra": "ignore",
21
+ }
22
+
23
+
24
+ #-------#
25
+ # ENUMS #
26
+ #-------#
27
+ class ConfigurationType(str, Enum):
28
+ """com.sos.joc.model.configuration.ConfigurationType"""
29
+
30
+ CUSTOMIZATION = "CUSTOMIZATION"
31
+ GLOBALS = "GLOBALS"
32
+ IGNORELIST = "IGNORELIST"
33
+ PROFILE = "PROFILE"
34
+ SETTING = "SETTING"
35
+ IAM = "IAM"
36
+
37
+
38
+ class InstructionType(str, Enum):
39
+ """com.sos.inventory.model.instruction.InstructionType"""
40
+
41
+ ADD_ORDER = "AddOrder"
42
+ CONSUME_NOTICES = "ConsumeNotices"
43
+ CYCLE = "Cycle"
44
+ EXECUTE_NAMED = "Execute.Named"
45
+ EXPECT_NOTICE = "ExpectNotice"
46
+ EXPECT_NOTICES = "ExpectNotices"
47
+ FAIL = "Fail"
48
+ FINISH = "Finish"
49
+ FORK = "Fork"
50
+ FORK_LIST = "ForkList"
51
+ IF = "If"
52
+ IMPLICIT_END = "ImplicitEnd"
53
+ LOCK = "Lock"
54
+ POST_NOTICE = "PostNotice"
55
+ POST_NOTICES = "PostNotices"
56
+ PROMPT = "Prompt"
57
+ RETRY = "Retry"
58
+ TRY = "Try"
59
+
60
+
61
+ class InstructionStateText(str, Enum):
62
+ """com.sos.inventory.model.instruction.InstructionStateText"""
63
+
64
+ SKIPPED = "SKIPPED"
65
+ STOPPED = "STOPPED"
66
+ STOPPED_AND_SKIPPED = "STOPPED_AND_SKIPPED"
67
+
68
+
69
+ class JobNotificationType(str, Enum):
70
+ """com.sos.inventory.model.job.notification.JobNotificationType"""
71
+
72
+ ERROR = "ERROR"
73
+ SUCCESS = "SUCCESS"
74
+ WARNING = "WARNING"
75
+
76
+
77
+ class DeployType(str, Enum):
78
+ """com.sos.inventory.model.deploy.DeployType"""
79
+
80
+ BOARD = "Board"
81
+ FILE_WATCH = "FileWatch"
82
+ JOB_CLASS = "JobClass"
83
+ JOB_RESOURCE = "JobResource"
84
+ LOCK = "Lock"
85
+ WORKFLOW = "Workflow"
86
+
87
+
88
+ class SearchInstructionStateText(str, Enum):
89
+ """com.sos.joc.model.workflow.search.InstructionStateText"""
90
+
91
+ SKIPPED = "SKIPPED"
92
+ STOPPED = "STOPPED"
93
+
94
+
95
+ class Severity(str, Enum):
96
+ """com.sos.joc.model.note.common.Severity"""
97
+
98
+ CRITICAL = "CRITICAL"
99
+ HIGH = "HIGH"
100
+ INFO = "INFO"
101
+ LOW = "LOW"
102
+ NORMAL = "NORMAL"
103
+
104
+
105
+ class JobCriticality(str, Enum):
106
+ """com.sos.inventory.model.job.JobCriticality"""
107
+
108
+ CRITICAL = "CRITICAL"
109
+ NORMAL = "NORMAL"
110
+
111
+
112
+ class HistoryStateText(str, Enum):
113
+ """com.sos.joc.model.common.HistoryStateText"""
114
+
115
+ FAILED = "FAILED"
116
+ INCOMPLETE = "INCOMPLETE"
117
+ SUCCESSFUL = "SUCCESSFUL"
118
+
119
+
120
+ class DailyPlanOrderStateText(str, Enum):
121
+ """com.sos.joc.model.dailyplan.DailyPlanOrderStateText"""
122
+
123
+ FINISHED = "FINISHED"
124
+ PLANNED = "PLANNED"
125
+ SUBMITTED = "SUBMITTED"
126
+
127
+
128
+ class CompatibilityLevel(str, Enum):
129
+ """com.sos.joc.model.joc.CompatibilityLevel"""
130
+
131
+ COMPATIBLE = "COMPATIBLE"
132
+ NOT_COMPATIBLE = "NOT_COMPATIBLE"
133
+ PARTIALLY_COMPATIBLE = "PARTIALLY_COMPATIBLE"
134
+
135
+
136
+ class JocClusterState(str, Enum):
137
+ """com.sos.joc.model.cluster.common.state.JocClusterState"""
138
+
139
+ ALREADY_RUNNING = "ALREADY_RUNNING"
140
+ ALREADY_STARTED = "ALREADY_STARTED"
141
+ ALREADY_STOPPED = "ALREADY_STOPPED"
142
+ COMPLETED = "COMPLETED"
143
+ ERROR = "ERROR"
144
+ MISSING_CONFIGURATION = "MISSING_CONFIGURATION"
145
+ MISSING_HANDLERS = "MISSING_HANDLERS"
146
+ MISSING_LICENSE = "MISSING_LICENSE"
147
+ RESTARTED = "RESTARTED"
148
+ RUNNING = "RUNNING"
149
+ STARTED = "STARTED"
150
+ STOPPED = "STOPPED"
151
+ SWITCH_MEMBER = "SWITCH_MEMBER"
152
+ UNCOMPLETED = "UNCOMPLETED"
153
+
154
+
155
+ class ClusterServices(str, Enum):
156
+ """com.sos.joc.model.cluster.common.ClusterServices"""
157
+ CLEANUP = "cleanup"
158
+ CLUSTER = "cluster"
159
+ DAILYPLAN = "dailyplan"
160
+ HISTORY = "history"
161
+ LOGNOTIFICATION = "lognotification"
162
+ MONITOR = "monitor"
163
+
164
+
165
+ class AgentStateText(str, Enum):
166
+ """com.sos.joc.model.agent.AgentStateText"""
167
+
168
+ COUPLED = "COUPLED"
169
+ COUPLINGFAILED = "COUPLINGFAILED"
170
+ INITIALISED = "INITIALISED"
171
+ RESET = "RESET"
172
+ RESETTING = "RESETTING"
173
+ SHUTDOWN = "SHUTDOWN"
174
+ UNKNOWN = "UNKNOWN"
175
+
176
+
177
+ class LicenseType(str, Enum):
178
+ """com.sos.joc.model.joc.LicenseType"""
179
+
180
+ COMMERCIAL_INVALID = "COMMERCIAL_INVALID"
181
+ COMMERCIAL_VALID = "COMMERCIAL_VALID"
182
+ OPENSOURCE = "OPENSOURCE"
183
+
184
+
185
+ class AgentStateReason(str, Enum):
186
+ """com.sos.joc.model.agent.AgentStateReason"""
187
+
188
+ FRESH = "FRESH"
189
+ RESET = "RESET"
190
+ RESTARTED = "RESTARTED"
191
+
192
+
193
+ class AgentClusterStateText(str, Enum):
194
+ """com.sos.joc.model.agent.AgentClusterStateText"""
195
+
196
+ ALL_SUBAGENTS_ARE_COUPLED_AND_ENABLED = "ALL_SUBAGENTS_ARE_COUPLED_AND_ENABLED"
197
+ NO_SUBAGENTS_ARE_COUPLED_AND_ENABLED = "NO_SUBAGENTS_ARE_COUPLED_AND_ENABLED"
198
+ ONLY_SOME_SUBAGENTS_ARE_COUPLED_AND_ENABLED = "ONLY_SOME_SUBAGENTS_ARE_COUPLED_AND_ENABLED"
199
+ UNKNOWN = "UNKNOWN"
200
+
201
+
202
+ class SubagentDirectorType(str, Enum):
203
+ """com.sos.joc.model.agent.SubagentDirectorType"""
204
+
205
+ NO_DIRECTOR = "NO_DIRECTOR"
206
+ PRIMARY_DIRECTOR = "PRIMARY_DIRECTOR"
207
+ SECONDARY_DIRECTOR = "SECONDARY_DIRECTOR"
208
+
209
+
210
+ class Category(str, Enum):
211
+ """com.sos.joc.model.publish.repository.Category"""
212
+
213
+ LOCAL = "LOCAL"
214
+ ROLLOUT = "ROLLOUT"
215
+
216
+
217
+ class CommonConfigurationType(str, Enum):
218
+ """com.sos.joc.model.inventory.common.ConfigurationType"""
219
+
220
+ FOLDER = 'FOLDER'
221
+ WORKFLOW = 'WORKFLOW'
222
+ JOBCLASS = 'JOBCLASS'
223
+ JOBRESOURCE = 'JOBRESOURCE'
224
+ LOCK = 'LOCK'
225
+ NOTICEBOARD = 'NOTICEBOARD'
226
+ FILEORDERSOURCE = 'FILEORDERSOURCE'
227
+ WORKINGDAYSCALENDAR = 'WORKINGDAYSCALENDAR'
228
+ NONWORKINGDAYSCALENDAR = 'NONWORKINGDAYSCALENDAR'
229
+ SCHEDULE = 'SCHEDULE'
230
+ INCLUDESCRIPT = 'INCLUDESCRIPT'
231
+ JOBTEMPLATE = 'JOBTEMPLATE'
232
+ DEPLOYMENTDESCRIPTOR = 'DEPLOYMENTDESCRIPTOR'
233
+ DESCRIPTORFOLDER = 'DESCRIPTORFOLDER'
234
+ REPORT = 'REPORT'
235
+ JOB = 'JOB'
236
+
237
+
238
+ class IdentityServiceType(str, Enum):
239
+ """com.sos.joc.model.security.identityservice.IdentityServiceTypes"""
240
+
241
+ CERTIFICATE = "CERTIFICATE"
242
+ FIDO = "FIDO"
243
+ JOC = "JOC"
244
+ KEYCLOAK = "KEYCLOAK"
245
+ KEYCLOAK_JOC = "KEYCLOAK-JOC"
246
+ LDAP = "LDAP"
247
+ LDAP_JOC = "LDAP-JOC"
248
+ OIDC = "OIDC"
249
+ OIDC_JOC = "OIDC-JOC"
250
+ UNKNOWN = "UNKNOWN"
251
+
252
+
253
+ class ServiceAuthenticationScheme(str, Enum):
254
+ """com.sos.joc.model.security.identityservice.IdentityServiceAuthenticationScheme"""
255
+
256
+ SINGLE_FACTOR = "SINGLE-FACTOR"
257
+ TWO_FACTOR = "TWO-FACTOR"
258
+
259
+
260
+ class ItemStateEnum(str, Enum):
261
+ """com.sos.joc.model.inventory.common.ItemStateEnum"""
262
+
263
+ DEPLOYMENT_IS_NEWER = "DEPLOYMENT_IS_NEWER"
264
+ DEPLOYMENT_NOT_EXIST = "DEPLOYMENT_NOT_EXIST"
265
+ DRAFT_IS_NEWER = "DRAFT_IS_NEWER"
266
+ DRAFT_NOT_EXIST = "DRAFT_NOT_EXIST"
267
+ NO_CONFIGURATION_EXIST = "NO_CONFIGURATION_EXIST"
268
+ RELEASE_IS_NEWER = "RELEASE_IS_NEWER"
269
+ RELEASE_NOT_EXIST = "RELEASE_NOT_EXIST"
270
+
271
+
272
+ class SyncStateText(str, Enum):
273
+ """
274
+ com.sos.controller.model.common.SyncStateText\n
275
+ SUSPENDED, OUTSTANDING only for Workflows
276
+ """
277
+
278
+ IN_SYNC = "IN_SYNC"
279
+ NOT_DEPLOYED = "NOT_DEPLOYED"
280
+ NOT_IN_SYNC = "NOT_IN_SYNC"
281
+ OUTSTANDING = "OUTSTANDING"
282
+ SUSPENDED = "SUSPENDED"
283
+ UNKNOWN = "UNKNOWN"
284
+
285
+ class OrderStateText(str, Enum):
286
+ """com.sos.joc.model.order.OrderStateText"""
287
+
288
+ BLOCKED = "BLOCKED"
289
+ BROKEN = "BROKEN"
290
+ CANCELLED = "CANCELLED"
291
+ FAILED = "FAILED"
292
+ FINISHED = "FINISHED"
293
+ INPROGRESS = "INPROGRESS"
294
+ PENDING = "PENDING"
295
+ PLANNED = "PLANNED"
296
+ PROMPTING = "PROMPTING"
297
+ RUNNING = "RUNNING"
298
+ SCHEDULED = "SCHEDULED"
299
+ SUSPENDED = "SUSPENDED"
300
+ UNKNOWN = "UNKNOWN"
301
+ WAITING = "WAITING"
302
+
303
+
304
+ class ControllerRole(str, Enum):
305
+ """com.sos.joc.model.controller.Role"""
306
+
307
+ BACKUP = "BACKUP"
308
+ PRIMARY = "PRIMARY"
309
+ STANDALONE = "STANDALONE"
310
+
311
+
312
+ class JocSecurityLevel(str, Enum):
313
+ """com.sos.joc.model.common.JocSecurityLevel"""
314
+
315
+ HIGH = "HIGH"
316
+ LOW = "LOW"
317
+ MEDIUM = "MEDIUM"
318
+
319
+
320
+ class ComponentStateText(str, Enum):
321
+ """com.sos.joc.model.controller.ComponentStateText"""
322
+ INOPERABLE = "inoperable"
323
+ LIMITED = "limited"
324
+ OPERATIONAL = "operational"
325
+ UNKNOWN = "unknown"
326
+
327
+
328
+ class ClusterNodeStateText(str, Enum):
329
+ ACTIVE = "active"
330
+ INACTIVE = "inactive"
331
+ UNKNOWN = "unknown"
332
+
333
+
334
+ class ConnectionStateText(str, Enum):
335
+ ESTABLISHED = "established"
336
+ UNKNOWN = "unknown"
337
+ UNREACHABLE = "unreachable"
338
+ UNSTABLE = "unstable"
339
+
340
+
341
+ class Err(BaseModel):
342
+ """com.sos.joc.model.common.Err"""
343
+
344
+ code: Optional[str] = None
345
+ message: Optional[str] = None
346
+
347
+
348
+ class AuditParams(BaseModel):
349
+ """com.sos.joc.model.audit.AuditParams"""
350
+
351
+ comment: Optional[str] = None
352
+ ticket_link: Optional[str] = None
353
+ time_spent: Optional[int] = None
354
+
355
+
356
+ class IniPermission(BaseModel):
357
+ """com.sos.joc.model.security.configuration.permissions.IniPermission"""
358
+
359
+ permission_path: str
360
+ excluded: Optional[bool] = None
361
+
362
+
363
+ class Folder(BaseModel):
364
+ """com.sos.joc.model.common.Folder"""
365
+
366
+ folder: str
367
+ """absolute path of an object."""
368
+
369
+ recursive: Optional[bool] = None
370
+
371
+
372
+ class DailyPlanOrderFilterBase(BaseModel):
373
+ """com.sos.joc.model.dailyplan.DailyPlanOrderFilterBase"""
374
+
375
+ controller_ids: Optional[List[str]] = None
376
+ daily_plan_date_from: Optional[date] = None
377
+ """ISO date YYYY-MM-DD"""
378
+
379
+ daily_plan_date_to: Optional[date] = None
380
+ """ISO date YYYY-MM-DD"""
381
+
382
+ order_ids: Optional[List[str]] = None
383
+ schedule_folders: Optional[List[Folder]] = None
384
+ schedule_paths: Optional[List[str]] = None
385
+ workflow_folders: Optional[List[Folder]] = None
386
+ workflow_paths: Optional[List[str]] = None
387
+
388
+
389
+ class IniPermissions(BaseModel):
390
+ """com.sos.joc.model.security.configuration.permissions.IniPermissions"""
391
+
392
+ controller_defaults: Optional[List[IniPermission]] = None
393
+ controllers: Optional[Dict[str, List[IniPermission]]] = None
394
+ joc: Optional[List[IniPermission]] = None
395
+
396
+
397
+ class SecurityConfigurationFolders(BaseModel):
398
+ """com.sos.joc.model.security.configuration.permissions.SecurityConfigurationFolders"""
399
+
400
+ controllers: Optional[Dict[str, List[Folder]]] = None
401
+ joc: Optional[List[Folder]] = None
402
+
403
+
404
+ class SecurityConfigurationRole(BaseModel):
405
+ """com.sos.joc.model.security.configuration.SecurityConfigurationRole"""
406
+
407
+ folders: Optional[SecurityConfigurationFolders] = None
408
+ permissions: Optional[IniPermissions] = None
409
+
410
+
411
+ class SecurityConfigurationMainEntry(BaseModel):
412
+ """com.sos.joc.model.security.configuration.SecurityConfigurationMainEntry"""
413
+
414
+ entry_name: str
415
+ entry_value: List[str]
416
+ entry_comment: Optional[List[str]] = None
417
+
418
+
419
+ class Profile(BaseModel):
420
+ """com.sos.joc.model.configuration.Profile"""
421
+
422
+ account: Optional[str] = None
423
+ last_login: Optional[datetime] = None
424
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
425
+
426
+
427
+ class Permission(BaseModel):
428
+ """com.sos.joc.model.security.permissions.Permission"""
429
+
430
+ excluded: Optional[bool] = None
431
+ permission_path: str
432
+
433
+
434
+ class SecurityConfigurationAccount(BaseModel):
435
+ """com.sos.joc.model.security.configuration.SecurityConfigurationAccount"""
436
+
437
+ account_name: str
438
+ disabled: Optional[bool] = None
439
+ """controls if the object is disabled"""
440
+
441
+ force_password_change: Optional[bool] = None
442
+ """controls if the account is forced to change the password"""
443
+
444
+ identity_service_id: Optional[float] = None
445
+ old_password: Optional[str] = None
446
+ password: Optional[str] = None
447
+ repeated_password: Optional[str] = None
448
+ roles: Optional[List[str]] = None
449
+
450
+
451
+ class PublishConfiguration(BaseModel):
452
+ """com.sos.joc.model.publish.Configuration"""
453
+
454
+ commit_id: Optional[str] = None
455
+ object_type: CommonConfigurationType
456
+ path: str
457
+ """absolute path of an object."""
458
+
459
+ recursive: Optional[bool] = None
460
+
461
+
462
+ class OK(BaseModel):
463
+ """com.sos.joc.model.common.Ok"""
464
+
465
+ delivery_date: Optional[datetime] = None
466
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
467
+
468
+ ok: Optional[bool] = None
469
+ survey_date: Optional[datetime] = None
470
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
471
+
472
+
473
+ class Timespan(BaseModel):
474
+ """com.sos.joc.model.inventory.changes.common.Timespan"""
475
+
476
+ from_: Optional[datetime] = None
477
+ """ISO datetime yyyy-mm-dd HH:MM[:SS]"""
478
+
479
+ to: Optional[datetime] = None
480
+ """ISO datetime yyyy-mm-dd HH:MM[:SS]"""
481
+
482
+ @field_serializer("from_", "to", when_used="json")
483
+ def serialize_timespan(self, value: Optional[datetime]):
484
+ if value is None:
485
+ return None
486
+ return value.strftime("%Y-%m-%d %H:%M:%S")
487
+
488
+
489
+ class ChangeState(str, Enum):
490
+ """com.sos.joc.model.inventory.changes.common.ChangeState"""
491
+
492
+ CLOSED = "CLOSED"
493
+ OPEN = "OPEN"
494
+ PUBLISHED = "PUBLISHED"
495
+
496
+
497
+ class ChangeItem(BaseModel):
498
+ """com.sos.joc.model.inventory.changes.common.ChangeItem"""
499
+
500
+ deployed: Optional[bool] = None
501
+ name: Optional[str] = None
502
+ object_type: Optional[CommonConfigurationType] = None
503
+ path: Optional[str] = None
504
+ """absolute path of an object."""
505
+
506
+ released: Optional[bool] = None
507
+ valid: Optional[bool] = None
508
+
509
+
510
+ class ChangeIdentifier(BaseModel):
511
+ """com.sos.joc.model.inventory.changes.common.ChangeIdentifier"""
512
+
513
+ name: Optional[str] = None
514
+ state: Optional[ChangeState] = None
515
+ title: Optional[str] = None
516
+
517
+
518
+ class Change(ChangeIdentifier):
519
+ """com.sos.joc.model.inventory.changes.common.Change"""
520
+
521
+ closed: Optional[datetime] = None
522
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
523
+
524
+ configurations: Optional[List[ChangeItem]] = None
525
+ created: Optional[datetime] = None
526
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
527
+
528
+ last_published_by: Optional[str] = None
529
+ modified: Optional[datetime] = None
530
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
531
+
532
+ owner: Optional[str] = None
533
+
534
+
535
+ class CommonRequestFilter(BaseModel):
536
+ """com.sos.joc.model.inventory.common.RequestFilter"""
537
+
538
+ audit_log: Optional[AuditParams] = None
539
+ controller_id: Optional[str] = None
540
+ id: Optional[float] = None
541
+ object_type: Optional[CommonConfigurationType] = None
542
+ path: Optional[str] = None
543
+
544
+
545
+ class Releasable(BaseModel):
546
+ """com.sos.joc.model.inventory.release.Releasable"""
547
+
548
+ object_type: Optional[CommonConfigurationType] = None
549
+ path: Optional[str] = None
550
+
551
+
552
+ class SyncState(BaseModel):
553
+ """com.sos.controller.model.common.SyncState"""
554
+
555
+ text: Optional[SyncStateText] = None
556
+ """SUSPENDED, OUTSTANDING only for Workflows"""
557
+
558
+ severity: Optional[int] = None
559
+
560
+
561
+ class ResponseItemDeployment(BaseModel):
562
+ """com.sos.joc.model.inventory.common.ResponseItemDeployment"""
563
+
564
+ controller_id: Optional[str] = None
565
+ deployment_date: Optional[datetime] = None
566
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
567
+
568
+ deployment_id: Optional[float] = None
569
+ path: Optional[str] = None
570
+ """absolute path of an object."""
571
+
572
+ version: Optional[str] = None
573
+
574
+
575
+ class ResponseDeployableVersion(BaseModel):
576
+ """com.sos.joc.model.inventory.deploy.ResponseDeployableVersion"""
577
+
578
+ commit_id: Optional[str] = None
579
+ deployment_id: Optional[float] = None
580
+ deployment_operation: Optional[str] = None
581
+ deployment_path: Optional[str] = None
582
+ """absolute path of an object."""
583
+
584
+ id: Optional[float] = None
585
+ version_date: Optional[datetime] = None
586
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
587
+
588
+ versions: Optional[List[ResponseItemDeployment]] = None
589
+
590
+
591
+ class ReportItem(BaseModel):
592
+ """com.sos.joc.model.inventory.validate.ReportItem"""
593
+
594
+ error: Optional[Err] = None
595
+ invalid_msg: Optional[str] = None
596
+ name: Optional[str] = None
597
+ object_type: Optional[CommonConfigurationType] = None
598
+ path: Optional[str] = None
599
+ """absolute path of an object."""
600
+
601
+ title: Optional[str] = None
602
+ valid: Optional[bool] = None
603
+
604
+
605
+ class RequestItem(BaseModel):
606
+ """com.sos.joc.model.inventory.dependencies.RequestItem"""
607
+
608
+ name: Optional[str] = None
609
+ type: Optional[str] = None
610
+
611
+
612
+ class OperationType(str, Enum):
613
+ """com.sos.joc.model.inventory.dependencies.get.OperationType"""
614
+
615
+ DEPLOY = "DEPLOY"
616
+ EXPORT = "EXPORT"
617
+ GIT = "GIT"
618
+ RECALL = "RECALL"
619
+ RELEASE = "RELEASE"
620
+ REMOVE = "REMOVE"
621
+ REVOKE = "REVOKE"
622
+
623
+
624
+ class ArchiveFormat(str, Enum):
625
+ """com.sos.joc.model.publish.ArchiveFormat"""
626
+
627
+ TAR_GZ = "TAR_GZ"
628
+ ZIP = "ZIP"
629
+
630
+
631
+ class Config(BaseModel):
632
+ """com.sos.joc.model.publish.Config"""
633
+
634
+ configuration: PublishConfiguration
635
+
636
+
637
+ class DeployablesValidFilter(BaseModel):
638
+ """com.sos.joc.model.publish.DeployablesValidFilter"""
639
+
640
+ deploy_configurations: Optional[List[Config]] = None
641
+ draft_configurations: Optional[List[Config]] = None
642
+
643
+ @model_validator(mode="after")
644
+ def any_of(self) -> Self:
645
+ if not (self.draft_configurations or self.deploy_configurations):
646
+ raise ValueError("At least one of 'draftConfigurations' or 'deployConfigurations' must be set")
647
+ return self
648
+
649
+
650
+ class ExportForSigning(BaseModel):
651
+ """com.sos.joc.model.publish.ExportForSigning"""
652
+
653
+ controller_id: str
654
+ deployables: DeployablesValidFilter
655
+
656
+
657
+ class DeployablesFilter(BaseModel):
658
+ """com.sos.joc.model.publish.DeployablesFilter"""
659
+
660
+ draft_configurations: Optional[List[Config]] = None
661
+ deploy_configurations: Optional[List[Config]] = None
662
+ without_invalid: Optional[bool] = False
663
+
664
+
665
+ class ReleasablesFilter(BaseModel):
666
+ """com.sos.joc.model.publish.ReleasablesFilter"""
667
+
668
+ draft_configurations: Optional[List[Config]] = None
669
+ released_configurations: Optional[List[Config]] = None
670
+ without_invalid: Optional[bool] = False
671
+
672
+
673
+ class ExportShallowCopy(BaseModel):
674
+ """com.sos.joc.model.publish.ExportShallowCopy"""
675
+
676
+ deployables: Optional[DeployablesFilter] = None
677
+ releasables: Optional[ReleasablesFilter] = None
678
+ incl_all_tags: Optional[bool] = False
679
+
680
+
681
+ class ExportFile(BaseModel):
682
+ """com.sos.joc.model.publish.ExportFile"""
683
+
684
+ filename: str
685
+ format: Optional[ArchiveFormat] = ArchiveFormat.ZIP
686
+
687
+
688
+ class AdminAccounts(BaseModel):
689
+ """com.sos.joc.model.security.configuration.permissions.joc.admin.Accounts"""
690
+ manage: Optional[bool] = None
691
+ view: Optional[bool] = None
692
+
693
+
694
+ class DailyPlanPermissions(BaseModel):
695
+ """com.sos.joc.model.security.configuration.permissions.joc.DailyPlan"""
696
+
697
+ manage: Optional[bool] = None
698
+ """create daily plan, delete submissions"""
699
+
700
+ view: Optional[bool] = None
701
+ """show tab, planned orders, history"""
702
+
703
+
704
+ class AdminSettings(BaseModel):
705
+ """com.sos.joc.model.security.configuration.permissions.joc.admin.Settings"""
706
+
707
+ manage: Optional[bool] = None
708
+ view: Optional[bool] = None
709
+
710
+
711
+ class AdminControllers(BaseModel):
712
+ """com.sos.joc.model.security.configuration.permissions.joc.admin.Controllers"""
713
+
714
+ manage: Optional[bool] = None
715
+ view: Optional[bool] = None
716
+
717
+
718
+ class AdminCertificates(BaseModel):
719
+ """com.sos.joc.model.security.configuration.permissions.joc.admin.Certificates"""
720
+
721
+ manage: Optional[bool] = None
722
+ view: Optional[bool] = None
723
+
724
+
725
+ class AdminCustomization(BaseModel):
726
+ """com.sos.joc.model.security.configuration.permissions.joc.admin.Customization"""
727
+
728
+ manage: Optional[bool] = None
729
+ share: Optional[bool] = None
730
+ """share/makePrvate"""
731
+
732
+ view: Optional[bool] = None
733
+
734
+
735
+ class AdministrationPermissions(BaseModel):
736
+ """com.sos.joc.model.security.configuration.permissions.joc.Administration"""
737
+ accounts: Optional[AdminAccounts] = None
738
+ certificates: Optional[AdminCertificates] = None
739
+ controllers: Optional[AdminControllers] = None
740
+ customization: Optional[AdminCustomization] = None
741
+ settings: Optional[AdminSettings] = None
742
+
743
+
744
+ class CalendarsPermissions(BaseModel):
745
+ """com.sos.joc.model.security.configuration.permissions.joc.Calendars"""
746
+
747
+ view: Optional[bool] = None
748
+
749
+
750
+ class ClusterPermissions(BaseModel):
751
+ """com.sos.joc.model.security.configuration.permissions.joc.Cluster"""
752
+
753
+ manage: Optional[bool] = None
754
+
755
+
756
+ class DocumentationsPermissions(BaseModel):
757
+ """com.sos.joc.model.security.configuration.permissions.joc.Documentations"""
758
+
759
+ manage: Optional[bool] = None
760
+ view: Optional[bool] = None
761
+ """show/export"""
762
+
763
+
764
+ class FileTransferPermissions(BaseModel):
765
+ """com.sos.joc.model.security.configuration.permissions.joc.FileTransfer"""
766
+
767
+ manage: Optional[bool] = None
768
+ view: Optional[bool] = None
769
+ """show history, configuration tab"""
770
+
771
+
772
+ class InventoryPermissions(BaseModel):
773
+ """com.sos.joc.model.security.configuration.permissions.joc.Inventory"""
774
+
775
+ deploy: Optional[bool] = None
776
+ """publishing depoyables and releasables"""
777
+
778
+ manage: Optional[bool] = None
779
+ """edit/restore/assign documentation"""
780
+
781
+ view: Optional[bool] = None
782
+
783
+
784
+ class NotificationPermissions(BaseModel):
785
+ """com.sos.joc.model.security.configuration.permissions.joc.Notification"""
786
+
787
+ manage: Optional[bool] = None
788
+ view: Optional[bool] = None
789
+ """configuration tab"""
790
+
791
+
792
+ class OthersPermissions(BaseModel):
793
+ """com.sos.joc.model.security.configuration.permissions.joc.Others"""
794
+
795
+ manage: Optional[bool] = None
796
+ view: Optional[bool] = None
797
+ """configuration tab"""
798
+
799
+
800
+ class AuditLogPermissions(BaseModel):
801
+ """com.sos.joc.model.security.configuration.permissions.joc.AuditLog"""
802
+
803
+ view: Optional[bool] = None
804
+
805
+
806
+ class JocPermissions(BaseModel):
807
+ """com.sos.joc.model.security.configuration.permissions.JocPermissions"""
808
+
809
+ administration: Optional[AdministrationPermissions] = None
810
+ audit_log: Optional[AuditLogPermissions] = None
811
+ calendars: Optional[CalendarsPermissions] = None
812
+ cluster: Optional[ClusterPermissions] = None
813
+ daily_plan: Optional[DailyPlanPermissions] = None
814
+ documentations: Optional[DocumentationsPermissions] = None
815
+ file_transfer: Optional[FileTransferPermissions] = None
816
+ get_log: Optional[bool] = None
817
+ inventory: Optional[InventoryPermissions] = None
818
+ notification: Optional[NotificationPermissions] = None
819
+ others: Optional[OthersPermissions] = None
820
+
821
+
822
+ class Agents(BaseModel):
823
+ """com.sos.joc.model.security.configuration.permissions.controller.Agents"""
824
+
825
+ view: Optional[bool] = None
826
+ """show resource tab 'agents'"""
827
+
828
+
829
+ class Deployments(BaseModel):
830
+ """com.sos.joc.model.security.configuration.permissions.controller.Deployments"""
831
+
832
+ deploy: Optional[bool] = None
833
+ """add/update/remove releasable and deployable objects"""
834
+
835
+ view: Optional[bool] = None
836
+ """show deployment history"""
837
+
838
+
839
+ class Locks(BaseModel):
840
+ """com.sos.joc.model.security.configuration.permissions.controller.Locks"""
841
+
842
+ view: Optional[bool] = None
843
+ """show resource tab 'locks'"""
844
+
845
+
846
+ class NoticeBoards(BaseModel):
847
+ """com.sos.joc.model.security.configuration.permissions.controller.NoticeBoards"""
848
+ delete: Optional[bool] = None
849
+ """delete notice"""
850
+
851
+ post: Optional[bool] = None
852
+ """post notice"""
853
+
854
+ view: Optional[bool] = None
855
+ """show resource tab 'notice boards'"""
856
+
857
+
858
+ class Orders(BaseModel):
859
+ """com.sos.joc.model.security.configuration.permissions.controller.Orders"""
860
+
861
+ cancel: Optional[bool] = None
862
+ create: Optional[bool] = None
863
+ """add, generate, submit"""
864
+
865
+ manage_positions: Optional[bool] = None
866
+ """skip, unskip, stop, unstop workflow jobs and add/modify order with special
867
+ start-/endposition
868
+ """
869
+ modify: Optional[bool] = None
870
+ suspend_resume: Optional[bool] = None
871
+ """suspend, resume"""
872
+
873
+ view: Optional[bool] = None
874
+ """show order/task widget, overview, order/task history"""
875
+
876
+
877
+ class PermissionWorkflows(BaseModel):
878
+ """com.sos.joc.model.security.configuration.permissions.controller.Workflows"""
879
+
880
+ view: Optional[bool] = None
881
+ """show tab"""
882
+
883
+
884
+ class ControllerPermissions(BaseModel):
885
+ """com.sos.joc.model.security.configuration.permissions.ControllerPermissions"""
886
+
887
+ agents: Optional[Agents] = None
888
+ deployments: Optional[Deployments] = None
889
+ get_log: Optional[bool] = None
890
+ locks: Optional[Locks] = None
891
+ notice_boards: Optional[NoticeBoards] = None
892
+ orders: Optional[Orders] = None
893
+ restart: Optional[bool] = None
894
+ switch_over: Optional[bool] = None
895
+ terminate: Optional[bool] = None
896
+ view: Optional[bool] = None
897
+ workflows: Optional[PermissionWorkflows] = None
898
+
899
+
900
+ class ControllerAgents(BaseModel):
901
+ view: Optional[bool] = None
902
+ """show resource tab 'agents'"""
903
+
904
+
905
+ class ControllerDeployments(BaseModel):
906
+ deploy: Optional[bool] = None
907
+ """add/update/remove releasable and deployable objects"""
908
+
909
+ view: Optional[bool] = None
910
+ """show deployment history"""
911
+
912
+
913
+ class ControllerLocks(BaseModel):
914
+ view: Optional[bool] = None
915
+ """show resource tab 'locks'"""
916
+
917
+
918
+ class ControllerNoticeBoards(BaseModel):
919
+ delete: Optional[bool] = None
920
+ """delete notice"""
921
+
922
+ post: Optional[bool] = None
923
+ """post notice"""
924
+
925
+ view: Optional[bool] = None
926
+ """show resource tab 'notice boards'"""
927
+
928
+
929
+ class ControllerOrders(BaseModel):
930
+ cancel: Optional[bool] = None
931
+ create: Optional[bool] = None
932
+ """add, generate, submit"""
933
+
934
+ manage_positions: Optional[bool] = None
935
+ """skip, unskip, stop, unstop workflow jobs and add/modify order with special
936
+ start-/endposition
937
+ """
938
+ modify: Optional[bool] = None
939
+ suspend_resume: Optional[bool] = None
940
+ """suspend, resume"""
941
+
942
+ view: Optional[bool] = None
943
+ """show order/task widget, overview, order/task history"""
944
+
945
+
946
+ class ControllerWorkflows(BaseModel):
947
+ view: Optional[bool] = None
948
+ """show tab"""
949
+
950
+
951
+ class Controller(BaseModel):
952
+ """com.sos.joc.model.security.configuration.permissions.Controllers"""
953
+
954
+ agents: Optional[ControllerAgents] = None
955
+ deployments: Optional[ControllerDeployments] = None
956
+ get_log: Optional[bool] = None
957
+ locks: Optional[ControllerLocks] = None
958
+ notice_boards: Optional[ControllerNoticeBoards] = None
959
+ orders: Optional[ControllerOrders] = None
960
+ restart: Optional[bool] = None
961
+ switch_over: Optional[bool] = None
962
+ terminate: Optional[bool] = None
963
+ view: Optional[bool] = None
964
+ workflows: Optional[ControllerWorkflows] = None
965
+
966
+
967
+ #############
968
+ # JOC #
969
+ #############
970
+ class Authentication(BaseModel):
971
+ access_token: Optional[str] = None
972
+ account: Optional[str] = None
973
+ caller_host_name: Optional[str] = None
974
+ caller_ip_address: Optional[str] = None
975
+ enable_touch: Optional[bool] = None
976
+ force_password_change: Optional[bool] = None
977
+ has_role: Optional[bool] = None
978
+ identity_service: Optional[str] = None
979
+ is_approval_requestor: Optional[bool] = None
980
+ is_approver: Optional[bool] = None
981
+ is_authenticated: Optional[bool] = None
982
+ is_permitted: Optional[bool] = None
983
+ message: Optional[str] = None
984
+ role: Optional[str] = None
985
+ session_timeout: Optional[int] = None
986
+
987
+
988
+ class SecurityConfiguration(BaseModel):
989
+ """com.sos.joc.model.security.configuration.SecurityConfiguration"""
990
+
991
+ identity_service_name: Optional[str] = None
992
+ accounts: Optional[List[SecurityConfigurationAccount]] = None
993
+ audit_log: Optional[AuditParams] = None
994
+ delivery_date: Optional[datetime] = None
995
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
996
+
997
+ main: Optional[List[SecurityConfigurationMainEntry]] = None
998
+ profiles: Optional[List[Profile]] = None
999
+ roles: Optional[Dict[str, SecurityConfigurationRole]] = None
1000
+
1001
+
1002
+ class Validate(BaseModel):
1003
+ """com.sos.joc.model.inventory.Validate"""
1004
+
1005
+ delivery_date: Optional[datetime] = None
1006
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1007
+
1008
+ invalid_msg: Optional[str] = None
1009
+ valid: Optional[bool] = None
1010
+
1011
+
1012
+ class DeployFilter(BaseModel):
1013
+ """com.sos.joc.model.publish.DeployFilter"""
1014
+
1015
+ add_orders_date_from: Optional[datetime] = None
1016
+ audit_log: Optional[AuditParams] = None
1017
+ controller_ids: List[str]
1018
+ delete: Optional[DeployablesValidFilter] = None
1019
+ include_late: Optional[bool] = None
1020
+ store: Optional[DeployablesValidFilter] = None
1021
+
1022
+ @model_validator(mode="after")
1023
+ def validate_any_of(self):
1024
+ if not (self.store or self.delete):
1025
+ raise ValueError("At least one of 'store' or 'delete' must be provided.")
1026
+ return self
1027
+
1028
+
1029
+ class ShowChangesResponse(BaseModel):
1030
+ """com.sos.joc.model.inventory.changes.ShowChangesResponse"""
1031
+
1032
+ changes: Optional[List[Change]] = None
1033
+ delivery_date: Optional[datetime] = None
1034
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1035
+
1036
+
1037
+ class ShowChangesFilter(BaseModel):
1038
+ """com.sos.joc.model.inventory.changes.ShowChangesFilter"""
1039
+
1040
+ closed: Optional[Timespan] = None
1041
+ created: Optional[Timespan] = None
1042
+ details: Optional[bool] = True
1043
+ last_published_by: Optional[str] = None
1044
+ modified: Optional[Timespan] = None
1045
+ names: Optional[List[str]] = None
1046
+ owner: Optional[str] = None
1047
+ states: Optional[List[ChangeState]] = None
1048
+
1049
+
1050
+ class RevokeFilter(BaseModel):
1051
+ """com.sos.joc.model.publish.RevokeFilter"""
1052
+
1053
+ audit_log: Optional[AuditParams] = None
1054
+ cancel_orders_date_from: Optional[datetime] = None
1055
+ controller_ids: List[str]
1056
+ deploy_configurations: List[Config]
1057
+
1058
+
1059
+ class ReleaseFilter(BaseModel):
1060
+ """com.sos.joc.model.inventory.release.ReleaseFilter"""
1061
+
1062
+ add_orders_date_from: Optional[date] = None
1063
+ audit_log: Optional[AuditParams] = None
1064
+ delete: Optional[List[CommonRequestFilter]] = None
1065
+ include_late: Optional[bool] = None
1066
+ update: Optional[List[CommonRequestFilter]] = None
1067
+
1068
+ @model_validator(mode="after")
1069
+ def validate_any_of(self):
1070
+ if not (self.update or self.delete):
1071
+ raise ValueError("At least one of 'update' or 'delete' must be provided.")
1072
+ return self
1073
+
1074
+
1075
+ class ReleasableRecallFilter(BaseModel):
1076
+ """com.sos.joc.model.inventory.release.ReleasableRecallFilter"""
1077
+
1078
+ audit_log: Optional[AuditParams] = None
1079
+ releasables: Optional[List[Releasable]] = None
1080
+
1081
+
1082
+ class CommonRequestFolder(BaseModel):
1083
+ """com.sos.joc.model.inventory.common.RequestFolder"""
1084
+
1085
+ audit_log: Optional[AuditParams] = None
1086
+ controller_id: Optional[str] = None
1087
+ object_types: Optional[List[CommonConfigurationType]] = None
1088
+ only_valid_objects: Optional[bool] = None
1089
+ path: Optional[str] = None
1090
+ """absolute path of an object."""
1091
+
1092
+ recursive: Optional[bool] = None
1093
+
1094
+
1095
+ class ValidateRequestFolder(BaseModel):
1096
+ """com.sos.joc.model.inventory.validate.RequestFolder"""
1097
+
1098
+ audit_log: Optional[AuditParams] = None
1099
+ path: Optional[str] = None
1100
+ """absolute path of an object."""
1101
+
1102
+ recursive: Optional[bool] = None
1103
+
1104
+
1105
+ class ConfigurationObject(BaseModel):
1106
+ """com.sos.joc.model.inventory.ConfigurationObject"""
1107
+
1108
+ audit_log: Optional[AuditParams] = None
1109
+ configuration: Optional[Dict[str, Any]] = None
1110
+ """interface for different json representations of a configuration item"""
1111
+
1112
+ configuration_date: Optional[datetime] = None
1113
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1114
+
1115
+ deleted: Optional[bool] = None
1116
+ delivery_date: Optional[datetime] = None
1117
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1118
+
1119
+ deployed: Optional[bool] = None
1120
+ deployments: Optional[List[ResponseDeployableVersion]] = None
1121
+ has_deployments: Optional[bool] = None
1122
+ has_note: Optional[Severity] = None
1123
+ has_releases: Optional[bool] = None
1124
+ id: Optional[float] = None
1125
+ invalid_msg: Optional[str] = None
1126
+ is_referenced_by: Optional[Dict[str, int]] = None
1127
+ name: Optional[str] = None
1128
+ object_type: Optional[CommonConfigurationType] = None
1129
+ path: Optional[str] = None
1130
+ """absolute path of an object."""
1131
+
1132
+ released: Optional[bool] = None
1133
+ state: Optional[ItemStateEnum] = None
1134
+ sync_state: Optional[SyncState] = None
1135
+ valid: Optional[bool] = None
1136
+
1137
+
1138
+ class Report(BaseModel):
1139
+ """com.sos.joc.model.inventory.validate.Report"""
1140
+
1141
+ delivery_date: Optional[datetime] = None
1142
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1143
+
1144
+ erroneous_objs: Optional[List[ReportItem]] = None
1145
+ invalid_objs: Optional[List[ReportItem]] = None
1146
+ valid_objs: Optional[List[ReportItem]] = None
1147
+
1148
+
1149
+ class RequestFilters(BaseModel):
1150
+ """com.sos.joc.model.inventory.delete.RequestFilters"""
1151
+ cancel_orders_date_from: Optional[datetime] = None
1152
+ objects: List[CommonRequestFilter]
1153
+ audit_log: Optional[AuditParams] = None
1154
+
1155
+
1156
+ class RequestFolder(BaseModel):
1157
+ """com.sos.joc.model.inventory.delete.RequestFolder"""
1158
+ cancel_orders_date_from: Optional[datetime] = None
1159
+ controller_id: Optional[str] = None
1160
+ path: str
1161
+ recursive: bool = False
1162
+ object_types: Optional[List[CommonConfigurationType]] = None
1163
+ only_valid_objects: bool = False
1164
+ audit_log: Optional[AuditParams] = None
1165
+
1166
+
1167
+ class RestoreRequestFilter(BaseModel):
1168
+ """com.sos.joc.model.inventory.restore.RequestFilter"""
1169
+
1170
+ # Target path / Renaming
1171
+ new_path: Optional[str] = None
1172
+ prefix: Optional[str] = None
1173
+ suffix: Optional[str] = None
1174
+
1175
+ # Identifikation
1176
+ id: Optional[int] = None
1177
+ path: Optional[str] = None
1178
+ object_type: Optional[CommonConfigurationType] = None
1179
+
1180
+ @model_validator(mode="after")
1181
+ def validate_selector(self):
1182
+ has_id = self.id is not None
1183
+ has_path = self.path is not None
1184
+ has_type = self.object_type is not None
1185
+
1186
+ if has_id:
1187
+ # id must not be combined with path/objectType
1188
+ if has_path or has_type:
1189
+ raise ValueError("Use either 'id' OR ('path' + 'object_type'), not both")
1190
+ return self
1191
+
1192
+ # no id → path + object_type required
1193
+ if not (has_path and has_type):
1194
+ raise ValueError("Either 'id' or both 'path' and 'object_type' are required")
1195
+
1196
+ return self
1197
+
1198
+
1199
+ class CommonRequestFilters(BaseModel):
1200
+ """com.sos.joc.model.inventory.common.RequestFilters"""
1201
+
1202
+ audit_log: Optional[AuditParams] = None
1203
+ objects: Optional[List[CommonRequestFilter]] = None
1204
+
1205
+
1206
+ class ResponseNewPath(BaseModel):
1207
+ """
1208
+ com.sos.joc.model.inventory.common.ResponseNewPath\n
1209
+ response of copy, rename, restore
1210
+ """
1211
+
1212
+ delivery_date: Optional[datetime] = None
1213
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1214
+
1215
+ id: Optional[float] = None
1216
+ object_type: Optional[CommonConfigurationType] = None
1217
+ path: Optional[str] = None
1218
+
1219
+
1220
+ class Version(BaseModel):
1221
+ """com.sos.joc.model.Version"""
1222
+
1223
+ date: Optional[str] = None
1224
+ git_hash: Optional[str] = None
1225
+ version: Optional[str] = None
1226
+
1227
+
1228
+ class GetDependenciesRequest(BaseModel):
1229
+ """com.sos.joc.model.inventory.dependencies.GetDependenciesRequest"""
1230
+
1231
+ configurations: Optional[List[RequestItem]] = None
1232
+ operation_type: Optional[OperationType] = None
1233
+
1234
+
1235
+ class ResponseObject(ConfigurationObject):
1236
+ """com.sos.joc.model.inventory.dependencies.get.ResponseObject"""
1237
+
1238
+ enforced_referenced_by: Optional[List[float]] = None
1239
+ enforced_references: Optional[List[float]] = None
1240
+ referenced_by: Optional[List[float]] = None
1241
+ references: Optional[List[float]] = None
1242
+
1243
+
1244
+ class GetDependenciesResponse(BaseModel):
1245
+ """com.sos.joc.model.inventory.dependencies.get.Response"""
1246
+
1247
+ delivery_date: Optional[datetime] = None
1248
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1249
+
1250
+ objects: Optional[Dict[str, ResponseObject]] = None
1251
+ requested_items: Optional[List[float]] = None
1252
+
1253
+
1254
+ class ExportFilter(BaseModel):
1255
+ """com.sos.joc.model.publish.ExportFilter"""
1256
+
1257
+ audit_log: Optional[AuditParams] = None
1258
+ export_file: Optional[ExportFile] = None
1259
+ for_signing: Optional[ExportForSigning] = None
1260
+ shallow_copy: Optional[ExportShallowCopy] = None
1261
+ start_folder: Optional[str] = None
1262
+ use_short_path: Optional[bool] = False
1263
+
1264
+ @model_validator(mode="after")
1265
+ def validate_one_of(self):
1266
+ has_for_signing = self.for_signing is not None
1267
+ has_shallow_copy = self.shallow_copy is not None
1268
+
1269
+ if self.export_file is None:
1270
+ raise ValueError("export_file is required")
1271
+
1272
+ if has_for_signing == has_shallow_copy:
1273
+ raise ValueError("Exactly one of 'for_signing' or 'shallow_copy' must be set")
1274
+
1275
+ return self
1276
+
1277
+
1278
+ class ShallowCopy(BaseModel):
1279
+ """com.sos.joc.model.publish.folder.ExportFolderShallowCopy"""
1280
+
1281
+ folders: List[str]
1282
+ object_types: List[CommonConfigurationType]
1283
+ incl_all_tags: Optional[bool] = False
1284
+ only_valid_objects: Optional[bool] = False
1285
+ recursive: Optional[bool] = False
1286
+ without_deployed: Optional[bool] = False
1287
+ without_drafts: Optional[bool] = False
1288
+ without_released: Optional[bool] = False
1289
+
1290
+
1291
+
1292
+ class ExportFolderForSigning(BaseModel):
1293
+ """com.sos.joc.model.publish.folder.ExportFolderForSigning"""
1294
+
1295
+ controller_id: str
1296
+ folders: List[str]
1297
+ object_types: List[CommonConfigurationType]
1298
+ recursive: Optional[bool] = False
1299
+ without_deployed: Optional[bool] = False
1300
+ without_drafts: Optional[bool] = False
1301
+
1302
+
1303
+
1304
+ class ExportFolderFilter(BaseModel):
1305
+ """com.sos.joc.model.publish.folder.ExportFolderFilter"""
1306
+
1307
+ audit_log: Optional[AuditParams] = None
1308
+ export_file: ExportFile
1309
+ for_signing: Optional[ExportFolderForSigning] = None
1310
+ shallow_copy: Optional[ShallowCopy] = None
1311
+ use_short_path: Optional[bool] = None
1312
+
1313
+ @model_validator(mode="after")
1314
+ def validate_one_of(self) -> Self:
1315
+ has_for_signing = self.for_signing is not None
1316
+ has_shallow_copy = self.shallow_copy is not None
1317
+
1318
+ if has_for_signing == has_shallow_copy:
1319
+ raise ValueError("Exactly one of 'forSigning' or 'shallowCopy' must be set")
1320
+
1321
+ return self
1322
+
1323
+
1324
+ class Permissions(BaseModel):
1325
+ """com.sos.joc.model.security.permissions.Permissions"""
1326
+
1327
+ audit_log: Optional[AuditParams] = None
1328
+ controller_id: str
1329
+ identity_service_name: str
1330
+ permissions: List[Permission]
1331
+ role_name: str
1332
+
1333
+
1334
+ class AccountListFilter(BaseModel):
1335
+ """com.sos.joc.model.security.accounts.AccountListFilter"""
1336
+
1337
+ account_name: Optional[str] = None
1338
+ disabled: Optional[bool] = None
1339
+ enabled: Optional[bool] = None
1340
+ identity_service_name: str
1341
+
1342
+
1343
+ class Account(BaseModel):
1344
+ """com.sos.joc.model.security.accounts.Account"""
1345
+
1346
+ account_name: str
1347
+ audit_log: Optional[AuditParams] = None
1348
+ disabled: Optional[bool] = None
1349
+ """controls if the object is disabled"""
1350
+
1351
+ force_password_change: Optional[bool] = None
1352
+ """controls if the account is forced to change the password"""
1353
+
1354
+ identity_service_name: str
1355
+ password: Optional[str] = None
1356
+ roles: Optional[List[str]] = None
1357
+
1358
+
1359
+ class Accounts(BaseModel):
1360
+ """com.sos.joc.model.security.accounts.Accounts"""
1361
+
1362
+ account_items: Optional[List[Account]] = None
1363
+ delivery_date: Optional[datetime] = None
1364
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1365
+
1366
+ identity_service_name: Optional[str] = None
1367
+
1368
+
1369
+ class BlockedAccountsFilter(BaseModel):
1370
+ """com.sos.joc.model.security.blocklist.BlockedAccountsFilter"""
1371
+
1372
+ account_name: Optional[str] = None
1373
+ date_from: Optional[datetime] = None
1374
+ """ISO 8601 datetime"""
1375
+
1376
+ date_to: Optional[datetime] = None
1377
+ """ISO 8601 datetime"""
1378
+
1379
+ limit: Optional[int] = None
1380
+ """restricts the number of responsed records; -1=unlimited"""
1381
+
1382
+ time_zone: Optional[str] = None
1383
+
1384
+
1385
+ class BlockedAccount(BaseModel):
1386
+ """com.sos.joc.model.security.blocklist.BlockedAccount"""
1387
+
1388
+ account_name: str
1389
+ audit_log: Optional[AuditParams] = None
1390
+ comment: Optional[str] = None
1391
+ since: Optional[datetime] = None
1392
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1393
+
1394
+
1395
+ class BlockedAccounts(BaseModel):
1396
+ """com.sos.joc.model.security.blocklist.BlockedAccounts"""
1397
+
1398
+ blocked_accounts: Optional[List[BlockedAccount]] = None
1399
+ delivery_date: Optional[datetime] = None
1400
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1401
+
1402
+
1403
+ class AccountRename(BaseModel):
1404
+ """com.sos.joc.model.security.accounts.AccountRename"""
1405
+
1406
+ account_new_name: str
1407
+ account_old_name: str
1408
+ audit_log: Optional[AuditParams] = None
1409
+ identity_service_name: str
1410
+
1411
+
1412
+ class AccountsFilter(BaseModel):
1413
+ """com.sos.joc.model.security.accounts.AccountsFilter"""
1414
+
1415
+ account_names: List[str]
1416
+ audit_log: Optional[AuditParams] = None
1417
+ disabled: Optional[bool] = None
1418
+ enabled: Optional[bool] = None
1419
+ identity_service_name: str
1420
+
1421
+
1422
+ class AccountFilter(BaseModel):
1423
+ """com.sos.joc.model.security.accounts.AccountFilter"""
1424
+
1425
+ account_name: str
1426
+ audit_log: Optional[AuditParams] = None
1427
+ identity_service_name: str
1428
+
1429
+
1430
+ class ConfigurationPermissions(BaseModel):
1431
+ """com.sos.joc.model.security.configuration.permissions.Permissions"""
1432
+
1433
+ controller_defaults: Optional[ControllerPermissions] = None
1434
+ controllers: Optional[Dict[str, Controller]] = None
1435
+ joc: Optional[JocPermissions] = None
1436
+ roles: Optional[List[str]] = None
1437
+
1438
+
1439
+ class AccountChangePassword(BaseModel):
1440
+ """com.sos.joc.model.security.accounts.AccountChangePassword"""
1441
+
1442
+ account_name: str
1443
+ audit_log: Optional[AuditParams] = None
1444
+ force_password_change: Optional[bool] = None
1445
+ """controls if the account is forced to change the password"""
1446
+
1447
+ identity_service_name: str
1448
+ old_password: Optional[str] = None
1449
+ password: Optional[str] = None
1450
+ repeated_password: Optional[str] = None
1451
+
1452
+
1453
+ class AccountNamesFilter(BaseModel):
1454
+ """com.sos.joc.model.security.accounts.AccountNamesFilter"""
1455
+
1456
+ account_names: List[str]
1457
+ audit_log: Optional[AuditParams] = None
1458
+ identity_service_name: str
1459
+
1460
+
1461
+ class BlockedAccountsDeleteFilter(BaseModel):
1462
+ """com.sos.joc.model.security.blocklist.BlockedAccountsDeleteFilter"""
1463
+
1464
+ account_names: List[str]
1465
+ audit_log: Optional[AuditParams] = None
1466
+
1467
+
1468
+ class RoleFilter(BaseModel):
1469
+ """com.sos.joc.model.security.roles.RoleFilter"""
1470
+
1471
+ audit_log: Optional[AuditParams] = None
1472
+ identity_service_name: str
1473
+ role_name: str
1474
+
1475
+
1476
+ class Role(BaseModel):
1477
+ """com.sos.joc.model.security.roles.Role"""
1478
+
1479
+ audit_log: Optional[AuditParams] = None
1480
+ controllers: Optional[List[str]] = None
1481
+ identity_service_name: str
1482
+ ordering: Optional[int] = None
1483
+ role_name: str
1484
+
1485
+
1486
+ class RoleListFilter(BaseModel):
1487
+ """com.sos.joc.model.security.roles.RoleListFilter"""
1488
+
1489
+ identity_service_name: str
1490
+
1491
+
1492
+ class Roles(BaseModel):
1493
+ """com.sos.joc.model.security.roles.Roles"""
1494
+
1495
+ identity_service_name: str
1496
+ roles: Optional[List[Role]] = None
1497
+
1498
+
1499
+ class RoleStore(BaseModel):
1500
+ """com.sos.joc.model.security.roles.RoleStore"""
1501
+
1502
+ audit_log: Optional[AuditParams] = None
1503
+ identity_service_name: str
1504
+ ordering: Optional[int] = None
1505
+ role_name: str
1506
+
1507
+
1508
+ class RoleRename(BaseModel):
1509
+ """com.sos.joc.model.security.roles.RoleRename"""
1510
+
1511
+ audit_log: Optional[AuditParams] = None
1512
+ identity_service_name: str
1513
+ role_new_name: str
1514
+ role_old_name: str
1515
+
1516
+
1517
+ class RolesFilter(BaseModel):
1518
+ """com.sos.joc.model.security.roles.RolesFilter"""
1519
+
1520
+ audit_log: Optional[AuditParams] = None
1521
+ identity_service_name: str
1522
+ role_names: List[str]
1523
+
1524
+
1525
+ class PermissionFilter(BaseModel):
1526
+ """com.sos.joc.model.security.permissions.PermissionFilter"""
1527
+
1528
+ audit_log: Optional[AuditParams] = None
1529
+ controller_id: Optional[str] = None
1530
+ identity_service_name: str
1531
+ permission_path: str
1532
+ role_name: str
1533
+
1534
+
1535
+ class PermissionItem(BaseModel):
1536
+ """com.sos.joc.model.security.permissions.PermissionItem"""
1537
+
1538
+ audit_log: Optional[AuditParams] = None
1539
+ controller_id: Optional[str] = None
1540
+ identity_service_name: Optional[str] = None
1541
+ permission: Optional[Permission] = None
1542
+ role_name: Optional[str] = None
1543
+
1544
+
1545
+ class PermissionListFilter(BaseModel):
1546
+ """com.sos.joc.model.security.permissions.PermissionListFilter"""
1547
+
1548
+ controller_id: Optional[str] = None
1549
+ identity_service_name: str
1550
+ role_name: str
1551
+
1552
+
1553
+ class PermissionRename(BaseModel):
1554
+ """com.sos.joc.model.security.permissions.PermissionRename"""
1555
+
1556
+ audit_log: Optional[AuditParams] = None
1557
+ controller_id: str
1558
+ identity_service_name: str
1559
+ new_permission: Permission
1560
+ old_permission_path: str
1561
+ role_name: str
1562
+
1563
+
1564
+ class PermissionsFilter(BaseModel):
1565
+ """com.sos.joc.model.security.permissions.PermissionsFilter"""
1566
+
1567
+ audit_log: Optional[AuditParams] = None
1568
+ controller_id: Optional[str] = None
1569
+ identity_service_name: str
1570
+ permission_paths: List[str]
1571
+ role_name: str
1572
+
1573
+
1574
+ class FolderFilter(BaseModel):
1575
+ """com.sos.joc.model.security.folders.FolderFilter"""
1576
+
1577
+ audit_log: Optional[AuditParams] = None
1578
+ controller_id: str
1579
+ folder_name: str
1580
+ identity_service_name: str
1581
+ role_name: str
1582
+
1583
+
1584
+ class FolderItem(BaseModel):
1585
+ """com.sos.joc.model.security.folders.FolderItem"""
1586
+
1587
+ audit_log: Optional[AuditParams] = None
1588
+ controller_id: Optional[str] = None
1589
+ folder: Optional[Folder] = None
1590
+ identity_service_name: Optional[str] = None
1591
+ role_name: Optional[str] = None
1592
+
1593
+
1594
+ class FolderListFilter(BaseModel):
1595
+ """com.sos.joc.model.security.folders.FolderListFilter"""
1596
+
1597
+ controller_id: Optional[str] = None
1598
+ identity_service_name: str
1599
+ role_name: str
1600
+
1601
+
1602
+ class Folders(BaseModel):
1603
+ """com.sos.joc.model.security.folders.Folders"""
1604
+
1605
+ audit_log: Optional[AuditParams] = None
1606
+ controller_id: str
1607
+ folders: List[Folder]
1608
+ identity_service_name: str
1609
+ role_name: str
1610
+
1611
+
1612
+ class FolderRename(BaseModel):
1613
+ """com.sos.joc.model.security.folders.FolderRename"""
1614
+
1615
+ audit_log: Optional[AuditParams] = None
1616
+ controller_id: str
1617
+ identity_service_name: str
1618
+ new_folder: Folder
1619
+ old_folder_name: str
1620
+ role_name: str
1621
+
1622
+
1623
+ class FoldersFilter(BaseModel):
1624
+ """com.sos.joc.model.security.permissions.FoldersFilter"""
1625
+
1626
+ audit_log: Optional[AuditParams] = None
1627
+ controller_id: Optional[str] = None
1628
+ folder_names: List[str]
1629
+ identity_service_name: str
1630
+ role_name: str
1631
+
1632
+
1633
+ class IdentityServiceFilter(BaseModel):
1634
+ """com.sos.joc.model.security.identityservice.IdentityServiceFilter"""
1635
+
1636
+ audit_log: Optional[AuditParams] = None
1637
+ identity_service_name: Optional[str] = None
1638
+
1639
+
1640
+ class IdentityService(BaseModel):
1641
+ """com.sos.joc.model.security.identityservice.IdentityService"""
1642
+
1643
+ audit_log: Optional[AuditParams] = None
1644
+ disabled: Optional[bool] = None
1645
+ """controls if the object is disabled"""
1646
+
1647
+ identity_service_name: str
1648
+ identity_service_type: Optional[IdentityServiceType] = None
1649
+ ordering: Optional[int] = None
1650
+ required: Optional[bool] = None
1651
+ """controls if the identity service is required"""
1652
+
1653
+ second_factor: Optional[bool] = None
1654
+ """Identity Service is used as a second factor"""
1655
+
1656
+ second_factor_identity_service_name: Optional[str] = None
1657
+ service_authentication_scheme: ServiceAuthenticationScheme
1658
+
1659
+
1660
+ class IdentityServices(BaseModel):
1661
+ """com.sos.joc.model.security.identityservice.IdentityServices"""
1662
+
1663
+ delivery_date: Optional[datetime] = None
1664
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1665
+
1666
+ identity_service_items: Optional[List[IdentityService]] = None
1667
+ identity_service_types: Optional[List[IdentityServiceType]] = None
1668
+
1669
+
1670
+ class IdentityServiceRename(BaseModel):
1671
+ """com.sos.joc.model.security.identityservice.IdentityServiceRename"""
1672
+
1673
+ audit_log: Optional[AuditParams] = None
1674
+ identity_service_new_name: str
1675
+ identity_service_old_name: str
1676
+
1677
+
1678
+ class ReadFromFilter(BaseModel):
1679
+ """com.sos.joc.model.publish.repository.ReadFromFilter"""
1680
+
1681
+ category: Category
1682
+ folder: str
1683
+ """absolute path of an object."""
1684
+
1685
+ recursive: Optional[bool] = None
1686
+
1687
+
1688
+ class ResponseFolderItem(BaseModel):
1689
+ """com.sos.joc.model.publish.repository.ResponseFolderItem"""
1690
+
1691
+ folder: Optional[str] = None
1692
+ """absolute path of an object."""
1693
+
1694
+ last_modified: Optional[datetime] = None
1695
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1696
+
1697
+ object_name: Optional[str] = None
1698
+ object_type: Optional[CommonConfigurationType] = None
1699
+
1700
+
1701
+ class ResponseFolder(BaseModel):
1702
+ """com.sos.joc.model.publish.repository.ResponseFolder"""
1703
+
1704
+ folders: Optional[List[Any]] = None
1705
+ items: Optional[List[ResponseFolderItem]] = None
1706
+ last_modified: Optional[datetime] = None
1707
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1708
+
1709
+ name: Optional[str] = None
1710
+ path: Optional[str] = None
1711
+ """absolute path of an object."""
1712
+
1713
+
1714
+ class UpdateFromFilter(BaseModel):
1715
+ """com.sos.joc.model.publish.repository.UpdateFromFilter"""
1716
+
1717
+ audit_log: Optional[AuditParams] = None
1718
+ category: Category
1719
+ configurations: List[Config]
1720
+
1721
+
1722
+ class Configurations(BaseModel):
1723
+ """com.sos.joc.model.publish.repository.Configurations"""
1724
+
1725
+ deploy_configurations: Optional[List[Config]] = None
1726
+ draft_configurations: Optional[List[Config]] = None
1727
+ released_configurations: Optional[List[Config]] = None
1728
+
1729
+ @model_validator(mode="after")
1730
+ def validate_any_of(self):
1731
+ if (
1732
+ not self.deploy_configurations
1733
+ and not self.draft_configurations
1734
+ and not self.released_configurations
1735
+ ):
1736
+ raise ValueError(
1737
+ "At least one of the following parameters must not be None: "
1738
+ "deploy_configurations, draft_configurations, released_configurations."
1739
+ )
1740
+ return self
1741
+
1742
+
1743
+ class CopyToFilter(BaseModel):
1744
+ """com.sos.joc.model.publish.repository.CopyToFilter"""
1745
+
1746
+ audit_log: Optional[AuditParams] = None
1747
+ controller_id: Optional[str] = None
1748
+ local: Optional[Configurations] = None
1749
+ rollout: Optional[Configurations] = None
1750
+
1751
+ @model_validator(mode="after")
1752
+ def validate_one_of(self):
1753
+ if (self.local and self.rollout) or (not self.local and not self.rollout):
1754
+ raise ValueError("Exactly one of 'local' or 'rollout' must be set.")
1755
+ return self
1756
+
1757
+
1758
+ class DeleteFromFilter(BaseModel):
1759
+ """com.sos.joc.model.publish.repository.DeleteFromFilter"""
1760
+
1761
+ audit_log: Optional[AuditParams] = None
1762
+ category: Category
1763
+ configurations: List[PublishConfiguration]
1764
+
1765
+
1766
+ class CheckoutFilter(BaseModel):
1767
+ """com.sos.joc.model.publish.git.commands.CheckoutFilter"""
1768
+
1769
+ audit_log: Optional[AuditParams] = None
1770
+ branch: Optional[str] = None
1771
+ category: Optional[Category] = None
1772
+ folder: Optional[str] = None
1773
+ tag: Optional[str] = None
1774
+
1775
+ @model_validator(mode="after")
1776
+ def validate_one_of(self):
1777
+ branch_set = all([self.branch, self.folder, self.category])
1778
+ tag_set = all([self.tag, self.folder, self.category])
1779
+
1780
+ if (branch_set and tag_set) or (not branch_set and not tag_set):
1781
+ raise ValueError(
1782
+ "One of the following parameter sets must be provided: "
1783
+ "(branch, folder, category) or (tag, folder, category)."
1784
+ )
1785
+
1786
+ return self
1787
+
1788
+
1789
+ class GitCommandResponse(BaseModel):
1790
+ """com.sos.joc.model.publish.git.commands.GitCommandResponse"""
1791
+
1792
+ command: Optional[str] = None
1793
+ exit_code: Optional[int] = None
1794
+ std_err: Optional[str] = None
1795
+ std_out: Optional[str] = None
1796
+
1797
+
1798
+ class CloneFilter(BaseModel):
1799
+ """com.sos.joc.model.publish.git.commands.CloneFilter"""
1800
+
1801
+ audit_log: Optional[AuditParams] = None
1802
+ category: Category
1803
+ folder: str
1804
+ remote_url: str
1805
+ """Git Remote URL"""
1806
+
1807
+
1808
+ class CommonFilter(BaseModel):
1809
+ """com.sos.joc.model.publish.git.commands.CommonFilter"""
1810
+
1811
+ audit_log: Optional[AuditParams] = None
1812
+ category: Category
1813
+ folder: str
1814
+
1815
+
1816
+ class CommitFilter(BaseModel):
1817
+ """com.sos.joc.model.publish.git.commands.CommitFilter"""
1818
+
1819
+ audit_log: Optional[AuditParams] = None
1820
+ category: Category
1821
+ folder: str
1822
+ message: Optional[str] = None
1823
+
1824
+
1825
+ class GitCredentials(BaseModel):
1826
+ """com.sos.joc.model.publish.git.GitCredentials"""
1827
+
1828
+ email: str
1829
+ git_account: str
1830
+ git_server: str
1831
+ keyfile_path: Optional[str] = None
1832
+ """path or filename of a private Key. Empty filename possible."""
1833
+
1834
+ password: Optional[str] = None
1835
+ personal_access_token: Optional[str] = None
1836
+ username: str
1837
+
1838
+ @model_validator(mode="after")
1839
+ def validate_one_of(self):
1840
+ # exactly one auth method
1841
+ auth_methods = [
1842
+ self.password,
1843
+ self.personal_access_token,
1844
+ self.keyfile_path,
1845
+ ]
1846
+
1847
+ if sum(value is not None for value in auth_methods) != 1:
1848
+ raise ValueError(
1849
+ "Exactly one authentication method must be provided: "
1850
+ "password, personal_access_token, or keyfile_path."
1851
+ )
1852
+
1853
+ return self
1854
+
1855
+
1856
+ class RemoveCredentialsFilter(BaseModel):
1857
+ """com.sos.joc.model.publish.git.RemoveCredentialsFilter"""
1858
+
1859
+ audit_log: Optional[AuditParams] = None
1860
+ git_servers: List[str]
1861
+
1862
+
1863
+ class AddCredentialsFilter(BaseModel):
1864
+ """com.sos.joc.model.publish.git.AddCredentialsFilter"""
1865
+
1866
+ audit_log: Optional[AuditParams] = None
1867
+ credentials: List[GitCredentials]
1868
+
1869
+
1870
+ class WorkflowID(BaseModel):
1871
+ """com.sos.controller.model.workflow.WorkflowId"""
1872
+
1873
+ path: Optional[str] = None
1874
+ version_id: Optional[str] = None
1875
+
1876
+
1877
+ class ModifyOrdersBase(BaseModel):
1878
+ """com.sos.joc.model.order.ModifyOrdersBase"""
1879
+
1880
+ audit_log: Optional[AuditParams] = None
1881
+ controller_id: str
1882
+ folders: Optional[List[Folder]] = None
1883
+ order_ids: Optional[List[str]] = None
1884
+ states: Optional[List[OrderStateText]] = None
1885
+ workflow_ids: Optional[List[WorkflowID]] = None
1886
+
1887
+ @model_validator(mode="after")
1888
+ def validate_order_ids(self):
1889
+ if not self.order_ids:
1890
+ return self
1891
+
1892
+ ignored_params: List[Any] = [self.workflow_ids, self.folders, self.states]
1893
+
1894
+ if sum(value is not None for value in ignored_params) != 0:
1895
+ raise ValueError("The parameters 'workflow_ids', 'folders' and 'states' are ignored.")
1896
+
1897
+ return self
1898
+
1899
+ @model_validator(mode="after")
1900
+ def validate_workflow_ids(self):
1901
+ if not self.workflow_ids:
1902
+ return self
1903
+
1904
+ if self.folders:
1905
+ raise ValueError("The parameter 'folders' are ignored.")
1906
+
1907
+ return self
1908
+
1909
+
1910
+ class CancelOrders(ModifyOrdersBase):
1911
+ """com.sos.joc.model.order.CancelOrders"""
1912
+
1913
+ date_from: Optional[datetime] = None
1914
+ date_to: Optional[datetime] = None
1915
+ time_zone: Optional[str] = None
1916
+ kill: Optional[bool] = None
1917
+ deep: Optional[bool] = None
1918
+
1919
+
1920
+ class PlanID(BaseModel):
1921
+ """com.sos.joc.model.plan.PlanId"""
1922
+
1923
+ notice_space_key: str
1924
+ plan_schema_id: str
1925
+
1926
+
1927
+ class AddOrder(BaseModel):
1928
+ """com.sos.joc.model.order.AddOrder"""
1929
+
1930
+ arguments: Optional[Dict[str, Any]] = None
1931
+ """a map for arbitrary key-value pairs"""
1932
+
1933
+ block_position: Optional[Union[List[Union[int, str]], str]] = None
1934
+ end_positions: Optional[List[Union[List[Union[int, str]], str]]] = None
1935
+ force_job_admission: Optional[bool] = None
1936
+ open_closed_plan: Optional[bool] = None
1937
+ order_name: str
1938
+ plan_id: Optional[PlanID] = None
1939
+ priority: Optional[int] = None
1940
+ scheduled_for: Optional[str] = None
1941
+ """ISO format yyyy-mm-dd HH:MM[:SS] or now or now + HH:MM[:SS] or now + SECONDS or empty"""
1942
+
1943
+ start_position: Optional[Union[List[Union[int, str]], str]] = None
1944
+ tags: Optional[List[str]] = None
1945
+ time_zone: Optional[str] = None
1946
+ """see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"""
1947
+
1948
+ workflow_path: str
1949
+
1950
+
1951
+ class AddOrders(BaseModel):
1952
+ """com.sos.joc.model.order.AddOrders"""
1953
+
1954
+ audit_log: Optional[AuditParams] = None
1955
+ controller_id: str
1956
+ orders: List[AddOrder]
1957
+
1958
+
1959
+ class OrderIDS(BaseModel):
1960
+ """com.sos.joc.model.order.OrderIds"""
1961
+
1962
+ delivery_date: datetime
1963
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
1964
+
1965
+ order_ids: Optional[List[str]] = None
1966
+
1967
+
1968
+ class RequestFilter(BaseModel):
1969
+ """com.sos.joc.model.inventory.restore.RequestFilter"""
1970
+
1971
+ new_path: Optional[str] = None
1972
+ prefix: Optional[str] = None
1973
+ suffix: Optional[str] = None
1974
+ id: Optional[str] = None
1975
+ path: Optional[str] = None
1976
+ object_type: Optional[CommonConfigurationType] = None
1977
+ audit_log: Optional[AuditParams] = None
1978
+
1979
+ @model_validator(mode="after")
1980
+ def validate_identifier(self):
1981
+ has_id = self.id is not None
1982
+ has_path_and_type = self.path is not None and self.object_type is not None
1983
+
1984
+ if not (has_id or has_path_and_type):
1985
+ raise ValueError(
1986
+ "Either 'id' must be provided, or both 'path' and 'object_type' must be set."
1987
+ )
1988
+
1989
+ return self
1990
+
1991
+
1992
+ class URLParameter(BaseModel):
1993
+ """com.sos.joc.model.controller.UrlParameter"""
1994
+
1995
+ audit_log: Optional[AuditParams] = None
1996
+ controller_id: str
1997
+ url: Optional[str] = None
1998
+ with_switchover: Optional[bool] = None
1999
+
2000
+
2001
+ class ClusterNodeState(BaseModel):
2002
+ """com.sos.joc.model.controller.ClusterNodeState"""
2003
+
2004
+ text: Optional[ClusterNodeStateText] = None
2005
+ severity: Optional[int] = None
2006
+ """0=active, 1=inactive, 3=unknown"""
2007
+
2008
+ class ComponentState(BaseModel):
2009
+ """com.sos.joc.model.controller.ComponentState"""
2010
+
2011
+ text: Optional[ComponentStateText] = None
2012
+ severity: Optional[int] = None
2013
+ """0=operational, 1=limited, 2=inoperable, 3=unknown"""
2014
+
2015
+
2016
+ class ConnectionState(BaseModel):
2017
+ """com.sos.joc.model.controller.ConnectionState"""
2018
+
2019
+ text: Optional[ConnectionStateText] = None
2020
+ severity: Optional[int] = None
2021
+ """0=established, 1=unstable, 2=unreachable, 3=unknown"""
2022
+
2023
+
2024
+ class OS(BaseModel):
2025
+ architecture: Optional[str] = None
2026
+ distribution: Optional[str] = None
2027
+ """e.g. Windows 2012, CentOS Linux release 7.2.1511 (Core)"""
2028
+
2029
+
2030
+ class ControllerInfo(BaseModel):
2031
+ """com.sos.joc.model.controller.Controller"""
2032
+
2033
+ cluster_node_state: Optional[ClusterNodeState] = None
2034
+ cluster_url: Optional[str] = None
2035
+ component_state: Optional[ComponentState] = None
2036
+ connection_state: Optional[ConnectionState] = None
2037
+ controller_id: Optional[str] = None
2038
+ host: Optional[str] = None
2039
+ id: Optional[float] = None
2040
+ is_coupled: Optional[bool] = None
2041
+ os: Optional[OS] = None
2042
+ role: Optional[ControllerRole] = None
2043
+ security_level: Optional[JocSecurityLevel] = None
2044
+ started_at: Optional[datetime] = None
2045
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2046
+
2047
+ survey_date: Optional[datetime] = None
2048
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2049
+
2050
+ title: Optional[str] = None
2051
+ url: Optional[str] = None
2052
+ version: Optional[str] = None
2053
+
2054
+
2055
+ class JobScheduler200(BaseModel):
2056
+ """com.sos.joc.model.controller.JobScheduler200"""
2057
+
2058
+ controller: Optional[ControllerInfo] = None
2059
+ delivery_date: Optional[datetime] = None
2060
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2061
+
2062
+
2063
+ class TestConnect(BaseModel):
2064
+ """com.sos.joc.model.controller.TestConnect"""
2065
+
2066
+ controller_id: Optional[str] = None
2067
+ url: str
2068
+
2069
+
2070
+ class RegisterParameter(BaseModel):
2071
+ """com.sos.joc.model.controller.RegisterParameter"""
2072
+
2073
+ cluster_url: Optional[str] = None
2074
+ id: Optional[float] = None
2075
+ role: Optional[ControllerRole] = None
2076
+ title: Optional[str] = None
2077
+ url: Optional[str] = None
2078
+
2079
+
2080
+ class RegisterParameters(BaseModel):
2081
+ """com.sos.joc.model.controller.RegisterParameters"""
2082
+
2083
+ audit_log: Optional[AuditParams] = None
2084
+ controller_id: Optional[str] = None
2085
+ controllers: Optional[List[RegisterParameter]] = None
2086
+
2087
+
2088
+ class Agent(BaseModel):
2089
+ """com.sos.joc.model.agent.Agent"""
2090
+
2091
+ agent_id: Optional[str] = None
2092
+ agent_name: Optional[str] = None
2093
+ agent_name_aliases: Optional[List[str]] = None
2094
+ controller_id: Optional[str] = None
2095
+ deployed: Optional[bool] = None
2096
+ disabled: Optional[bool] = None
2097
+ hidden: Optional[bool] = None
2098
+ ordering: Optional[int] = None
2099
+ process_limit: Optional[int] = None
2100
+ sync_state: Optional[SyncState] = None
2101
+ title: Optional[str] = None
2102
+ url: Optional[str] = None
2103
+ version: Optional[str] = None
2104
+
2105
+
2106
+ class StoreAgents(BaseModel):
2107
+ """com.sos.joc.model.agent.StoreAgents"""
2108
+
2109
+ agents: Optional[List[Agent]] = None
2110
+ audit_log: Optional[AuditParams] = None
2111
+ controller_id: Optional[str] = None
2112
+ update: Optional[bool] = None
2113
+ """if true than agents can only be updated"""
2114
+
2115
+
2116
+ class Subagent(BaseModel):
2117
+ """com.sos.joc.model.agent.SubAgent"""
2118
+
2119
+ agent_id: Optional[str] = None
2120
+ deployed: Optional[bool] = None
2121
+ disabled: Optional[bool] = None
2122
+ is_director: Optional[SubagentDirectorType] = None
2123
+ ordering: Optional[int] = None
2124
+ subagent_id: Optional[str] = None
2125
+ sync_state: Optional[SyncState] = None
2126
+ title: Optional[str] = None
2127
+ url: Optional[str] = None
2128
+ version: Optional[str] = None
2129
+ with_generate_subagent_cluster: Optional[bool] = None
2130
+
2131
+
2132
+ class ClusterAgent(Agent):
2133
+ subagents: Optional[List[Subagent]] = None
2134
+
2135
+
2136
+ class StoreClusterAgents(BaseModel):
2137
+ """com.sos.joc.model.agent.StoreClusterAgents"""
2138
+
2139
+ audit_log: Optional[AuditParams] = None
2140
+ cluster_agents: Optional[List[ClusterAgent]] = None
2141
+ controller_id: Optional[str] = None
2142
+ update: Optional[bool] = None
2143
+ """if true than agents can only be updated"""
2144
+
2145
+
2146
+ class StoreSubAgents(BaseModel):
2147
+ """com.sos.joc.model.agent.StoreSubAgents"""
2148
+
2149
+ agent_id: Optional[str] = None
2150
+ audit_log: Optional[AuditParams] = None
2151
+ controller_id: Optional[str] = None
2152
+ subagents: Optional[List[Subagent]] = None
2153
+ update: Optional[bool] = None
2154
+ """if true than agents can only be updated"""
2155
+
2156
+
2157
+ class AgentCommand(BaseModel):
2158
+ """com.sos.joc.model.agent.AgentCommand"""
2159
+
2160
+ agent_id: Optional[str] = None
2161
+ audit_log: Optional[AuditParams] = None
2162
+ controller_id: Optional[str] = None
2163
+ force: Optional[bool] = None
2164
+ """only relevant for reset agent"""
2165
+
2166
+
2167
+ class DeployAgents(BaseModel):
2168
+ """com.sos.joc.model.agent.DeployAgents"""
2169
+
2170
+ agent_ids: Optional[List[str]] = None
2171
+ audit_log: Optional[AuditParams] = None
2172
+ controller_id: Optional[str] = None
2173
+
2174
+
2175
+ class DeployClusterAgents(BaseModel):
2176
+ """com.sos.joc.model.agent.DeployClusterAgents"""
2177
+
2178
+ audit_log: Optional[AuditParams] = None
2179
+ cluster_agent_ids: Optional[List[str]] = None
2180
+ controller_id: Optional[str] = None
2181
+
2182
+
2183
+ class SubAgentsCommand(BaseModel):
2184
+ """com.sos.joc.model.agent.SubAgentsCommand"""
2185
+
2186
+ audit_log: Optional[AuditParams] = None
2187
+ controller_id: Optional[str] = None
2188
+ subagent_ids: Optional[List[str]] = None
2189
+
2190
+
2191
+ class SubagentID(BaseModel):
2192
+ """com.sos.joc.model.agent.SubAgentId"""
2193
+
2194
+ priority: Optional[Union[int, str]] = None
2195
+ subagent_id: Optional[str] = None
2196
+
2197
+
2198
+ class SubagentCluster(BaseModel):
2199
+ """com.sos.joc.model.agent.SubagentCluster"""
2200
+
2201
+ agent_id: Optional[str] = None
2202
+ controller_id: Optional[str] = None
2203
+ deployed: Optional[bool] = None
2204
+ ordering: Optional[int] = None
2205
+ subagent_cluster_id: Optional[str] = None
2206
+ subagent_ids: Optional[List[SubagentID]] = None
2207
+ sync_state: Optional[SyncState] = None
2208
+ title: Optional[str] = None
2209
+
2210
+
2211
+ class StoreSubagentClusters(BaseModel):
2212
+ """com.sos.joc.model.agent.StoreSubagentClusters"""
2213
+
2214
+ audit_log: Optional[AuditParams] = None
2215
+ subagent_clusters: Optional[List[SubagentCluster]] = None
2216
+ update: Optional[bool] = None
2217
+ """if true than agents can only be updated"""
2218
+
2219
+
2220
+ class DeploySubagentClusters(BaseModel):
2221
+ """com.sos.joc.model.agent.DeploySubagentClusters"""
2222
+
2223
+ audit_log: Optional[AuditParams] = None
2224
+ controller_id: Optional[str] = None
2225
+ subagent_cluster_ids: Optional[List[str]] = None
2226
+
2227
+
2228
+ class OrdersFilterV(BaseModel):
2229
+ compact: Optional[bool] = None
2230
+ """controls if the object's data is compact or detailed"""
2231
+
2232
+ limit: Optional[int] = None
2233
+ """-1=unlimited"""
2234
+
2235
+ order_ids: Optional[List[str]] = None
2236
+ order_tags: Optional[List[str]] = None
2237
+ regex: Optional[str] = None
2238
+ """regular expression to filter Controller objects by matching the path"""
2239
+
2240
+ state_date_from: Optional[Union[str, datetime]] = None
2241
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2242
+
2243
+ state_date_to: Optional[Union[str, datetime]] = None
2244
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2245
+
2246
+ states: Optional[List[OrderStateText]] = None
2247
+ without_workflow_tags: Optional[bool] = None
2248
+ """if true then response doesn't contain 'workflowsTagPerWorkflow'"""
2249
+
2250
+ workflow_tags: Optional[List[str]] = None
2251
+ controller_id: str
2252
+
2253
+
2254
+ class OrderAttachedState(BaseModel):
2255
+ """com.sos.controller.model.order.OrderAttachedState"""
2256
+
2257
+ agentName: Optional[str] = None
2258
+ TYPE: Optional[str] = None
2259
+ """Attaching, Attached, ..."""
2260
+
2261
+
2262
+ class OrderCycleState(BaseModel):
2263
+ """com.sos.controller.model.order.OrderCycleState"""
2264
+
2265
+ index: Optional[int] = None
2266
+ next: Optional[datetime] = None
2267
+ since: Optional[datetime] = None
2268
+
2269
+
2270
+ class CyclicOrderInfos(BaseModel):
2271
+ """com.sos.joc.model.dailyplan.CyclicOrderInfos"""
2272
+
2273
+ count: Optional[int] = None
2274
+ first_order_id: Optional[str] = None
2275
+ first_start: Optional[datetime] = None
2276
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2277
+
2278
+ last_order_id: Optional[str] = None
2279
+ last_start: Optional[datetime] = None
2280
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2281
+
2282
+
2283
+ class ExpectedNotice(BaseModel):
2284
+ """com.sos.controller.model.order.ExpectedNotice"""
2285
+
2286
+ board_name: Optional[str] = None
2287
+ notice_id: Optional[str] = None
2288
+
2289
+
2290
+ class Outcome(BaseModel):
2291
+ """com.sos.controller.model.common.Outcome"""
2292
+
2293
+ TYPE: Optional[str] = None
2294
+ namedValues: Optional[Dict[str, Any]] = None
2295
+ outcome: Any
2296
+
2297
+
2298
+ class HistoricOutcome(BaseModel):
2299
+ """com.sos.controller.model.workflow.HistoricOutcome"""
2300
+
2301
+ position: Optional[List[Union[int, str]]] = None
2302
+ outcome: Optional[Outcome] = None
2303
+
2304
+
2305
+ class OrderMarkText(str, Enum):
2306
+ CANCELLING = "CANCELLING"
2307
+ OUTDATED = "OUTDATED"
2308
+ RESUMING = "RESUMING"
2309
+ SUSPENDING = "SUSPENDING"
2310
+
2311
+
2312
+ class OrderMark(BaseModel):
2313
+ """Java: com.sos.joc.model.order.OrderMark"""
2314
+
2315
+ severity: Optional[int] = None
2316
+ _text: Optional[OrderMarkText] = None
2317
+
2318
+
2319
+ class PlanId(BaseModel):
2320
+ """com.sos.joc.model.plan.PlanId"""
2321
+
2322
+ notice_space_key: Optional[str] = None
2323
+ plan_schema_id: Optional[str] = None
2324
+
2325
+
2326
+ class ListParameterType(str, Enum):
2327
+ String = "String"
2328
+ Number = "Number"
2329
+ Boolean = "Boolean"
2330
+
2331
+
2332
+ class ListParameter(BaseModel):
2333
+ """com.sos.inventory.model.workflow.ListParameter"""
2334
+
2335
+ type: Optional[ListParameterType] = None
2336
+
2337
+
2338
+ class ParameterType(str, Enum):
2339
+ String = "String"
2340
+ Number = "Number"
2341
+ Boolean = "Boolean"
2342
+ List = "List"
2343
+
2344
+
2345
+ class Parameter(BaseModel):
2346
+ """com.sos.inventory.model.workflow.Parameter"""
2347
+
2348
+ type: Optional[ParameterType] = None
2349
+ default: Optional[Union[str, float, bool, List[Any]]] = None
2350
+ facet: Optional[str] = None
2351
+ final: Optional[str] = None
2352
+ list: Optional[List[str]] = None
2353
+ message: Optional[str] = None
2354
+ listParameters: Optional[Dict[str, ListParameter]] = None
2355
+
2356
+
2357
+ class Requirements(BaseModel):
2358
+ """com.sos.inventory.model.workflow.Requirements"""
2359
+
2360
+ parameters: Optional[Dict[str, Parameter]] = None
2361
+ allowUndeclared: Optional[bool] = None
2362
+
2363
+
2364
+ class OrderRetryState(BaseModel):
2365
+ """com.sos.controller.model.order.OrderRetryState"""
2366
+
2367
+ attempt: Optional[int] = None
2368
+ next: Optional[datetime] = None
2369
+
2370
+
2371
+ class OrderSleepState(BaseModel):
2372
+ """com.sos.controller.model.order.OrderSleepState"""
2373
+
2374
+ until: Optional[datetime] = None
2375
+
2376
+
2377
+ class OrderWaitingReason(str, Enum):
2378
+ BETWEEN_CYCLES = "BETWEEN_CYCLES"
2379
+ DELAYED_AFTER_ERROR = "DELAYED_AFTER_ERROR"
2380
+ EXPECTING_NOTICES = "EXPECTING_NOTICES"
2381
+ FORKED = "FORKED"
2382
+ WAITING_FOR_LOCK = "WAITING_FOR_LOCK"
2383
+
2384
+
2385
+ class OrderState(BaseModel):
2386
+ """com.sos.joc.model.order.OrderState"""
2387
+
2388
+ severity: Optional[int] = None
2389
+ _text: Optional[OrderStateText] = None
2390
+ _reason: Optional[OrderWaitingReason] = None
2391
+
2392
+
2393
+ class WorkflowId(BaseModel):
2394
+ """com.sos.controller.model.workflow.WorkflowId"""
2395
+
2396
+ path: Optional[str] = None
2397
+ version_id: Optional[str] = None
2398
+
2399
+
2400
+ class OrderV(BaseModel):
2401
+ """com.sos.joc.model.order.OrderV"""
2402
+
2403
+ agent_id: Optional[str] = None
2404
+ arguments: Optional[Dict[str, Any]] = None
2405
+ """a map for arbitrary key-value pairs"""
2406
+
2407
+ attached_state: Optional[OrderAttachedState] = None
2408
+ can_leave: Optional[bool] = None
2409
+ """only relevant for state COMPLETED"""
2410
+
2411
+ cycle_state: Optional[OrderCycleState] = None
2412
+ """set if state == BetweenCycles or processing inside a cycle"""
2413
+
2414
+ cyclic_order: Optional[CyclicOrderInfos] = None
2415
+ delivery_date: Optional[datetime] = None
2416
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2417
+
2418
+ end_positions: Optional[List[Union[List[Union[int, str]], str]]] = None
2419
+ expected_notices: Optional[List[ExpectedNotice]] = None
2420
+ """if state._reason == EXPECTING_NOTICES"""
2421
+
2422
+ has_child_orders: Optional[bool] = None
2423
+ historic_outcome: Optional[List[HistoricOutcome]] = None
2424
+ """only for compact parameter is false"""
2425
+
2426
+ is_continuable: Optional[bool] = None
2427
+ is_resumable: Optional[bool] = None
2428
+ is_suspendible: Optional[bool] = None
2429
+ label: Optional[str] = None
2430
+ """a label is only in the response if the request restricts the orders to one workflow"""
2431
+
2432
+ last_outcome: Optional[Outcome] = None
2433
+ marked: Optional[OrderMark] = None
2434
+ order_id: Optional[str] = None
2435
+ plan_id: Optional[PlanID] = None
2436
+ position: Optional[List[Union[int, str]]] = None
2437
+ """Actually, each even item is a string, each odd item is an integer"""
2438
+
2439
+ position_is_implicit_end: Optional[bool] = None
2440
+ position_string: Optional[str] = None
2441
+ priority: Optional[int] = None
2442
+ question: Optional[str] = None
2443
+ """only relevant for state PROMPTING"""
2444
+
2445
+ requirements: Optional[Requirements] = None
2446
+ retry_state: Optional[OrderRetryState] = None
2447
+ """set if state == DelayedAfterError"""
2448
+
2449
+ scheduled_for: Optional[float] = None
2450
+ scheduled_never: Optional[bool] = None
2451
+ """deprecated -> is State.PENDING"""
2452
+
2453
+ sleep_state: Optional[OrderSleepState] = None
2454
+ """set if state == OrderSleeping"""
2455
+
2456
+ state: Optional[OrderState] = None
2457
+ subagent_id: Optional[str] = None
2458
+ survey_date: Optional[datetime] = None
2459
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2460
+
2461
+ tags: Optional[List[str]] = None
2462
+ workflow_id: Optional[WorkflowID] = None
2463
+
2464
+
2465
+ class OrdersV(BaseModel):
2466
+ """com.sos.joc.model.order.OrdersV"""
2467
+
2468
+ delivery_date: Optional[datetime] = None
2469
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2470
+
2471
+ orders: Optional[List[OrderV]] = None
2472
+ survey_date: Optional[datetime] = None
2473
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2474
+
2475
+ workflow_tags_per_workflow: Optional[Dict[str, List[str]]] = None
2476
+ """a map of workflowName -> tags-array"""
2477
+
2478
+
2479
+ class SuspendOrders(ModifyOrdersBase):
2480
+ """com.sos.joc.model.order.SuspendOrders"""
2481
+
2482
+ date_from: Optional[Union[str, datetime]] = None
2483
+ date_to: Optional[Union[str, datetime]] = None
2484
+ time_zone: Optional[str] = None
2485
+
2486
+ kill: Optional[bool] = None
2487
+ deep: Optional[bool] = None
2488
+ reset: Optional[bool] = None
2489
+
2490
+
2491
+ class ResumeOrders(ModifyOrdersBase):
2492
+ """com.sos.joc.model.order.ResumeOrders"""
2493
+
2494
+ cycle_end_time: Optional[float] = None
2495
+ force: Optional[bool] = None
2496
+ """force execution of non-startable jobs after kill"""
2497
+
2498
+ from_current_block: Optional[bool] = None
2499
+ position: Optional[Union[List[Union[int, str]], str]] = None
2500
+ variables: Optional[Dict[str, Any]] = None
2501
+ """a map for arbitrary key-value pairs"""
2502
+
2503
+
2504
+ class ModifyWorkflows(BaseModel):
2505
+ """com.sos.joc.model.workflow.ModifyWorkflows"""
2506
+
2507
+ all: Optional[bool] = None
2508
+ audit_log: Optional[AuditParams] = None
2509
+ controller_id: Optional[str] = None
2510
+ folders: Optional[List[Folder]] = None
2511
+ workflow_paths: Optional[List[str]] = None
2512
+ workflow_tags: Optional[List[str]] = None
2513
+
2514
+
2515
+ class ModifyWorkflowPositions(ModifyWorkflows):
2516
+ """com.sos.joc.model.workflow.ModifyWorkflowPositions"""
2517
+
2518
+ positions: Optional[List[Union[List[Union[int, str]], str]]] = None
2519
+
2520
+
2521
+ class ModifyWorkflowLabels(BaseModel):
2522
+ """com.sos.joc.model.workflow.ModifyWorkflowLabels"""
2523
+
2524
+ audit_log: Optional[AuditParams] = None
2525
+ controller_id: Optional[str] = None
2526
+ labels: Optional[List[str]] = None
2527
+ workflow_path: Optional[str] = None
2528
+
2529
+
2530
+ class ModifyNotice(BaseModel):
2531
+ """com.sos.joc.model.board.ModifyNotice"""
2532
+
2533
+ audit_log: Optional[AuditParams] = None
2534
+ controller_id: Optional[str] = None
2535
+ end_of_life: Optional[str] = None
2536
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2537
+
2538
+ notice_board_path: Optional[str] = None
2539
+ notice_id: Optional[str] = None
2540
+ time_zone: Optional[str] = None
2541
+ """see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"""
2542
+
2543
+
2544
+ class JOCConfigurationType(str, Enum):
2545
+ CUSTOMIZATION = "CUSTOMIZATION"
2546
+ GLOBALS = "GLOBALS"
2547
+ IGNORELIST = "IGNORELIST"
2548
+ PROFILE = "PROFILE"
2549
+ SETTING = "SETTING"
2550
+ IAM = "IAM"
2551
+
2552
+
2553
+ class JOCConfiguration(BaseModel):
2554
+ """com.sos.joc.model.configuration.Configuration"""
2555
+
2556
+ account: Optional[str] = None
2557
+ configuration_item: Optional[str] = None
2558
+ """JSON object as string, depends on configuration type"""
2559
+
2560
+ configuration_type: Optional[JOCConfigurationType] = None
2561
+ controller_id: Optional[str] = None
2562
+ id: Optional[float] = None
2563
+ name: Optional[str] = None
2564
+ object_type: Optional[str] = None
2565
+ shared: Optional[bool] = None
2566
+
2567
+
2568
+ class Configuration200(BaseModel):
2569
+ """com.sos.joc.model.configuration.Configuration200"""
2570
+
2571
+ configuration: Optional[JOCConfiguration] = None
2572
+ delivery_date: Optional[datetime] = None
2573
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2574
+
2575
+
2576
+ class StoreSettingsFilter(BaseModel):
2577
+ """com.sos.joc.model.settings.StoreSettingsFilter"""
2578
+
2579
+ audit_log: Optional[AuditParams] = None
2580
+ configuration_item: Optional[str] = None
2581
+ """JSON object as string, depends on configuration type"""
2582
+
2583
+
2584
+ class ClusterRestart(BaseModel):
2585
+ """com.sos.joc.model.cluster.ClusterRestart"""
2586
+
2587
+ audit_log: Optional[AuditParams] = None
2588
+ type: Optional[ClusterServices] = None
2589
+
2590
+
2591
+ class ClusterResponse(BaseModel):
2592
+ """com.sos.joc.model.cluster.ClusterResponse"""
2593
+
2594
+ delivery_date: Optional[datetime] = None
2595
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2596
+
2597
+ state: Optional[JocClusterState] = None
2598
+ type: Optional[ClusterServices] = None
2599
+
2600
+
2601
+ class ClusterServiceRun(BaseModel):
2602
+ """com.sos.joc.model.cluster.ClusterServiceRun"""
2603
+
2604
+ audit_log: Optional[AuditParams] = None
2605
+ type: Optional[ClusterServices] = None
2606
+
2607
+
2608
+ class Js7LicenseInfo(BaseModel):
2609
+ """com.sos.joc.model.joc.Js7LicenseInfo"""
2610
+
2611
+ type: Optional[LicenseType] = None
2612
+ valid: Optional[bool] = None
2613
+ valid_from: Optional[datetime] = None
2614
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2615
+
2616
+ valid_until: Optional[datetime] = None
2617
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2618
+
2619
+
2620
+ class ReadAgentsV(BaseModel):
2621
+ """com.sos.joc.model.agent.ReadAgentsV"""
2622
+
2623
+ agent_ids: Optional[List[str]] = None
2624
+ compact: Optional[bool] = None
2625
+ """controls if the object's data is compact or detailed"""
2626
+
2627
+ controller_id: Optional[str] = None
2628
+ flat: Optional[bool] = None
2629
+ only_visible_agents: Optional[bool] = None
2630
+ states: Optional[List[AgentStateText]] = None
2631
+
2632
+
2633
+ class AgentExportFilter(BaseModel):
2634
+ """com.sos.joc.model.agent.transfer.AgentExportFilter"""
2635
+
2636
+ agent_ids: Optional[List[str]] = None
2637
+ audit_log: Optional[AuditParams] = None
2638
+ export_file: Optional[ExportFile] = None
2639
+
2640
+
2641
+ class ClusterState(BaseModel):
2642
+ """com.sos.joc.model.controller.ClusterState"""
2643
+
2644
+ text: Optional[str] = None
2645
+ loss_node: Optional[str] = None
2646
+ severity: Optional[int] = None
2647
+ """0=ClusterCoupled,
2648
+ 1=ClusterNodesAppointed,ClusterPassiveLost,ClusterSwitchedOver,ClusterFailOver
2649
+ 2=ClusterPreparedToBeCoupled,ClusterEmpty 3=ClusterUnknown
2650
+ """
2651
+
2652
+
2653
+ class AgentClusterState(BaseModel):
2654
+ """com.sos.joc.model.agent.AgentClusterState"""
2655
+
2656
+ text: Optional[AgentClusterStateText] = None
2657
+ severity: Optional[int] = None
2658
+ """0=ALL_SUBAGENTS_ARE_COUPLED_AND_ENABLED, 1=ONLY_SOME_SUBAGENTS_ARE_COUPLED_AND_ENABLED,
2659
+ 2=NO_SUBAGENTS_ARE_COUPLED_AND_ENABLED, 2=UNKNOWN
2660
+ """
2661
+
2662
+
2663
+ class AgentState(BaseModel):
2664
+ """com.sos.joc.model.agent.AgentState"""
2665
+
2666
+ reason: Optional[AgentStateReason] = None
2667
+ text: Optional[AgentStateText] = None
2668
+ severity: Optional[int] = None
2669
+ """0=COUPLED, 1=RESETTING, 1=RESET, 2=COUPLINGFAILED, 3=UNKNOWN"""
2670
+
2671
+
2672
+ class AgentStateV(BaseModel):
2673
+ """com.sos.joc.model.agent.AgentStateV"""
2674
+
2675
+ agent_id: Optional[str] = None
2676
+ agent_name: Optional[str] = None
2677
+ cluster_state: Optional[ClusterState] = None
2678
+ controller_id: Optional[str] = None
2679
+ disabled: Optional[bool] = None
2680
+ error_message: Optional[str] = None
2681
+ """if state == couplngFailed or unknown"""
2682
+
2683
+ health_state: Optional[AgentClusterState] = None
2684
+ orders: Optional[List[OrderV]] = None
2685
+ process_limit: Optional[int] = None
2686
+ running_tasks: Optional[int] = None
2687
+ state: Optional[AgentState] = None
2688
+ subagent_id: Optional[str] = None
2689
+ url: Optional[str] = None
2690
+ version: Optional[str] = None
2691
+
2692
+
2693
+ class AgentV(AgentStateV):
2694
+ """com.sos.joc.model.agent.AgentV"""
2695
+
2696
+ subagents: Optional[List[Subagent]] = None
2697
+
2698
+
2699
+ class AgentsV(BaseModel):
2700
+ """com.sos.joc.model.agent.AgentsV"""
2701
+
2702
+ agents: Optional[List[AgentV]] = None
2703
+ delivery_date: Optional[datetime] = None
2704
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2705
+
2706
+ survey_date: Optional[datetime] = None
2707
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2708
+
2709
+
2710
+ class ResetAgents(DeployAgents):
2711
+ """com.sos.joc.model.agent.ResetAgents"""
2712
+
2713
+ force: Optional[bool] = None
2714
+
2715
+
2716
+ class SubAgentCommand(BaseModel):
2717
+ """com.sos.joc.model.agent.SubAgentCommand"""
2718
+
2719
+ audit_log: Optional[AuditParams] = None
2720
+ controller_id: Optional[str] = None
2721
+ force: Optional[bool] = None
2722
+ """only relevant for reset subagent"""
2723
+
2724
+ subagent_id: Optional[str] = None
2725
+
2726
+
2727
+ class VersionsFilter(BaseModel):
2728
+ """com.sos.joc.model.joc.VersionsFilter"""
2729
+
2730
+ agent_ids: Optional[List[str]] = None
2731
+ controller_ids: Optional[List[str]] = None
2732
+
2733
+
2734
+ class AgentVersion(BaseModel):
2735
+ """com.sos.joc.model.joc.AgentVersion"""
2736
+
2737
+ agent_id: Optional[str] = None
2738
+ compatibility: Optional[CompatibilityLevel] = None
2739
+ subagent_id: Optional[str] = None
2740
+ uri: Optional[str] = None
2741
+ version: Optional[str] = None
2742
+
2743
+
2744
+ class ControllerVersion(BaseModel):
2745
+ """com.sos.joc.model.joc.ControllerVersion"""
2746
+
2747
+ compatibility: Optional[CompatibilityLevel] = None
2748
+ controller_id: Optional[str] = None
2749
+ uri: Optional[str] = None
2750
+ version: Optional[str] = None
2751
+
2752
+
2753
+ class VersionResponse(BaseModel):
2754
+ """com.sos.joc.model.joc.VersionResponse"""
2755
+
2756
+ agent_versions: Optional[List[AgentVersion]] = None
2757
+ controller_versions: Optional[List[ControllerVersion]] = None
2758
+ joc_version: Optional[str] = None
2759
+ version: Any
2760
+
2761
+
2762
+ class ControllerIdReq(BaseModel):
2763
+ """com.sos.joc.model.controller.ControllerIdReq"""
2764
+
2765
+ controller_id: Optional[str] = None
2766
+
2767
+
2768
+ class DB(BaseModel):
2769
+ """com.sos.joc.model.joc.DB"""
2770
+
2771
+ component_state: Optional[ComponentState] = None
2772
+ connection_state: Optional[ConnectionState] = None
2773
+ dbms: Optional[str] = None
2774
+ """possible values 'SQL Server', 'MySQL', 'Oracle', 'PostgreSQL'"""
2775
+
2776
+ version: Optional[str] = None
2777
+
2778
+
2779
+ class OperatingSystem(BaseModel):
2780
+ """com.sos.joc.model.controller.OperatingSystem"""
2781
+
2782
+ architecture: Optional[str] = None
2783
+ distribution: Optional[str] = None
2784
+ """e.g. Windows 2012, CentOS Linux release 7.2.1511 (Core)"""
2785
+
2786
+ name: Optional[str] = None
2787
+ """Windows, Linux, AIX, Solaris, other"""
2788
+
2789
+
2790
+ class ControllerConnectionState(BaseModel):
2791
+ """com.sos.joc.model.joc.ControllerConnectionState"""
2792
+
2793
+ text: Optional[ConnectionStateText] = None
2794
+ severity: Optional[int] = None
2795
+ """0=established, 1=unstable, 2=unreachable, 3=unknown"""
2796
+
2797
+
2798
+ class Cockpit(BaseModel):
2799
+ """com.sos.joc.model.joc.Cockpit"""
2800
+
2801
+ cluster_node_state: Optional[ClusterNodeState] = None
2802
+ """not relevant for JOC as API server only"""
2803
+
2804
+ component_state: Optional[ComponentState] = None
2805
+ connection_state: Optional[ConnectionState] = None
2806
+ controller_connection_states: Optional[List[ControllerConnectionState]] = None
2807
+ """not relevant for JOC as API server only"""
2808
+
2809
+ current: Optional[bool] = None
2810
+ """true if joc is that joc which sends this response"""
2811
+
2812
+ host: Optional[str] = None
2813
+ id: Optional[float] = None
2814
+ instance_id: Optional[str] = None
2815
+ is_api_server: Optional[bool] = None
2816
+ last_heartbeat: Optional[datetime] = None
2817
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2818
+
2819
+ member_id: Optional[str] = None
2820
+ os: Optional[OperatingSystem] = None
2821
+ security_level: Optional[JocSecurityLevel] = None
2822
+ started_at: Optional[datetime] = None
2823
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2824
+
2825
+ title: Optional[str] = None
2826
+ url: Optional[str] = None
2827
+ version: Optional[str] = None
2828
+
2829
+
2830
+ class Components(BaseModel):
2831
+ """com.sos.joc.model.controller.Components"""
2832
+
2833
+ cluster_state: Optional[ClusterState] = None
2834
+ controllers: Optional[List[Controller]] = None
2835
+ database: Optional[DB] = None
2836
+ delivery_date: Optional[datetime] = None
2837
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2838
+
2839
+ jocs: Optional[List[Cockpit]] = None
2840
+
2841
+
2842
+ class ClusterSwitchMember(BaseModel):
2843
+ """com.sos.joc.model.cluster.ClusterSwitchMember"""
2844
+
2845
+ audit_log: Optional[AuditParams] = None
2846
+ member_id: Optional[str] = None
2847
+
2848
+
2849
+ class DailyPlanOrdersFilter(DailyPlanOrderFilterBase):
2850
+ """com.sos.joc.model.dailyplan.DailyPlanOrdersFilter"""
2851
+
2852
+ expand_cycle_orders: Optional[bool] = None
2853
+ """for internal use only: controls if the cycle order should be expanded in the answer"""
2854
+
2855
+ late: Optional[bool] = None
2856
+ order_tags: Optional[List[str]] = None
2857
+ states: Optional[List[DailyPlanOrderStateText]] = None
2858
+ submission_history_ids: Optional[List[float]] = None
2859
+ workflow_tags: Optional[List[str]] = None
2860
+
2861
+
2862
+ class DailyPlanOrderState(BaseModel):
2863
+ """com.sos.joc.model.dailyplan.DailyPlanOrderState"""
2864
+
2865
+ text: Optional[DailyPlanOrderStateText] = None
2866
+ severity: Optional[int] = None
2867
+
2868
+
2869
+ class Period(BaseModel):
2870
+ """undefined for startMode=0"""
2871
+
2872
+ begin: Optional[datetime] = None
2873
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2874
+
2875
+ end: Optional[datetime] = None
2876
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2877
+
2878
+ repeat: Optional[float] = None
2879
+
2880
+
2881
+ class PlannedOrderItem(BaseModel):
2882
+ """com.sos.joc.model.dailyplan.PlannedOrderItem"""
2883
+
2884
+ controller_id: Optional[str] = None
2885
+ cyclic_order: Optional[CyclicOrderInfos] = None
2886
+ end_time: Optional[datetime] = None
2887
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2888
+
2889
+ error: Optional[Err] = None
2890
+ exit_code: Optional[int] = None
2891
+ expected_end_time: Optional[datetime] = None
2892
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2893
+
2894
+ history_id: Optional[str] = None
2895
+ late: Optional[bool] = None
2896
+ node: Optional[str] = None
2897
+ """only for orders"""
2898
+
2899
+ order_id: Optional[str] = None
2900
+ order_name: Optional[str] = None
2901
+ period: Optional[Period] = None
2902
+ """undefined for startMode=0"""
2903
+
2904
+ planned_start_time: Optional[datetime] = None
2905
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2906
+
2907
+ schedule_path: Optional[str] = None
2908
+ start_mode: Optional[int] = None
2909
+ """0=single_start, 1=start_start_repeat"""
2910
+
2911
+ start_time: Optional[datetime] = None
2912
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2913
+
2914
+ state: Optional[DailyPlanOrderState] = None
2915
+ submitted: Optional[bool] = None
2916
+ survey_date: Optional[datetime] = None
2917
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2918
+
2919
+ tags: Optional[List[str]] = None
2920
+ workflow_path: Optional[str] = None
2921
+
2922
+
2923
+ class PlannedOrders(BaseModel):
2924
+ """com.sos.joc.model.dailyplan.PlannedOrders"""
2925
+
2926
+ delivery_date: Optional[datetime] = None
2927
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
2928
+
2929
+ planned_order_items: Optional[List[PlannedOrderItem]] = None
2930
+ workflow_tags_per_workflow: Optional[Dict[str, List[str]]] = None
2931
+ """a map of workflowName -> tags-array"""
2932
+
2933
+
2934
+ class OrderPath(BaseModel):
2935
+ """com.sos.joc.model.order.OrderPath"""
2936
+
2937
+ order_id: Optional[str] = None
2938
+ workflow_path: Optional[str] = None
2939
+
2940
+
2941
+ class OrdersFilter(BaseModel):
2942
+ """com.sos.joc.model.order.OrdersFilter"""
2943
+
2944
+ compact: Optional[bool] = None
2945
+ """controls if the object's data is compact or detailed"""
2946
+
2947
+ completed_date_from: Optional[str] = None
2948
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2949
+
2950
+ completed_date_to: Optional[str] = None
2951
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2952
+
2953
+ controller_id: Optional[str] = None
2954
+ date_from: Optional[str] = None
2955
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2956
+
2957
+ date_to: Optional[str] = None
2958
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
2959
+
2960
+ exclude_workflows: Optional[List[str]] = None
2961
+ folders: Optional[List[Folder]] = None
2962
+ history_ids: Optional[List[float]] = None
2963
+ history_states: Optional[List[HistoryStateText]] = None
2964
+ limit: Optional[int] = None
2965
+ """only for db history urls to restrict the number of responsed records; -1=unlimited"""
2966
+
2967
+ order_id: Optional[str] = None
2968
+ """pattern with wildcards '*' and '?' where '*' match zero or more characters and '?' match
2969
+ any single character
2970
+ """
2971
+ orders: Optional[List[OrderPath]] = None
2972
+ time_zone: Optional[str] = None
2973
+ """see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"""
2974
+
2975
+ workflow_name: Optional[str] = None
2976
+ """pattern with wildcards '*' and '?' where '*' match zero or more characters and '?' match
2977
+ any single character
2978
+ """
2979
+ workflow_path: Optional[str] = None
2980
+ """pattern with wildcards '*' and '?' where '*' match zero or more characters and '?' match
2981
+ any single character
2982
+ """
2983
+
2984
+
2985
+ class HistoryState(BaseModel):
2986
+ """com.sos.joc.model.common.HistoryState"""
2987
+ text: Optional[HistoryStateText] = None
2988
+ severity: Optional[int] = None
2989
+ """0=successful, 1=incomplete, 2=failed with a green/yellow/red representation"""
2990
+
2991
+
2992
+ class OrderHistoryItem(BaseModel):
2993
+ """com.sos.joc.model.order.OrderHistoryItem"""
2994
+
2995
+ arguments: Optional[Dict[str, Any]] = None
2996
+ """a map for arbitrary key-value pairs"""
2997
+
2998
+ children: Optional[List[Any]] = None
2999
+ controller_id: Optional[str] = None
3000
+ end_time: Optional[datetime] = None
3001
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3002
+
3003
+ history_id: Optional[float] = None
3004
+ order_id: Optional[str] = None
3005
+ order_state: Optional[OrderState] = None
3006
+ planned_time: Optional[datetime] = None
3007
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3008
+
3009
+ position: Optional[str] = None
3010
+ sequence: Optional[int] = None
3011
+ start_time: Optional[datetime] = None
3012
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3013
+
3014
+ state: Optional[HistoryState] = None
3015
+ survey_date: Optional[datetime] = None
3016
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3017
+
3018
+ tags: Optional[List[str]] = None
3019
+ workflow: Optional[str] = None
3020
+ """absolute path of an object."""
3021
+
3022
+
3023
+ class OrderHistory(BaseModel):
3024
+ """com.sos.joc.model.order.OrderHistory"""
3025
+
3026
+ delivery_date: Optional[datetime] = None
3027
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3028
+
3029
+ history: Optional[List[OrderHistoryItem]] = None
3030
+ workflow_tags_per_workflow: Optional[Dict[str, List[str]]] = None
3031
+ """a map of workflowName -> tags-array"""
3032
+
3033
+
3034
+ class TaskIdOfOrder(BaseModel):
3035
+ """com.sos.joc.model.job.TaskIdOfOrder"""
3036
+
3037
+ history_id: Optional[float] = None
3038
+ position: Optional[str] = None
3039
+
3040
+
3041
+ class JobPath(BaseModel):
3042
+ """com.sos.joc.model.job.JobPath"""
3043
+
3044
+ job: Optional[str] = None
3045
+ """if job undefined or empty then all jobs of specified workflow are requested"""
3046
+
3047
+ workflow_path: Optional[str] = None
3048
+
3049
+
3050
+ class JobsFilter(BaseModel):
3051
+ """com.sos.joc.model.job.JobsFilter"""
3052
+
3053
+ completed_date_from: Optional[str] = None
3054
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
3055
+
3056
+ completed_date_to: Optional[str] = None
3057
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
3058
+
3059
+ controller_id: Optional[str] = None
3060
+ criticalities: Optional[List[JobCriticality]] = None
3061
+ date_from: Optional[str] = None
3062
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
3063
+
3064
+ date_to: Optional[str] = None
3065
+ """0 or [number][smhdwMy] (where smhdwMy unit for second, minute, etc) or ISO 8601 timestamp"""
3066
+
3067
+ exclude_jobs: Optional[List[JobPath]] = None
3068
+ folders: Optional[List[Folder]] = None
3069
+ history_ids: Optional[List[TaskIdOfOrder]] = None
3070
+ history_states: Optional[List[HistoryState]] = None
3071
+ job_name: Optional[str] = None
3072
+ jobs: Optional[List[JobPath]] = None
3073
+ limit: Optional[int] = None
3074
+ """only for db history urls to restrict the number of responsed records; -1=unlimited"""
3075
+
3076
+ task_ids: Optional[List[float]] = None
3077
+ time_zone: Optional[str] = None
3078
+ """see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"""
3079
+
3080
+ workflow_name: Optional[str] = None
3081
+ """pattern with wildcards '*' and '?' where '*' match zero or more characters and '?' match
3082
+ any single character
3083
+ """
3084
+ workflow_path: Optional[str] = None
3085
+ """pattern with wildcards '*' and '?' where '*' match zero or more characters and '?' match
3086
+ any single character
3087
+ """
3088
+
3089
+
3090
+ class TaskHistoryItem(BaseModel):
3091
+ """com.sos.joc.model.job.TaskHistoryItem"""
3092
+
3093
+ agent_url: Optional[str] = None
3094
+ arguments: Optional[Dict[str, Any]] = None
3095
+ """a map for arbitrary key-value pairs"""
3096
+
3097
+ controller_id: Optional[str] = None
3098
+ criticality: Optional[str] = None
3099
+ end_time: Optional[datetime] = None
3100
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3101
+
3102
+ error: Optional[Err] = None
3103
+ exit_code: Optional[int] = None
3104
+ job: Optional[str] = None
3105
+ label: Optional[str] = None
3106
+ order_id: Optional[str] = None
3107
+ position: Optional[str] = None
3108
+ retry_counter: Optional[int] = None
3109
+ sequence: Optional[int] = None
3110
+ start_time: Optional[datetime] = None
3111
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3112
+
3113
+ state: Optional[HistoryState] = None
3114
+ survey_date: Optional[datetime] = None
3115
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3116
+
3117
+ task_id: Optional[float] = None
3118
+ workflow: Optional[str] = None
3119
+
3120
+
3121
+ class TaskHistory(BaseModel):
3122
+ """com.sos.joc.model.job.TaskHistory"""
3123
+
3124
+ delivery_date: Optional[datetime] = None
3125
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3126
+
3127
+ history: Optional[List[TaskHistoryItem]] = None
3128
+ workflow_tags_per_workflow: Optional[Dict[str, List[str]]] = None
3129
+ """a map of workflowName -> tags-array"""
3130
+
3131
+
3132
+ class WorkflowFilter(BaseModel):
3133
+ """com.sos.joc.model.workflow.WorkflowFilter"""
3134
+
3135
+ compact: Optional[bool] = None
3136
+ """controls if the object's data is compact or detailed"""
3137
+
3138
+ controller_id: Optional[str] = None
3139
+ workflow_id: Optional[WorkflowID] = None
3140
+
3141
+
3142
+ class WorkflowsFilter(BaseModel):
3143
+ """com.sos.joc.model.workflow.WorkflowsFilter"""
3144
+
3145
+ agent_names: Optional[List[str]] = None
3146
+ compact: Optional[bool] = None
3147
+ """controls if the object's data is compact or detailed"""
3148
+
3149
+ controller_id: Optional[str] = None
3150
+ folders: Optional[List[Folder]] = None
3151
+ instruction_states: Optional[List[SearchInstructionStateText]] = None
3152
+ regex: Optional[str] = None
3153
+ """regular expression to filter Controller objects by matching the path"""
3154
+
3155
+ states: Optional[List[SyncStateText]] = None
3156
+ tags: Optional[List[str]] = None
3157
+ workflow_ids: Optional[List[WorkflowID]] = None
3158
+
3159
+
3160
+ class InstructionState(BaseModel):
3161
+ text: Optional[InstructionStateText] = None
3162
+ severity: Optional[int] = None
3163
+
3164
+
3165
+ class Instruction(BaseModel):
3166
+ """com.sos.inventory.model.instruction.Instruction"""
3167
+
3168
+ position: Optional[List[Union[int, str]]] = None
3169
+ """Actually, each even item is a string, each odd item is an integer"""
3170
+
3171
+ position_string: Optional[str] = None
3172
+ state: Optional[InstructionState] = None
3173
+ type: Optional[InstructionType] = None
3174
+
3175
+
3176
+ class AdmissionTimeScheme(BaseModel):
3177
+ """com.sos.inventory.model.job.AdmissionTimeScheme"""
3178
+
3179
+ periods: Optional[List[Period]] = None
3180
+
3181
+
3182
+ class ExecutableScriptLogin(BaseModel):
3183
+ """com.sos.inventory.model.job.ExecutableScriptLogin"""
3184
+
3185
+ credential_key: Optional[str] = None
3186
+ with_user_profile: Optional[bool] = None
3187
+
3188
+
3189
+ class JobReturnCodeWarning(BaseModel):
3190
+ """com.sos.inventory.model.job.JobReturnCodeWarning"""
3191
+
3192
+ failure: Optional[Union[List[int], str]] = None
3193
+ success: Optional[Union[List[int], str]] = None
3194
+ warning: Optional[Union[List[int], str]] = None
3195
+
3196
+
3197
+ class Executable(BaseModel):
3198
+ """com.sos.inventory.model.job.Executable"""
3199
+
3200
+ env: Optional[Dict[str, str]] = None
3201
+ """a map for arbitrary key-value pairs"""
3202
+
3203
+ login: Optional[ExecutableScriptLogin] = None
3204
+ return_code_meaning: Optional[JobReturnCodeWarning] = None
3205
+ script: Optional[str] = None
3206
+ v1_compatible: Optional[bool] = None
3207
+ arguments: Optional[Dict[str, str]] = None
3208
+ """a map for arbitrary key-value pairs"""
3209
+
3210
+ class_name: Optional[str] = None
3211
+ job_arguments: Optional[Dict[str, Any]] = None
3212
+ """a map for arbitrary key-value pairs"""
3213
+
3214
+
3215
+ class JobTemplateRef(BaseModel):
3216
+ """com.sos.inventory.model.job.JobTemplateRef"""
3217
+
3218
+ hash: Optional[str] = None
3219
+ name: Optional[str] = None
3220
+
3221
+
3222
+ class JobNotificationMail(BaseModel):
3223
+ """com.sos.inventory.model.job.notification.JobNotificationMail"""
3224
+
3225
+ bcc: Optional[str] = None
3226
+ cc: Optional[str] = None
3227
+ to: Optional[str] = None
3228
+
3229
+
3230
+ class JobNotification(BaseModel):
3231
+ """com.sos.inventory.model.job.notification.JobNotification"""
3232
+
3233
+ mail: Optional[JobNotificationMail] = None
3234
+ types: Optional[List[JobNotificationType]] = None
3235
+
3236
+
3237
+ class JobReturnCode(JobReturnCodeWarning):
3238
+ """com.sos.inventory.model.job.JobReturnCode"""
3239
+
3240
+ failure: Optional[Union[List[int], str]] = None
3241
+ success: Optional[Union[List[int], str]] = None
3242
+
3243
+
3244
+ class Job(BaseModel):
3245
+ """com.sos.inventory.model.job.Job"""
3246
+
3247
+ admission_time_scheme: Optional[AdmissionTimeScheme] = None
3248
+ agent_name: Optional[str] = None
3249
+ criticality: Optional[JobCriticality] = None
3250
+ default_arguments: Optional[Dict[str, str]] = None
3251
+ """a map for arbitrary key-value pairs"""
3252
+
3253
+ documentation_name: Optional[str] = None
3254
+ executable: Optional[Executable] = None
3255
+ fail_on_err_written: Optional[bool] = None
3256
+ grace_timeout: Optional[int] = None
3257
+ """in seconds"""
3258
+
3259
+ job_class_name: Optional[str] = None
3260
+ job_resource_names: Optional[List[str]] = None
3261
+ job_template: Optional[JobTemplateRef] = None
3262
+ notification: Optional[JobNotification] = None
3263
+ parallelism: Optional[int] = None
3264
+ return_code_meaning: Optional[JobReturnCode] = None
3265
+ skip_if_no_admission_for_order_day: Optional[bool] = None
3266
+ subagent_cluster_id: Optional[str] = None
3267
+ subagent_cluster_id_expr: Optional[str] = None
3268
+ timeout: Optional[int] = None
3269
+ title: Optional[str] = None
3270
+ warn_if_longer: Optional[str] = None
3271
+ warn_if_shorter: Optional[str] = None
3272
+ warn_on_err_written: Optional[bool] = None
3273
+ with_subagent_cluster_id_expr: Optional[bool] = None
3274
+
3275
+
3276
+ class InventoryWorkflow(BaseModel):
3277
+ """com.sos.inventory.model.workflow.Workflow"""
3278
+
3279
+ documentation_name: Optional[str] = None
3280
+ instructions: Optional[List[Instruction]] = None
3281
+ job_resource_names: Optional[List[str]] = None
3282
+ jobs: Optional[Dict[str, Job]] = None
3283
+ order_preparation: Optional[Requirements] = None
3284
+ time_zone: Optional[str] = None
3285
+ title: Optional[str] = None
3286
+ type: Optional[DeployType] = None
3287
+ version: Optional[str] = None
3288
+ """inventory repository version"""
3289
+
3290
+ version_id: Optional[str] = None
3291
+
3292
+
3293
+ class InventoryFileOrderSource(BaseModel):
3294
+ """com.sos.inventory.model.fileordersource.FileOrderSource"""
3295
+
3296
+ agent_name: Optional[str] = None
3297
+ delay: Optional[int] = None
3298
+ directory: Optional[str] = None
3299
+ directory_expr: Optional[str] = None
3300
+ documentation_name: Optional[str] = None
3301
+ pattern: Optional[str] = None
3302
+ priority: Optional[int] = None
3303
+ tags: Optional[List[str]] = None
3304
+ time_zone: Optional[str] = None
3305
+ title: Optional[str] = None
3306
+ type: Optional[DeployType] = None
3307
+ version: Optional[str] = None
3308
+ """inventory repository version"""
3309
+
3310
+ workflow_name: Optional[str] = None
3311
+
3312
+
3313
+ class ControllerFileOrderSource(InventoryFileOrderSource):
3314
+ """com.sos.controller.model.fileordersource.FileOrderSource"""
3315
+
3316
+ path: Optional[str] = None
3317
+ """absolute path of an object."""
3318
+
3319
+ state: Optional[SyncState] = None
3320
+ version_date: Optional[datetime] = None
3321
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3322
+
3323
+
3324
+ class ControllerWorkflow(InventoryWorkflow):
3325
+ """com.sos.controller.model.workflow.Workflow"""
3326
+
3327
+ file_order_sources: Optional[List[ControllerFileOrderSource]] = None
3328
+ fork_list_variables: Optional[List[str]] = None
3329
+ has_add_order_dependencies: Optional[bool] = None
3330
+ has_consume_notice_boards: Optional[bool] = None
3331
+ has_expected_notice_boards: Optional[bool] = None
3332
+ has_post_notice_boards: Optional[bool] = None
3333
+ is_current_version: Optional[bool] = None
3334
+ num_of_skipped_instructions: Optional[int] = None
3335
+ num_of_stopped_instructions: Optional[int] = None
3336
+ path: Optional[str] = None
3337
+ """absolute path of an object."""
3338
+
3339
+ state: Optional[SyncState] = None
3340
+ suspended: Optional[bool] = None
3341
+ """true if state._text == SUSPENDED or SUSPENDING"""
3342
+
3343
+ version_date: Optional[datetime] = None
3344
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3345
+
3346
+
3347
+ class Workflow(BaseModel):
3348
+ """com.sos.joc.model.workflow.Workflow"""
3349
+
3350
+ delivery_date: Optional[datetime] = None
3351
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3352
+
3353
+ survey_date: Optional[datetime] = None
3354
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3355
+
3356
+ workflow: Optional[ControllerWorkflow] = None
3357
+
3358
+
3359
+ class Workflows(BaseModel):
3360
+ """com.sos.joc.model.workflow.Workflows"""
3361
+
3362
+ delivery_date: Optional[datetime] = None
3363
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3364
+
3365
+ survey_date: Optional[datetime] = None
3366
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3367
+
3368
+ workflows: Optional[List[ControllerWorkflow]] = None
3369
+
3370
+
3371
+ class ModifyWorkflow(BaseModel):
3372
+ """com.sos.joc.model.workflow.ModifyWorkflow"""
3373
+
3374
+ audit_log: Optional[AuditParams] = None
3375
+ controller_id: Optional[str] = None
3376
+ workflow_id: Optional[WorkflowID] = None
3377
+
3378
+
3379
+ class DailyPlanCancelOrders(DailyPlanOrderFilterBase):
3380
+ """com.sos.joc.model.dailyplan.DailyPlanCancelOrders"""
3381
+
3382
+ audit_log: Optional[AuditParams] = None
3383
+
3384
+
3385
+ class Cycle(BaseModel):
3386
+ """com.sos.joc.model.dailyplan.Cycle"""
3387
+
3388
+ begin: Optional[str] = None
3389
+ end: Optional[str] = None
3390
+ repeat: Optional[str] = None
3391
+
3392
+
3393
+ class DailyPlanBaseOrder(BaseModel):
3394
+ """com.sos.joc.model.dailyplan.DailyPlanBaseOrder"""
3395
+
3396
+ audit_log: Optional[AuditParams] = None
3397
+ controller_id: Optional[str] = None
3398
+ order_ids: Optional[List[str]] = None
3399
+
3400
+
3401
+ class DailyPlanCopyOrder(DailyPlanBaseOrder):
3402
+ """com.sos.joc.model.dailyplan.DailyPlanCopyOrder"""
3403
+
3404
+ cycle: Optional[Cycle] = None
3405
+ force_job_admission: Optional[bool] = None
3406
+ scheduled_for: Optional[str] = None
3407
+ """ISO format yyyy-mm-dd[ HH:MM[:SS]] or now or now + HH:MM[:SS] or now + SECONDS or empty"""
3408
+
3409
+ stick_daily_plan_date: Optional[bool] = None
3410
+ time_zone: Optional[str] = None
3411
+
3412
+
3413
+ class OrderIDMap200(BaseModel):
3414
+ """com.sos.joc.model.order.OrderIdMap200"""
3415
+
3416
+ delivery_date: Optional[datetime] = None
3417
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3418
+
3419
+ order_ids: Optional[Dict[str, str]] = None
3420
+
3421
+
3422
+ class PathItem(BaseModel):
3423
+ """com.sos.joc.model.dailyplan.generate.items.PathItem"""
3424
+
3425
+ folders: Optional[List[Folder]] = None
3426
+ singles: Optional[List[str]] = None
3427
+
3428
+
3429
+ class GenerateRequest(BaseModel):
3430
+ """com.sos.joc.model.dailyplan.generate.GenerateRequest"""
3431
+
3432
+ audit_log: Optional[AuditParams] = None
3433
+ controller_id: Optional[str] = None
3434
+ daily_plan_date: Optional[datetime] = None
3435
+ """deprecated; use dailyPlanDates"""
3436
+
3437
+ daily_plan_dates: Optional[List[datetime]] = None
3438
+ include_non_auto_planned_orders: Optional[bool] = None
3439
+ """includes non-automatically planned orders iff true"""
3440
+
3441
+ overwrite: Optional[bool] = None
3442
+ """controls if the order should be overwritten"""
3443
+
3444
+ schedule_paths: Optional[PathItem] = None
3445
+ """Define the path item of the selector to generate orders for the daily plan"""
3446
+
3447
+ with_submit: Optional[bool] = None
3448
+ """controls if the order should be submitted to the controller"""
3449
+
3450
+ workflow_paths: Optional[PathItem] = None
3451
+ """Define the path item of the selector to generate orders for the daily plan"""
3452
+
3453
+
3454
+ class DailyPlanSubmitOrders(DailyPlanOrderFilterBase):
3455
+ """com.sos.joc.model.dailyplan.DailyPlanSubmitOrders"""
3456
+
3457
+ audit_log: Optional[AuditParams] = None
3458
+ submission_history_ids: Optional[List[int]] = None
3459
+
3460
+
3461
+ class DailyPlanDeleteOrders(DailyPlanOrderFilterBase):
3462
+ """com.sos.joc.model.dailyplan.DailyPlanDeleteOrders"""
3463
+
3464
+ audit_log: Optional[AuditParams] = None
3465
+ late: Optional[bool] = None
3466
+ submission_history_ids: Optional[List[int]] = None
3467
+
3468
+
3469
+ class DailyPlanModifyOrder(DailyPlanCopyOrder):
3470
+ """com.sos.joc.model.dailyplan.DailyPlanModifyOrder"""
3471
+
3472
+ block_position: Optional[Union[List[Union[int, str]], str]] = None
3473
+ daily_plan_date: Optional[datetime] = None
3474
+ """ISO date YYYY-MM-DD"""
3475
+
3476
+ end_positions: Optional[List[Union[List[Union[int, str]], str]]] = None
3477
+ remove_variables: Optional[List[str]] = None
3478
+ start_position: Optional[Union[List[Union[int, str]], str]] = None
3479
+ variables: Optional[Dict[str, Any]] = None
3480
+ """a map for arbitrary key-value pairs"""
3481
+
3482
+
3483
+ class SubmissionsDeleteRequestFilter(BaseModel):
3484
+ """com.sos.joc.model.dailyplan.submissions.SubmissionsDeleteRequestFilter"""
3485
+
3486
+ date_for: Optional[date] = None
3487
+ """ISO date YYYY-MM-DD"""
3488
+
3489
+ date_from: Optional[date] = None
3490
+ """ISO date YYYY-MM-DD"""
3491
+
3492
+ date_to: Optional[date] = None
3493
+ """ISO date YYYY-MM-DD"""
3494
+
3495
+
3496
+ class SubmissionsDeleteRequest(BaseModel):
3497
+ """com.sos.joc.model.dailyplan.submissions.SubmissionsDeleteRequest"""
3498
+
3499
+ audit_log: Optional[AuditParams] = None
3500
+ controller_id: Optional[str] = None
3501
+ filter: Optional[SubmissionsDeleteRequestFilter] = None
3502
+
3503
+
3504
+ class ProjectionsRequest(BaseModel):
3505
+ """com.sos.joc.model.dailyplan.projections.ProjectionsRequest"""
3506
+
3507
+ controller_ids: Optional[List[str]] = None
3508
+ date_from: Optional[date] = None
3509
+ """ISO date YYYY-MM-DD"""
3510
+
3511
+ date_to: Optional[date] = None
3512
+ """ISO date YYYY-MM-DD"""
3513
+
3514
+ schedule_folders: Optional[List[Folder]] = None
3515
+ schedule_paths: Optional[List[str]] = None
3516
+ without_start_time: Optional[bool] = None
3517
+ workflow_folders: Optional[List[Folder]] = None
3518
+ workflow_paths: Optional[List[str]] = None
3519
+
3520
+
3521
+ class WhenHolidayType(str, Enum):
3522
+ """com.sos.inventory.model.calendar.WhenHolidayType"""
3523
+
3524
+ IGNORE = "IGNORE"
3525
+ NEXTNONWORKINGDAY = "NEXTNONWORKINGDAY"
3526
+ PREVIOUSNONWORKINGDAY = "PREVIOUSNONWORKINGDAY"
3527
+ SUPPRESS = "SUPPRESS"
3528
+
3529
+
3530
+ class CalendarPeriod(BaseModel):
3531
+ """com.sos.inventory.model.calendar.Period"""
3532
+ begin: Optional[str] = None
3533
+ end: Optional[str] = None
3534
+ repeat: Optional[str] = None
3535
+ single_start: Optional[str] = None
3536
+ when_holiday: Optional[WhenHolidayType] = None
3537
+ """default: SUPPRESS"""
3538
+
3539
+
3540
+ class DatePeriodItem(BaseModel):
3541
+ """com.sos.joc.model.dailyplan.projections.items.year.DatePeriodItem"""
3542
+
3543
+ period: Optional[CalendarPeriod] = None
3544
+ schedule: Optional[str] = None
3545
+ schedule_order_name: Optional[str] = None
3546
+ workflow: Optional[str] = None
3547
+
3548
+
3549
+ class DateItem(BaseModel):
3550
+ """com.sos.joc.model.dailyplan.projections.items.year.DateItem"""
3551
+
3552
+ non_periods: Optional[List[DatePeriodItem]] = None
3553
+ num_of_non_periods: Optional[int] = None
3554
+ num_of_orders: Optional[int] = None
3555
+ periods: Optional[List[DatePeriodItem]] = None
3556
+ planned: Optional[bool] = None
3557
+
3558
+
3559
+ class MetaItem(BaseModel):
3560
+ """com.sos.joc.model.dailyplan.projections.items.meta.MetaItem"""
3561
+
3562
+ excluded_from_projection: Optional[bool] = None
3563
+ order_names: Optional[List[str]] = None
3564
+ """this property is only set if the schedule defines orders"""
3565
+
3566
+ total_orders: Optional[float] = None
3567
+ workflow_paths: Optional[List[str]] = None
3568
+ """this property is only used for a shorter response of ./projections/day API"""
3569
+
3570
+ workflows: Optional[Dict[str, Workflow]] = None
3571
+
3572
+
3573
+ class ProjectionsCalendarResponse(BaseModel):
3574
+ """com.sos.joc.model.dailyplan.projections.ProjectionsCalendarResponse"""
3575
+
3576
+ delivery_date: Optional[datetime] = None
3577
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3578
+
3579
+ meta: Optional[Dict[str, Dict[str, MetaItem]]] = None
3580
+ survey_date: Optional[datetime] = None
3581
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3582
+
3583
+ years: Optional[Dict[str, Dict[str, Dict[str, DateItem]]]] = None
3584
+
3585
+
3586
+ class ProjectionsDayRequest(BaseModel):
3587
+ """com.sos.joc.model.dailyplan.projections.ProjectionsDayRequest"""
3588
+
3589
+ controller_ids: Optional[List[str]] = None
3590
+ date: Optional[datetime] = None
3591
+ """ISO date YYYY-MM-DD"""
3592
+
3593
+ schedule_folders: Optional[List[Folder]] = None
3594
+ schedule_paths: Optional[List[str]] = None
3595
+ without_start_time: Optional[bool] = None
3596
+ workflow_folders: Optional[List[Folder]] = None
3597
+ workflow_paths: Optional[List[str]] = None
3598
+
3599
+
3600
+ class WorkflowItem(BaseModel):
3601
+ """com.sos.joc.model.dailyplan.projections.items.meta.WorkflowItem"""
3602
+
3603
+ avg: Optional[float] = None
3604
+
3605
+
3606
+ class ScheduleInfoItem(BaseModel):
3607
+ """com.sos.joc.model.dailyplan.projections.items.meta.ScheduleInfoItem"""
3608
+
3609
+ excluded_from_projection: Optional[bool] = None
3610
+ order_names: Optional[List[str]] = None
3611
+ """this property is only set if the schedule defines orders"""
3612
+
3613
+ total_orders: Optional[float] = None
3614
+ workflow_paths: Optional[List[str]] = None
3615
+ """this property is only used for a shorter response of ./projections/day API"""
3616
+
3617
+ workflows: Optional[Dict[str, WorkflowItem]] = None
3618
+
3619
+
3620
+ class ProjectionsDayResponse(DateItem):
3621
+ """com.sos.joc.model.dailyplan.projections.ProjectionsDayResponse"""
3622
+
3623
+ delivery_date: Optional[datetime] = None
3624
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3625
+
3626
+ meta: Optional[Dict[str, Dict[str, ScheduleInfoItem]]] = None
3627
+ survey_date: Optional[datetime] = None
3628
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3629
+
3630
+
3631
+ class Configuration(BaseModel):
3632
+ """com.sos.joc.model.configuration.Configuration"""
3633
+
3634
+ account: Optional[str] = None
3635
+ configuration_item: Optional[str] = None
3636
+ """JSON object as string, depends on configuration type"""
3637
+
3638
+ configuration_type: Optional[ConfigurationType] = None
3639
+ controller_id: Optional[str] = None
3640
+ id: Optional[float] = None
3641
+ name: Optional[str] = None
3642
+ object_type: Optional[str] = None
3643
+ shared: Optional[bool] = None
3644
+
3645
+
3646
+ class ConfigurationOk(BaseModel):
3647
+ """com.sos.joc.model.configuration.ConfigurationOk"""
3648
+
3649
+ delivery_date: Optional[datetime] = None
3650
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3651
+
3652
+ id: Optional[int] = None
3653
+ survey_date: Optional[datetime] = None
3654
+ """Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty"""
3655
+
3656
+
3657
+ class Notice(BaseModel):
3658
+ notice_board_path: Optional[str] = None
3659
+ notice_ids: Optional[List[str]] = None
3660
+
3661
+ class DeleteNotices(ModifyNotice):
3662
+ """com.sos.joc.model.board.DeleteNotices"""
3663
+
3664
+ notice_board_path: Optional[str] = None
3665
+ notice_ids: Optional[List[str]] = None
3666
+ notices: Optional[List[Notice]] = None