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,695 @@
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 Organization
18
+ # Organization ID
19
+ attr_accessor :id
20
+
21
+ # Organization name
22
+ attr_accessor :name
23
+
24
+ # User ID of the organization creator
25
+ attr_accessor :created_by
26
+
27
+ # Personal organization flag
28
+ attr_accessor :personal
29
+
30
+ # Creation timestamp
31
+ attr_accessor :created_at
32
+
33
+ # Last update timestamp
34
+ attr_accessor :updated_at
35
+
36
+ # Suspended flag
37
+ attr_accessor :suspended
38
+
39
+ # Suspended at
40
+ attr_accessor :suspended_at
41
+
42
+ # Suspended reason
43
+ attr_accessor :suspension_reason
44
+
45
+ # Suspended until
46
+ attr_accessor :suspended_until
47
+
48
+ # Suspension cleanup grace period hours
49
+ attr_accessor :suspension_cleanup_grace_period_hours
50
+
51
+ # Total CPU quota
52
+ attr_accessor :total_cpu_quota
53
+
54
+ # Total memory quota
55
+ attr_accessor :total_memory_quota
56
+
57
+ # Total disk quota
58
+ attr_accessor :total_disk_quota
59
+
60
+ # Max CPU per sandbox
61
+ attr_accessor :max_cpu_per_sandbox
62
+
63
+ # Max memory per sandbox
64
+ attr_accessor :max_memory_per_sandbox
65
+
66
+ # Max disk per sandbox
67
+ attr_accessor :max_disk_per_sandbox
68
+
69
+ # Sandbox default network block all
70
+ attr_accessor :sandbox_limited_network_egress
71
+
72
+ # Attribute mapping from ruby-style variable name to JSON key.
73
+ def self.attribute_map
74
+ {
75
+ :'id' => :'id',
76
+ :'name' => :'name',
77
+ :'created_by' => :'createdBy',
78
+ :'personal' => :'personal',
79
+ :'created_at' => :'createdAt',
80
+ :'updated_at' => :'updatedAt',
81
+ :'suspended' => :'suspended',
82
+ :'suspended_at' => :'suspendedAt',
83
+ :'suspension_reason' => :'suspensionReason',
84
+ :'suspended_until' => :'suspendedUntil',
85
+ :'suspension_cleanup_grace_period_hours' => :'suspensionCleanupGracePeriodHours',
86
+ :'total_cpu_quota' => :'totalCpuQuota',
87
+ :'total_memory_quota' => :'totalMemoryQuota',
88
+ :'total_disk_quota' => :'totalDiskQuota',
89
+ :'max_cpu_per_sandbox' => :'maxCpuPerSandbox',
90
+ :'max_memory_per_sandbox' => :'maxMemoryPerSandbox',
91
+ :'max_disk_per_sandbox' => :'maxDiskPerSandbox',
92
+ :'sandbox_limited_network_egress' => :'sandboxLimitedNetworkEgress'
93
+ }
94
+ end
95
+
96
+ # Returns attribute mapping this model knows about
97
+ def self.acceptable_attribute_map
98
+ attribute_map
99
+ end
100
+
101
+ # Returns all the JSON keys this model knows about
102
+ def self.acceptable_attributes
103
+ acceptable_attribute_map.values
104
+ end
105
+
106
+ # Attribute type mapping.
107
+ def self.openapi_types
108
+ {
109
+ :'id' => :'String',
110
+ :'name' => :'String',
111
+ :'created_by' => :'String',
112
+ :'personal' => :'Boolean',
113
+ :'created_at' => :'Time',
114
+ :'updated_at' => :'Time',
115
+ :'suspended' => :'Boolean',
116
+ :'suspended_at' => :'Time',
117
+ :'suspension_reason' => :'String',
118
+ :'suspended_until' => :'Time',
119
+ :'suspension_cleanup_grace_period_hours' => :'Float',
120
+ :'total_cpu_quota' => :'Float',
121
+ :'total_memory_quota' => :'Float',
122
+ :'total_disk_quota' => :'Float',
123
+ :'max_cpu_per_sandbox' => :'Float',
124
+ :'max_memory_per_sandbox' => :'Float',
125
+ :'max_disk_per_sandbox' => :'Float',
126
+ :'sandbox_limited_network_egress' => :'Boolean'
127
+ }
128
+ end
129
+
130
+ # List of attributes with nullable: true
131
+ def self.openapi_nullable
132
+ Set.new([
133
+ ])
134
+ end
135
+
136
+ # Initializes the object
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ def initialize(attributes = {})
139
+ if (!attributes.is_a?(Hash))
140
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::Organization` initialize method"
141
+ end
142
+
143
+ # check to see if the attribute exists and convert string to symbol for hash key
144
+ acceptable_attribute_map = self.class.acceptable_attribute_map
145
+ attributes = attributes.each_with_object({}) { |(k, v), h|
146
+ if (!acceptable_attribute_map.key?(k.to_sym))
147
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::Organization`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
148
+ end
149
+ h[k.to_sym] = v
150
+ }
151
+
152
+ if attributes.key?(:'id')
153
+ self.id = attributes[:'id']
154
+ else
155
+ self.id = nil
156
+ end
157
+
158
+ if attributes.key?(:'name')
159
+ self.name = attributes[:'name']
160
+ else
161
+ self.name = nil
162
+ end
163
+
164
+ if attributes.key?(:'created_by')
165
+ self.created_by = attributes[:'created_by']
166
+ else
167
+ self.created_by = nil
168
+ end
169
+
170
+ if attributes.key?(:'personal')
171
+ self.personal = attributes[:'personal']
172
+ else
173
+ self.personal = nil
174
+ end
175
+
176
+ if attributes.key?(:'created_at')
177
+ self.created_at = attributes[:'created_at']
178
+ else
179
+ self.created_at = nil
180
+ end
181
+
182
+ if attributes.key?(:'updated_at')
183
+ self.updated_at = attributes[:'updated_at']
184
+ else
185
+ self.updated_at = nil
186
+ end
187
+
188
+ if attributes.key?(:'suspended')
189
+ self.suspended = attributes[:'suspended']
190
+ else
191
+ self.suspended = nil
192
+ end
193
+
194
+ if attributes.key?(:'suspended_at')
195
+ self.suspended_at = attributes[:'suspended_at']
196
+ else
197
+ self.suspended_at = nil
198
+ end
199
+
200
+ if attributes.key?(:'suspension_reason')
201
+ self.suspension_reason = attributes[:'suspension_reason']
202
+ else
203
+ self.suspension_reason = nil
204
+ end
205
+
206
+ if attributes.key?(:'suspended_until')
207
+ self.suspended_until = attributes[:'suspended_until']
208
+ else
209
+ self.suspended_until = nil
210
+ end
211
+
212
+ if attributes.key?(:'suspension_cleanup_grace_period_hours')
213
+ self.suspension_cleanup_grace_period_hours = attributes[:'suspension_cleanup_grace_period_hours']
214
+ else
215
+ self.suspension_cleanup_grace_period_hours = nil
216
+ end
217
+
218
+ if attributes.key?(:'total_cpu_quota')
219
+ self.total_cpu_quota = attributes[:'total_cpu_quota']
220
+ else
221
+ self.total_cpu_quota = nil
222
+ end
223
+
224
+ if attributes.key?(:'total_memory_quota')
225
+ self.total_memory_quota = attributes[:'total_memory_quota']
226
+ else
227
+ self.total_memory_quota = nil
228
+ end
229
+
230
+ if attributes.key?(:'total_disk_quota')
231
+ self.total_disk_quota = attributes[:'total_disk_quota']
232
+ else
233
+ self.total_disk_quota = nil
234
+ end
235
+
236
+ if attributes.key?(:'max_cpu_per_sandbox')
237
+ self.max_cpu_per_sandbox = attributes[:'max_cpu_per_sandbox']
238
+ else
239
+ self.max_cpu_per_sandbox = nil
240
+ end
241
+
242
+ if attributes.key?(:'max_memory_per_sandbox')
243
+ self.max_memory_per_sandbox = attributes[:'max_memory_per_sandbox']
244
+ else
245
+ self.max_memory_per_sandbox = nil
246
+ end
247
+
248
+ if attributes.key?(:'max_disk_per_sandbox')
249
+ self.max_disk_per_sandbox = attributes[:'max_disk_per_sandbox']
250
+ else
251
+ self.max_disk_per_sandbox = nil
252
+ end
253
+
254
+ if attributes.key?(:'sandbox_limited_network_egress')
255
+ self.sandbox_limited_network_egress = attributes[:'sandbox_limited_network_egress']
256
+ else
257
+ self.sandbox_limited_network_egress = nil
258
+ end
259
+ end
260
+
261
+ # Show invalid properties with the reasons. Usually used together with valid?
262
+ # @return Array for valid properties with the reasons
263
+ def list_invalid_properties
264
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
265
+ invalid_properties = Array.new
266
+ if @id.nil?
267
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
268
+ end
269
+
270
+ if @name.nil?
271
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
272
+ end
273
+
274
+ if @created_by.nil?
275
+ invalid_properties.push('invalid value for "created_by", created_by cannot be nil.')
276
+ end
277
+
278
+ if @personal.nil?
279
+ invalid_properties.push('invalid value for "personal", personal cannot be nil.')
280
+ end
281
+
282
+ if @created_at.nil?
283
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
284
+ end
285
+
286
+ if @updated_at.nil?
287
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
288
+ end
289
+
290
+ if @suspended.nil?
291
+ invalid_properties.push('invalid value for "suspended", suspended cannot be nil.')
292
+ end
293
+
294
+ if @suspended_at.nil?
295
+ invalid_properties.push('invalid value for "suspended_at", suspended_at cannot be nil.')
296
+ end
297
+
298
+ if @suspension_reason.nil?
299
+ invalid_properties.push('invalid value for "suspension_reason", suspension_reason cannot be nil.')
300
+ end
301
+
302
+ if @suspended_until.nil?
303
+ invalid_properties.push('invalid value for "suspended_until", suspended_until cannot be nil.')
304
+ end
305
+
306
+ if @suspension_cleanup_grace_period_hours.nil?
307
+ invalid_properties.push('invalid value for "suspension_cleanup_grace_period_hours", suspension_cleanup_grace_period_hours cannot be nil.')
308
+ end
309
+
310
+ if @total_cpu_quota.nil?
311
+ invalid_properties.push('invalid value for "total_cpu_quota", total_cpu_quota cannot be nil.')
312
+ end
313
+
314
+ if @total_memory_quota.nil?
315
+ invalid_properties.push('invalid value for "total_memory_quota", total_memory_quota cannot be nil.')
316
+ end
317
+
318
+ if @total_disk_quota.nil?
319
+ invalid_properties.push('invalid value for "total_disk_quota", total_disk_quota cannot be nil.')
320
+ end
321
+
322
+ if @max_cpu_per_sandbox.nil?
323
+ invalid_properties.push('invalid value for "max_cpu_per_sandbox", max_cpu_per_sandbox cannot be nil.')
324
+ end
325
+
326
+ if @max_memory_per_sandbox.nil?
327
+ invalid_properties.push('invalid value for "max_memory_per_sandbox", max_memory_per_sandbox cannot be nil.')
328
+ end
329
+
330
+ if @max_disk_per_sandbox.nil?
331
+ invalid_properties.push('invalid value for "max_disk_per_sandbox", max_disk_per_sandbox cannot be nil.')
332
+ end
333
+
334
+ if @sandbox_limited_network_egress.nil?
335
+ invalid_properties.push('invalid value for "sandbox_limited_network_egress", sandbox_limited_network_egress cannot be nil.')
336
+ end
337
+
338
+ invalid_properties
339
+ end
340
+
341
+ # Check to see if the all the properties in the model are valid
342
+ # @return true if the model is valid
343
+ def valid?
344
+ warn '[DEPRECATED] the `valid?` method is obsolete'
345
+ return false if @id.nil?
346
+ return false if @name.nil?
347
+ return false if @created_by.nil?
348
+ return false if @personal.nil?
349
+ return false if @created_at.nil?
350
+ return false if @updated_at.nil?
351
+ return false if @suspended.nil?
352
+ return false if @suspended_at.nil?
353
+ return false if @suspension_reason.nil?
354
+ return false if @suspended_until.nil?
355
+ return false if @suspension_cleanup_grace_period_hours.nil?
356
+ return false if @total_cpu_quota.nil?
357
+ return false if @total_memory_quota.nil?
358
+ return false if @total_disk_quota.nil?
359
+ return false if @max_cpu_per_sandbox.nil?
360
+ return false if @max_memory_per_sandbox.nil?
361
+ return false if @max_disk_per_sandbox.nil?
362
+ return false if @sandbox_limited_network_egress.nil?
363
+ true
364
+ end
365
+
366
+ # Custom attribute writer method with validation
367
+ # @param [Object] id Value to be assigned
368
+ def id=(id)
369
+ if id.nil?
370
+ fail ArgumentError, 'id cannot be nil'
371
+ end
372
+
373
+ @id = id
374
+ end
375
+
376
+ # Custom attribute writer method with validation
377
+ # @param [Object] name Value to be assigned
378
+ def name=(name)
379
+ if name.nil?
380
+ fail ArgumentError, 'name cannot be nil'
381
+ end
382
+
383
+ @name = name
384
+ end
385
+
386
+ # Custom attribute writer method with validation
387
+ # @param [Object] created_by Value to be assigned
388
+ def created_by=(created_by)
389
+ if created_by.nil?
390
+ fail ArgumentError, 'created_by cannot be nil'
391
+ end
392
+
393
+ @created_by = created_by
394
+ end
395
+
396
+ # Custom attribute writer method with validation
397
+ # @param [Object] personal Value to be assigned
398
+ def personal=(personal)
399
+ if personal.nil?
400
+ fail ArgumentError, 'personal cannot be nil'
401
+ end
402
+
403
+ @personal = personal
404
+ end
405
+
406
+ # Custom attribute writer method with validation
407
+ # @param [Object] created_at Value to be assigned
408
+ def created_at=(created_at)
409
+ if created_at.nil?
410
+ fail ArgumentError, 'created_at cannot be nil'
411
+ end
412
+
413
+ @created_at = created_at
414
+ end
415
+
416
+ # Custom attribute writer method with validation
417
+ # @param [Object] updated_at Value to be assigned
418
+ def updated_at=(updated_at)
419
+ if updated_at.nil?
420
+ fail ArgumentError, 'updated_at cannot be nil'
421
+ end
422
+
423
+ @updated_at = updated_at
424
+ end
425
+
426
+ # Custom attribute writer method with validation
427
+ # @param [Object] suspended Value to be assigned
428
+ def suspended=(suspended)
429
+ if suspended.nil?
430
+ fail ArgumentError, 'suspended cannot be nil'
431
+ end
432
+
433
+ @suspended = suspended
434
+ end
435
+
436
+ # Custom attribute writer method with validation
437
+ # @param [Object] suspended_at Value to be assigned
438
+ def suspended_at=(suspended_at)
439
+ if suspended_at.nil?
440
+ fail ArgumentError, 'suspended_at cannot be nil'
441
+ end
442
+
443
+ @suspended_at = suspended_at
444
+ end
445
+
446
+ # Custom attribute writer method with validation
447
+ # @param [Object] suspension_reason Value to be assigned
448
+ def suspension_reason=(suspension_reason)
449
+ if suspension_reason.nil?
450
+ fail ArgumentError, 'suspension_reason cannot be nil'
451
+ end
452
+
453
+ @suspension_reason = suspension_reason
454
+ end
455
+
456
+ # Custom attribute writer method with validation
457
+ # @param [Object] suspended_until Value to be assigned
458
+ def suspended_until=(suspended_until)
459
+ if suspended_until.nil?
460
+ fail ArgumentError, 'suspended_until cannot be nil'
461
+ end
462
+
463
+ @suspended_until = suspended_until
464
+ end
465
+
466
+ # Custom attribute writer method with validation
467
+ # @param [Object] suspension_cleanup_grace_period_hours Value to be assigned
468
+ def suspension_cleanup_grace_period_hours=(suspension_cleanup_grace_period_hours)
469
+ if suspension_cleanup_grace_period_hours.nil?
470
+ fail ArgumentError, 'suspension_cleanup_grace_period_hours cannot be nil'
471
+ end
472
+
473
+ @suspension_cleanup_grace_period_hours = suspension_cleanup_grace_period_hours
474
+ end
475
+
476
+ # Custom attribute writer method with validation
477
+ # @param [Object] total_cpu_quota Value to be assigned
478
+ def total_cpu_quota=(total_cpu_quota)
479
+ if total_cpu_quota.nil?
480
+ fail ArgumentError, 'total_cpu_quota cannot be nil'
481
+ end
482
+
483
+ @total_cpu_quota = total_cpu_quota
484
+ end
485
+
486
+ # Custom attribute writer method with validation
487
+ # @param [Object] total_memory_quota Value to be assigned
488
+ def total_memory_quota=(total_memory_quota)
489
+ if total_memory_quota.nil?
490
+ fail ArgumentError, 'total_memory_quota cannot be nil'
491
+ end
492
+
493
+ @total_memory_quota = total_memory_quota
494
+ end
495
+
496
+ # Custom attribute writer method with validation
497
+ # @param [Object] total_disk_quota Value to be assigned
498
+ def total_disk_quota=(total_disk_quota)
499
+ if total_disk_quota.nil?
500
+ fail ArgumentError, 'total_disk_quota cannot be nil'
501
+ end
502
+
503
+ @total_disk_quota = total_disk_quota
504
+ end
505
+
506
+ # Custom attribute writer method with validation
507
+ # @param [Object] max_cpu_per_sandbox Value to be assigned
508
+ def max_cpu_per_sandbox=(max_cpu_per_sandbox)
509
+ if max_cpu_per_sandbox.nil?
510
+ fail ArgumentError, 'max_cpu_per_sandbox cannot be nil'
511
+ end
512
+
513
+ @max_cpu_per_sandbox = max_cpu_per_sandbox
514
+ end
515
+
516
+ # Custom attribute writer method with validation
517
+ # @param [Object] max_memory_per_sandbox Value to be assigned
518
+ def max_memory_per_sandbox=(max_memory_per_sandbox)
519
+ if max_memory_per_sandbox.nil?
520
+ fail ArgumentError, 'max_memory_per_sandbox cannot be nil'
521
+ end
522
+
523
+ @max_memory_per_sandbox = max_memory_per_sandbox
524
+ end
525
+
526
+ # Custom attribute writer method with validation
527
+ # @param [Object] max_disk_per_sandbox Value to be assigned
528
+ def max_disk_per_sandbox=(max_disk_per_sandbox)
529
+ if max_disk_per_sandbox.nil?
530
+ fail ArgumentError, 'max_disk_per_sandbox cannot be nil'
531
+ end
532
+
533
+ @max_disk_per_sandbox = max_disk_per_sandbox
534
+ end
535
+
536
+ # Custom attribute writer method with validation
537
+ # @param [Object] sandbox_limited_network_egress Value to be assigned
538
+ def sandbox_limited_network_egress=(sandbox_limited_network_egress)
539
+ if sandbox_limited_network_egress.nil?
540
+ fail ArgumentError, 'sandbox_limited_network_egress cannot be nil'
541
+ end
542
+
543
+ @sandbox_limited_network_egress = sandbox_limited_network_egress
544
+ end
545
+
546
+ # Checks equality by comparing each attribute.
547
+ # @param [Object] Object to be compared
548
+ def ==(o)
549
+ return true if self.equal?(o)
550
+ self.class == o.class &&
551
+ id == o.id &&
552
+ name == o.name &&
553
+ created_by == o.created_by &&
554
+ personal == o.personal &&
555
+ created_at == o.created_at &&
556
+ updated_at == o.updated_at &&
557
+ suspended == o.suspended &&
558
+ suspended_at == o.suspended_at &&
559
+ suspension_reason == o.suspension_reason &&
560
+ suspended_until == o.suspended_until &&
561
+ suspension_cleanup_grace_period_hours == o.suspension_cleanup_grace_period_hours &&
562
+ total_cpu_quota == o.total_cpu_quota &&
563
+ total_memory_quota == o.total_memory_quota &&
564
+ total_disk_quota == o.total_disk_quota &&
565
+ max_cpu_per_sandbox == o.max_cpu_per_sandbox &&
566
+ max_memory_per_sandbox == o.max_memory_per_sandbox &&
567
+ max_disk_per_sandbox == o.max_disk_per_sandbox &&
568
+ sandbox_limited_network_egress == o.sandbox_limited_network_egress
569
+ end
570
+
571
+ # @see the `==` method
572
+ # @param [Object] Object to be compared
573
+ def eql?(o)
574
+ self == o
575
+ end
576
+
577
+ # Calculates hash code according to all attributes.
578
+ # @return [Integer] Hash code
579
+ def hash
580
+ [id, name, created_by, personal, created_at, updated_at, suspended, suspended_at, suspension_reason, suspended_until, suspension_cleanup_grace_period_hours, total_cpu_quota, total_memory_quota, total_disk_quota, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, sandbox_limited_network_egress].hash
581
+ end
582
+
583
+ # Builds the object from hash
584
+ # @param [Hash] attributes Model attributes in the form of hash
585
+ # @return [Object] Returns the model itself
586
+ def self.build_from_hash(attributes)
587
+ return nil unless attributes.is_a?(Hash)
588
+ attributes = attributes.transform_keys(&:to_sym)
589
+ transformed_hash = {}
590
+ openapi_types.each_pair do |key, type|
591
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
592
+ transformed_hash["#{key}"] = nil
593
+ elsif type =~ /\AArray<(.*)>/i
594
+ # check to ensure the input is an array given that the attribute
595
+ # is documented as an array but the input is not
596
+ if attributes[attribute_map[key]].is_a?(Array)
597
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
598
+ end
599
+ elsif !attributes[attribute_map[key]].nil?
600
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
601
+ end
602
+ end
603
+ new(transformed_hash)
604
+ end
605
+
606
+ # Deserializes the data based on type
607
+ # @param string type Data type
608
+ # @param string value Value to be deserialized
609
+ # @return [Object] Deserialized data
610
+ def self._deserialize(type, value)
611
+ case type.to_sym
612
+ when :Time
613
+ Time.parse(value)
614
+ when :Date
615
+ Date.parse(value)
616
+ when :String
617
+ value.to_s
618
+ when :Integer
619
+ value.to_i
620
+ when :Float
621
+ value.to_f
622
+ when :Boolean
623
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
624
+ true
625
+ else
626
+ false
627
+ end
628
+ when :Object
629
+ # generic object (usually a Hash), return directly
630
+ value
631
+ when /\AArray<(?<inner_type>.+)>\z/
632
+ inner_type = Regexp.last_match[:inner_type]
633
+ value.map { |v| _deserialize(inner_type, v) }
634
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
635
+ k_type = Regexp.last_match[:k_type]
636
+ v_type = Regexp.last_match[:v_type]
637
+ {}.tap do |hash|
638
+ value.each do |k, v|
639
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
640
+ end
641
+ end
642
+ else # model
643
+ # models (e.g. Pet) or oneOf
644
+ klass = DaytonaApiClient.const_get(type)
645
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
646
+ end
647
+ end
648
+
649
+ # Returns the string representation of the object
650
+ # @return [String] String presentation of the object
651
+ def to_s
652
+ to_hash.to_s
653
+ end
654
+
655
+ # to_body is an alias to to_hash (backward compatibility)
656
+ # @return [Hash] Returns the object in the form of hash
657
+ def to_body
658
+ to_hash
659
+ end
660
+
661
+ # Returns the object in the form of hash
662
+ # @return [Hash] Returns the object in the form of hash
663
+ def to_hash
664
+ hash = {}
665
+ self.class.attribute_map.each_pair do |attr, param|
666
+ value = self.send(attr)
667
+ if value.nil?
668
+ is_nullable = self.class.openapi_nullable.include?(attr)
669
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
670
+ end
671
+
672
+ hash[param] = _to_hash(value)
673
+ end
674
+ hash
675
+ end
676
+
677
+ # Outputs non-array value in the form of hash
678
+ # For object, use to_hash. Otherwise, just return the value
679
+ # @param [Object] value Any valid value
680
+ # @return [Hash] Returns the value in the form of hash
681
+ def _to_hash(value)
682
+ if value.is_a?(Array)
683
+ value.compact.map { |v| _to_hash(v) }
684
+ elsif value.is_a?(Hash)
685
+ {}.tap do |hash|
686
+ value.each { |k, v| hash[k] = _to_hash(v) }
687
+ end
688
+ elsif value.respond_to? :to_hash
689
+ value.to_hash
690
+ else
691
+ value
692
+ end
693
+ end
694
+ end
695
+ end