cyberdesk 1.10.0__tar.gz → 1.11.0__tar.gz

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.

Potentially problematic release.


This version of cyberdesk might be problematic. Click here for more details.

Files changed (157) hide show
  1. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/PKG-INFO +1 -1
  2. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk/__init__.py +1 -1
  3. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk/client.py +59 -0
  4. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk.egg-info/PKG-INFO +1 -1
  5. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk.egg-info/SOURCES.txt +4 -0
  6. cyberdesk-1.11.0/openapi_client/cyberdesk_cloud_client/api/runs/bulk_create_runs_v1_runs_bulk_post.py +200 -0
  7. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/__init__.py +6 -0
  8. cyberdesk-1.11.0/openapi_client/cyberdesk_cloud_client/models/run_bulk_create.py +181 -0
  9. cyberdesk-1.11.0/openapi_client/cyberdesk_cloud_client/models/run_bulk_create_input_values_type_0.py +44 -0
  10. cyberdesk-1.11.0/openapi_client/cyberdesk_cloud_client/models/run_bulk_create_response.py +96 -0
  11. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/pyproject.toml +1 -1
  12. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/LICENSE +0 -0
  13. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/README.md +0 -0
  14. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk.egg-info/dependency_links.txt +0 -0
  15. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk.egg-info/requires.txt +0 -0
  16. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/cyberdesk.egg-info/top_level.txt +0 -0
  17. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/__init__.py +0 -0
  18. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/__init__.py +0 -0
  19. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/__init__.py +0 -0
  20. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/fs_list_v1_computer_machine_id_fs_list_get.py +0 -0
  21. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/fs_read_v1_computer_machine_id_fs_read_get.py +0 -0
  22. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/fs_write_v1_computer_machine_id_fs_write_post.py +0 -0
  23. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/get_display_dimensions_v1_computer_machine_id_display_dimensions_get.py +0 -0
  24. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/get_mouse_position_v1_computer_machine_id_input_mouse_position_get.py +0 -0
  25. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/get_screenshot_v1_computer_machine_id_display_screenshot_get.py +0 -0
  26. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/keyboard_key_v1_computer_machine_id_input_keyboard_key_post.py +0 -0
  27. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/keyboard_type_v1_computer_machine_id_input_keyboard_type_post.py +0 -0
  28. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/mouse_click_v1_computer_machine_id_input_mouse_click_post.py +0 -0
  29. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/mouse_move_v1_computer_machine_id_input_mouse_move_post.py +0 -0
  30. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py +0 -0
  31. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/computer/powershell_session_v1_computer_machine_id_shell_powershell_session_post.py +0 -0
  32. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/__init__.py +0 -0
  33. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/create_connection_v1_connections_post.py +0 -0
  34. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/delete_connection_v1_connections_connection_id_delete.py +0 -0
  35. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/get_connection_v1_connections_connection_id_get.py +0 -0
  36. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/list_connections_v1_connections_get.py +0 -0
  37. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/connections/update_connection_v1_connections_connection_id_patch.py +0 -0
  38. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/default/__init__.py +0 -0
  39. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/default/root_get.py +0 -0
  40. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/health/__init__.py +0 -0
  41. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/health/database_health_check_v1_health_db_get.py +0 -0
  42. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/health/health_check_v1_health_get.py +0 -0
  43. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/__init__.py +0 -0
  44. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/create_machine_v1_machines_post.py +0 -0
  45. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/delete_machine_v1_machines_machine_id_delete.py +0 -0
  46. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/get_machine_v1_machines_machine_id_get.py +0 -0
  47. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/list_machines_v1_machines_get.py +0 -0
  48. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/machines/update_machine_v1_machines_machine_id_patch.py +0 -0
  49. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/__init__.py +0 -0
  50. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/create_request_log_v1_request_logs_post.py +0 -0
  51. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/delete_request_log_v1_request_logs_log_id_delete.py +0 -0
  52. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/get_request_log_v1_request_logs_log_id_get.py +0 -0
  53. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/list_request_logs_v1_request_logs_get.py +0 -0
  54. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/request_logs/update_request_log_v1_request_logs_log_id_patch.py +0 -0
  55. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/__init__.py +0 -0
  56. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/create_run_attachment_v1_run_attachments_post.py +0 -0
  57. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/delete_run_attachment_v1_run_attachments_attachment_id_delete.py +0 -0
  58. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/download_run_attachment_v1_run_attachments_attachment_id_download_get.py +0 -0
  59. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_download_url_v1_run_attachments_attachment_id_download_url_get.py +0 -0
  60. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_v1_run_attachments_attachment_id_get.py +0 -0
  61. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/list_run_attachments_v1_run_attachments_get.py +0 -0
  62. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/run_attachments/update_run_attachment_v1_run_attachments_attachment_id_put.py +0 -0
  63. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/__init__.py +0 -0
  64. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/create_run_v1_runs_post.py +0 -0
  65. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/delete_run_v1_runs_run_id_delete.py +0 -0
  66. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/get_run_v1_runs_run_id_get.py +0 -0
  67. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/list_runs_v1_runs_get.py +0 -0
  68. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/runs/update_run_v1_runs_run_id_patch.py +0 -0
  69. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/test/__init__.py +0 -0
  70. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/test/dummy_test_endpoint_v1_test_post.py +0 -0
  71. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/__init__.py +0 -0
  72. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/create_trajectory_v1_trajectories_post.py +0 -0
  73. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/delete_trajectory_v1_trajectories_trajectory_id_delete.py +0 -0
  74. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/get_latest_trajectory_for_workflow_v1_workflows_workflow_id_latest_trajectory_get.py +0 -0
  75. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/get_trajectory_v1_trajectories_trajectory_id_get.py +0 -0
  76. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/list_trajectories_v1_trajectories_get.py +0 -0
  77. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/trajectories/update_trajectory_v1_trajectories_trajectory_id_patch.py +0 -0
  78. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/__init__.py +0 -0
  79. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/create_workflow_v1_workflows_post.py +0 -0
  80. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/delete_workflow_v1_workflows_workflow_id_delete.py +0 -0
  81. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_v1_workflows_workflow_id_get.py +0 -0
  82. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/get_workflow_versions_v1_workflows_workflow_id_versions_get.py +0 -0
  83. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/list_workflows_v1_workflows_get.py +0 -0
  84. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/api/workflows/update_workflow_v1_workflows_workflow_id_patch.py +0 -0
  85. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/client.py +0 -0
  86. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/errors.py +0 -0
  87. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/attachment_type.py +0 -0
  88. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/connection_create.py +0 -0
  89. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/connection_response.py +0 -0
  90. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/connection_status.py +0 -0
  91. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/database_health_check_v1_health_db_get_response_database_health_check_v1_health_db_get.py +0 -0
  92. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/display_dimensions.py +0 -0
  93. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/dummy_test_endpoint_v1_test_post_response_dummy_test_endpoint_v1_test_post.py +0 -0
  94. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/file_input.py +0 -0
  95. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/file_write_request.py +0 -0
  96. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/fs_list_v1_computer_machine_id_fs_list_get_response_fs_list_v1_computer_machine_id_fs_list_get.py +0 -0
  97. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/fs_read_v1_computer_machine_id_fs_read_get_response_fs_read_v1_computer_machine_id_fs_read_get.py +0 -0
  98. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/fs_write_v1_computer_machine_id_fs_write_post_response_fs_write_v1_computer_machine_id_fs_write_post.py +0 -0
  99. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/get_workflow_versions_v1_workflows_workflow_id_versions_get_response_200_item.py +0 -0
  100. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/health_check_v1_health_get_response_health_check_v1_health_get.py +0 -0
  101. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/http_validation_error.py +0 -0
  102. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/keyboard_key_request.py +0 -0
  103. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/keyboard_type_request.py +0 -0
  104. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/machine_create.py +0 -0
  105. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/machine_response.py +0 -0
  106. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/machine_status.py +0 -0
  107. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/machine_update.py +0 -0
  108. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/mouse_click_request.py +0 -0
  109. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/mouse_move_request.py +0 -0
  110. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/mouse_position.py +0 -0
  111. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response.py +0 -0
  112. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_connection_response.py +0 -0
  113. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_machine_response.py +0 -0
  114. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_run_attachment_response.py +0 -0
  115. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_run_response.py +0 -0
  116. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_trajectory_response.py +0 -0
  117. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/paginated_response_workflow_response.py +0 -0
  118. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/power_shell_exec_request.py +0 -0
  119. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/power_shell_session_request.py +0 -0
  120. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/powershell_exec_v1_computer_machine_id_shell_powershell_exec_post_response_powershell_exec_v1_computer_machine_id_shell_powershell_exec_post.py +0 -0
  121. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/powershell_session_v1_computer_machine_id_shell_powershell_session_post_response_powershell_session_v1_computer_machine_id_shell_powershell_session_post.py +0 -0
  122. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/request_log_create.py +0 -0
  123. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/request_log_response.py +0 -0
  124. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/request_log_update.py +0 -0
  125. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_attachment_create.py +0 -0
  126. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_attachment_download_url_response.py +0 -0
  127. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_attachment_response.py +0 -0
  128. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_attachment_update.py +0 -0
  129. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_create.py +0 -0
  130. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_create_input_values_type_0.py +0 -0
  131. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_response.py +0 -0
  132. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_response_input_values_type_0.py +0 -0
  133. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_response_output_data_type_0.py +0 -0
  134. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_response_run_message_history_type_0_item.py +0 -0
  135. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_status.py +0 -0
  136. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_update.py +0 -0
  137. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_update_input_values_type_0.py +0 -0
  138. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_update_output_data_type_0.py +0 -0
  139. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/run_update_run_message_history_type_0_item.py +0 -0
  140. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_create.py +0 -0
  141. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_create_dimensions.py +0 -0
  142. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_create_original_input_values_type_0.py +0 -0
  143. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_create_trajectory_data_item.py +0 -0
  144. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_response.py +0 -0
  145. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_response_dimensions.py +0 -0
  146. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_response_original_input_values_type_0.py +0 -0
  147. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_response_trajectory_data_item.py +0 -0
  148. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_update.py +0 -0
  149. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/trajectory_update_trajectory_data_type_0_item.py +0 -0
  150. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/validation_error.py +0 -0
  151. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/workflow_create.py +0 -0
  152. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/workflow_response.py +0 -0
  153. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/workflow_response_old_versions_type_0_item.py +0 -0
  154. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/models/workflow_update.py +0 -0
  155. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/py.typed +0 -0
  156. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/openapi_client/cyberdesk_cloud_client/types.py +0 -0
  157. {cyberdesk-1.10.0 → cyberdesk-1.11.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cyberdesk
3
- Version: 1.10.0
3
+ Version: 1.11.0
4
4
  Summary: The official Python SDK for Cyberdesk
5
5
  Author-email: Cyberdesk Team <dev@cyberdesk.io>
6
6
  License-Expression: MIT
@@ -27,7 +27,7 @@ from .client import (
27
27
  AttachmentType,
28
28
  )
29
29
 
30
- __version__ = "1.10.0"
30
+ __version__ = "1.11.0"
31
31
 
32
32
  __all__ = [
33
33
  "CyberdeskClient",
@@ -28,6 +28,7 @@ from openapi_client.cyberdesk_cloud_client.api.runs import (
28
28
  get_run_v1_runs_run_id_get,
29
29
  update_run_v1_runs_run_id_patch,
30
30
  delete_run_v1_runs_run_id_delete,
31
+ bulk_create_runs_v1_runs_bulk_post,
31
32
  )
32
33
  from openapi_client.cyberdesk_cloud_client.api.connections import (
33
34
  list_connections_v1_connections_get,
@@ -64,6 +65,8 @@ from openapi_client.cyberdesk_cloud_client.models import (
64
65
  RunUpdate,
65
66
  RunResponse,
66
67
  RunStatus,
68
+ RunBulkCreate,
69
+ RunBulkCreateResponse,
67
70
  FileInput,
68
71
  ConnectionCreate,
69
72
  ConnectionResponse,
@@ -98,6 +101,8 @@ __all__ = [
98
101
  "RunUpdate",
99
102
  "RunResponse",
100
103
  "RunStatus",
104
+ "RunBulkCreate",
105
+ "RunBulkCreateResponse",
101
106
  "FileInput",
102
107
  "ConnectionCreate",
103
108
  "ConnectionResponse",
@@ -527,6 +532,60 @@ class RunsAPI:
527
532
  return ApiResponse(data={"success": True})
528
533
  except Exception as e:
529
534
  return ApiResponse(error=e)
535
+
536
+ async def bulk_create(self, data: RunBulkCreate) -> ApiResponse:
537
+ """Create multiple runs with the same configuration.
538
+
539
+ This method efficiently creates multiple runs:
540
+ - All runs are created in a single database transaction
541
+ - Temporal workflows are started asynchronously
542
+ - Returns immediately with created run details
543
+
544
+ Args:
545
+ data: RunBulkCreate object containing workflow_id, machine_id,
546
+ input_values, file_inputs, and count (max 1000)
547
+
548
+ Returns:
549
+ ApiResponse with RunBulkCreateResponse containing:
550
+ - created_runs: List of created RunResponse objects
551
+ - failed_count: Number of runs that failed to create
552
+ - errors: List of error messages for failed runs
553
+ """
554
+ try:
555
+ response = await bulk_create_runs_v1_runs_bulk_post.asyncio(
556
+ client=self.client,
557
+ body=data
558
+ )
559
+ return ApiResponse(data=response)
560
+ except Exception as e:
561
+ return ApiResponse(error=e)
562
+
563
+ def bulk_create_sync(self, data: RunBulkCreate) -> ApiResponse:
564
+ """Create multiple runs with the same configuration (synchronous).
565
+
566
+ This method efficiently creates multiple runs:
567
+ - All runs are created in a single database transaction
568
+ - Temporal workflows are started asynchronously
569
+ - Returns immediately with created run details
570
+
571
+ Args:
572
+ data: RunBulkCreate object containing workflow_id, machine_id,
573
+ input_values, file_inputs, and count (max 1000)
574
+
575
+ Returns:
576
+ ApiResponse with RunBulkCreateResponse containing:
577
+ - created_runs: List of created RunResponse objects
578
+ - failed_count: Number of runs that failed to create
579
+ - errors: List of error messages for failed runs
580
+ """
581
+ try:
582
+ response = bulk_create_runs_v1_runs_bulk_post.sync(
583
+ client=self.client,
584
+ body=data
585
+ )
586
+ return ApiResponse(data=response)
587
+ except Exception as e:
588
+ return ApiResponse(error=e)
530
589
 
531
590
 
532
591
  class ConnectionsAPI:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cyberdesk
3
- Version: 1.10.0
3
+ Version: 1.11.0
4
4
  Summary: The official Python SDK for Cyberdesk
5
5
  Author-email: Cyberdesk Team <dev@cyberdesk.io>
6
6
  License-Expression: MIT
@@ -59,6 +59,7 @@ openapi_client/cyberdesk_cloud_client/api/run_attachments/get_run_attachment_v1_
59
59
  openapi_client/cyberdesk_cloud_client/api/run_attachments/list_run_attachments_v1_run_attachments_get.py
60
60
  openapi_client/cyberdesk_cloud_client/api/run_attachments/update_run_attachment_v1_run_attachments_attachment_id_put.py
61
61
  openapi_client/cyberdesk_cloud_client/api/runs/__init__.py
62
+ openapi_client/cyberdesk_cloud_client/api/runs/bulk_create_runs_v1_runs_bulk_post.py
62
63
  openapi_client/cyberdesk_cloud_client/api/runs/create_run_v1_runs_post.py
63
64
  openapi_client/cyberdesk_cloud_client/api/runs/delete_run_v1_runs_run_id_delete.py
64
65
  openapi_client/cyberdesk_cloud_client/api/runs/get_run_v1_runs_run_id_get.py
@@ -123,6 +124,9 @@ openapi_client/cyberdesk_cloud_client/models/run_attachment_create.py
123
124
  openapi_client/cyberdesk_cloud_client/models/run_attachment_download_url_response.py
124
125
  openapi_client/cyberdesk_cloud_client/models/run_attachment_response.py
125
126
  openapi_client/cyberdesk_cloud_client/models/run_attachment_update.py
127
+ openapi_client/cyberdesk_cloud_client/models/run_bulk_create.py
128
+ openapi_client/cyberdesk_cloud_client/models/run_bulk_create_input_values_type_0.py
129
+ openapi_client/cyberdesk_cloud_client/models/run_bulk_create_response.py
126
130
  openapi_client/cyberdesk_cloud_client/models/run_create.py
127
131
  openapi_client/cyberdesk_cloud_client/models/run_create_input_values_type_0.py
128
132
  openapi_client/cyberdesk_cloud_client/models/run_response.py
@@ -0,0 +1,200 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...models.run_bulk_create import RunBulkCreate
10
+ from ...models.run_bulk_create_response import RunBulkCreateResponse
11
+ from ...types import Response
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ body: RunBulkCreate,
17
+ ) -> dict[str, Any]:
18
+ headers: dict[str, Any] = {}
19
+
20
+ _kwargs: dict[str, Any] = {
21
+ "method": "post",
22
+ "url": "/v1/runs/bulk",
23
+ }
24
+
25
+ _kwargs["json"] = body.to_dict()
26
+
27
+ headers["Content-Type"] = "application/json"
28
+
29
+ _kwargs["headers"] = headers
30
+ return _kwargs
31
+
32
+
33
+ def _parse_response(
34
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
35
+ ) -> Optional[Union[HTTPValidationError, RunBulkCreateResponse]]:
36
+ if response.status_code == 201:
37
+ response_201 = RunBulkCreateResponse.from_dict(response.json())
38
+
39
+ return response_201
40
+ if response.status_code == 422:
41
+ response_422 = HTTPValidationError.from_dict(response.json())
42
+
43
+ return response_422
44
+ if client.raise_on_unexpected_status:
45
+ raise errors.UnexpectedStatus(response.status_code, response.content)
46
+ else:
47
+ return None
48
+
49
+
50
+ def _build_response(
51
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
52
+ ) -> Response[Union[HTTPValidationError, RunBulkCreateResponse]]:
53
+ return Response(
54
+ status_code=HTTPStatus(response.status_code),
55
+ content=response.content,
56
+ headers=response.headers,
57
+ parsed=_parse_response(client=client, response=response),
58
+ )
59
+
60
+
61
+ def sync_detailed(
62
+ *,
63
+ client: AuthenticatedClient,
64
+ body: RunBulkCreate,
65
+ ) -> Response[Union[HTTPValidationError, RunBulkCreateResponse]]:
66
+ """Bulk Create Runs
67
+
68
+ Create multiple runs with the same configuration.
69
+
70
+ This endpoint creates multiple runs efficiently:
71
+ - All runs are created in a single database transaction
72
+ - Temporal workflows are started asynchronously
73
+ - Returns immediately with created run details
74
+
75
+ Maximum 1000 runs can be created in a single request.
76
+
77
+ Args:
78
+ body (RunBulkCreate): Schema for bulk creating runs
79
+
80
+ Raises:
81
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
82
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
83
+
84
+ Returns:
85
+ Response[Union[HTTPValidationError, RunBulkCreateResponse]]
86
+ """
87
+
88
+ kwargs = _get_kwargs(
89
+ body=body,
90
+ )
91
+
92
+ response = client.get_httpx_client().request(
93
+ **kwargs,
94
+ )
95
+
96
+ return _build_response(client=client, response=response)
97
+
98
+
99
+ def sync(
100
+ *,
101
+ client: AuthenticatedClient,
102
+ body: RunBulkCreate,
103
+ ) -> Optional[Union[HTTPValidationError, RunBulkCreateResponse]]:
104
+ """Bulk Create Runs
105
+
106
+ Create multiple runs with the same configuration.
107
+
108
+ This endpoint creates multiple runs efficiently:
109
+ - All runs are created in a single database transaction
110
+ - Temporal workflows are started asynchronously
111
+ - Returns immediately with created run details
112
+
113
+ Maximum 1000 runs can be created in a single request.
114
+
115
+ Args:
116
+ body (RunBulkCreate): Schema for bulk creating runs
117
+
118
+ Raises:
119
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
120
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
121
+
122
+ Returns:
123
+ Union[HTTPValidationError, RunBulkCreateResponse]
124
+ """
125
+
126
+ return sync_detailed(
127
+ client=client,
128
+ body=body,
129
+ ).parsed
130
+
131
+
132
+ async def asyncio_detailed(
133
+ *,
134
+ client: AuthenticatedClient,
135
+ body: RunBulkCreate,
136
+ ) -> Response[Union[HTTPValidationError, RunBulkCreateResponse]]:
137
+ """Bulk Create Runs
138
+
139
+ Create multiple runs with the same configuration.
140
+
141
+ This endpoint creates multiple runs efficiently:
142
+ - All runs are created in a single database transaction
143
+ - Temporal workflows are started asynchronously
144
+ - Returns immediately with created run details
145
+
146
+ Maximum 1000 runs can be created in a single request.
147
+
148
+ Args:
149
+ body (RunBulkCreate): Schema for bulk creating runs
150
+
151
+ Raises:
152
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
153
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
154
+
155
+ Returns:
156
+ Response[Union[HTTPValidationError, RunBulkCreateResponse]]
157
+ """
158
+
159
+ kwargs = _get_kwargs(
160
+ body=body,
161
+ )
162
+
163
+ response = await client.get_async_httpx_client().request(**kwargs)
164
+
165
+ return _build_response(client=client, response=response)
166
+
167
+
168
+ async def asyncio(
169
+ *,
170
+ client: AuthenticatedClient,
171
+ body: RunBulkCreate,
172
+ ) -> Optional[Union[HTTPValidationError, RunBulkCreateResponse]]:
173
+ """Bulk Create Runs
174
+
175
+ Create multiple runs with the same configuration.
176
+
177
+ This endpoint creates multiple runs efficiently:
178
+ - All runs are created in a single database transaction
179
+ - Temporal workflows are started asynchronously
180
+ - Returns immediately with created run details
181
+
182
+ Maximum 1000 runs can be created in a single request.
183
+
184
+ Args:
185
+ body (RunBulkCreate): Schema for bulk creating runs
186
+
187
+ Raises:
188
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
189
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
190
+
191
+ Returns:
192
+ Union[HTTPValidationError, RunBulkCreateResponse]
193
+ """
194
+
195
+ return (
196
+ await asyncio_detailed(
197
+ client=client,
198
+ body=body,
199
+ )
200
+ ).parsed
@@ -60,6 +60,9 @@ from .run_attachment_create import RunAttachmentCreate
60
60
  from .run_attachment_download_url_response import RunAttachmentDownloadUrlResponse
61
61
  from .run_attachment_response import RunAttachmentResponse
62
62
  from .run_attachment_update import RunAttachmentUpdate
63
+ from .run_bulk_create import RunBulkCreate
64
+ from .run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
65
+ from .run_bulk_create_response import RunBulkCreateResponse
63
66
  from .run_create import RunCreate
64
67
  from .run_create_input_values_type_0 import RunCreateInputValuesType0
65
68
  from .run_response import RunResponse
@@ -130,6 +133,9 @@ __all__ = (
130
133
  "RunAttachmentDownloadUrlResponse",
131
134
  "RunAttachmentResponse",
132
135
  "RunAttachmentUpdate",
136
+ "RunBulkCreate",
137
+ "RunBulkCreateInputValuesType0",
138
+ "RunBulkCreateResponse",
133
139
  "RunCreate",
134
140
  "RunCreateInputValuesType0",
135
141
  "RunResponse",
@@ -0,0 +1,181 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+ from uuid import UUID
4
+
5
+ from attrs import define as _attrs_define
6
+ from attrs import field as _attrs_field
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ if TYPE_CHECKING:
11
+ from ..models.file_input import FileInput
12
+ from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
13
+
14
+
15
+ T = TypeVar("T", bound="RunBulkCreate")
16
+
17
+
18
+ @_attrs_define
19
+ class RunBulkCreate:
20
+ """Schema for bulk creating runs
21
+
22
+ Attributes:
23
+ workflow_id (UUID):
24
+ count (int): Number of runs to create (max 1000)
25
+ machine_id (Union[None, UUID, Unset]): Machine ID. If not provided, an available machine will be automatically
26
+ selected.
27
+ input_values (Union['RunBulkCreateInputValuesType0', None, Unset]): Input values for workflow variables
28
+ file_inputs (Union[None, Unset, list['FileInput']]): Files to upload to the machine
29
+ """
30
+
31
+ workflow_id: UUID
32
+ count: int
33
+ machine_id: Union[None, UUID, Unset] = UNSET
34
+ input_values: Union["RunBulkCreateInputValuesType0", None, Unset] = UNSET
35
+ file_inputs: Union[None, Unset, list["FileInput"]] = UNSET
36
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
37
+
38
+ def to_dict(self) -> dict[str, Any]:
39
+ from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
40
+
41
+ workflow_id = str(self.workflow_id)
42
+
43
+ count = self.count
44
+
45
+ machine_id: Union[None, Unset, str]
46
+ if isinstance(self.machine_id, Unset):
47
+ machine_id = UNSET
48
+ elif isinstance(self.machine_id, UUID):
49
+ machine_id = str(self.machine_id)
50
+ else:
51
+ machine_id = self.machine_id
52
+
53
+ input_values: Union[None, Unset, dict[str, Any]]
54
+ if isinstance(self.input_values, Unset):
55
+ input_values = UNSET
56
+ elif isinstance(self.input_values, RunBulkCreateInputValuesType0):
57
+ input_values = self.input_values.to_dict()
58
+ else:
59
+ input_values = self.input_values
60
+
61
+ file_inputs: Union[None, Unset, list[dict[str, Any]]]
62
+ if isinstance(self.file_inputs, Unset):
63
+ file_inputs = UNSET
64
+ elif isinstance(self.file_inputs, list):
65
+ file_inputs = []
66
+ for file_inputs_type_0_item_data in self.file_inputs:
67
+ file_inputs_type_0_item = file_inputs_type_0_item_data.to_dict()
68
+ file_inputs.append(file_inputs_type_0_item)
69
+
70
+ else:
71
+ file_inputs = self.file_inputs
72
+
73
+ field_dict: dict[str, Any] = {}
74
+ field_dict.update(self.additional_properties)
75
+ field_dict.update(
76
+ {
77
+ "workflow_id": workflow_id,
78
+ "count": count,
79
+ }
80
+ )
81
+ if machine_id is not UNSET:
82
+ field_dict["machine_id"] = machine_id
83
+ if input_values is not UNSET:
84
+ field_dict["input_values"] = input_values
85
+ if file_inputs is not UNSET:
86
+ field_dict["file_inputs"] = file_inputs
87
+
88
+ return field_dict
89
+
90
+ @classmethod
91
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
92
+ from ..models.file_input import FileInput
93
+ from ..models.run_bulk_create_input_values_type_0 import RunBulkCreateInputValuesType0
94
+
95
+ d = dict(src_dict)
96
+ workflow_id = UUID(d.pop("workflow_id"))
97
+
98
+ count = d.pop("count")
99
+
100
+ def _parse_machine_id(data: object) -> Union[None, UUID, Unset]:
101
+ if data is None:
102
+ return data
103
+ if isinstance(data, Unset):
104
+ return data
105
+ try:
106
+ if not isinstance(data, str):
107
+ raise TypeError()
108
+ machine_id_type_0 = UUID(data)
109
+
110
+ return machine_id_type_0
111
+ except: # noqa: E722
112
+ pass
113
+ return cast(Union[None, UUID, Unset], data)
114
+
115
+ machine_id = _parse_machine_id(d.pop("machine_id", UNSET))
116
+
117
+ def _parse_input_values(data: object) -> Union["RunBulkCreateInputValuesType0", None, Unset]:
118
+ if data is None:
119
+ return data
120
+ if isinstance(data, Unset):
121
+ return data
122
+ try:
123
+ if not isinstance(data, dict):
124
+ raise TypeError()
125
+ input_values_type_0 = RunBulkCreateInputValuesType0.from_dict(data)
126
+
127
+ return input_values_type_0
128
+ except: # noqa: E722
129
+ pass
130
+ return cast(Union["RunBulkCreateInputValuesType0", None, Unset], data)
131
+
132
+ input_values = _parse_input_values(d.pop("input_values", UNSET))
133
+
134
+ def _parse_file_inputs(data: object) -> Union[None, Unset, list["FileInput"]]:
135
+ if data is None:
136
+ return data
137
+ if isinstance(data, Unset):
138
+ return data
139
+ try:
140
+ if not isinstance(data, list):
141
+ raise TypeError()
142
+ file_inputs_type_0 = []
143
+ _file_inputs_type_0 = data
144
+ for file_inputs_type_0_item_data in _file_inputs_type_0:
145
+ file_inputs_type_0_item = FileInput.from_dict(file_inputs_type_0_item_data)
146
+
147
+ file_inputs_type_0.append(file_inputs_type_0_item)
148
+
149
+ return file_inputs_type_0
150
+ except: # noqa: E722
151
+ pass
152
+ return cast(Union[None, Unset, list["FileInput"]], data)
153
+
154
+ file_inputs = _parse_file_inputs(d.pop("file_inputs", UNSET))
155
+
156
+ run_bulk_create = cls(
157
+ workflow_id=workflow_id,
158
+ count=count,
159
+ machine_id=machine_id,
160
+ input_values=input_values,
161
+ file_inputs=file_inputs,
162
+ )
163
+
164
+ run_bulk_create.additional_properties = d
165
+ return run_bulk_create
166
+
167
+ @property
168
+ def additional_keys(self) -> list[str]:
169
+ return list(self.additional_properties.keys())
170
+
171
+ def __getitem__(self, key: str) -> Any:
172
+ return self.additional_properties[key]
173
+
174
+ def __setitem__(self, key: str, value: Any) -> None:
175
+ self.additional_properties[key] = value
176
+
177
+ def __delitem__(self, key: str) -> None:
178
+ del self.additional_properties[key]
179
+
180
+ def __contains__(self, key: str) -> bool:
181
+ return key in self.additional_properties
@@ -0,0 +1,44 @@
1
+ from collections.abc import Mapping
2
+ from typing import Any, TypeVar
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ T = TypeVar("T", bound="RunBulkCreateInputValuesType0")
8
+
9
+
10
+ @_attrs_define
11
+ class RunBulkCreateInputValuesType0:
12
+ """ """
13
+
14
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
15
+
16
+ def to_dict(self) -> dict[str, Any]:
17
+ field_dict: dict[str, Any] = {}
18
+ field_dict.update(self.additional_properties)
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
24
+ d = dict(src_dict)
25
+ run_bulk_create_input_values_type_0 = cls()
26
+
27
+ run_bulk_create_input_values_type_0.additional_properties = d
28
+ return run_bulk_create_input_values_type_0
29
+
30
+ @property
31
+ def additional_keys(self) -> list[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: Any) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -0,0 +1,96 @@
1
+ from collections.abc import Mapping
2
+ from typing import TYPE_CHECKING, Any, TypeVar, Union, cast
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+
7
+ from ..types import UNSET, Unset
8
+
9
+ if TYPE_CHECKING:
10
+ from ..models.run_response import RunResponse
11
+
12
+
13
+ T = TypeVar("T", bound="RunBulkCreateResponse")
14
+
15
+
16
+ @_attrs_define
17
+ class RunBulkCreateResponse:
18
+ """Response for bulk run creation
19
+
20
+ Attributes:
21
+ created_runs (list['RunResponse']):
22
+ failed_count (Union[Unset, int]): Default: 0.
23
+ errors (Union[Unset, list[str]]):
24
+ """
25
+
26
+ created_runs: list["RunResponse"]
27
+ failed_count: Union[Unset, int] = 0
28
+ errors: Union[Unset, list[str]] = UNSET
29
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> dict[str, Any]:
32
+ created_runs = []
33
+ for created_runs_item_data in self.created_runs:
34
+ created_runs_item = created_runs_item_data.to_dict()
35
+ created_runs.append(created_runs_item)
36
+
37
+ failed_count = self.failed_count
38
+
39
+ errors: Union[Unset, list[str]] = UNSET
40
+ if not isinstance(self.errors, Unset):
41
+ errors = self.errors
42
+
43
+ field_dict: dict[str, Any] = {}
44
+ field_dict.update(self.additional_properties)
45
+ field_dict.update(
46
+ {
47
+ "created_runs": created_runs,
48
+ }
49
+ )
50
+ if failed_count is not UNSET:
51
+ field_dict["failed_count"] = failed_count
52
+ if errors is not UNSET:
53
+ field_dict["errors"] = errors
54
+
55
+ return field_dict
56
+
57
+ @classmethod
58
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
59
+ from ..models.run_response import RunResponse
60
+
61
+ d = dict(src_dict)
62
+ created_runs = []
63
+ _created_runs = d.pop("created_runs")
64
+ for created_runs_item_data in _created_runs:
65
+ created_runs_item = RunResponse.from_dict(created_runs_item_data)
66
+
67
+ created_runs.append(created_runs_item)
68
+
69
+ failed_count = d.pop("failed_count", UNSET)
70
+
71
+ errors = cast(list[str], d.pop("errors", UNSET))
72
+
73
+ run_bulk_create_response = cls(
74
+ created_runs=created_runs,
75
+ failed_count=failed_count,
76
+ errors=errors,
77
+ )
78
+
79
+ run_bulk_create_response.additional_properties = d
80
+ return run_bulk_create_response
81
+
82
+ @property
83
+ def additional_keys(self) -> list[str]:
84
+ return list(self.additional_properties.keys())
85
+
86
+ def __getitem__(self, key: str) -> Any:
87
+ return self.additional_properties[key]
88
+
89
+ def __setitem__(self, key: str, value: Any) -> None:
90
+ self.additional_properties[key] = value
91
+
92
+ def __delitem__(self, key: str) -> None:
93
+ del self.additional_properties[key]
94
+
95
+ def __contains__(self, key: str) -> bool:
96
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "cyberdesk"
3
- version = "1.10.0"
3
+ version = "1.11.0"
4
4
  description = "The official Python SDK for Cyberdesk"
5
5
  authors = [{name = "Cyberdesk Team", email = "dev@cyberdesk.io"}]
6
6
  readme = "README.md"
File without changes
File without changes