daytona_api_client 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 (168) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +101 -0
  4. data/Rakefile +10 -0
  5. data/daytona_api_client.gemspec +39 -0
  6. data/lib/daytona_api_client/api/api_keys_api.rb +401 -0
  7. data/lib/daytona_api_client/api/audit_api.rb +240 -0
  8. data/lib/daytona_api_client/api/config_api.rb +77 -0
  9. data/lib/daytona_api_client/api/docker_registry_api.rb +472 -0
  10. data/lib/daytona_api_client/api/health_api.rb +75 -0
  11. data/lib/daytona_api_client/api/object_storage_api.rb +80 -0
  12. data/lib/daytona_api_client/api/organizations_api.rb +1695 -0
  13. data/lib/daytona_api_client/api/preview_api.rb +209 -0
  14. data/lib/daytona_api_client/api/runners_api.rb +321 -0
  15. data/lib/daytona_api_client/api/sandbox_api.rb +1573 -0
  16. data/lib/daytona_api_client/api/snapshots_api.rb +641 -0
  17. data/lib/daytona_api_client/api/toolbox_api.rb +5108 -0
  18. data/lib/daytona_api_client/api/users_api.rb +553 -0
  19. data/lib/daytona_api_client/api/volumes_api.rb +342 -0
  20. data/lib/daytona_api_client/api/webhooks_api.rb +413 -0
  21. data/lib/daytona_api_client/api/workspace_api.rb +955 -0
  22. data/lib/daytona_api_client/api_client.rb +393 -0
  23. data/lib/daytona_api_client/api_error.rb +58 -0
  24. data/lib/daytona_api_client/configuration.rb +306 -0
  25. data/lib/daytona_api_client/models/account_provider.rb +261 -0
  26. data/lib/daytona_api_client/models/announcement.rb +246 -0
  27. data/lib/daytona_api_client/models/api_key_list.rb +384 -0
  28. data/lib/daytona_api_client/models/api_key_response.rb +344 -0
  29. data/lib/daytona_api_client/models/audit_log.rb +422 -0
  30. data/lib/daytona_api_client/models/build_info.rb +285 -0
  31. data/lib/daytona_api_client/models/command.rb +273 -0
  32. data/lib/daytona_api_client/models/completion_context.rb +244 -0
  33. data/lib/daytona_api_client/models/completion_item.rb +289 -0
  34. data/lib/daytona_api_client/models/completion_list.rb +263 -0
  35. data/lib/daytona_api_client/models/compressed_screenshot_response.rb +256 -0
  36. data/lib/daytona_api_client/models/computer_use_start_response.rb +263 -0
  37. data/lib/daytona_api_client/models/computer_use_status_response.rb +260 -0
  38. data/lib/daytona_api_client/models/computer_use_stop_response.rb +263 -0
  39. data/lib/daytona_api_client/models/create_api_key.rb +288 -0
  40. data/lib/daytona_api_client/models/create_audit_log.rb +350 -0
  41. data/lib/daytona_api_client/models/create_build_info.rb +248 -0
  42. data/lib/daytona_api_client/models/create_docker_registry.rb +388 -0
  43. data/lib/daytona_api_client/models/create_linked_account.rb +263 -0
  44. data/lib/daytona_api_client/models/create_organization.rb +236 -0
  45. data/lib/daytona_api_client/models/create_organization_invitation.rb +326 -0
  46. data/lib/daytona_api_client/models/create_organization_quota.rb +290 -0
  47. data/lib/daytona_api_client/models/create_organization_role.rb +304 -0
  48. data/lib/daytona_api_client/models/create_runner.rb +545 -0
  49. data/lib/daytona_api_client/models/create_sandbox.rb +429 -0
  50. data/lib/daytona_api_client/models/create_session_request.rb +236 -0
  51. data/lib/daytona_api_client/models/create_snapshot.rb +318 -0
  52. data/lib/daytona_api_client/models/create_user.rb +331 -0
  53. data/lib/daytona_api_client/models/create_volume.rb +235 -0
  54. data/lib/daytona_api_client/models/create_workspace.rb +411 -0
  55. data/lib/daytona_api_client/models/daytona_configuration.rb +531 -0
  56. data/lib/daytona_api_client/models/display_info_response.rb +238 -0
  57. data/lib/daytona_api_client/models/docker_registry.rb +449 -0
  58. data/lib/daytona_api_client/models/download_files.rb +238 -0
  59. data/lib/daytona_api_client/models/execute_request.rb +255 -0
  60. data/lib/daytona_api_client/models/execute_response.rb +263 -0
  61. data/lib/daytona_api_client/models/file_info.rb +417 -0
  62. data/lib/daytona_api_client/models/file_status.rb +313 -0
  63. data/lib/daytona_api_client/models/git_add_request.rb +264 -0
  64. data/lib/daytona_api_client/models/git_branch_request.rb +261 -0
  65. data/lib/daytona_api_client/models/git_checkout_request.rb +261 -0
  66. data/lib/daytona_api_client/models/git_clone_request.rb +297 -0
  67. data/lib/daytona_api_client/models/git_commit_info.rb +339 -0
  68. data/lib/daytona_api_client/models/git_commit_request.rb +325 -0
  69. data/lib/daytona_api_client/models/git_commit_response.rb +235 -0
  70. data/lib/daytona_api_client/models/git_delete_branch_request.rb +261 -0
  71. data/lib/daytona_api_client/models/git_repo_request.rb +253 -0
  72. data/lib/daytona_api_client/models/git_status.rb +290 -0
  73. data/lib/daytona_api_client/models/health_controller_check200_response.rb +253 -0
  74. data/lib/daytona_api_client/models/health_controller_check200_response_info_value.rb +235 -0
  75. data/lib/daytona_api_client/models/health_controller_check503_response.rb +253 -0
  76. data/lib/daytona_api_client/models/keyboard_hotkey_request.rb +236 -0
  77. data/lib/daytona_api_client/models/keyboard_press_request.rb +248 -0
  78. data/lib/daytona_api_client/models/keyboard_type_request.rb +246 -0
  79. data/lib/daytona_api_client/models/list_branch_response.rb +237 -0
  80. data/lib/daytona_api_client/models/lsp_completion_params.rb +325 -0
  81. data/lib/daytona_api_client/models/lsp_document_request.rb +290 -0
  82. data/lib/daytona_api_client/models/lsp_location.rb +261 -0
  83. data/lib/daytona_api_client/models/lsp_server_request.rb +263 -0
  84. data/lib/daytona_api_client/models/lsp_symbol.rb +287 -0
  85. data/lib/daytona_api_client/models/match.rb +287 -0
  86. data/lib/daytona_api_client/models/mouse_click_request.rb +283 -0
  87. data/lib/daytona_api_client/models/mouse_click_response.rb +263 -0
  88. data/lib/daytona_api_client/models/mouse_drag_request.rb +327 -0
  89. data/lib/daytona_api_client/models/mouse_drag_response.rb +263 -0
  90. data/lib/daytona_api_client/models/mouse_move_request.rb +263 -0
  91. data/lib/daytona_api_client/models/mouse_move_response.rb +263 -0
  92. data/lib/daytona_api_client/models/mouse_position.rb +263 -0
  93. data/lib/daytona_api_client/models/mouse_scroll_request.rb +300 -0
  94. data/lib/daytona_api_client/models/mouse_scroll_response.rb +236 -0
  95. data/lib/daytona_api_client/models/oidc_config.rb +290 -0
  96. data/lib/daytona_api_client/models/organization.rb +695 -0
  97. data/lib/daytona_api_client/models/organization_invitation.rb +534 -0
  98. data/lib/daytona_api_client/models/organization_role.rb +412 -0
  99. data/lib/daytona_api_client/models/organization_sandbox_default_limited_network_egress.rb +236 -0
  100. data/lib/daytona_api_client/models/organization_suspension.rb +290 -0
  101. data/lib/daytona_api_client/models/organization_usage_overview.rb +469 -0
  102. data/lib/daytona_api_client/models/organization_user.rb +451 -0
  103. data/lib/daytona_api_client/models/paginated_audit_logs.rb +315 -0
  104. data/lib/daytona_api_client/models/paginated_sandboxes.rb +315 -0
  105. data/lib/daytona_api_client/models/paginated_snapshots.rb +315 -0
  106. data/lib/daytona_api_client/models/paginated_snapshots_dto.rb +315 -0
  107. data/lib/daytona_api_client/models/port_preview_url.rb +273 -0
  108. data/lib/daytona_api_client/models/position.rb +261 -0
  109. data/lib/daytona_api_client/models/posthog_config.rb +263 -0
  110. data/lib/daytona_api_client/models/process_errors_response.rb +263 -0
  111. data/lib/daytona_api_client/models/process_logs_response.rb +263 -0
  112. data/lib/daytona_api_client/models/process_restart_response.rb +263 -0
  113. data/lib/daytona_api_client/models/process_status_response.rb +263 -0
  114. data/lib/daytona_api_client/models/project_dir_response.rb +218 -0
  115. data/lib/daytona_api_client/models/pty_create_request.rb +288 -0
  116. data/lib/daytona_api_client/models/pty_create_response.rb +236 -0
  117. data/lib/daytona_api_client/models/pty_list_response.rb +238 -0
  118. data/lib/daytona_api_client/models/pty_resize_request.rb +263 -0
  119. data/lib/daytona_api_client/models/pty_session_info.rb +425 -0
  120. data/lib/daytona_api_client/models/range.rb +261 -0
  121. data/lib/daytona_api_client/models/region.rb +236 -0
  122. data/lib/daytona_api_client/models/region_screenshot_response.rb +256 -0
  123. data/lib/daytona_api_client/models/registry_push_access_dto.rb +371 -0
  124. data/lib/daytona_api_client/models/replace_request.rb +289 -0
  125. data/lib/daytona_api_client/models/replace_result.rb +236 -0
  126. data/lib/daytona_api_client/models/runner.rb +780 -0
  127. data/lib/daytona_api_client/models/runner_snapshot_dto.rb +290 -0
  128. data/lib/daytona_api_client/models/runner_state.rb +43 -0
  129. data/lib/daytona_api_client/models/sandbox.rb +755 -0
  130. data/lib/daytona_api_client/models/sandbox_class.rb +41 -0
  131. data/lib/daytona_api_client/models/sandbox_desired_state.rb +43 -0
  132. data/lib/daytona_api_client/models/sandbox_info.rb +273 -0
  133. data/lib/daytona_api_client/models/sandbox_labels.rb +238 -0
  134. data/lib/daytona_api_client/models/sandbox_state.rb +54 -0
  135. data/lib/daytona_api_client/models/sandbox_volume.rb +263 -0
  136. data/lib/daytona_api_client/models/screenshot_response.rb +256 -0
  137. data/lib/daytona_api_client/models/search_files_response.rb +237 -0
  138. data/lib/daytona_api_client/models/send_webhook_dto.rb +273 -0
  139. data/lib/daytona_api_client/models/session.rb +251 -0
  140. data/lib/daytona_api_client/models/session_execute_request.rb +256 -0
  141. data/lib/daytona_api_client/models/session_execute_response.rb +239 -0
  142. data/lib/daytona_api_client/models/set_snapshot_general_status_dto.rb +236 -0
  143. data/lib/daytona_api_client/models/snapshot_dto.rb +569 -0
  144. data/lib/daytona_api_client/models/snapshot_state.rb +49 -0
  145. data/lib/daytona_api_client/models/ssh_access_dto.rb +371 -0
  146. data/lib/daytona_api_client/models/ssh_access_validation_dto.rb +283 -0
  147. data/lib/daytona_api_client/models/storage_access_dto.rb +371 -0
  148. data/lib/daytona_api_client/models/update_docker_registry.rb +310 -0
  149. data/lib/daytona_api_client/models/update_organization_invitation.rb +299 -0
  150. data/lib/daytona_api_client/models/update_organization_member_access.rb +289 -0
  151. data/lib/daytona_api_client/models/update_organization_quota.rb +317 -0
  152. data/lib/daytona_api_client/models/update_organization_role.rb +304 -0
  153. data/lib/daytona_api_client/models/update_sandbox_state_dto.rb +260 -0
  154. data/lib/daytona_api_client/models/user.rb +346 -0
  155. data/lib/daytona_api_client/models/user_home_dir_response.rb +218 -0
  156. data/lib/daytona_api_client/models/user_public_key.rb +263 -0
  157. data/lib/daytona_api_client/models/volume_dto.rb +417 -0
  158. data/lib/daytona_api_client/models/volume_state.rb +45 -0
  159. data/lib/daytona_api_client/models/webhook_app_portal_access.rb +236 -0
  160. data/lib/daytona_api_client/models/webhook_controller_get_status200_response.rb +218 -0
  161. data/lib/daytona_api_client/models/webhook_initialization_status.rb +343 -0
  162. data/lib/daytona_api_client/models/windows_response.rb +265 -0
  163. data/lib/daytona_api_client/models/work_dir_response.rb +218 -0
  164. data/lib/daytona_api_client/models/workspace.rb +834 -0
  165. data/lib/daytona_api_client/version.rb +15 -0
  166. data/lib/daytona_api_client.rb +194 -0
  167. data/project.json +37 -0
  168. metadata +246 -0
@@ -0,0 +1,569 @@
1
+ =begin
2
+ #Daytona
3
+
4
+ #Daytona AI platform API Docs
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@daytona.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DaytonaApiClient
17
+ class SnapshotDto
18
+ attr_accessor :id
19
+
20
+ attr_accessor :organization_id
21
+
22
+ attr_accessor :general
23
+
24
+ attr_accessor :name
25
+
26
+ attr_accessor :image_name
27
+
28
+ attr_accessor :state
29
+
30
+ attr_accessor :size
31
+
32
+ attr_accessor :entrypoint
33
+
34
+ attr_accessor :cpu
35
+
36
+ attr_accessor :gpu
37
+
38
+ attr_accessor :mem
39
+
40
+ attr_accessor :disk
41
+
42
+ attr_accessor :error_reason
43
+
44
+ attr_accessor :created_at
45
+
46
+ attr_accessor :updated_at
47
+
48
+ attr_accessor :last_used_at
49
+
50
+ # Build information for the snapshot
51
+ attr_accessor :build_info
52
+
53
+ class EnumAttributeValidator
54
+ attr_reader :datatype
55
+ attr_reader :allowable_values
56
+
57
+ def initialize(datatype, allowable_values)
58
+ @allowable_values = allowable_values.map do |value|
59
+ case datatype.to_s
60
+ when /Integer/i
61
+ value.to_i
62
+ when /Float/i
63
+ value.to_f
64
+ else
65
+ value
66
+ end
67
+ end
68
+ end
69
+
70
+ def valid?(value)
71
+ !value || allowable_values.include?(value)
72
+ end
73
+ end
74
+
75
+ # Attribute mapping from ruby-style variable name to JSON key.
76
+ def self.attribute_map
77
+ {
78
+ :'id' => :'id',
79
+ :'organization_id' => :'organizationId',
80
+ :'general' => :'general',
81
+ :'name' => :'name',
82
+ :'image_name' => :'imageName',
83
+ :'state' => :'state',
84
+ :'size' => :'size',
85
+ :'entrypoint' => :'entrypoint',
86
+ :'cpu' => :'cpu',
87
+ :'gpu' => :'gpu',
88
+ :'mem' => :'mem',
89
+ :'disk' => :'disk',
90
+ :'error_reason' => :'errorReason',
91
+ :'created_at' => :'createdAt',
92
+ :'updated_at' => :'updatedAt',
93
+ :'last_used_at' => :'lastUsedAt',
94
+ :'build_info' => :'buildInfo'
95
+ }
96
+ end
97
+
98
+ # Returns attribute mapping this model knows about
99
+ def self.acceptable_attribute_map
100
+ attribute_map
101
+ end
102
+
103
+ # Returns all the JSON keys this model knows about
104
+ def self.acceptable_attributes
105
+ acceptable_attribute_map.values
106
+ end
107
+
108
+ # Attribute type mapping.
109
+ def self.openapi_types
110
+ {
111
+ :'id' => :'String',
112
+ :'organization_id' => :'String',
113
+ :'general' => :'Boolean',
114
+ :'name' => :'String',
115
+ :'image_name' => :'String',
116
+ :'state' => :'SnapshotState',
117
+ :'size' => :'Float',
118
+ :'entrypoint' => :'Array<String>',
119
+ :'cpu' => :'Float',
120
+ :'gpu' => :'Float',
121
+ :'mem' => :'Float',
122
+ :'disk' => :'Float',
123
+ :'error_reason' => :'String',
124
+ :'created_at' => :'Time',
125
+ :'updated_at' => :'Time',
126
+ :'last_used_at' => :'Time',
127
+ :'build_info' => :'BuildInfo'
128
+ }
129
+ end
130
+
131
+ # List of attributes with nullable: true
132
+ def self.openapi_nullable
133
+ Set.new([
134
+ :'size',
135
+ :'entrypoint',
136
+ :'error_reason',
137
+ :'last_used_at',
138
+ ])
139
+ end
140
+
141
+ # Initializes the object
142
+ # @param [Hash] attributes Model attributes in the form of hash
143
+ def initialize(attributes = {})
144
+ if (!attributes.is_a?(Hash))
145
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::SnapshotDto` initialize method"
146
+ end
147
+
148
+ # check to see if the attribute exists and convert string to symbol for hash key
149
+ acceptable_attribute_map = self.class.acceptable_attribute_map
150
+ attributes = attributes.each_with_object({}) { |(k, v), h|
151
+ if (!acceptable_attribute_map.key?(k.to_sym))
152
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::SnapshotDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
153
+ end
154
+ h[k.to_sym] = v
155
+ }
156
+
157
+ if attributes.key?(:'id')
158
+ self.id = attributes[:'id']
159
+ else
160
+ self.id = nil
161
+ end
162
+
163
+ if attributes.key?(:'organization_id')
164
+ self.organization_id = attributes[:'organization_id']
165
+ end
166
+
167
+ if attributes.key?(:'general')
168
+ self.general = attributes[:'general']
169
+ else
170
+ self.general = nil
171
+ end
172
+
173
+ if attributes.key?(:'name')
174
+ self.name = attributes[:'name']
175
+ else
176
+ self.name = nil
177
+ end
178
+
179
+ if attributes.key?(:'image_name')
180
+ self.image_name = attributes[:'image_name']
181
+ end
182
+
183
+ if attributes.key?(:'state')
184
+ self.state = attributes[:'state']
185
+ else
186
+ self.state = nil
187
+ end
188
+
189
+ if attributes.key?(:'size')
190
+ self.size = attributes[:'size']
191
+ else
192
+ self.size = nil
193
+ end
194
+
195
+ if attributes.key?(:'entrypoint')
196
+ if (value = attributes[:'entrypoint']).is_a?(Array)
197
+ self.entrypoint = value
198
+ end
199
+ else
200
+ self.entrypoint = nil
201
+ end
202
+
203
+ if attributes.key?(:'cpu')
204
+ self.cpu = attributes[:'cpu']
205
+ else
206
+ self.cpu = nil
207
+ end
208
+
209
+ if attributes.key?(:'gpu')
210
+ self.gpu = attributes[:'gpu']
211
+ else
212
+ self.gpu = nil
213
+ end
214
+
215
+ if attributes.key?(:'mem')
216
+ self.mem = attributes[:'mem']
217
+ else
218
+ self.mem = nil
219
+ end
220
+
221
+ if attributes.key?(:'disk')
222
+ self.disk = attributes[:'disk']
223
+ else
224
+ self.disk = nil
225
+ end
226
+
227
+ if attributes.key?(:'error_reason')
228
+ self.error_reason = attributes[:'error_reason']
229
+ else
230
+ self.error_reason = nil
231
+ end
232
+
233
+ if attributes.key?(:'created_at')
234
+ self.created_at = attributes[:'created_at']
235
+ else
236
+ self.created_at = nil
237
+ end
238
+
239
+ if attributes.key?(:'updated_at')
240
+ self.updated_at = attributes[:'updated_at']
241
+ else
242
+ self.updated_at = nil
243
+ end
244
+
245
+ if attributes.key?(:'last_used_at')
246
+ self.last_used_at = attributes[:'last_used_at']
247
+ else
248
+ self.last_used_at = nil
249
+ end
250
+
251
+ if attributes.key?(:'build_info')
252
+ self.build_info = attributes[:'build_info']
253
+ end
254
+ end
255
+
256
+ # Show invalid properties with the reasons. Usually used together with valid?
257
+ # @return Array for valid properties with the reasons
258
+ def list_invalid_properties
259
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
260
+ invalid_properties = Array.new
261
+ if @id.nil?
262
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
263
+ end
264
+
265
+ if @general.nil?
266
+ invalid_properties.push('invalid value for "general", general cannot be nil.')
267
+ end
268
+
269
+ if @name.nil?
270
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
271
+ end
272
+
273
+ if @state.nil?
274
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
275
+ end
276
+
277
+ if @cpu.nil?
278
+ invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
279
+ end
280
+
281
+ if @gpu.nil?
282
+ invalid_properties.push('invalid value for "gpu", gpu cannot be nil.')
283
+ end
284
+
285
+ if @mem.nil?
286
+ invalid_properties.push('invalid value for "mem", mem cannot be nil.')
287
+ end
288
+
289
+ if @disk.nil?
290
+ invalid_properties.push('invalid value for "disk", disk cannot be nil.')
291
+ end
292
+
293
+ if @created_at.nil?
294
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
295
+ end
296
+
297
+ if @updated_at.nil?
298
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
299
+ end
300
+
301
+ invalid_properties
302
+ end
303
+
304
+ # Check to see if the all the properties in the model are valid
305
+ # @return true if the model is valid
306
+ def valid?
307
+ warn '[DEPRECATED] the `valid?` method is obsolete'
308
+ return false if @id.nil?
309
+ return false if @general.nil?
310
+ return false if @name.nil?
311
+ return false if @state.nil?
312
+ return false if @cpu.nil?
313
+ return false if @gpu.nil?
314
+ return false if @mem.nil?
315
+ return false if @disk.nil?
316
+ return false if @created_at.nil?
317
+ return false if @updated_at.nil?
318
+ true
319
+ end
320
+
321
+ # Custom attribute writer method with validation
322
+ # @param [Object] id Value to be assigned
323
+ def id=(id)
324
+ if id.nil?
325
+ fail ArgumentError, 'id cannot be nil'
326
+ end
327
+
328
+ @id = id
329
+ end
330
+
331
+ # Custom attribute writer method with validation
332
+ # @param [Object] general Value to be assigned
333
+ def general=(general)
334
+ if general.nil?
335
+ fail ArgumentError, 'general cannot be nil'
336
+ end
337
+
338
+ @general = general
339
+ end
340
+
341
+ # Custom attribute writer method with validation
342
+ # @param [Object] name Value to be assigned
343
+ def name=(name)
344
+ if name.nil?
345
+ fail ArgumentError, 'name cannot be nil'
346
+ end
347
+
348
+ @name = name
349
+ end
350
+
351
+ # Custom attribute writer method with validation
352
+ # @param [Object] state Value to be assigned
353
+ def state=(state)
354
+ if state.nil?
355
+ fail ArgumentError, 'state cannot be nil'
356
+ end
357
+
358
+ @state = state
359
+ end
360
+
361
+ # Custom attribute writer method with validation
362
+ # @param [Object] cpu Value to be assigned
363
+ def cpu=(cpu)
364
+ if cpu.nil?
365
+ fail ArgumentError, 'cpu cannot be nil'
366
+ end
367
+
368
+ @cpu = cpu
369
+ end
370
+
371
+ # Custom attribute writer method with validation
372
+ # @param [Object] gpu Value to be assigned
373
+ def gpu=(gpu)
374
+ if gpu.nil?
375
+ fail ArgumentError, 'gpu cannot be nil'
376
+ end
377
+
378
+ @gpu = gpu
379
+ end
380
+
381
+ # Custom attribute writer method with validation
382
+ # @param [Object] mem Value to be assigned
383
+ def mem=(mem)
384
+ if mem.nil?
385
+ fail ArgumentError, 'mem cannot be nil'
386
+ end
387
+
388
+ @mem = mem
389
+ end
390
+
391
+ # Custom attribute writer method with validation
392
+ # @param [Object] disk Value to be assigned
393
+ def disk=(disk)
394
+ if disk.nil?
395
+ fail ArgumentError, 'disk cannot be nil'
396
+ end
397
+
398
+ @disk = disk
399
+ end
400
+
401
+ # Custom attribute writer method with validation
402
+ # @param [Object] created_at Value to be assigned
403
+ def created_at=(created_at)
404
+ if created_at.nil?
405
+ fail ArgumentError, 'created_at cannot be nil'
406
+ end
407
+
408
+ @created_at = created_at
409
+ end
410
+
411
+ # Custom attribute writer method with validation
412
+ # @param [Object] updated_at Value to be assigned
413
+ def updated_at=(updated_at)
414
+ if updated_at.nil?
415
+ fail ArgumentError, 'updated_at cannot be nil'
416
+ end
417
+
418
+ @updated_at = updated_at
419
+ end
420
+
421
+ # Checks equality by comparing each attribute.
422
+ # @param [Object] Object to be compared
423
+ def ==(o)
424
+ return true if self.equal?(o)
425
+ self.class == o.class &&
426
+ id == o.id &&
427
+ organization_id == o.organization_id &&
428
+ general == o.general &&
429
+ name == o.name &&
430
+ image_name == o.image_name &&
431
+ state == o.state &&
432
+ size == o.size &&
433
+ entrypoint == o.entrypoint &&
434
+ cpu == o.cpu &&
435
+ gpu == o.gpu &&
436
+ mem == o.mem &&
437
+ disk == o.disk &&
438
+ error_reason == o.error_reason &&
439
+ created_at == o.created_at &&
440
+ updated_at == o.updated_at &&
441
+ last_used_at == o.last_used_at &&
442
+ build_info == o.build_info
443
+ end
444
+
445
+ # @see the `==` method
446
+ # @param [Object] Object to be compared
447
+ def eql?(o)
448
+ self == o
449
+ end
450
+
451
+ # Calculates hash code according to all attributes.
452
+ # @return [Integer] Hash code
453
+ def hash
454
+ [id, organization_id, general, name, image_name, state, size, entrypoint, cpu, gpu, mem, disk, error_reason, created_at, updated_at, last_used_at, build_info].hash
455
+ end
456
+
457
+ # Builds the object from hash
458
+ # @param [Hash] attributes Model attributes in the form of hash
459
+ # @return [Object] Returns the model itself
460
+ def self.build_from_hash(attributes)
461
+ return nil unless attributes.is_a?(Hash)
462
+ attributes = attributes.transform_keys(&:to_sym)
463
+ transformed_hash = {}
464
+ openapi_types.each_pair do |key, type|
465
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
466
+ transformed_hash["#{key}"] = nil
467
+ elsif type =~ /\AArray<(.*)>/i
468
+ # check to ensure the input is an array given that the attribute
469
+ # is documented as an array but the input is not
470
+ if attributes[attribute_map[key]].is_a?(Array)
471
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
472
+ end
473
+ elsif !attributes[attribute_map[key]].nil?
474
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
475
+ end
476
+ end
477
+ new(transformed_hash)
478
+ end
479
+
480
+ # Deserializes the data based on type
481
+ # @param string type Data type
482
+ # @param string value Value to be deserialized
483
+ # @return [Object] Deserialized data
484
+ def self._deserialize(type, value)
485
+ case type.to_sym
486
+ when :Time
487
+ Time.parse(value)
488
+ when :Date
489
+ Date.parse(value)
490
+ when :String
491
+ value.to_s
492
+ when :Integer
493
+ value.to_i
494
+ when :Float
495
+ value.to_f
496
+ when :Boolean
497
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
498
+ true
499
+ else
500
+ false
501
+ end
502
+ when :Object
503
+ # generic object (usually a Hash), return directly
504
+ value
505
+ when /\AArray<(?<inner_type>.+)>\z/
506
+ inner_type = Regexp.last_match[:inner_type]
507
+ value.map { |v| _deserialize(inner_type, v) }
508
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
509
+ k_type = Regexp.last_match[:k_type]
510
+ v_type = Regexp.last_match[:v_type]
511
+ {}.tap do |hash|
512
+ value.each do |k, v|
513
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
514
+ end
515
+ end
516
+ else # model
517
+ # models (e.g. Pet) or oneOf
518
+ klass = DaytonaApiClient.const_get(type)
519
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
520
+ end
521
+ end
522
+
523
+ # Returns the string representation of the object
524
+ # @return [String] String presentation of the object
525
+ def to_s
526
+ to_hash.to_s
527
+ end
528
+
529
+ # to_body is an alias to to_hash (backward compatibility)
530
+ # @return [Hash] Returns the object in the form of hash
531
+ def to_body
532
+ to_hash
533
+ end
534
+
535
+ # Returns the object in the form of hash
536
+ # @return [Hash] Returns the object in the form of hash
537
+ def to_hash
538
+ hash = {}
539
+ self.class.attribute_map.each_pair do |attr, param|
540
+ value = self.send(attr)
541
+ if value.nil?
542
+ is_nullable = self.class.openapi_nullable.include?(attr)
543
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
544
+ end
545
+
546
+ hash[param] = _to_hash(value)
547
+ end
548
+ hash
549
+ end
550
+
551
+ # Outputs non-array value in the form of hash
552
+ # For object, use to_hash. Otherwise, just return the value
553
+ # @param [Object] value Any valid value
554
+ # @return [Hash] Returns the value in the form of hash
555
+ def _to_hash(value)
556
+ if value.is_a?(Array)
557
+ value.compact.map { |v| _to_hash(v) }
558
+ elsif value.is_a?(Hash)
559
+ {}.tap do |hash|
560
+ value.each { |k, v| hash[k] = _to_hash(v) }
561
+ end
562
+ elsif value.respond_to? :to_hash
563
+ value.to_hash
564
+ else
565
+ value
566
+ end
567
+ end
568
+ end
569
+ end
@@ -0,0 +1,49 @@
1
+ =begin
2
+ #Daytona
3
+
4
+ #Daytona AI platform API Docs
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@daytona.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DaytonaApiClient
17
+ class SnapshotState
18
+ BUILD_PENDING = "build_pending".freeze
19
+ BUILDING = "building".freeze
20
+ PENDING = "pending".freeze
21
+ PULLING = "pulling".freeze
22
+ PENDING_VALIDATION = "pending_validation".freeze
23
+ VALIDATING = "validating".freeze
24
+ ACTIVE = "active".freeze
25
+ INACTIVE = "inactive".freeze
26
+ ERROR = "error".freeze
27
+ BUILD_FAILED = "build_failed".freeze
28
+ REMOVING = "removing".freeze
29
+
30
+ def self.all_vars
31
+ @all_vars ||= [BUILD_PENDING, BUILDING, PENDING, PULLING, PENDING_VALIDATION, VALIDATING, ACTIVE, INACTIVE, ERROR, BUILD_FAILED, REMOVING].freeze
32
+ end
33
+
34
+ # Builds the enum from string
35
+ # @param [String] The enum value in the form of the string
36
+ # @return [String] The enum value
37
+ def self.build_from_hash(value)
38
+ new.build_from_hash(value)
39
+ end
40
+
41
+ # Builds the enum from string
42
+ # @param [String] The enum value in the form of the string
43
+ # @return [String] The enum value
44
+ def build_from_hash(value)
45
+ return value if SnapshotState.all_vars.include?(value)
46
+ raise "Invalid ENUM value #{value} for class #SnapshotState"
47
+ end
48
+ end
49
+ end