js7-client-python 2.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- js7/__init__.py +8 -0
- js7/api/joc/http/v_2_8_2/agent/cluster/confirm_node_loss.py +36 -0
- js7/api/joc/http/v_2_8_2/agent/cluster/switchover.py +36 -0
- js7/api/joc/http/v_2_8_2/agent/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/agents.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/cluster/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/export.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/import.py +74 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/reset.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/cluster/subagents/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/inventory/store.py +36 -0
- js7/api/joc/http/v_2_8_2/agents/reset.py +36 -0
- js7/api/joc/http/v_2_8_2/authentication/auth.py +32 -0
- js7/api/joc/http/v_2_8_2/authentication/joc_cockpit_permissions.py +28 -0
- js7/api/joc/http/v_2_8_2/authentication/login.py +35 -0
- js7/api/joc/http/v_2_8_2/authentication/logout.py +28 -0
- js7/api/joc/http/v_2_8_2/configuration/configuration.py +36 -0
- js7/api/joc/http/v_2_8_2/configuration/save.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/abort.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/abort_and_restart.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/appoint_nodes.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/confirm_node_loss.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/cluster/switchover.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/components.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/controller.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/register.py +42 -0
- js7/api/joc/http/v_2_8_2/controller/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/terminate.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/test.py +36 -0
- js7/api/joc/http/v_2_8_2/controller/unregister.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/cancel.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/copy.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/generate.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/modify.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/orders.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/orders/submit.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/calendar.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/dates.py +36 -0
- js7/api/joc/http/v_2_8_2/daily_plan/projections/recreate.py +28 -0
- js7/api/joc/http/v_2_8_2/daily_plan/submissions/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/change_password.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/permissions.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/account/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/accounts.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/disable.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/enable.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/accounts/reset_password.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_account/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_accounts/blocked_accounts.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/blocked_accounts/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folder/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folder/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/folders.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/folders/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/identity_service.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/identity_service/store.py +42 -0
- js7/api/joc/http/v_2_8_2/iam/identity_services/identity_services.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permission/permission.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permission/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/permissions.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/permissions/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/rename.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/role.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/role/store.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/roles/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/iam/roles/roles.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/changes/changes.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/dependencies.py +33 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/deploy.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/import_deploy.py +66 -0
- js7/api/joc/http/v_2_8_2/inventory/deployment/revoke.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/export/export.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/export/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/import_objects.py +88 -0
- js7/api/joc/http/v_2_8_2/inventory/releasables/recall/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/releasables/recall/recall.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/release.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/remove/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/remove/remove.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/add.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/checkout.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/clone.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/commit.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/add.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/credentials.py +28 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/credentials/remove.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/pull.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/git/push.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/read.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/store.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/repository/update.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/revalidate/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/store.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/delete/delete.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/delete/folder.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/trash/restore.py +36 -0
- js7/api/joc/http/v_2_8_2/inventory/validate.py +42 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/run.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/cluster/switch_member.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/license.py +28 -0
- js7/api/joc/http/v_2_8_2/joc/proxies/restart.py +36 -0
- js7/api/joc/http/v_2_8_2/joc/version.py +28 -0
- js7/api/joc/http/v_2_8_2/joc/versions.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/add.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/cancel.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/confirm.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/continue.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/history.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/orders.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/remove_when_terminated.py +33 -0
- js7/api/joc/http/v_2_8_2/orders/resume.py +36 -0
- js7/api/joc/http/v_2_8_2/orders/suspend.py +36 -0
- js7/api/joc/http/v_2_8_2/settings/settings.py +28 -0
- js7/api/joc/http/v_2_8_2/settings/store.py +36 -0
- js7/api/joc/http/v_2_8_2/tasks/history.py +36 -0
- js7/api/joc/http/v_2_8_2/workflow/transition.py +36 -0
- js7/api/joc/http/v_2_8_2/workflow/workflow.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/resume.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/skip.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/stop.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/suspend.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/unskip.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/unstop.py +36 -0
- js7/api/joc/http/v_2_8_2/workflows/workflows.py +36 -0
- js7/api/joc/interface/dispatcher.py +76 -0
- js7/api/joc/interface/interface.py +8 -0
- js7/api/joc/interface/resolver.py +75 -0
- js7/client/action/agent/confirm_node_loss_agent_action.py +75 -0
- js7/client/action/agent/delete_subagent_action.py +77 -0
- js7/client/action/agent/delete_subagent_clusters_action.py +75 -0
- js7/client/action/agent/deploy_cluster_agents_action.py +75 -0
- js7/client/action/agent/deploy_standalone_agents_action.py +75 -0
- js7/client/action/agent/deploy_subagent_clusters_action.py +75 -0
- js7/client/action/agent/disable_standalone_agents_action.py +75 -0
- js7/client/action/agent/disable_subagents_action.py +75 -0
- js7/client/action/agent/enable_standalone_agents_action.py +75 -0
- js7/client/action/agent/enable_subagents_action.py +75 -0
- js7/client/action/agent/export_agents_action.py +101 -0
- js7/client/action/agent/get_agents_status_action.py +55 -0
- js7/client/action/agent/import_agents_action.py +139 -0
- js7/client/action/agent/remove_agent_action.py +79 -0
- js7/client/action/agent/reset_agents_action.py +79 -0
- js7/client/action/agent/reset_subagent_action.py +79 -0
- js7/client/action/agent/revoke_cluster_agents_action.py +75 -0
- js7/client/action/agent/revoke_standalone_agents_action.py +75 -0
- js7/client/action/agent/revoke_subagent_clusters_action.py +75 -0
- js7/client/action/agent/store_cluster_agents_action.py +99 -0
- js7/client/action/agent/store_standalone_agents_action.py +87 -0
- js7/client/action/agent/store_subagent_clusters_action.py +83 -0
- js7/client/action/agent/store_subagents_action.py +97 -0
- js7/client/action/agent/switchover_agent_action.py +75 -0
- js7/client/action/controller/appoint_nodes_controller_action.py +67 -0
- js7/client/action/controller/cancel_and_restart_controller_action.py +72 -0
- js7/client/action/controller/cancel_controller_action.py +71 -0
- js7/client/action/controller/confirm_cluster_node_loss_action.py +68 -0
- js7/client/action/controller/get_controller_components_action.py +41 -0
- js7/client/action/controller/get_controller_status_action.py +72 -0
- js7/client/action/controller/register_controller_action.py +93 -0
- js7/client/action/controller/restart_controller_action.py +72 -0
- js7/client/action/controller/switchover_controller_cluster_action.py +67 -0
- js7/client/action/controller/terminate_controller_action.py +72 -0
- js7/client/action/controller/test_controller_instance_action.py +65 -0
- js7/client/action/controller/unregister_controller_action.py +68 -0
- js7/client/action/daily_plan/cancel_orders_action.py +59 -0
- js7/client/action/daily_plan/copy_orders_action.py +108 -0
- js7/client/action/daily_plan/create_projections_action.py +24 -0
- js7/client/action/daily_plan/delete_orders_action.py +80 -0
- js7/client/action/daily_plan/delete_submissions_action.py +83 -0
- js7/client/action/daily_plan/generate_orders_action.py +121 -0
- js7/client/action/daily_plan/get_calendar_projections_action.py +59 -0
- js7/client/action/daily_plan/get_orders_action.py +70 -0
- js7/client/action/daily_plan/get_projection_dates_action.py +59 -0
- js7/client/action/daily_plan/modify_orders_action.py +130 -0
- js7/client/action/daily_plan/submit_orders_action.py +79 -0
- js7/client/action/helper/decrypt_action.py +82 -0
- js7/client/action/helper/encrypt_action.py +87 -0
- js7/client/action/iam/block_account_action.py +71 -0
- js7/client/action/iam/change_account_password_action.py +96 -0
- js7/client/action/iam/disable_accounts_action.py +75 -0
- js7/client/action/iam/enable_accounts_action.py +75 -0
- js7/client/action/iam/get_account_permissions_action.py +75 -0
- js7/client/action/iam/get_accounts_action.py +76 -0
- js7/client/action/iam/get_blocked_accounts_action.py +76 -0
- js7/client/action/iam/get_folder_permissions_action.py +112 -0
- js7/client/action/iam/get_identity_service_settings_action.py +70 -0
- js7/client/action/iam/get_identity_services_action.py +102 -0
- js7/client/action/iam/get_permissions_action.py +113 -0
- js7/client/action/iam/get_roles_action.py +57 -0
- js7/client/action/iam/remove_accounts_action.py +75 -0
- js7/client/action/iam/remove_folder_permissions_action.py +91 -0
- js7/client/action/iam/remove_identity_service_action.py +67 -0
- js7/client/action/iam/remove_permissions_action.py +88 -0
- js7/client/action/iam/remove_roles_action.py +75 -0
- js7/client/action/iam/rename_account_action.py +83 -0
- js7/client/action/iam/rename_folder_permissions_action.py +100 -0
- js7/client/action/iam/rename_identity_service_action.py +75 -0
- js7/client/action/iam/rename_permission_action.py +103 -0
- js7/client/action/iam/rename_role_action.py +83 -0
- js7/client/action/iam/reset_account_passwords_action.py +75 -0
- js7/client/action/iam/set_folder_permissions_action.py +96 -0
- js7/client/action/iam/set_permissions_action.py +91 -0
- js7/client/action/iam/store_account_action.py +69 -0
- js7/client/action/iam/store_identity_service_action.py +75 -0
- js7/client/action/iam/store_identity_service_settings_action.py +74 -0
- js7/client/action/iam/store_role_action.py +79 -0
- js7/client/action/iam/unblock_accounts_action.py +67 -0
- js7/client/action/inventory/deploy_configurations_action.py +138 -0
- js7/client/action/inventory/export_configurations_action.py +203 -0
- js7/client/action/inventory/export_folders_action.py +160 -0
- js7/client/action/inventory/get_change_dependencies_action.py +161 -0
- js7/client/action/inventory/get_changes_action.py +59 -0
- js7/client/action/inventory/get_git_credentials_action.py +29 -0
- js7/client/action/inventory/git_add_action.py +72 -0
- js7/client/action/inventory/git_checkout_action.py +88 -0
- js7/client/action/inventory/git_clone_action.py +84 -0
- js7/client/action/inventory/git_commit_action.py +80 -0
- js7/client/action/inventory/git_pull_action.py +72 -0
- js7/client/action/inventory/git_push_action.py +76 -0
- js7/client/action/inventory/import_configurations_action.py +153 -0
- js7/client/action/inventory/import_deploy_configurations_action.py +188 -0
- js7/client/action/inventory/read_from_local_repository_action.py +67 -0
- js7/client/action/inventory/recall_folder_action.py +89 -0
- js7/client/action/inventory/recall_released_configuration_action.py +75 -0
- js7/client/action/inventory/release_configuartions_action.py +89 -0
- js7/client/action/inventory/remove_configurations_action.py +77 -0
- js7/client/action/inventory/remove_configurations_from_trash_action.py +80 -0
- js7/client/action/inventory/remove_folder_action.py +67 -0
- js7/client/action/inventory/remove_folder_from_trash_action.py +69 -0
- js7/client/action/inventory/remove_git_credentials_action.py +53 -0
- js7/client/action/inventory/remove_repository_configuration_action.py +84 -0
- js7/client/action/inventory/restore_configuration_from_trash_action.py +84 -0
- js7/client/action/inventory/revalidate_folder_action.py +46 -0
- js7/client/action/inventory/revoke_configurations_action.py +86 -0
- js7/client/action/inventory/store_configuration_action.py +79 -0
- js7/client/action/inventory/store_git_credentials_action.py +99 -0
- js7/client/action/inventory/store_repository_configuration_action.py +124 -0
- js7/client/action/inventory/update_repository_configuration_action.py +85 -0
- js7/client/action/inventory/validate_configuration_action.py +58 -0
- js7/client/action/joc/get_components_versions_action.py +57 -0
- js7/client/action/joc/get_license_info_action.py +22 -0
- js7/client/action/joc/get_settings_action.py +19 -0
- js7/client/action/joc/get_version_action.py +17 -0
- js7/client/action/joc/restart_proxies_action.py +50 -0
- js7/client/action/joc/restart_service_action.py +74 -0
- js7/client/action/joc/run_service_action.py +74 -0
- js7/client/action/joc/store_settings_action.py +62 -0
- js7/client/action/joc/switch_over_action.py +89 -0
- js7/client/action/order/add_orders_action.py +115 -0
- js7/client/action/order/cancel_orders_action.py +93 -0
- js7/client/action/order/confirm_orders_action.py +86 -0
- js7/client/action/order/continue_orders_action.py +86 -0
- js7/client/action/order/get_order_history_action.py +84 -0
- js7/client/action/order/get_orders_action.py +83 -0
- js7/client/action/order/remove_terminated_orders_action.py +86 -0
- js7/client/action/order/resume_orders_action.py +102 -0
- js7/client/action/order/suspend_orders_action.py +97 -0
- js7/client/action/task/get_task_history_info_action.py +88 -0
- js7/client/action/workflow/get_workflow_versions_action.py +131 -0
- js7/client/action/workflow/resume_workflows_action.py +76 -0
- js7/client/action/workflow/set_workflow_version_as_current_action.py +86 -0
- js7/client/action/workflow/skip_job_instructions_action.py +83 -0
- js7/client/action/workflow/stop_job_instructions_action.py +83 -0
- js7/client/action/workflow/suspend_workflows_action.py +76 -0
- js7/client/action/workflow/unskip_job_instructions_action.py +83 -0
- js7/client/action/workflow/unstop_job_instructions_action.py +79 -0
- js7/client/auth/auth_provider.py +109 -0
- js7/client/auth/login.py +34 -0
- js7/client/auth/logout.py +22 -0
- js7/client/client.py +250 -0
- js7/client/context.py +40 -0
- js7/client/feature/agent/agent.py +26 -0
- js7/client/feature/agent/deploy.py +134 -0
- js7/client/feature/agent/manage.py +363 -0
- js7/client/feature/agent/operate.py +577 -0
- js7/client/feature/controller/controller.py +19 -0
- js7/client/feature/controller/manage.py +214 -0
- js7/client/feature/controller/operate.py +274 -0
- js7/client/feature/daily_plan/daily_plan.py +14 -0
- js7/client/feature/daily_plan/manage.py +179 -0
- js7/client/feature/daily_plan/operate.py +354 -0
- js7/client/feature/iam/iam.py +14 -0
- js7/client/feature/iam/manage.py +1311 -0
- js7/client/feature/inventory/inventory.py +13 -0
- js7/client/feature/inventory/manage.py +943 -0
- js7/client/feature/inventory/manage_repository.py +533 -0
- js7/client/feature/joc/joc.py +18 -0
- js7/client/feature/joc/manage.py +102 -0
- js7/client/feature/joc/operate.py +185 -0
- js7/client/feature/order/manage.py +79 -0
- js7/client/feature/order/operate.py +346 -0
- js7/client/feature/order/order.py +18 -0
- js7/client/feature/task/task.py +54 -0
- js7/client/feature/workflow/manage.py +54 -0
- js7/client/feature/workflow/operate.py +336 -0
- js7/client/feature/workflow/workflow.py +19 -0
- js7/java/lib/3rd-party/bcpg-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcpkix-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcprov-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/bcutil-jdk15to18-1.78.1.jar +0 -0
- js7/java/lib/3rd-party/commons-io-2.15.1.jar +0 -0
- js7/java/lib/3rd-party/commons-lang3-3.14.0.jar +0 -0
- js7/java/lib/3rd-party/jackson-core-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jackson-databind-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jackson-dataformat-xml-2.14.2.jar +0 -0
- js7/java/lib/3rd-party/jakarta.annotation-api-2.1.1.jar +0 -0
- js7/java/lib/3rd-party/javax.activation-api-1.2.0.jar +0 -0
- js7/java/lib/3rd-party/jaxb-api-2.4.0-b180830.0359.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-api-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-core-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.apache.logging.log4j.log4j-slf4j2-impl-2.23.1.jar +0 -0
- js7/java/lib/3rd-party/org.slf4j.slf4j-api-2.0.13.jar +0 -0
- js7/java/lib/3rd-party/stax2-api-4.2.1.jar +0 -0
- js7/java/lib/3rd-party/woodstox-core-6.5.0.jar +0 -0
- js7/java/lib/sos/sos-commons-encryption-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-commons-exception-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-commons-sign-2.7.3.jar +0 -0
- js7/java/lib/sos/sos-webservices-json-2.7.3.jar +0 -0
- js7/model/__init__.py +132 -0
- js7/model/configuration/auth_configuration.py +24 -0
- js7/model/configuration/client_configuration.py +6 -0
- js7/model/configuration/http_configuration.py +10 -0
- js7/model/error/http/joc_exceptions.py +151 -0
- js7/model/private/api/endpoint.py +30 -0
- js7/model/private/http/joc/joc_v_2_8_2.py +3666 -0
- js7/model/public/client/common/__init__.py +27 -0
- js7/model/public/client/common/accounts.py +21 -0
- js7/model/public/client/common/audit_log.py +8 -0
- js7/model/public/client/common/changes.py +18 -0
- js7/model/public/client/common/configurations.py +53 -0
- js7/model/public/client/common/cycle.py +12 -0
- js7/model/public/client/common/git_credentials.py +12 -0
- js7/model/public/client/common/identity_service.py +14 -0
- js7/model/public/client/common/schedule_time.py +50 -0
- js7/model/public/client/common/store_agents.py +96 -0
- js7/model/public/client/enum/__init__.py +19 -0
- js7/model/public/client/enum/object_types.py +48 -0
- js7/model/public/client/enum/operation_type.py +11 -0
- js7/model/public/client/enum/order_priority.py +9 -0
- js7/model/public/client/filter/__init__.py +35 -0
- js7/model/public/client/filter/daily_plan_order_filters.py +255 -0
- js7/model/public/client/filter/element/__init__.py +3 -0
- js7/model/public/client/filter/element/folder.py +6 -0
- js7/model/public/client/filter/element/workflow_id.py +10 -0
- js7/model/public/client/filter/export_filter.py +52 -0
- js7/model/public/client/filter/export_folders_filter.py +34 -0
- js7/model/public/client/filter/get_order_filter.py +59 -0
- js7/model/public/client/filter/order_history_filter.py +113 -0
- js7/model/public/client/filter/resume_order_filter.py +45 -0
- js7/model/public/client/filter/suspend_order_filter.py +44 -0
- js7/model/public/client/filter/tasks_filter.py +50 -0
- js7/model/public/client/input/__init__.py +2 -0
- js7/model/public/client/input/add_order.py +50 -0
- js7/service/http_service.py +206 -0
- js7/util/bytes_converter/bytes_to_archive_bytes.py +52 -0
- js7/util/bytes_converter/bytes_to_file.py +12 -0
- js7/util/bytes_converter/files_to_bytes.py +52 -0
- js7/util/bytes_converter/read_bytes_archive_files_to_bytes.py +69 -0
- js7/util/bytes_converter/sign_to_bytes.py +106 -0
- js7/util/check_matching_version.py +20 -0
- js7/util/detect_archive_type.py +37 -0
- js7/util/str_converter/order_id_to_order_name.py +5 -0
- js7/validator/http/joc_http_status_validator.py +155 -0
- js7_client_python-2.0.1.0.dist-info/LICENSE +674 -0
- js7_client_python-2.0.1.0.dist-info/METADATA +763 -0
- js7_client_python-2.0.1.0.dist-info/RECORD +389 -0
- js7_client_python-2.0.1.0.dist-info/WHEEL +5 -0
- js7_client_python-2.0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,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
|