daytona_api_client 0.203.0 → 0.204.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/.openapi-generator/FILES +13 -0
  3. data/lib/daytona_api_client/api/admin_api.rb +3 -0
  4. data/lib/daytona_api_client/api/audit_api.rb +57 -0
  5. data/lib/daytona_api_client/api/organizations_api.rb +485 -0
  6. data/lib/daytona_api_client/api/runners_api.rb +58 -0
  7. data/lib/daytona_api_client/api/snapshots_api.rb +3 -0
  8. data/lib/daytona_api_client/api/users_api.rb +173 -0
  9. data/lib/daytona_api_client/models/audit_scenarios.rb +167 -0
  10. data/lib/daytona_api_client/models/audit_target_scenario.rb +208 -0
  11. data/lib/daytona_api_client/models/create_identity_provider.rb +269 -0
  12. data/lib/daytona_api_client/models/create_organization_region_quota.rb +16 -5
  13. data/lib/daytona_api_client/models/create_sandbox.rb +12 -2
  14. data/lib/daytona_api_client/models/create_user.rb +26 -21
  15. data/lib/daytona_api_client/models/daytona_configuration.rb +33 -1
  16. data/lib/daytona_api_client/models/identity_provider.rb +439 -0
  17. data/lib/daytona_api_client/models/oidc_id_p_config.rb +229 -0
  18. data/lib/daytona_api_client/models/oidc_id_p_config_response.rb +202 -0
  19. data/lib/daytona_api_client/models/organization.rb +28 -1
  20. data/lib/daytona_api_client/models/organization_sso_enabled.rb +165 -0
  21. data/lib/daytona_api_client/models/pending_sso_link.rb +283 -0
  22. data/lib/daytona_api_client/models/region_quota.rb +18 -5
  23. data/lib/daytona_api_client/models/sandbox.rb +11 -1
  24. data/lib/daytona_api_client/models/sandbox_list_item.rb +48 -1
  25. data/lib/daytona_api_client/models/snapshot_dto.rb +14 -1
  26. data/lib/daytona_api_client/models/sso_oidc_config.rb +192 -0
  27. data/lib/daytona_api_client/models/test_identity_provider_connection.rb +165 -0
  28. data/lib/daytona_api_client/models/test_identity_provider_connection_response.rb +185 -0
  29. data/lib/daytona_api_client/models/update_identity_provider.rb +212 -0
  30. data/lib/daytona_api_client/models/update_oidc_id_p_config.rb +178 -0
  31. data/lib/daytona_api_client/models/update_organization_region_quota.rb +16 -5
  32. data/lib/daytona_api_client/models/user.rb +28 -1
  33. data/lib/daytona_api_client/version.rb +1 -1
  34. data/lib/daytona_api_client.rb +13 -0
  35. metadata +14 -1
@@ -0,0 +1,283 @@
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.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DaytonaApiClient
17
+ class PendingSsoLink < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ # Display name of the identity provider requesting to be linked
21
+ attr_accessor :idp_name
22
+
23
+ # Organization that configured the identity provider
24
+ attr_accessor :organization_id
25
+
26
+ # Email asserted by the identity provider
27
+ attr_accessor :provider_email
28
+
29
+ attr_accessor :created_at
30
+
31
+ attr_accessor :expires_at
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+ :'id' => :'id',
37
+ :'idp_name' => :'idpName',
38
+ :'organization_id' => :'organizationId',
39
+ :'provider_email' => :'providerEmail',
40
+ :'created_at' => :'createdAt',
41
+ :'expires_at' => :'expiresAt'
42
+ }
43
+ end
44
+
45
+ # Returns attribute mapping this model knows about
46
+ def self.acceptable_attribute_map
47
+ attribute_map
48
+ end
49
+
50
+ # Returns all the JSON keys this model knows about
51
+ def self.acceptable_attributes
52
+ acceptable_attribute_map.values
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'id' => :'String',
59
+ :'idp_name' => :'String',
60
+ :'organization_id' => :'String',
61
+ :'provider_email' => :'String',
62
+ :'created_at' => :'String',
63
+ :'expires_at' => :'String'
64
+ }
65
+ end
66
+
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ :'provider_email',
71
+ ])
72
+ end
73
+
74
+ # Initializes the object
75
+ # @param [Hash] attributes Model attributes in the form of hash
76
+ def initialize(attributes = {})
77
+ if (!attributes.is_a?(Hash))
78
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::PendingSsoLink` initialize method"
79
+ end
80
+
81
+ # check to see if the attribute exists and convert string to symbol for hash key
82
+ acceptable_attribute_map = self.class.acceptable_attribute_map
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!acceptable_attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::PendingSsoLink`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
89
+
90
+ if attributes.key?(:'id')
91
+ self.id = attributes[:'id']
92
+ else
93
+ self.id = nil
94
+ end
95
+
96
+ if attributes.key?(:'idp_name')
97
+ self.idp_name = attributes[:'idp_name']
98
+ else
99
+ self.idp_name = nil
100
+ end
101
+
102
+ if attributes.key?(:'organization_id')
103
+ self.organization_id = attributes[:'organization_id']
104
+ else
105
+ self.organization_id = nil
106
+ end
107
+
108
+ if attributes.key?(:'provider_email')
109
+ self.provider_email = attributes[:'provider_email']
110
+ else
111
+ self.provider_email = nil
112
+ end
113
+
114
+ if attributes.key?(:'created_at')
115
+ self.created_at = attributes[:'created_at']
116
+ else
117
+ self.created_at = nil
118
+ end
119
+
120
+ if attributes.key?(:'expires_at')
121
+ self.expires_at = attributes[:'expires_at']
122
+ else
123
+ self.expires_at = nil
124
+ end
125
+ end
126
+
127
+ # Show invalid properties with the reasons. Usually used together with valid?
128
+ # @return Array for valid properties with the reasons
129
+ def list_invalid_properties
130
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
131
+ invalid_properties = Array.new
132
+ if @id.nil?
133
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
134
+ end
135
+
136
+ if @idp_name.nil?
137
+ invalid_properties.push('invalid value for "idp_name", idp_name cannot be nil.')
138
+ end
139
+
140
+ if @organization_id.nil?
141
+ invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
142
+ end
143
+
144
+ if @created_at.nil?
145
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
146
+ end
147
+
148
+ if @expires_at.nil?
149
+ invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.')
150
+ end
151
+
152
+ invalid_properties
153
+ end
154
+
155
+ # Check to see if the all the properties in the model are valid
156
+ # @return true if the model is valid
157
+ def valid?
158
+ warn '[DEPRECATED] the `valid?` method is obsolete'
159
+ return false if @id.nil?
160
+ return false if @idp_name.nil?
161
+ return false if @organization_id.nil?
162
+ return false if @created_at.nil?
163
+ return false if @expires_at.nil?
164
+ true
165
+ end
166
+
167
+ # Custom attribute writer method with validation
168
+ # @param [Object] id Value to be assigned
169
+ def id=(id)
170
+ if id.nil?
171
+ fail ArgumentError, 'id cannot be nil'
172
+ end
173
+
174
+ @id = id
175
+ end
176
+
177
+ # Custom attribute writer method with validation
178
+ # @param [Object] idp_name Value to be assigned
179
+ def idp_name=(idp_name)
180
+ if idp_name.nil?
181
+ fail ArgumentError, 'idp_name cannot be nil'
182
+ end
183
+
184
+ @idp_name = idp_name
185
+ end
186
+
187
+ # Custom attribute writer method with validation
188
+ # @param [Object] organization_id Value to be assigned
189
+ def organization_id=(organization_id)
190
+ if organization_id.nil?
191
+ fail ArgumentError, 'organization_id cannot be nil'
192
+ end
193
+
194
+ @organization_id = organization_id
195
+ end
196
+
197
+ # Custom attribute writer method with validation
198
+ # @param [Object] created_at Value to be assigned
199
+ def created_at=(created_at)
200
+ if created_at.nil?
201
+ fail ArgumentError, 'created_at cannot be nil'
202
+ end
203
+
204
+ @created_at = created_at
205
+ end
206
+
207
+ # Custom attribute writer method with validation
208
+ # @param [Object] expires_at Value to be assigned
209
+ def expires_at=(expires_at)
210
+ if expires_at.nil?
211
+ fail ArgumentError, 'expires_at cannot be nil'
212
+ end
213
+
214
+ @expires_at = expires_at
215
+ end
216
+
217
+ # Checks equality by comparing each attribute.
218
+ # @param [Object] Object to be compared
219
+ def ==(o)
220
+ return true if self.equal?(o)
221
+ self.class == o.class &&
222
+ id == o.id &&
223
+ idp_name == o.idp_name &&
224
+ organization_id == o.organization_id &&
225
+ provider_email == o.provider_email &&
226
+ created_at == o.created_at &&
227
+ expires_at == o.expires_at
228
+ end
229
+
230
+ # @see the `==` method
231
+ # @param [Object] Object to be compared
232
+ def eql?(o)
233
+ self == o
234
+ end
235
+
236
+ # Calculates hash code according to all attributes.
237
+ # @return [Integer] Hash code
238
+ def hash
239
+ [id, idp_name, organization_id, provider_email, created_at, expires_at].hash
240
+ end
241
+
242
+ # Builds the object from hash
243
+ # @param [Hash] attributes Model attributes in the form of hash
244
+ # @return [Object] Returns the model itself
245
+ def self.build_from_hash(attributes)
246
+ return nil unless attributes.is_a?(Hash)
247
+ attributes = attributes.transform_keys(&:to_sym)
248
+ transformed_hash = {}
249
+ openapi_types.each_pair do |key, type|
250
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
251
+ transformed_hash["#{key}"] = nil
252
+ elsif type =~ /\AArray<(.*)>/i
253
+ # check to ensure the input is an array given that the attribute
254
+ # is documented as an array but the input is not
255
+ if attributes[attribute_map[key]].is_a?(Array)
256
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
257
+ end
258
+ elsif !attributes[attribute_map[key]].nil?
259
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
260
+ end
261
+ end
262
+ new(transformed_hash)
263
+ end
264
+
265
+ # Returns the object in the form of hash
266
+ # @return [Hash] Returns the object in the form of hash
267
+ def to_hash
268
+ hash = {}
269
+ self.class.attribute_map.each_pair do |attr, param|
270
+ value = self.send(attr)
271
+ if value.nil?
272
+ is_nullable = self.class.openapi_nullable.include?(attr)
273
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
274
+ end
275
+
276
+ hash[param] = _to_hash(value)
277
+ end
278
+ hash
279
+ end
280
+
281
+ end
282
+
283
+ end
@@ -48,6 +48,9 @@ module DaytonaApiClient
48
48
  # Disk maximum per requested GPU unit for GPU sandboxes.
49
49
  attr_accessor :max_disk_per_gpu
50
50
 
51
+ # Maximum sandbox lifespan in minutes, measured from sandbox creation to its auto-destroy deadline. If null or 0, lifespan is unrestricted. When set, sandboxes created without a TTL default to this lifespan and TTL cannot be disabled.
52
+ attr_accessor :max_sandbox_lifespan
53
+
51
54
  class EnumAttributeValidator
52
55
  attr_reader :datatype
53
56
  attr_reader :allowable_values
@@ -87,7 +90,8 @@ module DaytonaApiClient
87
90
  :'max_disk_per_non_ephemeral_sandbox' => :'maxDiskPerNonEphemeralSandbox',
88
91
  :'max_cpu_per_gpu' => :'maxCpuPerGpu',
89
92
  :'max_memory_per_gpu' => :'maxMemoryPerGpu',
90
- :'max_disk_per_gpu' => :'maxDiskPerGpu'
93
+ :'max_disk_per_gpu' => :'maxDiskPerGpu',
94
+ :'max_sandbox_lifespan' => :'maxSandboxLifespan'
91
95
  }
92
96
  end
93
97
 
@@ -118,7 +122,8 @@ module DaytonaApiClient
118
122
  :'max_disk_per_non_ephemeral_sandbox' => :'Float',
119
123
  :'max_cpu_per_gpu' => :'Float',
120
124
  :'max_memory_per_gpu' => :'Float',
121
- :'max_disk_per_gpu' => :'Float'
125
+ :'max_disk_per_gpu' => :'Float',
126
+ :'max_sandbox_lifespan' => :'Float'
122
127
  }
123
128
  end
124
129
 
@@ -131,7 +136,8 @@ module DaytonaApiClient
131
136
  :'max_disk_per_non_ephemeral_sandbox',
132
137
  :'max_cpu_per_gpu',
133
138
  :'max_memory_per_gpu',
134
- :'max_disk_per_gpu'
139
+ :'max_disk_per_gpu',
140
+ :'max_sandbox_lifespan'
135
141
  ])
136
142
  end
137
143
 
@@ -240,6 +246,12 @@ module DaytonaApiClient
240
246
  else
241
247
  self.max_disk_per_gpu = nil
242
248
  end
249
+
250
+ if attributes.key?(:'max_sandbox_lifespan')
251
+ self.max_sandbox_lifespan = attributes[:'max_sandbox_lifespan']
252
+ else
253
+ self.max_sandbox_lifespan = nil
254
+ end
243
255
  end
244
256
 
245
257
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -381,7 +393,8 @@ module DaytonaApiClient
381
393
  max_disk_per_non_ephemeral_sandbox == o.max_disk_per_non_ephemeral_sandbox &&
382
394
  max_cpu_per_gpu == o.max_cpu_per_gpu &&
383
395
  max_memory_per_gpu == o.max_memory_per_gpu &&
384
- max_disk_per_gpu == o.max_disk_per_gpu
396
+ max_disk_per_gpu == o.max_disk_per_gpu &&
397
+ max_sandbox_lifespan == o.max_sandbox_lifespan
385
398
  end
386
399
 
387
400
  # @see the `==` method
@@ -393,7 +406,7 @@ module DaytonaApiClient
393
406
  # Calculates hash code according to all attributes.
394
407
  # @return [Integer] Hash code
395
408
  def hash
396
- [organization_id, region_id, sandbox_class, total_cpu_quota, total_memory_quota, total_disk_quota, total_gpu_quota, allowed_gpu_types, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, max_disk_per_non_ephemeral_sandbox, max_cpu_per_gpu, max_memory_per_gpu, max_disk_per_gpu].hash
409
+ [organization_id, region_id, sandbox_class, total_cpu_quota, total_memory_quota, total_disk_quota, total_gpu_quota, allowed_gpu_types, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, max_disk_per_non_ephemeral_sandbox, max_cpu_per_gpu, max_memory_per_gpu, max_disk_per_gpu, max_sandbox_lifespan].hash
397
410
  end
398
411
 
399
412
  # Builds the object from hash
@@ -48,6 +48,9 @@ module DaytonaApiClient
48
48
  # Comma-separated list of allowed domains for the sandbox
49
49
  attr_accessor :domain_allow_list
50
50
 
51
+ # Outbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
52
+ attr_accessor :outbound_proxy_url
53
+
51
54
  # The target environment for the sandbox
52
55
  attr_accessor :target
53
56
 
@@ -168,6 +171,7 @@ module DaytonaApiClient
168
171
  :'network_block_all' => :'networkBlockAll',
169
172
  :'network_allow_list' => :'networkAllowList',
170
173
  :'domain_allow_list' => :'domainAllowList',
174
+ :'outbound_proxy_url' => :'outboundProxyUrl',
171
175
  :'target' => :'target',
172
176
  :'cpu' => :'cpu',
173
177
  :'gpu' => :'gpu',
@@ -223,6 +227,7 @@ module DaytonaApiClient
223
227
  :'network_block_all' => :'Boolean',
224
228
  :'network_allow_list' => :'String',
225
229
  :'domain_allow_list' => :'String',
230
+ :'outbound_proxy_url' => :'String',
226
231
  :'target' => :'String',
227
232
  :'cpu' => :'Float',
228
233
  :'gpu' => :'Float',
@@ -340,6 +345,10 @@ module DaytonaApiClient
340
345
  self.domain_allow_list = attributes[:'domain_allow_list']
341
346
  end
342
347
 
348
+ if attributes.key?(:'outbound_proxy_url')
349
+ self.outbound_proxy_url = attributes[:'outbound_proxy_url']
350
+ end
351
+
343
352
  if attributes.key?(:'target')
344
353
  self.target = attributes[:'target']
345
354
  else
@@ -732,6 +741,7 @@ module DaytonaApiClient
732
741
  network_block_all == o.network_block_all &&
733
742
  network_allow_list == o.network_allow_list &&
734
743
  domain_allow_list == o.domain_allow_list &&
744
+ outbound_proxy_url == o.outbound_proxy_url &&
735
745
  target == o.target &&
736
746
  cpu == o.cpu &&
737
747
  gpu == o.gpu &&
@@ -771,7 +781,7 @@ module DaytonaApiClient
771
781
  # Calculates hash code according to all attributes.
772
782
  # @return [Integer] Hash code
773
783
  def hash
774
- [id, organization_id, name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, target, cpu, gpu, gpu_type, memory, disk, state, desired_state, error_reason, recoverable, warm_pool_id, backup_state, backup_created_at, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, volumes, build_info, created_at, updated_at, last_activity_at, sandbox_class, daemon_version, runner_id, linked_sandbox_id, toolbox_proxy_url].hash
784
+ [id, organization_id, name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, outbound_proxy_url, target, cpu, gpu, gpu_type, memory, disk, state, desired_state, error_reason, recoverable, warm_pool_id, backup_state, backup_created_at, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, volumes, build_info, created_at, updated_at, last_activity_at, sandbox_class, daemon_version, runner_id, linked_sandbox_id, toolbox_proxy_url].hash
775
785
  end
776
786
 
777
787
  # Builds the object from hash
@@ -54,6 +54,15 @@ module DaytonaApiClient
54
54
  # Whether the sandbox http preview is public
55
55
  attr_accessor :public
56
56
 
57
+ # Whether to block all network access for the sandbox
58
+ attr_accessor :network_block_all
59
+
60
+ # Comma-separated list of allowed CIDR network addresses for the sandbox
61
+ attr_accessor :network_allow_list
62
+
63
+ # Comma-separated list of allowed domains for the sandbox
64
+ attr_accessor :domain_allow_list
65
+
57
66
  # The CPU quota for the sandbox
58
67
  attr_accessor :cpu
59
68
 
@@ -146,6 +155,9 @@ module DaytonaApiClient
146
155
  :'error_reason' => :'errorReason',
147
156
  :'recoverable' => :'recoverable',
148
157
  :'public' => :'public',
158
+ :'network_block_all' => :'networkBlockAll',
159
+ :'network_allow_list' => :'networkAllowList',
160
+ :'domain_allow_list' => :'domainAllowList',
149
161
  :'cpu' => :'cpu',
150
162
  :'gpu' => :'gpu',
151
163
  :'gpu_type' => :'gpuType',
@@ -193,6 +205,9 @@ module DaytonaApiClient
193
205
  :'error_reason' => :'String',
194
206
  :'recoverable' => :'Boolean',
195
207
  :'public' => :'Boolean',
208
+ :'network_block_all' => :'Boolean',
209
+ :'network_allow_list' => :'String',
210
+ :'domain_allow_list' => :'String',
196
211
  :'cpu' => :'Float',
197
212
  :'gpu' => :'Float',
198
213
  :'gpu_type' => :'GpuType',
@@ -300,6 +315,20 @@ module DaytonaApiClient
300
315
  self.public = nil
301
316
  end
302
317
 
318
+ if attributes.key?(:'network_block_all')
319
+ self.network_block_all = attributes[:'network_block_all']
320
+ else
321
+ self.network_block_all = nil
322
+ end
323
+
324
+ if attributes.key?(:'network_allow_list')
325
+ self.network_allow_list = attributes[:'network_allow_list']
326
+ end
327
+
328
+ if attributes.key?(:'domain_allow_list')
329
+ self.domain_allow_list = attributes[:'domain_allow_list']
330
+ end
331
+
303
332
  if attributes.key?(:'cpu')
304
333
  self.cpu = attributes[:'cpu']
305
334
  else
@@ -416,6 +445,10 @@ module DaytonaApiClient
416
445
  invalid_properties.push('invalid value for "public", public cannot be nil.')
417
446
  end
418
447
 
448
+ if @network_block_all.nil?
449
+ invalid_properties.push('invalid value for "network_block_all", network_block_all cannot be nil.')
450
+ end
451
+
419
452
  if @cpu.nil?
420
453
  invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
421
454
  end
@@ -453,6 +486,7 @@ module DaytonaApiClient
453
486
  return false if @target.nil?
454
487
  return false if @user.nil?
455
488
  return false if @public.nil?
489
+ return false if @network_block_all.nil?
456
490
  return false if @cpu.nil?
457
491
  return false if @gpu.nil?
458
492
  return false if @memory.nil?
@@ -524,6 +558,16 @@ module DaytonaApiClient
524
558
  @public = public
525
559
  end
526
560
 
561
+ # Custom attribute writer method with validation
562
+ # @param [Object] network_block_all Value to be assigned
563
+ def network_block_all=(network_block_all)
564
+ if network_block_all.nil?
565
+ fail ArgumentError, 'network_block_all cannot be nil'
566
+ end
567
+
568
+ @network_block_all = network_block_all
569
+ end
570
+
527
571
  # Custom attribute writer method with validation
528
572
  # @param [Object] cpu Value to be assigned
529
573
  def cpu=(cpu)
@@ -612,6 +656,9 @@ module DaytonaApiClient
612
656
  error_reason == o.error_reason &&
613
657
  recoverable == o.recoverable &&
614
658
  public == o.public &&
659
+ network_block_all == o.network_block_all &&
660
+ network_allow_list == o.network_allow_list &&
661
+ domain_allow_list == o.domain_allow_list &&
615
662
  cpu == o.cpu &&
616
663
  gpu == o.gpu &&
617
664
  gpu_type == o.gpu_type &&
@@ -641,7 +688,7 @@ module DaytonaApiClient
641
688
  # Calculates hash code according to all attributes.
642
689
  # @return [Integer] Hash code
643
690
  def hash
644
- [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_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, created_at, updated_at, last_activity_at, daemon_version, warm_pool_id, toolbox_proxy_url].hash
691
+ [id, organization_id, name, target, runner_id, sandbox_class, state, desired_state, snapshot, user, error_reason, recoverable, public, network_block_all, network_allow_list, domain_allow_list, cpu, gpu, gpu_type, memory, disk, labels, backup_state, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, created_at, updated_at, last_activity_at, daemon_version, warm_pool_id, toolbox_proxy_url].hash
645
692
  end
646
693
 
647
694
  # Builds the object from hash
@@ -62,6 +62,9 @@ module DaytonaApiClient
62
62
  # The snapshot reference
63
63
  attr_accessor :ref
64
64
 
65
+ # The ID of the sandbox the snapshot was created from
66
+ attr_accessor :source_sandbox_id
67
+
65
68
  # The sandbox class of the snapshot
66
69
  attr_accessor :sandbox_class
67
70
 
@@ -111,6 +114,7 @@ module DaytonaApiClient
111
114
  :'region_ids' => :'regionIds',
112
115
  :'initial_runner_id' => :'initialRunnerId',
113
116
  :'ref' => :'ref',
117
+ :'source_sandbox_id' => :'sourceSandboxId',
114
118
  :'sandbox_class' => :'sandboxClass'
115
119
  }
116
120
  end
@@ -149,6 +153,7 @@ module DaytonaApiClient
149
153
  :'region_ids' => :'Array<String>',
150
154
  :'initial_runner_id' => :'String',
151
155
  :'ref' => :'String',
156
+ :'source_sandbox_id' => :'String',
152
157
  :'sandbox_class' => :'String'
153
158
  }
154
159
  end
@@ -160,6 +165,7 @@ module DaytonaApiClient
160
165
  :'entrypoint',
161
166
  :'error_reason',
162
167
  :'last_used_at',
168
+ :'source_sandbox_id',
163
169
  ])
164
170
  end
165
171
 
@@ -295,6 +301,12 @@ module DaytonaApiClient
295
301
  self.ref = attributes[:'ref']
296
302
  end
297
303
 
304
+ if attributes.key?(:'source_sandbox_id')
305
+ self.source_sandbox_id = attributes[:'source_sandbox_id']
306
+ else
307
+ self.source_sandbox_id = nil
308
+ end
309
+
298
310
  if attributes.key?(:'sandbox_class')
299
311
  self.sandbox_class = attributes[:'sandbox_class']
300
312
  end
@@ -503,6 +515,7 @@ module DaytonaApiClient
503
515
  region_ids == o.region_ids &&
504
516
  initial_runner_id == o.initial_runner_id &&
505
517
  ref == o.ref &&
518
+ source_sandbox_id == o.source_sandbox_id &&
506
519
  sandbox_class == o.sandbox_class
507
520
  end
508
521
 
@@ -515,7 +528,7 @@ module DaytonaApiClient
515
528
  # Calculates hash code according to all attributes.
516
529
  # @return [Integer] Hash code
517
530
  def hash
518
- [id, organization_id, general, name, image_name, state, size, entrypoint, cpu, gpu, gpu_type, mem, disk, error_reason, created_at, updated_at, last_used_at, build_info, region_ids, initial_runner_id, ref, sandbox_class].hash
531
+ [id, organization_id, general, name, image_name, state, size, entrypoint, cpu, gpu, gpu_type, mem, disk, error_reason, created_at, updated_at, last_used_at, build_info, region_ids, initial_runner_id, ref, source_sandbox_id, sandbox_class].hash
519
532
  end
520
533
 
521
534
  # Builds the object from hash