daytona_api_client 0.184.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 (223) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +101 -0
  4. data/daytona_api_client.gemspec +2 -2
  5. data/lib/daytona_api_client/api/api_keys_api.rb +2 -2
  6. data/lib/daytona_api_client/api/audit_api.rb +140 -10
  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 +155 -1075
  12. data/lib/daytona_api_client/api/preview_api.rb +8 -77
  13. data/lib/daytona_api_client/api/runners_api.rb +22 -412
  14. data/lib/daytona_api_client/api/sandbox_api.rb +307 -1732
  15. data/lib/daytona_api_client/api/snapshots_api.rb +113 -39
  16. data/lib/daytona_api_client/api/toolbox_api.rb +741 -741
  17. data/lib/daytona_api_client/api/users_api.rb +239 -2
  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 +74 -3
  25. data/lib/daytona_api_client/models/announcement.rb +74 -3
  26. data/lib/daytona_api_client/models/api_key_list.rb +74 -3
  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/command.rb +74 -3
  31. data/lib/daytona_api_client/models/completion_context.rb +74 -3
  32. data/lib/daytona_api_client/models/completion_item.rb +74 -3
  33. data/lib/daytona_api_client/models/completion_list.rb +74 -3
  34. data/lib/daytona_api_client/models/compressed_screenshot_response.rb +74 -3
  35. data/lib/daytona_api_client/models/computer_use_start_response.rb +74 -3
  36. data/lib/daytona_api_client/models/computer_use_status_response.rb +76 -5
  37. data/lib/daytona_api_client/models/computer_use_stop_response.rb +74 -3
  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 +74 -3
  46. data/lib/daytona_api_client/models/create_organization_role.rb +74 -3
  47. data/lib/daytona_api_client/models/create_runner.rb +386 -43
  48. data/lib/daytona_api_client/models/create_sandbox.rb +121 -38
  49. data/lib/daytona_api_client/models/create_session_request.rb +74 -3
  50. data/lib/daytona_api_client/models/create_snapshot.rb +88 -61
  51. data/lib/daytona_api_client/models/create_user.rb +77 -15
  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 -54
  55. data/lib/daytona_api_client/models/display_info_response.rb +74 -3
  56. data/lib/daytona_api_client/models/docker_registry.rb +76 -5
  57. data/lib/daytona_api_client/models/download_files.rb +74 -3
  58. data/lib/daytona_api_client/models/execute_request.rb +74 -3
  59. data/lib/daytona_api_client/models/execute_response.rb +74 -3
  60. data/lib/daytona_api_client/models/file_info.rb +74 -3
  61. data/lib/daytona_api_client/models/file_status.rb +74 -3
  62. data/lib/daytona_api_client/models/git_add_request.rb +74 -3
  63. data/lib/daytona_api_client/models/git_branch_request.rb +74 -3
  64. data/lib/daytona_api_client/models/git_checkout_request.rb +74 -3
  65. data/lib/daytona_api_client/models/git_clone_request.rb +74 -3
  66. data/lib/daytona_api_client/models/git_commit_info.rb +74 -3
  67. data/lib/daytona_api_client/models/git_commit_request.rb +74 -3
  68. data/lib/daytona_api_client/models/git_commit_response.rb +74 -3
  69. data/lib/daytona_api_client/models/git_delete_branch_request.rb +74 -3
  70. data/lib/daytona_api_client/models/git_repo_request.rb +74 -3
  71. data/lib/daytona_api_client/models/git_status.rb +74 -3
  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/keyboard_hotkey_request.rb +74 -3
  76. data/lib/daytona_api_client/models/keyboard_press_request.rb +74 -3
  77. data/lib/daytona_api_client/models/keyboard_type_request.rb +74 -3
  78. data/lib/daytona_api_client/models/list_branch_response.rb +74 -3
  79. data/lib/daytona_api_client/models/lsp_completion_params.rb +74 -3
  80. data/lib/daytona_api_client/models/lsp_document_request.rb +74 -3
  81. data/lib/daytona_api_client/models/lsp_location.rb +74 -3
  82. data/lib/daytona_api_client/models/lsp_server_request.rb +74 -3
  83. data/lib/daytona_api_client/models/lsp_symbol.rb +74 -3
  84. data/lib/daytona_api_client/models/match.rb +74 -3
  85. data/lib/daytona_api_client/models/mouse_click_request.rb +74 -3
  86. data/lib/daytona_api_client/models/mouse_click_response.rb +74 -3
  87. data/lib/daytona_api_client/models/mouse_drag_request.rb +74 -3
  88. data/lib/daytona_api_client/models/mouse_drag_response.rb +74 -3
  89. data/lib/daytona_api_client/models/mouse_move_request.rb +74 -3
  90. data/lib/daytona_api_client/models/mouse_move_response.rb +74 -3
  91. data/lib/daytona_api_client/models/mouse_position.rb +74 -3
  92. data/lib/daytona_api_client/models/mouse_scroll_request.rb +74 -3
  93. data/lib/daytona_api_client/models/mouse_scroll_response.rb +74 -3
  94. data/lib/daytona_api_client/models/oidc_config.rb +74 -3
  95. data/lib/daytona_api_client/models/organization.rb +159 -162
  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 +74 -3
  99. data/lib/daytona_api_client/models/organization_suspension.rb +79 -10
  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 +78 -17
  103. data/lib/daytona_api_client/models/{paginated_sandboxes_deprecated.rb → paginated_sandboxes.rb} +76 -5
  104. data/lib/daytona_api_client/models/paginated_snapshots.rb +74 -3
  105. data/lib/daytona_api_client/models/{paginated_jobs.rb → paginated_snapshots_dto.rb} +77 -6
  106. data/lib/daytona_api_client/models/port_preview_url.rb +88 -34
  107. data/lib/daytona_api_client/models/position.rb +74 -3
  108. data/lib/daytona_api_client/models/posthog_config.rb +74 -3
  109. data/lib/daytona_api_client/models/process_errors_response.rb +74 -3
  110. data/lib/daytona_api_client/models/process_logs_response.rb +74 -3
  111. data/lib/daytona_api_client/models/process_restart_response.rb +74 -3
  112. data/lib/daytona_api_client/models/process_status_response.rb +74 -3
  113. data/lib/daytona_api_client/models/project_dir_response.rb +74 -3
  114. data/lib/daytona_api_client/models/pty_create_request.rb +74 -3
  115. data/lib/daytona_api_client/models/pty_create_response.rb +74 -3
  116. data/lib/daytona_api_client/models/pty_list_response.rb +74 -3
  117. data/lib/daytona_api_client/models/pty_resize_request.rb +74 -3
  118. data/lib/daytona_api_client/models/pty_session_info.rb +74 -3
  119. data/lib/daytona_api_client/models/range.rb +74 -3
  120. data/lib/daytona_api_client/models/region.rb +78 -181
  121. data/lib/daytona_api_client/models/region_screenshot_response.rb +74 -3
  122. data/lib/daytona_api_client/models/registry_push_access_dto.rb +74 -3
  123. data/lib/daytona_api_client/models/replace_request.rb +74 -3
  124. data/lib/daytona_api_client/models/replace_result.rb +74 -3
  125. data/lib/daytona_api_client/models/runner.rb +215 -145
  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 +104 -127
  129. data/lib/daytona_api_client/models/sandbox_class.rb +6 -8
  130. data/lib/daytona_api_client/models/sandbox_desired_state.rb +3 -4
  131. data/lib/daytona_api_client/models/{create_region.rb → sandbox_info.rb} +113 -38
  132. data/lib/daytona_api_client/models/sandbox_labels.rb +74 -3
  133. data/lib/daytona_api_client/models/sandbox_state.rb +3 -7
  134. data/lib/daytona_api_client/models/sandbox_volume.rb +78 -17
  135. data/lib/daytona_api_client/models/screenshot_response.rb +74 -3
  136. data/lib/daytona_api_client/models/search_files_response.rb +74 -3
  137. data/lib/daytona_api_client/models/send_webhook_dto.rb +75 -26
  138. data/lib/daytona_api_client/models/session.rb +74 -3
  139. data/lib/daytona_api_client/models/session_execute_request.rb +74 -3
  140. data/lib/daytona_api_client/models/session_execute_response.rb +74 -3
  141. data/lib/daytona_api_client/models/set_snapshot_general_status_dto.rb +74 -3
  142. data/lib/daytona_api_client/models/snapshot_dto.rb +78 -71
  143. data/lib/daytona_api_client/models/snapshot_state.rb +6 -4
  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 +74 -3
  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 +115 -93
  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 +74 -3
  154. data/lib/daytona_api_client/models/user_home_dir_response.rb +74 -3
  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/{admin_get_webhook_status200_response.rb → webhook_controller_get_status200_response.rb} +76 -5
  160. data/lib/daytona_api_client/models/webhook_initialization_status.rb +74 -3
  161. data/lib/daytona_api_client/models/windows_response.rb +74 -3
  162. data/lib/daytona_api_client/models/work_dir_response.rb +74 -3
  163. data/lib/daytona_api_client/models/{sandbox_list_item.rb → workspace.rb} +344 -180
  164. data/lib/daytona_api_client/version.rb +2 -2
  165. data/lib/daytona_api_client.rb +8 -55
  166. data/project.json +11 -42
  167. metadata +11 -62
  168. data/.gitignore +0 -39
  169. data/.openapi-generator/FILES +0 -212
  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/admin_api.rb +0 -1449
  176. data/lib/daytona_api_client/api/jobs_api.rb +0 -299
  177. data/lib/daytona_api_client/api/regions_api.rb +0 -77
  178. data/lib/daytona_api_client/api_model_base.rb +0 -88
  179. data/lib/daytona_api_client/models/admin_create_runner.rb +0 -326
  180. data/lib/daytona_api_client/models/create_organization_region_quota.rb +0 -372
  181. data/lib/daytona_api_client/models/create_region_response.rb +0 -209
  182. data/lib/daytona_api_client/models/create_runner_response.rb +0 -192
  183. data/lib/daytona_api_client/models/create_sandbox_snapshot.rb +0 -165
  184. data/lib/daytona_api_client/models/fork_sandbox.rb +0 -148
  185. data/lib/daytona_api_client/models/gpu_type.rb +0 -41
  186. data/lib/daytona_api_client/models/job.rb +0 -366
  187. data/lib/daytona_api_client/models/job_status.rb +0 -43
  188. data/lib/daytona_api_client/models/job_type.rb +0 -53
  189. data/lib/daytona_api_client/models/list_sandboxes_response.rb +0 -180
  190. data/lib/daytona_api_client/models/log_entry.rb +0 -334
  191. data/lib/daytona_api_client/models/metric_data_point.rb +0 -192
  192. data/lib/daytona_api_client/models/metric_series.rb +0 -194
  193. data/lib/daytona_api_client/models/metrics_response.rb +0 -167
  194. data/lib/daytona_api_client/models/otel_config.rb +0 -178
  195. data/lib/daytona_api_client/models/paginated_logs.rb +0 -248
  196. data/lib/daytona_api_client/models/paginated_traces.rb +0 -248
  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 -178
  199. data/lib/daytona_api_client/models/rate_limit_entry.rb +0 -158
  200. data/lib/daytona_api_client/models/regenerate_api_key_response.rb +0 -165
  201. data/lib/daytona_api_client/models/region_quota.rb +0 -437
  202. data/lib/daytona_api_client/models/region_type.rb +0 -42
  203. data/lib/daytona_api_client/models/region_usage_overview.rb +0 -515
  204. data/lib/daytona_api_client/models/resize_sandbox.rb +0 -225
  205. data/lib/daytona_api_client/models/runner_class.rb +0 -41
  206. data/lib/daytona_api_client/models/runner_full.rb +0 -747
  207. data/lib/daytona_api_client/models/runner_health_metrics.rb +0 -482
  208. data/lib/daytona_api_client/models/runner_healthcheck.rb +0 -217
  209. data/lib/daytona_api_client/models/runner_service_health.rb +0 -202
  210. data/lib/daytona_api_client/models/sandbox_list_sort_direction.rb +0 -41
  211. data/lib/daytona_api_client/models/sandbox_list_sort_field.rb +0 -45
  212. data/lib/daytona_api_client/models/signed_port_preview_url.rb +0 -246
  213. data/lib/daytona_api_client/models/snapshot_manager_credentials.rb +0 -192
  214. data/lib/daytona_api_client/models/toolbox_proxy_url.rb +0 -165
  215. data/lib/daytona_api_client/models/trace_span.rb +0 -332
  216. data/lib/daytona_api_client/models/trace_summary.rb +0 -310
  217. data/lib/daytona_api_client/models/update_job_status.rb +0 -207
  218. data/lib/daytona_api_client/models/update_organization_default_region.rb +0 -165
  219. data/lib/daytona_api_client/models/update_organization_region_quota.rb +0 -299
  220. data/lib/daytona_api_client/models/update_region.rb +0 -171
  221. data/lib/daytona_api_client/models/update_sandbox_network_settings.rb +0 -158
  222. data/lib/daytona_api_client/models/url.rb +0 -165
  223. data/lib/daytona_api_client/models/webhook_event.rb +0 -46
@@ -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,67 +14,64 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module DaytonaApiClient
17
- class SandboxListItem < ApiModelBase
17
+ class Workspace
18
18
  # The ID of the sandbox
19
19
  attr_accessor :id
20
20
 
21
21
  # The organization ID of the sandbox
22
22
  attr_accessor :organization_id
23
23
 
24
- # The name of the sandbox
25
- attr_accessor :name
26
-
27
- # The target environment for the sandbox
28
- attr_accessor :target
29
-
30
- # The runner ID of the sandbox
31
- attr_accessor :runner_id
32
-
33
- # The class of the sandbox
34
- attr_accessor :sandbox_class
35
-
36
- # The state of the sandbox
37
- attr_accessor :state
38
-
39
- # The desired state of the sandbox
40
- attr_accessor :desired_state
41
-
42
24
  # The snapshot used for the sandbox
43
25
  attr_accessor :snapshot
44
26
 
45
27
  # The user associated with the project
46
28
  attr_accessor :user
47
29
 
48
- # The error reason of the sandbox
49
- attr_accessor :error_reason
30
+ # Environment variables for the sandbox
31
+ attr_accessor :env
50
32
 
51
- # Whether the sandbox error is recoverable.
52
- attr_accessor :recoverable
33
+ # Labels for the sandbox
34
+ attr_accessor :labels
53
35
 
54
36
  # Whether the sandbox http preview is public
55
37
  attr_accessor :public
56
38
 
39
+ # Whether to block all network access for the sandbox
40
+ attr_accessor :network_block_all
41
+
42
+ # Comma-separated list of allowed CIDR network addresses for the sandbox
43
+ attr_accessor :network_allow_list
44
+
45
+ # The target environment for the sandbox
46
+ attr_accessor :target
47
+
57
48
  # The CPU quota for the sandbox
58
49
  attr_accessor :cpu
59
50
 
60
51
  # The GPU quota for the sandbox
61
52
  attr_accessor :gpu
62
53
 
63
- # The GPU type assigned to the sandbox
64
- attr_accessor :gpu_type
65
-
66
54
  # The memory quota for the sandbox
67
55
  attr_accessor :memory
68
56
 
69
57
  # The disk quota for the sandbox
70
58
  attr_accessor :disk
71
59
 
72
- # Labels for the sandbox
73
- attr_accessor :labels
60
+ # The state of the sandbox
61
+ attr_accessor :state
62
+
63
+ # The desired state of the sandbox
64
+ attr_accessor :desired_state
65
+
66
+ # The error reason of the sandbox
67
+ attr_accessor :error_reason
74
68
 
75
69
  # The state of the backup
76
70
  attr_accessor :backup_state
77
71
 
72
+ # The creation timestamp of the last backup
73
+ attr_accessor :backup_created_at
74
+
78
75
  # Auto-stop interval in minutes (0 means disabled)
79
76
  attr_accessor :auto_stop_interval
80
77
 
@@ -84,20 +81,41 @@ module DaytonaApiClient
84
81
  # Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
85
82
  attr_accessor :auto_delete_interval
86
83
 
84
+ # The domain name of the runner
85
+ attr_accessor :runner_domain
86
+
87
+ # Array of volumes attached to the sandbox
88
+ attr_accessor :volumes
89
+
90
+ # Build information for the sandbox
91
+ attr_accessor :build_info
92
+
87
93
  # The creation timestamp of the sandbox
88
94
  attr_accessor :created_at
89
95
 
90
96
  # The last update timestamp of the sandbox
91
97
  attr_accessor :updated_at
92
98
 
93
- # The last activity timestamp of the sandbox
94
- attr_accessor :last_activity_at
99
+ # The class of the sandbox
100
+ attr_accessor :_class
95
101
 
96
102
  # The version of the daemon running in the sandbox
97
103
  attr_accessor :daemon_version
98
104
 
99
- # The toolbox proxy URL for the sandbox
100
- attr_accessor :toolbox_proxy_url
105
+ # The name of the workspace
106
+ attr_accessor :name
107
+
108
+ # The image used for the workspace
109
+ attr_accessor :image
110
+
111
+ # The state of the snapshot
112
+ attr_accessor :snapshot_state
113
+
114
+ # The creation timestamp of the last snapshot
115
+ attr_accessor :snapshot_created_at
116
+
117
+ # Additional information about the sandbox
118
+ attr_accessor :info
101
119
 
102
120
  class EnumAttributeValidator
103
121
  attr_reader :datatype
@@ -126,32 +144,38 @@ module DaytonaApiClient
126
144
  {
127
145
  :'id' => :'id',
128
146
  :'organization_id' => :'organizationId',
129
- :'name' => :'name',
130
- :'target' => :'target',
131
- :'runner_id' => :'runnerId',
132
- :'sandbox_class' => :'sandboxClass',
133
- :'state' => :'state',
134
- :'desired_state' => :'desiredState',
135
147
  :'snapshot' => :'snapshot',
136
148
  :'user' => :'user',
137
- :'error_reason' => :'errorReason',
138
- :'recoverable' => :'recoverable',
149
+ :'env' => :'env',
150
+ :'labels' => :'labels',
139
151
  :'public' => :'public',
152
+ :'network_block_all' => :'networkBlockAll',
153
+ :'network_allow_list' => :'networkAllowList',
154
+ :'target' => :'target',
140
155
  :'cpu' => :'cpu',
141
156
  :'gpu' => :'gpu',
142
- :'gpu_type' => :'gpuType',
143
157
  :'memory' => :'memory',
144
158
  :'disk' => :'disk',
145
- :'labels' => :'labels',
159
+ :'state' => :'state',
160
+ :'desired_state' => :'desiredState',
161
+ :'error_reason' => :'errorReason',
146
162
  :'backup_state' => :'backupState',
163
+ :'backup_created_at' => :'backupCreatedAt',
147
164
  :'auto_stop_interval' => :'autoStopInterval',
148
165
  :'auto_archive_interval' => :'autoArchiveInterval',
149
166
  :'auto_delete_interval' => :'autoDeleteInterval',
167
+ :'runner_domain' => :'runnerDomain',
168
+ :'volumes' => :'volumes',
169
+ :'build_info' => :'buildInfo',
150
170
  :'created_at' => :'createdAt',
151
171
  :'updated_at' => :'updatedAt',
152
- :'last_activity_at' => :'lastActivityAt',
172
+ :'_class' => :'class',
153
173
  :'daemon_version' => :'daemonVersion',
154
- :'toolbox_proxy_url' => :'toolboxProxyUrl'
174
+ :'name' => :'name',
175
+ :'image' => :'image',
176
+ :'snapshot_state' => :'snapshotState',
177
+ :'snapshot_created_at' => :'snapshotCreatedAt',
178
+ :'info' => :'info'
155
179
  }
156
180
  end
157
181
 
@@ -170,32 +194,38 @@ module DaytonaApiClient
170
194
  {
171
195
  :'id' => :'String',
172
196
  :'organization_id' => :'String',
173
- :'name' => :'String',
174
- :'target' => :'String',
175
- :'runner_id' => :'String',
176
- :'sandbox_class' => :'String',
177
- :'state' => :'SandboxState',
178
- :'desired_state' => :'SandboxDesiredState',
179
197
  :'snapshot' => :'String',
180
198
  :'user' => :'String',
181
- :'error_reason' => :'String',
182
- :'recoverable' => :'Boolean',
199
+ :'env' => :'Hash<String, String>',
200
+ :'labels' => :'Hash<String, String>',
183
201
  :'public' => :'Boolean',
202
+ :'network_block_all' => :'Boolean',
203
+ :'network_allow_list' => :'String',
204
+ :'target' => :'String',
184
205
  :'cpu' => :'Float',
185
206
  :'gpu' => :'Float',
186
- :'gpu_type' => :'GpuType',
187
207
  :'memory' => :'Float',
188
208
  :'disk' => :'Float',
189
- :'labels' => :'Hash<String, String>',
209
+ :'state' => :'SandboxState',
210
+ :'desired_state' => :'SandboxDesiredState',
211
+ :'error_reason' => :'String',
190
212
  :'backup_state' => :'String',
213
+ :'backup_created_at' => :'String',
191
214
  :'auto_stop_interval' => :'Float',
192
215
  :'auto_archive_interval' => :'Float',
193
216
  :'auto_delete_interval' => :'Float',
217
+ :'runner_domain' => :'String',
218
+ :'volumes' => :'Array<SandboxVolume>',
219
+ :'build_info' => :'BuildInfo',
194
220
  :'created_at' => :'String',
195
221
  :'updated_at' => :'String',
196
- :'last_activity_at' => :'String',
222
+ :'_class' => :'String',
197
223
  :'daemon_version' => :'String',
198
- :'toolbox_proxy_url' => :'String'
224
+ :'name' => :'String',
225
+ :'image' => :'String',
226
+ :'snapshot_state' => :'String',
227
+ :'snapshot_created_at' => :'String',
228
+ :'info' => :'SandboxInfo'
199
229
  }
200
230
  end
201
231
 
@@ -209,14 +239,14 @@ module DaytonaApiClient
209
239
  # @param [Hash] attributes Model attributes in the form of hash
210
240
  def initialize(attributes = {})
211
241
  if (!attributes.is_a?(Hash))
212
- fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::SandboxListItem` initialize method"
242
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::Workspace` initialize method"
213
243
  end
214
244
 
215
245
  # check to see if the attribute exists and convert string to symbol for hash key
216
246
  acceptable_attribute_map = self.class.acceptable_attribute_map
217
247
  attributes = attributes.each_with_object({}) { |(k, v), h|
218
248
  if (!acceptable_attribute_map.key?(k.to_sym))
219
- fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::SandboxListItem`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
249
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::Workspace`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
220
250
  end
221
251
  h[k.to_sym] = v
222
252
  }
@@ -233,34 +263,6 @@ module DaytonaApiClient
233
263
  self.organization_id = nil
234
264
  end
235
265
 
236
- if attributes.key?(:'name')
237
- self.name = attributes[:'name']
238
- else
239
- self.name = nil
240
- end
241
-
242
- if attributes.key?(:'target')
243
- self.target = attributes[:'target']
244
- else
245
- self.target = nil
246
- end
247
-
248
- if attributes.key?(:'runner_id')
249
- self.runner_id = attributes[:'runner_id']
250
- end
251
-
252
- if attributes.key?(:'sandbox_class')
253
- self.sandbox_class = attributes[:'sandbox_class']
254
- end
255
-
256
- if attributes.key?(:'state')
257
- self.state = attributes[:'state']
258
- end
259
-
260
- if attributes.key?(:'desired_state')
261
- self.desired_state = attributes[:'desired_state']
262
- end
263
-
264
266
  if attributes.key?(:'snapshot')
265
267
  self.snapshot = attributes[:'snapshot']
266
268
  end
@@ -271,12 +273,20 @@ module DaytonaApiClient
271
273
  self.user = nil
272
274
  end
273
275
 
274
- if attributes.key?(:'error_reason')
275
- self.error_reason = attributes[:'error_reason']
276
+ if attributes.key?(:'env')
277
+ if (value = attributes[:'env']).is_a?(Hash)
278
+ self.env = value
279
+ end
280
+ else
281
+ self.env = nil
276
282
  end
277
283
 
278
- if attributes.key?(:'recoverable')
279
- self.recoverable = attributes[:'recoverable']
284
+ if attributes.key?(:'labels')
285
+ if (value = attributes[:'labels']).is_a?(Hash)
286
+ self.labels = value
287
+ end
288
+ else
289
+ self.labels = nil
280
290
  end
281
291
 
282
292
  if attributes.key?(:'public')
@@ -285,6 +295,22 @@ module DaytonaApiClient
285
295
  self.public = nil
286
296
  end
287
297
 
298
+ if attributes.key?(:'network_block_all')
299
+ self.network_block_all = attributes[:'network_block_all']
300
+ else
301
+ self.network_block_all = nil
302
+ end
303
+
304
+ if attributes.key?(:'network_allow_list')
305
+ self.network_allow_list = attributes[:'network_allow_list']
306
+ end
307
+
308
+ if attributes.key?(:'target')
309
+ self.target = attributes[:'target']
310
+ else
311
+ self.target = nil
312
+ end
313
+
288
314
  if attributes.key?(:'cpu')
289
315
  self.cpu = attributes[:'cpu']
290
316
  else
@@ -297,10 +323,6 @@ module DaytonaApiClient
297
323
  self.gpu = nil
298
324
  end
299
325
 
300
- if attributes.key?(:'gpu_type')
301
- self.gpu_type = attributes[:'gpu_type']
302
- end
303
-
304
326
  if attributes.key?(:'memory')
305
327
  self.memory = attributes[:'memory']
306
328
  else
@@ -313,18 +335,26 @@ module DaytonaApiClient
313
335
  self.disk = nil
314
336
  end
315
337
 
316
- if attributes.key?(:'labels')
317
- if (value = attributes[:'labels']).is_a?(Hash)
318
- self.labels = value
319
- end
320
- else
321
- self.labels = nil
338
+ if attributes.key?(:'state')
339
+ self.state = attributes[:'state']
340
+ end
341
+
342
+ if attributes.key?(:'desired_state')
343
+ self.desired_state = attributes[:'desired_state']
344
+ end
345
+
346
+ if attributes.key?(:'error_reason')
347
+ self.error_reason = attributes[:'error_reason']
322
348
  end
323
349
 
324
350
  if attributes.key?(:'backup_state')
325
351
  self.backup_state = attributes[:'backup_state']
326
352
  end
327
353
 
354
+ if attributes.key?(:'backup_created_at')
355
+ self.backup_created_at = attributes[:'backup_created_at']
356
+ end
357
+
328
358
  if attributes.key?(:'auto_stop_interval')
329
359
  self.auto_stop_interval = attributes[:'auto_stop_interval']
330
360
  end
@@ -337,6 +367,20 @@ module DaytonaApiClient
337
367
  self.auto_delete_interval = attributes[:'auto_delete_interval']
338
368
  end
339
369
 
370
+ if attributes.key?(:'runner_domain')
371
+ self.runner_domain = attributes[:'runner_domain']
372
+ end
373
+
374
+ if attributes.key?(:'volumes')
375
+ if (value = attributes[:'volumes']).is_a?(Array)
376
+ self.volumes = value
377
+ end
378
+ end
379
+
380
+ if attributes.key?(:'build_info')
381
+ self.build_info = attributes[:'build_info']
382
+ end
383
+
340
384
  if attributes.key?(:'created_at')
341
385
  self.created_at = attributes[:'created_at']
342
386
  end
@@ -345,18 +389,34 @@ module DaytonaApiClient
345
389
  self.updated_at = attributes[:'updated_at']
346
390
  end
347
391
 
348
- if attributes.key?(:'last_activity_at')
349
- self.last_activity_at = attributes[:'last_activity_at']
392
+ if attributes.key?(:'_class')
393
+ self._class = attributes[:'_class']
350
394
  end
351
395
 
352
396
  if attributes.key?(:'daemon_version')
353
397
  self.daemon_version = attributes[:'daemon_version']
354
398
  end
355
399
 
356
- if attributes.key?(:'toolbox_proxy_url')
357
- self.toolbox_proxy_url = attributes[:'toolbox_proxy_url']
400
+ if attributes.key?(:'name')
401
+ self.name = attributes[:'name']
358
402
  else
359
- self.toolbox_proxy_url = nil
403
+ self.name = ''
404
+ end
405
+
406
+ if attributes.key?(:'image')
407
+ self.image = attributes[:'image']
408
+ end
409
+
410
+ if attributes.key?(:'snapshot_state')
411
+ self.snapshot_state = attributes[:'snapshot_state']
412
+ end
413
+
414
+ if attributes.key?(:'snapshot_created_at')
415
+ self.snapshot_created_at = attributes[:'snapshot_created_at']
416
+ end
417
+
418
+ if attributes.key?(:'info')
419
+ self.info = attributes[:'info']
360
420
  end
361
421
  end
362
422
 
@@ -373,22 +433,30 @@ module DaytonaApiClient
373
433
  invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
374
434
  end
375
435
 
376
- if @name.nil?
377
- invalid_properties.push('invalid value for "name", name cannot be nil.')
436
+ if @user.nil?
437
+ invalid_properties.push('invalid value for "user", user cannot be nil.')
378
438
  end
379
439
 
380
- if @target.nil?
381
- invalid_properties.push('invalid value for "target", target cannot be nil.')
440
+ if @env.nil?
441
+ invalid_properties.push('invalid value for "env", env cannot be nil.')
382
442
  end
383
443
 
384
- if @user.nil?
385
- invalid_properties.push('invalid value for "user", user cannot be nil.')
444
+ if @labels.nil?
445
+ invalid_properties.push('invalid value for "labels", labels cannot be nil.')
386
446
  end
387
447
 
388
448
  if @public.nil?
389
449
  invalid_properties.push('invalid value for "public", public cannot be nil.')
390
450
  end
391
451
 
452
+ if @network_block_all.nil?
453
+ invalid_properties.push('invalid value for "network_block_all", network_block_all cannot be nil.')
454
+ end
455
+
456
+ if @target.nil?
457
+ invalid_properties.push('invalid value for "target", target cannot be nil.')
458
+ end
459
+
392
460
  if @cpu.nil?
393
461
  invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
394
462
  end
@@ -405,12 +473,8 @@ module DaytonaApiClient
405
473
  invalid_properties.push('invalid value for "disk", disk cannot be nil.')
406
474
  end
407
475
 
408
- if @labels.nil?
409
- invalid_properties.push('invalid value for "labels", labels cannot be nil.')
410
- end
411
-
412
- if @toolbox_proxy_url.nil?
413
- invalid_properties.push('invalid value for "toolbox_proxy_url", toolbox_proxy_url cannot be nil.')
476
+ if @name.nil?
477
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
414
478
  end
415
479
 
416
480
  invalid_properties
@@ -422,20 +486,23 @@ module DaytonaApiClient
422
486
  warn '[DEPRECATED] the `valid?` method is obsolete'
423
487
  return false if @id.nil?
424
488
  return false if @organization_id.nil?
425
- return false if @name.nil?
426
- return false if @target.nil?
427
- sandbox_class_validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
428
- return false unless sandbox_class_validator.valid?(@sandbox_class)
429
489
  return false if @user.nil?
490
+ return false if @env.nil?
491
+ return false if @labels.nil?
430
492
  return false if @public.nil?
493
+ return false if @network_block_all.nil?
494
+ return false if @target.nil?
431
495
  return false if @cpu.nil?
432
496
  return false if @gpu.nil?
433
497
  return false if @memory.nil?
434
498
  return false if @disk.nil?
435
- return false if @labels.nil?
436
- backup_state_validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error", "unknown_default_open_api"])
499
+ backup_state_validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error"])
437
500
  return false unless backup_state_validator.valid?(@backup_state)
438
- return false if @toolbox_proxy_url.nil?
501
+ _class_validator = EnumAttributeValidator.new('String', ["small", "medium", "large"])
502
+ return false unless _class_validator.valid?(@_class)
503
+ return false if @name.nil?
504
+ snapshot_state_validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error"])
505
+ return false unless snapshot_state_validator.valid?(@snapshot_state)
439
506
  true
440
507
  end
441
508
 
@@ -460,43 +527,33 @@ module DaytonaApiClient
460
527
  end
461
528
 
462
529
  # Custom attribute writer method with validation
463
- # @param [Object] name Value to be assigned
464
- def name=(name)
465
- if name.nil?
466
- fail ArgumentError, 'name cannot be nil'
530
+ # @param [Object] user Value to be assigned
531
+ def user=(user)
532
+ if user.nil?
533
+ fail ArgumentError, 'user cannot be nil'
467
534
  end
468
535
 
469
- @name = name
536
+ @user = user
470
537
  end
471
538
 
472
539
  # Custom attribute writer method with validation
473
- # @param [Object] target Value to be assigned
474
- def target=(target)
475
- if target.nil?
476
- fail ArgumentError, 'target cannot be nil'
540
+ # @param [Object] env Value to be assigned
541
+ def env=(env)
542
+ if env.nil?
543
+ fail ArgumentError, 'env cannot be nil'
477
544
  end
478
545
 
479
- @target = target
480
- end
481
-
482
- # Custom attribute writer method checking allowed values (enum).
483
- # @param [Object] sandbox_class Object to be assigned
484
- def sandbox_class=(sandbox_class)
485
- validator = EnumAttributeValidator.new('String', ["linux-vm", "container", "android", "windows", "unknown_default_open_api"])
486
- unless validator.valid?(sandbox_class)
487
- fail ArgumentError, "invalid value for \"sandbox_class\", must be one of #{validator.allowable_values}."
488
- end
489
- @sandbox_class = sandbox_class
546
+ @env = env
490
547
  end
491
548
 
492
549
  # Custom attribute writer method with validation
493
- # @param [Object] user Value to be assigned
494
- def user=(user)
495
- if user.nil?
496
- fail ArgumentError, 'user cannot be nil'
550
+ # @param [Object] labels Value to be assigned
551
+ def labels=(labels)
552
+ if labels.nil?
553
+ fail ArgumentError, 'labels cannot be nil'
497
554
  end
498
555
 
499
- @user = user
556
+ @labels = labels
500
557
  end
501
558
 
502
559
  # Custom attribute writer method with validation
@@ -509,6 +566,26 @@ module DaytonaApiClient
509
566
  @public = public
510
567
  end
511
568
 
569
+ # Custom attribute writer method with validation
570
+ # @param [Object] network_block_all Value to be assigned
571
+ def network_block_all=(network_block_all)
572
+ if network_block_all.nil?
573
+ fail ArgumentError, 'network_block_all cannot be nil'
574
+ end
575
+
576
+ @network_block_all = network_block_all
577
+ end
578
+
579
+ # Custom attribute writer method with validation
580
+ # @param [Object] target Value to be assigned
581
+ def target=(target)
582
+ if target.nil?
583
+ fail ArgumentError, 'target cannot be nil'
584
+ end
585
+
586
+ @target = target
587
+ end
588
+
512
589
  # Custom attribute writer method with validation
513
590
  # @param [Object] cpu Value to be assigned
514
591
  def cpu=(cpu)
@@ -549,34 +626,44 @@ module DaytonaApiClient
549
626
  @disk = disk
550
627
  end
551
628
 
552
- # Custom attribute writer method with validation
553
- # @param [Object] labels Value to be assigned
554
- def labels=(labels)
555
- if labels.nil?
556
- fail ArgumentError, 'labels cannot be nil'
557
- end
558
-
559
- @labels = labels
560
- end
561
-
562
629
  # Custom attribute writer method checking allowed values (enum).
563
630
  # @param [Object] backup_state Object to be assigned
564
631
  def backup_state=(backup_state)
565
- validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error", "unknown_default_open_api"])
632
+ validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error"])
566
633
  unless validator.valid?(backup_state)
567
634
  fail ArgumentError, "invalid value for \"backup_state\", must be one of #{validator.allowable_values}."
568
635
  end
569
636
  @backup_state = backup_state
570
637
  end
571
638
 
639
+ # Custom attribute writer method checking allowed values (enum).
640
+ # @param [Object] _class Object to be assigned
641
+ def _class=(_class)
642
+ validator = EnumAttributeValidator.new('String', ["small", "medium", "large"])
643
+ unless validator.valid?(_class)
644
+ fail ArgumentError, "invalid value for \"_class\", must be one of #{validator.allowable_values}."
645
+ end
646
+ @_class = _class
647
+ end
648
+
572
649
  # Custom attribute writer method with validation
573
- # @param [Object] toolbox_proxy_url Value to be assigned
574
- def toolbox_proxy_url=(toolbox_proxy_url)
575
- if toolbox_proxy_url.nil?
576
- fail ArgumentError, 'toolbox_proxy_url cannot be nil'
650
+ # @param [Object] name Value to be assigned
651
+ def name=(name)
652
+ if name.nil?
653
+ fail ArgumentError, 'name cannot be nil'
577
654
  end
578
655
 
579
- @toolbox_proxy_url = toolbox_proxy_url
656
+ @name = name
657
+ end
658
+
659
+ # Custom attribute writer method checking allowed values (enum).
660
+ # @param [Object] snapshot_state Object to be assigned
661
+ def snapshot_state=(snapshot_state)
662
+ validator = EnumAttributeValidator.new('String', ["None", "Pending", "InProgress", "Completed", "Error"])
663
+ unless validator.valid?(snapshot_state)
664
+ fail ArgumentError, "invalid value for \"snapshot_state\", must be one of #{validator.allowable_values}."
665
+ end
666
+ @snapshot_state = snapshot_state
580
667
  end
581
668
 
582
669
  # Checks equality by comparing each attribute.
@@ -586,32 +673,38 @@ module DaytonaApiClient
586
673
  self.class == o.class &&
587
674
  id == o.id &&
588
675
  organization_id == o.organization_id &&
589
- name == o.name &&
590
- target == o.target &&
591
- runner_id == o.runner_id &&
592
- sandbox_class == o.sandbox_class &&
593
- state == o.state &&
594
- desired_state == o.desired_state &&
595
676
  snapshot == o.snapshot &&
596
677
  user == o.user &&
597
- error_reason == o.error_reason &&
598
- recoverable == o.recoverable &&
678
+ env == o.env &&
679
+ labels == o.labels &&
599
680
  public == o.public &&
681
+ network_block_all == o.network_block_all &&
682
+ network_allow_list == o.network_allow_list &&
683
+ target == o.target &&
600
684
  cpu == o.cpu &&
601
685
  gpu == o.gpu &&
602
- gpu_type == o.gpu_type &&
603
686
  memory == o.memory &&
604
687
  disk == o.disk &&
605
- labels == o.labels &&
688
+ state == o.state &&
689
+ desired_state == o.desired_state &&
690
+ error_reason == o.error_reason &&
606
691
  backup_state == o.backup_state &&
692
+ backup_created_at == o.backup_created_at &&
607
693
  auto_stop_interval == o.auto_stop_interval &&
608
694
  auto_archive_interval == o.auto_archive_interval &&
609
695
  auto_delete_interval == o.auto_delete_interval &&
696
+ runner_domain == o.runner_domain &&
697
+ volumes == o.volumes &&
698
+ build_info == o.build_info &&
610
699
  created_at == o.created_at &&
611
700
  updated_at == o.updated_at &&
612
- last_activity_at == o.last_activity_at &&
701
+ _class == o._class &&
613
702
  daemon_version == o.daemon_version &&
614
- toolbox_proxy_url == o.toolbox_proxy_url
703
+ name == o.name &&
704
+ image == o.image &&
705
+ snapshot_state == o.snapshot_state &&
706
+ snapshot_created_at == o.snapshot_created_at &&
707
+ info == o.info
615
708
  end
616
709
 
617
710
  # @see the `==` method
@@ -623,7 +716,7 @@ module DaytonaApiClient
623
716
  # Calculates hash code according to all attributes.
624
717
  # @return [Integer] Hash code
625
718
  def hash
626
- [id, organization_id, name, target, runner_id, sandbox_class, state, desired_state, snapshot, user, error_reason, recoverable, public, cpu, gpu, gpu_type, memory, disk, labels, backup_state, auto_stop_interval, auto_archive_interval, auto_delete_interval, created_at, updated_at, last_activity_at, daemon_version, toolbox_proxy_url].hash
719
+ [id, organization_id, snapshot, user, env, labels, public, network_block_all, network_allow_list, target, cpu, gpu, memory, disk, state, desired_state, error_reason, backup_state, backup_created_at, auto_stop_interval, auto_archive_interval, auto_delete_interval, runner_domain, volumes, build_info, created_at, updated_at, _class, daemon_version, name, image, snapshot_state, snapshot_created_at, info].hash
627
720
  end
628
721
 
629
722
  # Builds the object from hash
@@ -649,6 +742,61 @@ module DaytonaApiClient
649
742
  new(transformed_hash)
650
743
  end
651
744
 
745
+ # Deserializes the data based on type
746
+ # @param string type Data type
747
+ # @param string value Value to be deserialized
748
+ # @return [Object] Deserialized data
749
+ def self._deserialize(type, value)
750
+ case type.to_sym
751
+ when :Time
752
+ Time.parse(value)
753
+ when :Date
754
+ Date.parse(value)
755
+ when :String
756
+ value.to_s
757
+ when :Integer
758
+ value.to_i
759
+ when :Float
760
+ value.to_f
761
+ when :Boolean
762
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
763
+ true
764
+ else
765
+ false
766
+ end
767
+ when :Object
768
+ # generic object (usually a Hash), return directly
769
+ value
770
+ when /\AArray<(?<inner_type>.+)>\z/
771
+ inner_type = Regexp.last_match[:inner_type]
772
+ value.map { |v| _deserialize(inner_type, v) }
773
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
774
+ k_type = Regexp.last_match[:k_type]
775
+ v_type = Regexp.last_match[:v_type]
776
+ {}.tap do |hash|
777
+ value.each do |k, v|
778
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
779
+ end
780
+ end
781
+ else # model
782
+ # models (e.g. Pet) or oneOf
783
+ klass = DaytonaApiClient.const_get(type)
784
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
785
+ end
786
+ end
787
+
788
+ # Returns the string representation of the object
789
+ # @return [String] String presentation of the object
790
+ def to_s
791
+ to_hash.to_s
792
+ end
793
+
794
+ # to_body is an alias to to_hash (backward compatibility)
795
+ # @return [Hash] Returns the object in the form of hash
796
+ def to_body
797
+ to_hash
798
+ end
799
+
652
800
  # Returns the object in the form of hash
653
801
  # @return [Hash] Returns the object in the form of hash
654
802
  def to_hash
@@ -665,6 +813,22 @@ module DaytonaApiClient
665
813
  hash
666
814
  end
667
815
 
816
+ # Outputs non-array value in the form of hash
817
+ # For object, use to_hash. Otherwise, just return the value
818
+ # @param [Object] value Any valid value
819
+ # @return [Hash] Returns the value in the form of hash
820
+ def _to_hash(value)
821
+ if value.is_a?(Array)
822
+ value.compact.map { |v| _to_hash(v) }
823
+ elsif value.is_a?(Hash)
824
+ {}.tap do |hash|
825
+ value.each { |k, v| hash[k] = _to_hash(v) }
826
+ end
827
+ elsif value.respond_to? :to_hash
828
+ value.to_hash
829
+ else
830
+ value
831
+ end
832
+ end
668
833
  end
669
-
670
834
  end