daytona_api_client 0.225.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +101 -0
  4. data/daytona_api_client.gemspec +4 -4
  5. data/lib/daytona_api_client/api/api_keys_api.rb +2 -2
  6. data/lib/daytona_api_client/api/audit_api.rb +102 -59
  7. data/lib/daytona_api_client/api/config_api.rb +1 -1
  8. data/lib/daytona_api_client/api/docker_registry_api.rb +67 -6
  9. data/lib/daytona_api_client/api/health_api.rb +3 -54
  10. data/lib/daytona_api_client/api/object_storage_api.rb +1 -1
  11. data/lib/daytona_api_client/api/organizations_api.rb +270 -1652
  12. data/lib/daytona_api_client/api/preview_api.rb +8 -202
  13. data/lib/daytona_api_client/api/runners_api.rb +22 -470
  14. data/lib/daytona_api_client/api/sandbox_api.rb +429 -2200
  15. data/lib/daytona_api_client/api/snapshots_api.rb +117 -46
  16. data/lib/daytona_api_client/api/toolbox_api.rb +5108 -0
  17. data/lib/daytona_api_client/api/users_api.rb +172 -100
  18. data/lib/daytona_api_client/api/volumes_api.rb +2 -2
  19. data/lib/daytona_api_client/api/webhooks_api.rb +164 -27
  20. data/lib/daytona_api_client/api/workspace_api.rb +955 -0
  21. data/lib/daytona_api_client/api_client.rb +4 -8
  22. data/lib/daytona_api_client/api_error.rb +1 -1
  23. data/lib/daytona_api_client/configuration.rb +2 -5
  24. data/lib/daytona_api_client/models/account_provider.rb +93 -51
  25. data/lib/daytona_api_client/models/announcement.rb +74 -3
  26. data/lib/daytona_api_client/models/api_key_list.rb +78 -17
  27. data/lib/daytona_api_client/models/api_key_response.rb +74 -3
  28. data/lib/daytona_api_client/models/audit_log.rb +75 -22
  29. data/lib/daytona_api_client/models/build_info.rb +78 -34
  30. data/lib/daytona_api_client/models/{create_runner_response.rb → command.rb} +104 -23
  31. data/lib/daytona_api_client/models/completion_context.rb +244 -0
  32. data/lib/daytona_api_client/models/completion_item.rb +289 -0
  33. data/lib/daytona_api_client/models/completion_list.rb +263 -0
  34. data/lib/daytona_api_client/models/compressed_screenshot_response.rb +256 -0
  35. data/lib/daytona_api_client/models/computer_use_start_response.rb +263 -0
  36. data/lib/daytona_api_client/models/{audit_target_scenario.rb → computer_use_status_response.rb} +96 -44
  37. data/lib/daytona_api_client/models/computer_use_stop_response.rb +263 -0
  38. data/lib/daytona_api_client/models/create_api_key.rb +75 -4
  39. data/lib/daytona_api_client/models/create_audit_log.rb +350 -0
  40. data/lib/daytona_api_client/models/create_build_info.rb +74 -3
  41. data/lib/daytona_api_client/models/create_docker_registry.rb +139 -7
  42. data/lib/daytona_api_client/models/create_linked_account.rb +74 -3
  43. data/lib/daytona_api_client/models/create_organization.rb +78 -34
  44. data/lib/daytona_api_client/models/create_organization_invitation.rb +76 -5
  45. data/lib/daytona_api_client/models/create_organization_quota.rb +290 -0
  46. data/lib/daytona_api_client/models/create_organization_role.rb +74 -3
  47. data/lib/daytona_api_client/models/create_runner.rb +361 -51
  48. data/lib/daytona_api_client/models/create_sandbox.rb +117 -130
  49. data/lib/daytona_api_client/models/{signed_port_preview_url.rb → create_session_request.rb} +93 -103
  50. data/lib/daytona_api_client/models/create_snapshot.rb +88 -61
  51. data/lib/daytona_api_client/models/{volume_created_webhook.rb → create_user.rb} +113 -131
  52. data/lib/daytona_api_client/models/create_volume.rb +74 -3
  53. data/lib/daytona_api_client/models/create_workspace.rb +411 -0
  54. data/lib/daytona_api_client/models/daytona_configuration.rb +78 -140
  55. data/lib/daytona_api_client/models/{runner_service_health.rb → display_info_response.rb} +95 -59
  56. data/lib/daytona_api_client/models/docker_registry.rb +76 -5
  57. data/lib/daytona_api_client/models/{paginated_jobs.rb → download_files.rb} +94 -100
  58. data/lib/daytona_api_client/models/{create_warm_pool.rb → execute_request.rb} +106 -62
  59. data/lib/daytona_api_client/models/{metric_data_point.rb → execute_response.rb} +109 -38
  60. data/lib/daytona_api_client/models/file_info.rb +417 -0
  61. data/lib/daytona_api_client/models/{snapshot_removed_webhook.rb → file_status.rb} +133 -142
  62. data/lib/daytona_api_client/models/git_add_request.rb +264 -0
  63. data/lib/daytona_api_client/models/{create_secret.rb → git_branch_request.rb} +106 -59
  64. data/lib/daytona_api_client/models/git_checkout_request.rb +261 -0
  65. data/lib/daytona_api_client/models/{toolbox_proxy_url.rb → git_clone_request.rb} +142 -10
  66. data/lib/daytona_api_client/models/{snapshot_created_webhook.rb → git_commit_info.rb} +151 -161
  67. data/lib/daytona_api_client/models/git_commit_request.rb +325 -0
  68. data/lib/daytona_api_client/models/{runner_healthcheck.rb → git_commit_response.rb} +92 -74
  69. data/lib/daytona_api_client/models/{create_region.rb → git_delete_branch_request.rb} +106 -54
  70. data/lib/daytona_api_client/models/{snapshot_manager_credentials.rb → git_repo_request.rb} +96 -35
  71. data/lib/daytona_api_client/models/git_status.rb +290 -0
  72. data/lib/daytona_api_client/models/health_controller_check200_response.rb +74 -3
  73. data/lib/daytona_api_client/models/health_controller_check200_response_info_value.rb +74 -3
  74. data/lib/daytona_api_client/models/health_controller_check503_response.rb +74 -3
  75. data/lib/daytona_api_client/models/{oidc_id_p_config_response.rb → keyboard_hotkey_request.rb} +93 -59
  76. data/lib/daytona_api_client/models/{create_region_response.rb → keyboard_press_request.rb} +102 -63
  77. data/lib/daytona_api_client/models/keyboard_type_request.rb +246 -0
  78. data/lib/daytona_api_client/models/list_branch_response.rb +237 -0
  79. data/lib/daytona_api_client/models/lsp_completion_params.rb +325 -0
  80. data/lib/daytona_api_client/models/lsp_document_request.rb +290 -0
  81. data/lib/daytona_api_client/models/lsp_location.rb +261 -0
  82. data/lib/daytona_api_client/models/{gpu_capacity.rb → lsp_server_request.rb} +109 -104
  83. data/lib/daytona_api_client/models/{secret.rb → lsp_symbol.rb} +121 -146
  84. data/lib/daytona_api_client/models/match.rb +287 -0
  85. data/lib/daytona_api_client/models/mouse_click_request.rb +283 -0
  86. data/lib/daytona_api_client/models/mouse_click_response.rb +263 -0
  87. data/lib/daytona_api_client/models/mouse_drag_request.rb +327 -0
  88. data/lib/daytona_api_client/models/mouse_drag_response.rb +263 -0
  89. data/lib/daytona_api_client/models/mouse_move_request.rb +263 -0
  90. data/lib/daytona_api_client/models/mouse_move_response.rb +263 -0
  91. data/lib/daytona_api_client/models/{available_sandbox_class.rb → mouse_position.rb} +109 -95
  92. data/lib/daytona_api_client/models/mouse_scroll_request.rb +300 -0
  93. data/lib/daytona_api_client/models/{test_identity_provider_connection_response.rb → mouse_scroll_response.rb} +81 -30
  94. data/lib/daytona_api_client/models/oidc_config.rb +78 -78
  95. data/lib/daytona_api_client/models/organization.rb +159 -372
  96. data/lib/daytona_api_client/models/organization_invitation.rb +78 -7
  97. data/lib/daytona_api_client/models/organization_role.rb +74 -3
  98. data/lib/daytona_api_client/models/organization_sandbox_default_limited_network_egress.rb +236 -0
  99. data/lib/daytona_api_client/models/organization_suspension.rb +290 -0
  100. data/lib/daytona_api_client/models/organization_usage_overview.rb +220 -21
  101. data/lib/daytona_api_client/models/organization_user.rb +76 -5
  102. data/lib/daytona_api_client/models/paginated_audit_logs.rb +80 -19
  103. data/lib/daytona_api_client/models/{paginated_traces.rb → paginated_sandboxes.rb} +80 -13
  104. data/lib/daytona_api_client/models/paginated_snapshots.rb +77 -6
  105. data/lib/daytona_api_client/models/{paginated_logs.rb → paginated_snapshots_dto.rb} +80 -13
  106. data/lib/daytona_api_client/models/port_preview_url.rb +88 -34
  107. data/lib/daytona_api_client/models/position.rb +261 -0
  108. data/lib/daytona_api_client/models/posthog_config.rb +74 -3
  109. data/lib/daytona_api_client/models/process_errors_response.rb +263 -0
  110. data/lib/daytona_api_client/models/process_logs_response.rb +263 -0
  111. data/lib/daytona_api_client/models/process_restart_response.rb +263 -0
  112. data/lib/daytona_api_client/models/process_status_response.rb +263 -0
  113. data/lib/daytona_api_client/models/{update_last_activity.rb → project_dir_response.rb} +83 -13
  114. data/lib/daytona_api_client/models/{pending_sso_link.rb → pty_create_request.rb} +114 -109
  115. data/lib/daytona_api_client/models/pty_create_response.rb +236 -0
  116. data/lib/daytona_api_client/models/{sandbox_identity.rb → pty_list_response.rb} +95 -49
  117. data/lib/daytona_api_client/models/pty_resize_request.rb +263 -0
  118. data/lib/daytona_api_client/models/pty_session_info.rb +425 -0
  119. data/lib/daytona_api_client/models/range.rb +261 -0
  120. data/lib/daytona_api_client/models/region.rb +78 -192
  121. data/lib/daytona_api_client/models/{regenerate_api_key_response.rb → region_screenshot_response.rb} +113 -22
  122. data/lib/daytona_api_client/models/registry_push_access_dto.rb +74 -3
  123. data/lib/daytona_api_client/models/replace_request.rb +289 -0
  124. data/lib/daytona_api_client/models/{oidc_id_p_config.rb → replace_result.rb} +95 -88
  125. data/lib/daytona_api_client/models/runner.rb +215 -155
  126. data/lib/daytona_api_client/models/runner_snapshot_dto.rb +91 -3
  127. data/lib/daytona_api_client/models/runner_state.rb +3 -4
  128. data/lib/daytona_api_client/models/sandbox.rb +105 -258
  129. data/lib/daytona_api_client/models/sandbox_class.rb +6 -7
  130. data/lib/daytona_api_client/models/sandbox_desired_state.rb +3 -5
  131. data/lib/daytona_api_client/models/{create_sandbox_snapshot.rb → sandbox_info.rb} +113 -17
  132. data/lib/daytona_api_client/models/sandbox_labels.rb +74 -3
  133. data/lib/daytona_api_client/models/sandbox_state.rb +3 -10
  134. data/lib/daytona_api_client/models/sandbox_volume.rb +79 -18
  135. data/lib/daytona_api_client/models/screenshot_response.rb +256 -0
  136. data/lib/daytona_api_client/models/{gpu_capacity_response.rb → search_files_response.rb} +93 -49
  137. data/lib/daytona_api_client/models/send_webhook_dto.rb +273 -0
  138. data/lib/daytona_api_client/models/session.rb +251 -0
  139. data/lib/daytona_api_client/models/{list_sandboxes_response.rb → session_execute_request.rb} +110 -34
  140. data/lib/daytona_api_client/models/session_execute_response.rb +239 -0
  141. data/lib/daytona_api_client/models/{generate_workos_admin_portal_link.rb → set_snapshot_general_status_dto.rb} +93 -44
  142. data/lib/daytona_api_client/models/snapshot_dto.rb +78 -84
  143. data/lib/daytona_api_client/models/snapshot_state.rb +6 -5
  144. data/lib/daytona_api_client/models/ssh_access_dto.rb +78 -34
  145. data/lib/daytona_api_client/models/ssh_access_validation_dto.rb +98 -7
  146. data/lib/daytona_api_client/models/storage_access_dto.rb +78 -34
  147. data/lib/daytona_api_client/models/update_docker_registry.rb +74 -3
  148. data/lib/daytona_api_client/models/update_organization_invitation.rb +76 -5
  149. data/lib/daytona_api_client/models/update_organization_member_access.rb +76 -5
  150. data/lib/daytona_api_client/models/update_organization_quota.rb +317 -0
  151. data/lib/daytona_api_client/models/update_organization_role.rb +74 -3
  152. data/lib/daytona_api_client/models/update_sandbox_state_dto.rb +80 -29
  153. data/lib/daytona_api_client/models/user.rb +75 -51
  154. data/lib/daytona_api_client/models/{list_secrets_response.rb → user_home_dir_response.rb} +83 -72
  155. data/lib/daytona_api_client/models/user_public_key.rb +74 -3
  156. data/lib/daytona_api_client/models/volume_dto.rb +74 -3
  157. data/lib/daytona_api_client/models/volume_state.rb +3 -4
  158. data/lib/daytona_api_client/models/webhook_app_portal_access.rb +75 -31
  159. data/lib/daytona_api_client/models/{preview_warning.rb → webhook_controller_get_status200_response.rb} +76 -23
  160. data/lib/daytona_api_client/models/webhook_initialization_status.rb +74 -3
  161. data/lib/daytona_api_client/models/windows_response.rb +265 -0
  162. data/lib/daytona_api_client/models/{update_job_status.rb → work_dir_response.rb} +83 -72
  163. data/lib/daytona_api_client/models/{sandbox_list_item.rb → workspace.rb} +300 -244
  164. data/lib/daytona_api_client/version.rb +2 -2
  165. data/lib/daytona_api_client.rb +83 -96
  166. data/project.json +13 -37
  167. metadata +88 -105
  168. data/.gitignore +0 -39
  169. data/.openapi-generator/FILES +0 -178
  170. data/.openapi-generator/VERSION +0 -1
  171. data/.openapi-generator-ignore +0 -31
  172. data/.rspec +0 -2
  173. data/.rubocop.yml +0 -148
  174. data/fix-gemspec.sh +0 -11
  175. data/lib/daytona_api_client/api/jobs_api.rb +0 -299
  176. data/lib/daytona_api_client/api/regions_api.rb +0 -77
  177. data/lib/daytona_api_client/api/secret_api.rb +0 -441
  178. data/lib/daytona_api_client/api/warm_pools_api.rb +0 -286
  179. data/lib/daytona_api_client/api_model_base.rb +0 -88
  180. data/lib/daytona_api_client/models/audit_scenarios.rb +0 -167
  181. data/lib/daytona_api_client/models/cli_oidc_config.rb +0 -192
  182. data/lib/daytona_api_client/models/create_identity_provider.rb +0 -269
  183. data/lib/daytona_api_client/models/create_runner_sandbox_class.rb +0 -42
  184. data/lib/daytona_api_client/models/date_filter.rb +0 -178
  185. data/lib/daytona_api_client/models/directory_sync_status.rb +0 -42
  186. data/lib/daytona_api_client/models/fork_sandbox.rb +0 -148
  187. data/lib/daytona_api_client/models/gpu_type.rb +0 -47
  188. data/lib/daytona_api_client/models/identity_provider.rb +0 -439
  189. data/lib/daytona_api_client/models/int_filter.rb +0 -222
  190. data/lib/daytona_api_client/models/job.rb +0 -366
  191. data/lib/daytona_api_client/models/job_status.rb +0 -43
  192. data/lib/daytona_api_client/models/job_type.rb +0 -55
  193. data/lib/daytona_api_client/models/log_entry.rb +0 -334
  194. data/lib/daytona_api_client/models/metric_series.rb +0 -194
  195. data/lib/daytona_api_client/models/metrics_response.rb +0 -167
  196. data/lib/daytona_api_client/models/otel_config.rb +0 -188
  197. data/lib/daytona_api_client/models/poll_jobs_response.rb +0 -167
  198. data/lib/daytona_api_client/models/rate_limit_config.rb +0 -188
  199. data/lib/daytona_api_client/models/rate_limit_entry.rb +0 -158
  200. data/lib/daytona_api_client/models/region_quota.rb +0 -453
  201. data/lib/daytona_api_client/models/region_type.rb +0 -42
  202. data/lib/daytona_api_client/models/region_usage_overview.rb +0 -518
  203. data/lib/daytona_api_client/models/resize_sandbox.rb +0 -225
  204. data/lib/daytona_api_client/models/resolve_sandbox_secrets200_response_inner.rb +0 -176
  205. data/lib/daytona_api_client/models/runner_class.rb +0 -40
  206. data/lib/daytona_api_client/models/runner_full.rb +0 -757
  207. data/lib/daytona_api_client/models/runner_health_metrics.rb +0 -482
  208. data/lib/daytona_api_client/models/sandbox_created_webhook.rb +0 -349
  209. data/lib/daytona_api_client/models/sandbox_list_sort_direction.rb +0 -41
  210. data/lib/daytona_api_client/models/sandbox_list_sort_field.rb +0 -45
  211. data/lib/daytona_api_client/models/sandbox_state_updated_webhook.rb +0 -349
  212. data/lib/daytona_api_client/models/snapshot_state_updated_webhook.rb +0 -376
  213. data/lib/daytona_api_client/models/sso_oidc_config.rb +0 -192
  214. data/lib/daytona_api_client/models/string_filter.rb +0 -182
  215. data/lib/daytona_api_client/models/test_identity_provider_connection.rb +0 -165
  216. data/lib/daytona_api_client/models/trace_span.rb +0 -332
  217. data/lib/daytona_api_client/models/trace_summary.rb +0 -310
  218. data/lib/daytona_api_client/models/update_identity_provider.rb +0 -212
  219. data/lib/daytona_api_client/models/update_oidc_id_p_config.rb +0 -178
  220. data/lib/daytona_api_client/models/update_organization_default_queue_timeout.rb +0 -151
  221. data/lib/daytona_api_client/models/update_organization_default_region.rb +0 -165
  222. data/lib/daytona_api_client/models/update_region.rb +0 -182
  223. data/lib/daytona_api_client/models/update_sandbox_network_settings.rb +0 -168
  224. data/lib/daytona_api_client/models/update_sandbox_secrets.rb +0 -167
  225. data/lib/daytona_api_client/models/update_secret.rb +0 -170
  226. data/lib/daytona_api_client/models/update_warm_pool.rb +0 -174
  227. data/lib/daytona_api_client/models/url.rb +0 -165
  228. data/lib/daytona_api_client/models/volume_state_updated_webhook.rb +0 -376
  229. data/lib/daytona_api_client/models/warm_pool.rb +0 -490
  230. data/lib/daytona_api_client/models/webhook_event.rb +0 -46
  231. data/lib/daytona_api_client/models/workos_admin_portal_intent.rb +0 -41
  232. data/lib/daytona_api_client/models/workos_admin_portal_link.rb +0 -165
  233. data/lib/daytona_api_client/models/workos_sso_connection.rb +0 -329
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0
7
7
  Contact: support@daytona.com
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.21.0
9
+ Generator version: 7.12.0
10
10
 
11
11
  =end
12
12
 
@@ -14,10 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module DaytonaApiClient
17
- class CreateSandbox < ApiModelBase
18
- # The name of the sandbox. If not provided, the sandbox ID will be used as the name
19
- attr_accessor :name
20
-
17
+ class CreateSandbox
21
18
  # The ID or name of the snapshot used for the sandbox
22
19
  attr_accessor :snapshot
23
20
 
@@ -36,20 +33,11 @@ module DaytonaApiClient
36
33
  # Whether to block all network access for the sandbox
37
34
  attr_accessor :network_block_all
38
35
 
39
- # Expose KVM (/dev/kvm) inside the sandbox via nested virtualization. linux-vm snapshots only. Requires the sandbox_kvm feature for the organization.
40
- attr_accessor :kvm
41
-
42
36
  # Comma-separated list of allowed CIDR network addresses for the sandbox
43
37
  attr_accessor :network_allow_list
44
38
 
45
- # Comma-separated list of allowed domains for the sandbox
46
- attr_accessor :domain_allow_list
47
-
48
- # Outbound proxy URL to route the sandbox HTTP(S) traffic through (http or https; credentials may be included in the URL). On its own this is convenience routing, not a security boundary: it is applied by injecting the standard HTTP(S)_PROXY environment variables at creation, so a process that clears those variables egresses directly. Combine with domainAllowList to have web-port (80/443) egress transparently redirected through the proxy chain at the network layer, which cannot be bypassed from inside the sandbox.
49
- attr_accessor :outbound_proxy_url
50
-
51
- # OTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector (the Daytona-hosted collector or the region-configured endpoint) and will not be available in the Daytona analytics API or dashboard.
52
- attr_accessor :otel_endpoint_override
39
+ # The sandbox class type
40
+ attr_accessor :_class
53
41
 
54
42
  # The target (region) where the sandbox will be created
55
43
  attr_accessor :target
@@ -60,12 +48,6 @@ module DaytonaApiClient
60
48
  # GPU units allocated to the sandbox
61
49
  attr_accessor :gpu
62
50
 
63
- # Preferred GPU type for the sandbox. Accepts a single value or an ordered preference list — the scheduler tries each in order and pins the sandbox to the first that has capacity.
64
- attr_accessor :gpu_type
65
-
66
- # GPU-only. When true, the sandbox may be instantly terminated without notice to free GPU capacity for an on-demand (non-spot) GPU sandbox. Ignored / rejected when the sandbox requests no GPUs.
67
- attr_accessor :spot
68
-
69
51
  # Memory allocated to the sandbox in GB
70
52
  attr_accessor :memory
71
53
 
@@ -75,65 +57,61 @@ module DaytonaApiClient
75
57
  # Auto-stop interval in minutes (0 means disabled)
76
58
  attr_accessor :auto_stop_interval
77
59
 
78
- # Auto-pause interval in minutes (0 means disabled). Only supported for sandbox classes that support pausing. Not allowed for ephemeral sandboxes. At most one of autoStopInterval and autoPauseInterval may be non-zero. For non-ephemeral sandbox classes that support pausing, defaults to 60 minutes (with auto-stop disabled) when neither interval is provided.
79
- attr_accessor :auto_pause_interval
80
-
81
60
  # Auto-archive interval in minutes (0 means the maximum interval will be used)
82
61
  attr_accessor :auto_archive_interval
83
62
 
84
63
  # Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
85
64
  attr_accessor :auto_delete_interval
86
65
 
87
- # Maximum time to live in minutes, counted as wall-clock time since creation regardless of sandbox state (0 means disabled). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived. Subject to the maximum sandbox lifespan configured for the organization region and sandbox class, in which case it also defaults to that maximum and cannot be disabled.
88
- attr_accessor :ttl_minutes
89
-
90
- # Minutes to wait for runner assignment before cancelling sandbox creation. Applies only while the sandbox is unassigned in pending_build or pulling_snapshot. Only honored when default queue timeout is enabled for the organization. Omit to use the organization default; null/omit with no organization default leaves the wait unlimited. Must be a positive integer.
91
- attr_accessor :queue_timeout
92
-
93
66
  # Array of volumes to attach to the sandbox
94
67
  attr_accessor :volumes
95
68
 
96
69
  # Build information for the sandbox
97
70
  attr_accessor :build_info
98
71
 
99
- # ID or name of an existing sandbox to link the new sandbox to. The new sandbox will be scheduled on the same runner as the linked sandbox so a local network can be established between them. Linked sandboxes must be ephemeral (autoDeleteInterval=0) and cannot themselves be linked to another sandbox. GPU sandboxes cannot participate in links in either direction: a GPU sandbox cannot specify linkedSandbox, and cannot be the link target of another sandbox.
100
- attr_accessor :linked_sandbox
72
+ class EnumAttributeValidator
73
+ attr_reader :datatype
74
+ attr_reader :allowable_values
75
+
76
+ def initialize(datatype, allowable_values)
77
+ @allowable_values = allowable_values.map do |value|
78
+ case datatype.to_s
79
+ when /Integer/i
80
+ value.to_i
81
+ when /Float/i
82
+ value.to_f
83
+ else
84
+ value
85
+ end
86
+ end
87
+ end
101
88
 
102
- # Secrets to mount in this sandbox. Each entry maps an env var name to a vault secret name.
103
- attr_accessor :secrets
89
+ def valid?(value)
90
+ !value || allowable_values.include?(value)
91
+ end
92
+ end
104
93
 
105
94
  # Attribute mapping from ruby-style variable name to JSON key.
106
95
  def self.attribute_map
107
96
  {
108
- :'name' => :'name',
109
97
  :'snapshot' => :'snapshot',
110
98
  :'user' => :'user',
111
99
  :'env' => :'env',
112
100
  :'labels' => :'labels',
113
101
  :'public' => :'public',
114
102
  :'network_block_all' => :'networkBlockAll',
115
- :'kvm' => :'kvm',
116
103
  :'network_allow_list' => :'networkAllowList',
117
- :'domain_allow_list' => :'domainAllowList',
118
- :'outbound_proxy_url' => :'outboundProxyUrl',
119
- :'otel_endpoint_override' => :'otelEndpointOverride',
104
+ :'_class' => :'class',
120
105
  :'target' => :'target',
121
106
  :'cpu' => :'cpu',
122
107
  :'gpu' => :'gpu',
123
- :'gpu_type' => :'gpuType',
124
- :'spot' => :'spot',
125
108
  :'memory' => :'memory',
126
109
  :'disk' => :'disk',
127
110
  :'auto_stop_interval' => :'autoStopInterval',
128
- :'auto_pause_interval' => :'autoPauseInterval',
129
111
  :'auto_archive_interval' => :'autoArchiveInterval',
130
112
  :'auto_delete_interval' => :'autoDeleteInterval',
131
- :'ttl_minutes' => :'ttlMinutes',
132
- :'queue_timeout' => :'queueTimeout',
133
113
  :'volumes' => :'volumes',
134
- :'build_info' => :'buildInfo',
135
- :'linked_sandbox' => :'linkedSandbox',
136
- :'secrets' => :'secrets'
114
+ :'build_info' => :'buildInfo'
137
115
  }
138
116
  end
139
117
 
@@ -150,35 +128,24 @@ module DaytonaApiClient
150
128
  # Attribute type mapping.
151
129
  def self.openapi_types
152
130
  {
153
- :'name' => :'String',
154
131
  :'snapshot' => :'String',
155
132
  :'user' => :'String',
156
133
  :'env' => :'Hash<String, String>',
157
134
  :'labels' => :'Hash<String, String>',
158
135
  :'public' => :'Boolean',
159
136
  :'network_block_all' => :'Boolean',
160
- :'kvm' => :'Boolean',
161
137
  :'network_allow_list' => :'String',
162
- :'domain_allow_list' => :'String',
163
- :'outbound_proxy_url' => :'String',
164
- :'otel_endpoint_override' => :'String',
138
+ :'_class' => :'String',
165
139
  :'target' => :'String',
166
140
  :'cpu' => :'Integer',
167
141
  :'gpu' => :'Integer',
168
- :'gpu_type' => :'Array<GpuType>',
169
- :'spot' => :'Boolean',
170
142
  :'memory' => :'Integer',
171
143
  :'disk' => :'Integer',
172
144
  :'auto_stop_interval' => :'Integer',
173
- :'auto_pause_interval' => :'Integer',
174
145
  :'auto_archive_interval' => :'Integer',
175
146
  :'auto_delete_interval' => :'Integer',
176
- :'ttl_minutes' => :'Integer',
177
- :'queue_timeout' => :'Integer',
178
147
  :'volumes' => :'Array<SandboxVolume>',
179
- :'build_info' => :'CreateBuildInfo',
180
- :'linked_sandbox' => :'String',
181
- :'secrets' => :'Array<Hash<String, String>>'
148
+ :'build_info' => :'CreateBuildInfo'
182
149
  }
183
150
  end
184
151
 
@@ -204,10 +171,6 @@ module DaytonaApiClient
204
171
  h[k.to_sym] = v
205
172
  }
206
173
 
207
- if attributes.key?(:'name')
208
- self.name = attributes[:'name']
209
- end
210
-
211
174
  if attributes.key?(:'snapshot')
212
175
  self.snapshot = attributes[:'snapshot']
213
176
  end
@@ -236,26 +199,12 @@ module DaytonaApiClient
236
199
  self.network_block_all = attributes[:'network_block_all']
237
200
  end
238
201
 
239
- if attributes.key?(:'kvm')
240
- self.kvm = attributes[:'kvm']
241
- else
242
- self.kvm = false
243
- end
244
-
245
202
  if attributes.key?(:'network_allow_list')
246
203
  self.network_allow_list = attributes[:'network_allow_list']
247
204
  end
248
205
 
249
- if attributes.key?(:'domain_allow_list')
250
- self.domain_allow_list = attributes[:'domain_allow_list']
251
- end
252
-
253
- if attributes.key?(:'outbound_proxy_url')
254
- self.outbound_proxy_url = attributes[:'outbound_proxy_url']
255
- end
256
-
257
- if attributes.key?(:'otel_endpoint_override')
258
- self.otel_endpoint_override = attributes[:'otel_endpoint_override']
206
+ if attributes.key?(:'_class')
207
+ self._class = attributes[:'_class']
259
208
  end
260
209
 
261
210
  if attributes.key?(:'target')
@@ -270,18 +219,6 @@ module DaytonaApiClient
270
219
  self.gpu = attributes[:'gpu']
271
220
  end
272
221
 
273
- if attributes.key?(:'gpu_type')
274
- if (value = attributes[:'gpu_type']).is_a?(Array)
275
- self.gpu_type = value
276
- end
277
- end
278
-
279
- if attributes.key?(:'spot')
280
- self.spot = attributes[:'spot']
281
- else
282
- self.spot = false
283
- end
284
-
285
222
  if attributes.key?(:'memory')
286
223
  self.memory = attributes[:'memory']
287
224
  end
@@ -294,10 +231,6 @@ module DaytonaApiClient
294
231
  self.auto_stop_interval = attributes[:'auto_stop_interval']
295
232
  end
296
233
 
297
- if attributes.key?(:'auto_pause_interval')
298
- self.auto_pause_interval = attributes[:'auto_pause_interval']
299
- end
300
-
301
234
  if attributes.key?(:'auto_archive_interval')
302
235
  self.auto_archive_interval = attributes[:'auto_archive_interval']
303
236
  end
@@ -306,14 +239,6 @@ module DaytonaApiClient
306
239
  self.auto_delete_interval = attributes[:'auto_delete_interval']
307
240
  end
308
241
 
309
- if attributes.key?(:'ttl_minutes')
310
- self.ttl_minutes = attributes[:'ttl_minutes']
311
- end
312
-
313
- if attributes.key?(:'queue_timeout')
314
- self.queue_timeout = attributes[:'queue_timeout']
315
- end
316
-
317
242
  if attributes.key?(:'volumes')
318
243
  if (value = attributes[:'volumes']).is_a?(Array)
319
244
  self.volumes = value
@@ -323,16 +248,6 @@ module DaytonaApiClient
323
248
  if attributes.key?(:'build_info')
324
249
  self.build_info = attributes[:'build_info']
325
250
  end
326
-
327
- if attributes.key?(:'linked_sandbox')
328
- self.linked_sandbox = attributes[:'linked_sandbox']
329
- end
330
-
331
- if attributes.key?(:'secrets')
332
- if (value = attributes[:'secrets']).is_a?(Array)
333
- self.secrets = value
334
- end
335
- end
336
251
  end
337
252
 
338
253
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -347,43 +262,44 @@ module DaytonaApiClient
347
262
  # @return true if the model is valid
348
263
  def valid?
349
264
  warn '[DEPRECATED] the `valid?` method is obsolete'
265
+ _class_validator = EnumAttributeValidator.new('String', ["small", "medium", "large"])
266
+ return false unless _class_validator.valid?(@_class)
350
267
  true
351
268
  end
352
269
 
270
+ # Custom attribute writer method checking allowed values (enum).
271
+ # @param [Object] _class Object to be assigned
272
+ def _class=(_class)
273
+ validator = EnumAttributeValidator.new('String', ["small", "medium", "large"])
274
+ unless validator.valid?(_class)
275
+ fail ArgumentError, "invalid value for \"_class\", must be one of #{validator.allowable_values}."
276
+ end
277
+ @_class = _class
278
+ end
279
+
353
280
  # Checks equality by comparing each attribute.
354
281
  # @param [Object] Object to be compared
355
282
  def ==(o)
356
283
  return true if self.equal?(o)
357
284
  self.class == o.class &&
358
- name == o.name &&
359
285
  snapshot == o.snapshot &&
360
286
  user == o.user &&
361
287
  env == o.env &&
362
288
  labels == o.labels &&
363
289
  public == o.public &&
364
290
  network_block_all == o.network_block_all &&
365
- kvm == o.kvm &&
366
291
  network_allow_list == o.network_allow_list &&
367
- domain_allow_list == o.domain_allow_list &&
368
- outbound_proxy_url == o.outbound_proxy_url &&
369
- otel_endpoint_override == o.otel_endpoint_override &&
292
+ _class == o._class &&
370
293
  target == o.target &&
371
294
  cpu == o.cpu &&
372
295
  gpu == o.gpu &&
373
- gpu_type == o.gpu_type &&
374
- spot == o.spot &&
375
296
  memory == o.memory &&
376
297
  disk == o.disk &&
377
298
  auto_stop_interval == o.auto_stop_interval &&
378
- auto_pause_interval == o.auto_pause_interval &&
379
299
  auto_archive_interval == o.auto_archive_interval &&
380
300
  auto_delete_interval == o.auto_delete_interval &&
381
- ttl_minutes == o.ttl_minutes &&
382
- queue_timeout == o.queue_timeout &&
383
301
  volumes == o.volumes &&
384
- build_info == o.build_info &&
385
- linked_sandbox == o.linked_sandbox &&
386
- secrets == o.secrets
302
+ build_info == o.build_info
387
303
  end
388
304
 
389
305
  # @see the `==` method
@@ -395,7 +311,7 @@ module DaytonaApiClient
395
311
  # Calculates hash code according to all attributes.
396
312
  # @return [Integer] Hash code
397
313
  def hash
398
- [name, snapshot, user, env, labels, public, network_block_all, kvm, network_allow_list, domain_allow_list, outbound_proxy_url, otel_endpoint_override, target, cpu, gpu, gpu_type, spot, memory, disk, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, ttl_minutes, queue_timeout, volumes, build_info, linked_sandbox, secrets].hash
314
+ [snapshot, user, env, labels, public, network_block_all, network_allow_list, _class, target, cpu, gpu, memory, disk, auto_stop_interval, auto_archive_interval, auto_delete_interval, volumes, build_info].hash
399
315
  end
400
316
 
401
317
  # Builds the object from hash
@@ -421,6 +337,61 @@ module DaytonaApiClient
421
337
  new(transformed_hash)
422
338
  end
423
339
 
340
+ # Deserializes the data based on type
341
+ # @param string type Data type
342
+ # @param string value Value to be deserialized
343
+ # @return [Object] Deserialized data
344
+ def self._deserialize(type, value)
345
+ case type.to_sym
346
+ when :Time
347
+ Time.parse(value)
348
+ when :Date
349
+ Date.parse(value)
350
+ when :String
351
+ value.to_s
352
+ when :Integer
353
+ value.to_i
354
+ when :Float
355
+ value.to_f
356
+ when :Boolean
357
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
358
+ true
359
+ else
360
+ false
361
+ end
362
+ when :Object
363
+ # generic object (usually a Hash), return directly
364
+ value
365
+ when /\AArray<(?<inner_type>.+)>\z/
366
+ inner_type = Regexp.last_match[:inner_type]
367
+ value.map { |v| _deserialize(inner_type, v) }
368
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
369
+ k_type = Regexp.last_match[:k_type]
370
+ v_type = Regexp.last_match[:v_type]
371
+ {}.tap do |hash|
372
+ value.each do |k, v|
373
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
374
+ end
375
+ end
376
+ else # model
377
+ # models (e.g. Pet) or oneOf
378
+ klass = DaytonaApiClient.const_get(type)
379
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
380
+ end
381
+ end
382
+
383
+ # Returns the string representation of the object
384
+ # @return [String] String presentation of the object
385
+ def to_s
386
+ to_hash.to_s
387
+ end
388
+
389
+ # to_body is an alias to to_hash (backward compatibility)
390
+ # @return [Hash] Returns the object in the form of hash
391
+ def to_body
392
+ to_hash
393
+ end
394
+
424
395
  # Returns the object in the form of hash
425
396
  # @return [Hash] Returns the object in the form of hash
426
397
  def to_hash
@@ -437,6 +408,22 @@ module DaytonaApiClient
437
408
  hash
438
409
  end
439
410
 
411
+ # Outputs non-array value in the form of hash
412
+ # For object, use to_hash. Otherwise, just return the value
413
+ # @param [Object] value Any valid value
414
+ # @return [Hash] Returns the value in the form of hash
415
+ def _to_hash(value)
416
+ if value.is_a?(Array)
417
+ value.compact.map { |v| _to_hash(v) }
418
+ elsif value.is_a?(Hash)
419
+ {}.tap do |hash|
420
+ value.each { |k, v| hash[k] = _to_hash(v) }
421
+ end
422
+ elsif value.respond_to? :to_hash
423
+ value.to_hash
424
+ else
425
+ value
426
+ end
427
+ end
440
428
  end
441
-
442
429
  end