daytona_api_client 0.218.0 → 0.220.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 431cf5b1c229e12259051c68f9c04c617e30b0848a40e0bd71e1f2216aae6956
4
- data.tar.gz: d704dd658ad2971375f88e8de946fd943b2374d295db7a83d78281d28d1f022d
3
+ metadata.gz: eb49de475b4edcf3952f8bdb187af091e9c9f386d6e7efc9d187014382a745b9
4
+ data.tar.gz: e41c10733170f1a85795a8335caa994bb4393a855cddcf2f26e3295b4cd901d4
5
5
  SHA512:
6
- metadata.gz: 8d399f588f33295b250d941ecaede3d2be3cba5611d9359a0d2dc52eee9e34fa2b6a4e6be656e1ed494aed9370bf3f2b39e6d8d25d4d97eb4733405d20e19939
7
- data.tar.gz: b196167d138f850c2c1cfc6117f90102bc5d1c6f76dc366ca99e1e7f71fba784f01135dfa0dbc672f7ec37c7ece2e431506eed6bca371138b072f8d15eefc4f3
6
+ metadata.gz: 1918838a80a2c449d9b7fe9a79e1511858d43b9aadf88d37ffdc607cee20e2767656f55d26e2d98a7d87d1193ce2eb0fab3a9f2decd6805a4f090565c46396ce
7
+ data.tar.gz: 5f892354bfdc3f89e933147026383fd5fae9010a2690b8b68162c1c55f6bdec69ef2cb5b3c6d3dc1876c19a2ce597fe2fbf72c18b4b7602ade6856dadbfaec18
@@ -35,6 +35,7 @@ lib/daytona_api_client/models/audit_scenarios.rb
35
35
  lib/daytona_api_client/models/audit_target_scenario.rb
36
36
  lib/daytona_api_client/models/available_sandbox_class.rb
37
37
  lib/daytona_api_client/models/build_info.rb
38
+ lib/daytona_api_client/models/cli_oidc_config.rb
38
39
  lib/daytona_api_client/models/create_api_key.rb
39
40
  lib/daytona_api_client/models/create_build_info.rb
40
41
  lib/daytona_api_client/models/create_docker_registry.rb
@@ -56,6 +57,7 @@ lib/daytona_api_client/models/create_volume.rb
56
57
  lib/daytona_api_client/models/create_warm_pool.rb
57
58
  lib/daytona_api_client/models/date_filter.rb
58
59
  lib/daytona_api_client/models/daytona_configuration.rb
60
+ lib/daytona_api_client/models/directory_sync_status.rb
59
61
  lib/daytona_api_client/models/docker_registry.rb
60
62
  lib/daytona_api_client/models/fork_sandbox.rb
61
63
  lib/daytona_api_client/models/generate_workos_admin_portal_link.rb
@@ -148,6 +150,7 @@ lib/daytona_api_client/models/update_identity_provider.rb
148
150
  lib/daytona_api_client/models/update_job_status.rb
149
151
  lib/daytona_api_client/models/update_last_activity.rb
150
152
  lib/daytona_api_client/models/update_oidc_id_p_config.rb
153
+ lib/daytona_api_client/models/update_organization_default_queue_timeout.rb
151
154
  lib/daytona_api_client/models/update_organization_default_region.rb
152
155
  lib/daytona_api_client/models/update_organization_invitation.rb
153
156
  lib/daytona_api_client/models/update_organization_member_access.rb
@@ -2627,6 +2627,76 @@ module DaytonaApiClient
2627
2627
  return data, status_code, headers
2628
2628
  end
2629
2629
 
2630
+ # Set organization default queue timeout
2631
+ # @param organization_id [String] Organization ID
2632
+ # @param update_organization_default_queue_timeout [UpdateOrganizationDefaultQueueTimeout]
2633
+ # @param [Hash] opts the optional parameters
2634
+ # @return [nil]
2635
+ def update_organization_default_queue_timeout(organization_id, update_organization_default_queue_timeout, opts = {})
2636
+ update_organization_default_queue_timeout_with_http_info(organization_id, update_organization_default_queue_timeout, opts)
2637
+ nil
2638
+ end
2639
+
2640
+ # Set organization default queue timeout
2641
+ # @param organization_id [String] Organization ID
2642
+ # @param update_organization_default_queue_timeout [UpdateOrganizationDefaultQueueTimeout]
2643
+ # @param [Hash] opts the optional parameters
2644
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
2645
+ def update_organization_default_queue_timeout_with_http_info(organization_id, update_organization_default_queue_timeout, opts = {})
2646
+ if @api_client.config.debugging
2647
+ @api_client.config.logger.debug 'Calling API: OrganizationsApi.update_organization_default_queue_timeout ...'
2648
+ end
2649
+ # verify the required parameter 'organization_id' is set
2650
+ if @api_client.config.client_side_validation && organization_id.nil?
2651
+ fail ArgumentError, "Missing the required parameter 'organization_id' when calling OrganizationsApi.update_organization_default_queue_timeout"
2652
+ end
2653
+ # verify the required parameter 'update_organization_default_queue_timeout' is set
2654
+ if @api_client.config.client_side_validation && update_organization_default_queue_timeout.nil?
2655
+ fail ArgumentError, "Missing the required parameter 'update_organization_default_queue_timeout' when calling OrganizationsApi.update_organization_default_queue_timeout"
2656
+ end
2657
+ # resource path
2658
+ local_var_path = '/organizations/{organizationId}/default-queue-timeout'.sub('{' + 'organizationId' + '}', CGI.escape(organization_id.to_s))
2659
+
2660
+ # query parameters
2661
+ query_params = opts[:query_params] || {}
2662
+
2663
+ # header parameters
2664
+ header_params = opts[:header_params] || {}
2665
+ # HTTP header 'Content-Type'
2666
+ content_type = @api_client.select_header_content_type(['application/json'])
2667
+ if !content_type.nil?
2668
+ header_params['Content-Type'] = content_type
2669
+ end
2670
+
2671
+ # form parameters
2672
+ form_params = opts[:form_params] || {}
2673
+
2674
+ # http body (model)
2675
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_organization_default_queue_timeout)
2676
+
2677
+ # return_type
2678
+ return_type = opts[:debug_return_type]
2679
+
2680
+ # auth_names
2681
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
2682
+
2683
+ new_options = opts.merge(
2684
+ :operation => :"OrganizationsApi.update_organization_default_queue_timeout",
2685
+ :header_params => header_params,
2686
+ :query_params => query_params,
2687
+ :form_params => form_params,
2688
+ :body => post_body,
2689
+ :auth_names => auth_names,
2690
+ :return_type => return_type
2691
+ )
2692
+
2693
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
2694
+ if @api_client.config.debugging
2695
+ @api_client.config.logger.debug "API called: OrganizationsApi#update_organization_default_queue_timeout\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2696
+ end
2697
+ return data, status_code, headers
2698
+ end
2699
+
2630
2700
  # Update organization identity provider
2631
2701
  # @param organization_id [String] Organization ID
2632
2702
  # @param id [String] Identity provider ID
@@ -903,7 +903,7 @@ module DaytonaApiClient
903
903
  end
904
904
 
905
905
  # Get sandbox details
906
- # Sandboxes destroyed by spot preemption remain retrievable for 24 hours so `spotEvictedAt` can be read.
906
+ # Sandboxes destroyed by spot preemption remain retrievable for 24 hours so `spotEvictedAt` can be read. Sandboxes destroyed by queue timeout remain retrievable for 24 hours so `queueTimedOutAt` can be read.
907
907
  # @param sandbox_id_or_name [String] ID or name of the sandbox
908
908
  # @param [Hash] opts the optional parameters
909
909
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
@@ -915,7 +915,7 @@ module DaytonaApiClient
915
915
  end
916
916
 
917
917
  # Get sandbox details
918
- # Sandboxes destroyed by spot preemption remain retrievable for 24 hours so &#x60;spotEvictedAt&#x60; can be read.
918
+ # Sandboxes destroyed by spot preemption remain retrievable for 24 hours so &#x60;spotEvictedAt&#x60; can be read. Sandboxes destroyed by queue timeout remain retrievable for 24 hours so &#x60;queueTimedOutAt&#x60; can be read.
919
919
  # @param sandbox_id_or_name [String] ID or name of the sandbox
920
920
  # @param [Hash] opts the optional parameters
921
921
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
@@ -0,0 +1,192 @@
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 CliOidcConfig < ApiModelBase
18
+ # WorkOS issuer of the Daytona CLI application
19
+ attr_accessor :issuer
20
+
21
+ # WorkOS client ID of the Daytona CLI application
22
+ attr_accessor :client_id
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'issuer' => :'issuer',
28
+ :'client_id' => :'clientId'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'issuer' => :'String',
46
+ :'client_id' => :'String'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::CliOidcConfig` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::CliOidcConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'issuer')
73
+ self.issuer = attributes[:'issuer']
74
+ else
75
+ self.issuer = nil
76
+ end
77
+
78
+ if attributes.key?(:'client_id')
79
+ self.client_id = attributes[:'client_id']
80
+ else
81
+ self.client_id = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @issuer.nil?
91
+ invalid_properties.push('invalid value for "issuer", issuer cannot be nil.')
92
+ end
93
+
94
+ if @client_id.nil?
95
+ invalid_properties.push('invalid value for "client_id", client_id cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @issuer.nil?
106
+ return false if @client_id.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] issuer Value to be assigned
112
+ def issuer=(issuer)
113
+ if issuer.nil?
114
+ fail ArgumentError, 'issuer cannot be nil'
115
+ end
116
+
117
+ @issuer = issuer
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] client_id Value to be assigned
122
+ def client_id=(client_id)
123
+ if client_id.nil?
124
+ fail ArgumentError, 'client_id cannot be nil'
125
+ end
126
+
127
+ @client_id = client_id
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ issuer == o.issuer &&
136
+ client_id == o.client_id
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [issuer, client_id].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ end
191
+
192
+ end
@@ -36,6 +36,9 @@ module DaytonaApiClient
36
36
  # Whether to block all network access for the sandbox
37
37
  attr_accessor :network_block_all
38
38
 
39
+ # Expose KVM (/dev/kvm) inside the sandbox via nested virtualization. linux-vm snapshots only. Requires the sandbox_kvm feature for the organization.
40
+ attr_accessor :kvm
41
+
39
42
  # Comma-separated list of allowed CIDR network addresses for the sandbox
40
43
  attr_accessor :network_allow_list
41
44
 
@@ -84,6 +87,9 @@ module DaytonaApiClient
84
87
  # Maximum time to live in minutes, counted as wall-clock time since creation regardless of sandbox state (0 means disabled). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived. Subject to the maximum sandbox lifespan configured for the organization region and sandbox class, in which case it also defaults to that maximum and cannot be disabled.
85
88
  attr_accessor :ttl_minutes
86
89
 
90
+ # Minutes to wait for runner assignment before cancelling sandbox creation. Applies only while the sandbox is unassigned in pending_build or pulling_snapshot. Only honored when default queue timeout is enabled for the organization. Omit to use the organization default; null/omit with no organization default leaves the wait unlimited. Must be a positive integer.
91
+ attr_accessor :queue_timeout
92
+
87
93
  # Array of volumes to attach to the sandbox
88
94
  attr_accessor :volumes
89
95
 
@@ -96,9 +102,6 @@ module DaytonaApiClient
96
102
  # Secrets to mount in this sandbox. Each entry maps an env var name to a vault secret name.
97
103
  attr_accessor :secrets
98
104
 
99
- # Expose KVM (/dev/kvm) inside the sandbox via nested virtualization. linux-vm snapshots only. Requires the sandbox_kvm feature for the organization.
100
- attr_accessor :kvm
101
-
102
105
  # Attribute mapping from ruby-style variable name to JSON key.
103
106
  def self.attribute_map
104
107
  {
@@ -109,6 +112,7 @@ module DaytonaApiClient
109
112
  :'labels' => :'labels',
110
113
  :'public' => :'public',
111
114
  :'network_block_all' => :'networkBlockAll',
115
+ :'kvm' => :'kvm',
112
116
  :'network_allow_list' => :'networkAllowList',
113
117
  :'domain_allow_list' => :'domainAllowList',
114
118
  :'outbound_proxy_url' => :'outboundProxyUrl',
@@ -125,11 +129,11 @@ module DaytonaApiClient
125
129
  :'auto_archive_interval' => :'autoArchiveInterval',
126
130
  :'auto_delete_interval' => :'autoDeleteInterval',
127
131
  :'ttl_minutes' => :'ttlMinutes',
132
+ :'queue_timeout' => :'queueTimeout',
128
133
  :'volumes' => :'volumes',
129
134
  :'build_info' => :'buildInfo',
130
135
  :'linked_sandbox' => :'linkedSandbox',
131
- :'secrets' => :'secrets',
132
- :'kvm' => :'kvm'
136
+ :'secrets' => :'secrets'
133
137
  }
134
138
  end
135
139
 
@@ -153,6 +157,7 @@ module DaytonaApiClient
153
157
  :'labels' => :'Hash<String, String>',
154
158
  :'public' => :'Boolean',
155
159
  :'network_block_all' => :'Boolean',
160
+ :'kvm' => :'Boolean',
156
161
  :'network_allow_list' => :'String',
157
162
  :'domain_allow_list' => :'String',
158
163
  :'outbound_proxy_url' => :'String',
@@ -169,11 +174,11 @@ module DaytonaApiClient
169
174
  :'auto_archive_interval' => :'Integer',
170
175
  :'auto_delete_interval' => :'Integer',
171
176
  :'ttl_minutes' => :'Integer',
177
+ :'queue_timeout' => :'Integer',
172
178
  :'volumes' => :'Array<SandboxVolume>',
173
179
  :'build_info' => :'CreateBuildInfo',
174
180
  :'linked_sandbox' => :'String',
175
- :'secrets' => :'Array<Hash<String, String>>',
176
- :'kvm' => :'Boolean'
181
+ :'secrets' => :'Array<Hash<String, String>>'
177
182
  }
178
183
  end
179
184
 
@@ -231,6 +236,12 @@ module DaytonaApiClient
231
236
  self.network_block_all = attributes[:'network_block_all']
232
237
  end
233
238
 
239
+ if attributes.key?(:'kvm')
240
+ self.kvm = attributes[:'kvm']
241
+ else
242
+ self.kvm = false
243
+ end
244
+
234
245
  if attributes.key?(:'network_allow_list')
235
246
  self.network_allow_list = attributes[:'network_allow_list']
236
247
  end
@@ -299,6 +310,10 @@ module DaytonaApiClient
299
310
  self.ttl_minutes = attributes[:'ttl_minutes']
300
311
  end
301
312
 
313
+ if attributes.key?(:'queue_timeout')
314
+ self.queue_timeout = attributes[:'queue_timeout']
315
+ end
316
+
302
317
  if attributes.key?(:'volumes')
303
318
  if (value = attributes[:'volumes']).is_a?(Array)
304
319
  self.volumes = value
@@ -318,12 +333,6 @@ module DaytonaApiClient
318
333
  self.secrets = value
319
334
  end
320
335
  end
321
-
322
- if attributes.key?(:'kvm')
323
- self.kvm = attributes[:'kvm']
324
- else
325
- self.kvm = false
326
- end
327
336
  end
328
337
 
329
338
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -353,6 +362,7 @@ module DaytonaApiClient
353
362
  labels == o.labels &&
354
363
  public == o.public &&
355
364
  network_block_all == o.network_block_all &&
365
+ kvm == o.kvm &&
356
366
  network_allow_list == o.network_allow_list &&
357
367
  domain_allow_list == o.domain_allow_list &&
358
368
  outbound_proxy_url == o.outbound_proxy_url &&
@@ -369,11 +379,11 @@ module DaytonaApiClient
369
379
  auto_archive_interval == o.auto_archive_interval &&
370
380
  auto_delete_interval == o.auto_delete_interval &&
371
381
  ttl_minutes == o.ttl_minutes &&
382
+ queue_timeout == o.queue_timeout &&
372
383
  volumes == o.volumes &&
373
384
  build_info == o.build_info &&
374
385
  linked_sandbox == o.linked_sandbox &&
375
- secrets == o.secrets &&
376
- kvm == o.kvm
386
+ secrets == o.secrets
377
387
  end
378
388
 
379
389
  # @see the `==` method
@@ -385,7 +395,7 @@ module DaytonaApiClient
385
395
  # Calculates hash code according to all attributes.
386
396
  # @return [Integer] Hash code
387
397
  def hash
388
- [name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, outbound_proxy_url, otel_endpoint_override, target, cpu, gpu, gpu_type, spot, memory, disk, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, ttl_minutes, volumes, build_info, linked_sandbox, secrets, kvm].hash
398
+ [name, snapshot, user, env, labels, public, network_block_all, kvm, network_allow_list, domain_allow_list, outbound_proxy_url, otel_endpoint_override, target, cpu, gpu, gpu_type, spot, memory, disk, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, ttl_minutes, queue_timeout, volumes, build_info, linked_sandbox, secrets].hash
389
399
  end
390
400
 
391
401
  # Builds the object from hash
@@ -0,0 +1,42 @@
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 DirectorySyncStatus
18
+ ACTIVE = "active".freeze
19
+ INACTIVE = "inactive".freeze
20
+ DELETED = "deleted".freeze
21
+ UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
22
+
23
+ def self.all_vars
24
+ @all_vars ||= [ACTIVE, INACTIVE, DELETED, UNKNOWN_DEFAULT_OPEN_API].freeze
25
+ end
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def self.build_from_hash(value)
31
+ new.build_from_hash(value)
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 build_from_hash(value)
38
+ return value if DirectorySyncStatus.all_vars.include?(value)
39
+ UNKNOWN_DEFAULT_OPEN_API
40
+ end
41
+ end
42
+ end
@@ -30,6 +30,9 @@ module DaytonaApiClient
30
30
  # WorkOS \"Authentication API\" custom domain the dashboard's client-side SDK should call instead of api.workos.com, so the refresh-token cookie is first-party. Present only when the provider is workos and a custom domain is configured (WorkOS production environments only); absent means the SDK runs in devMode and keeps the refresh token in localStorage.
31
31
  attr_accessor :auth_api_hostname
32
32
 
33
+ # WorkOS application the Daytona CLI logs in through, configured apart from the dashboard's so CLI sessions can have their own lifetime. Present only when the provider is workos and a CLI application is configured; absent means the CLI uses the issuer and client ID above.
34
+ attr_accessor :cli
35
+
33
36
  class EnumAttributeValidator
34
37
  attr_reader :datatype
35
38
  attr_reader :allowable_values
@@ -59,7 +62,8 @@ module DaytonaApiClient
59
62
  :'client_id' => :'clientId',
60
63
  :'audience' => :'audience',
61
64
  :'provider' => :'provider',
62
- :'auth_api_hostname' => :'authApiHostname'
65
+ :'auth_api_hostname' => :'authApiHostname',
66
+ :'cli' => :'cli'
63
67
  }
64
68
  end
65
69
 
@@ -80,7 +84,8 @@ module DaytonaApiClient
80
84
  :'client_id' => :'String',
81
85
  :'audience' => :'String',
82
86
  :'provider' => :'String',
83
- :'auth_api_hostname' => :'String'
87
+ :'auth_api_hostname' => :'String',
88
+ :'cli' => :'CliOidcConfig'
84
89
  }
85
90
  end
86
91
 
@@ -133,6 +138,10 @@ module DaytonaApiClient
133
138
  if attributes.key?(:'auth_api_hostname')
134
139
  self.auth_api_hostname = attributes[:'auth_api_hostname']
135
140
  end
141
+
142
+ if attributes.key?(:'cli')
143
+ self.cli = attributes[:'cli']
144
+ end
136
145
  end
137
146
 
138
147
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -221,7 +230,8 @@ module DaytonaApiClient
221
230
  client_id == o.client_id &&
222
231
  audience == o.audience &&
223
232
  provider == o.provider &&
224
- auth_api_hostname == o.auth_api_hostname
233
+ auth_api_hostname == o.auth_api_hostname &&
234
+ cli == o.cli
225
235
  end
226
236
 
227
237
  # @see the `==` method
@@ -233,7 +243,7 @@ module DaytonaApiClient
233
243
  # Calculates hash code according to all attributes.
234
244
  # @return [Integer] Hash code
235
245
  def hash
236
- [issuer, client_id, audience, provider, auth_api_hostname].hash
246
+ [issuer, client_id, audience, provider, auth_api_hostname, cli].hash
237
247
  end
238
248
 
239
249
  # Builds the object from hash
@@ -66,6 +66,9 @@ module DaytonaApiClient
66
66
  # Time in minutes before an unused snapshot is deactivated
67
67
  attr_accessor :snapshot_deactivation_timeout_minutes
68
68
 
69
+ # Default minutes to wait for runner assignment before cancelling sandbox creation. Applied when sandbox create omits queueTimeout. Null means no default.
70
+ attr_accessor :default_queue_timeout
71
+
69
72
  # Sandbox default network block all
70
73
  attr_accessor :sandbox_limited_network_egress
71
74
 
@@ -84,6 +87,15 @@ module DaytonaApiClient
84
87
  # ID of the WorkOS organization mirrored from this organization (absent for personal organizations, which are never mirrored)
85
88
  attr_accessor :workos_org_id
86
89
 
90
+ # Connection state of the WorkOS SCIM directory, as last reported by WorkOS (absent when no directory has ever reported in)
91
+ attr_accessor :directory_sync_status
92
+
93
+ # When the directory sync status last changed
94
+ attr_accessor :directory_sync_status_changed_at
95
+
96
+ # When the directory bearer token was revoked; absent while a valid token exists. A revoked token stops provisioning even if the directory is still active.
97
+ attr_accessor :directory_sync_token_revoked_at
98
+
87
99
  # Authenticated rate limit per minute
88
100
  attr_accessor :authenticated_rate_limit
89
101
 
@@ -108,6 +120,28 @@ module DaytonaApiClient
108
120
  # Sandbox lifecycle rate limit TTL in seconds
109
121
  attr_accessor :sandbox_lifecycle_rate_limit_ttl_seconds
110
122
 
123
+ class EnumAttributeValidator
124
+ attr_reader :datatype
125
+ attr_reader :allowable_values
126
+
127
+ def initialize(datatype, allowable_values)
128
+ @allowable_values = allowable_values.map do |value|
129
+ case datatype.to_s
130
+ when /Integer/i
131
+ value.to_i
132
+ when /Float/i
133
+ value.to_f
134
+ else
135
+ value
136
+ end
137
+ end
138
+ end
139
+
140
+ def valid?(value)
141
+ !value || allowable_values.include?(value)
142
+ end
143
+ end
144
+
111
145
  # Attribute mapping from ruby-style variable name to JSON key.
112
146
  def self.attribute_map
113
147
  {
@@ -128,12 +162,16 @@ module DaytonaApiClient
128
162
  :'secret_quota' => :'secretQuota',
129
163
  :'max_secrets_per_sandbox' => :'maxSecretsPerSandbox',
130
164
  :'snapshot_deactivation_timeout_minutes' => :'snapshotDeactivationTimeoutMinutes',
165
+ :'default_queue_timeout' => :'defaultQueueTimeout',
131
166
  :'sandbox_limited_network_egress' => :'sandboxLimitedNetworkEgress',
132
167
  :'preview_warning_enabled' => :'previewWarningEnabled',
133
168
  :'sso_enabled' => :'ssoEnabled',
134
169
  :'scim_enabled' => :'scimEnabled',
135
170
  :'default_region_id' => :'defaultRegionId',
136
171
  :'workos_org_id' => :'workosOrgId',
172
+ :'directory_sync_status' => :'directorySyncStatus',
173
+ :'directory_sync_status_changed_at' => :'directorySyncStatusChangedAt',
174
+ :'directory_sync_token_revoked_at' => :'directorySyncTokenRevokedAt',
137
175
  :'authenticated_rate_limit' => :'authenticatedRateLimit',
138
176
  :'sandbox_create_rate_limit' => :'sandboxCreateRateLimit',
139
177
  :'sandbox_lifecycle_rate_limit' => :'sandboxLifecycleRateLimit',
@@ -175,12 +213,16 @@ module DaytonaApiClient
175
213
  :'secret_quota' => :'Float',
176
214
  :'max_secrets_per_sandbox' => :'Float',
177
215
  :'snapshot_deactivation_timeout_minutes' => :'Float',
216
+ :'default_queue_timeout' => :'Integer',
178
217
  :'sandbox_limited_network_egress' => :'Boolean',
179
218
  :'preview_warning_enabled' => :'Boolean',
180
219
  :'sso_enabled' => :'Boolean',
181
220
  :'scim_enabled' => :'Boolean',
182
221
  :'default_region_id' => :'String',
183
222
  :'workos_org_id' => :'String',
223
+ :'directory_sync_status' => :'DirectorySyncStatus',
224
+ :'directory_sync_status_changed_at' => :'Time',
225
+ :'directory_sync_token_revoked_at' => :'Time',
184
226
  :'authenticated_rate_limit' => :'Float',
185
227
  :'sandbox_create_rate_limit' => :'Float',
186
228
  :'sandbox_lifecycle_rate_limit' => :'Float',
@@ -195,6 +237,7 @@ module DaytonaApiClient
195
237
  # List of attributes with nullable: true
196
238
  def self.openapi_nullable
197
239
  Set.new([
240
+ :'default_queue_timeout',
198
241
  :'authenticated_rate_limit',
199
242
  :'sandbox_create_rate_limit',
200
243
  :'sandbox_lifecycle_rate_limit',
@@ -323,6 +366,12 @@ module DaytonaApiClient
323
366
  self.snapshot_deactivation_timeout_minutes = 20160
324
367
  end
325
368
 
369
+ if attributes.key?(:'default_queue_timeout')
370
+ self.default_queue_timeout = attributes[:'default_queue_timeout']
371
+ else
372
+ self.default_queue_timeout = nil
373
+ end
374
+
326
375
  if attributes.key?(:'sandbox_limited_network_egress')
327
376
  self.sandbox_limited_network_egress = attributes[:'sandbox_limited_network_egress']
328
377
  else
@@ -355,6 +404,18 @@ module DaytonaApiClient
355
404
  self.workos_org_id = attributes[:'workos_org_id']
356
405
  end
357
406
 
407
+ if attributes.key?(:'directory_sync_status')
408
+ self.directory_sync_status = attributes[:'directory_sync_status']
409
+ end
410
+
411
+ if attributes.key?(:'directory_sync_status_changed_at')
412
+ self.directory_sync_status_changed_at = attributes[:'directory_sync_status_changed_at']
413
+ end
414
+
415
+ if attributes.key?(:'directory_sync_token_revoked_at')
416
+ self.directory_sync_token_revoked_at = attributes[:'directory_sync_token_revoked_at']
417
+ end
418
+
358
419
  if attributes.key?(:'authenticated_rate_limit')
359
420
  self.authenticated_rate_limit = attributes[:'authenticated_rate_limit']
360
421
  else
@@ -771,12 +832,16 @@ module DaytonaApiClient
771
832
  secret_quota == o.secret_quota &&
772
833
  max_secrets_per_sandbox == o.max_secrets_per_sandbox &&
773
834
  snapshot_deactivation_timeout_minutes == o.snapshot_deactivation_timeout_minutes &&
835
+ default_queue_timeout == o.default_queue_timeout &&
774
836
  sandbox_limited_network_egress == o.sandbox_limited_network_egress &&
775
837
  preview_warning_enabled == o.preview_warning_enabled &&
776
838
  sso_enabled == o.sso_enabled &&
777
839
  scim_enabled == o.scim_enabled &&
778
840
  default_region_id == o.default_region_id &&
779
841
  workos_org_id == o.workos_org_id &&
842
+ directory_sync_status == o.directory_sync_status &&
843
+ directory_sync_status_changed_at == o.directory_sync_status_changed_at &&
844
+ directory_sync_token_revoked_at == o.directory_sync_token_revoked_at &&
780
845
  authenticated_rate_limit == o.authenticated_rate_limit &&
781
846
  sandbox_create_rate_limit == o.sandbox_create_rate_limit &&
782
847
  sandbox_lifecycle_rate_limit == o.sandbox_lifecycle_rate_limit &&
@@ -796,7 +861,7 @@ module DaytonaApiClient
796
861
  # Calculates hash code according to all attributes.
797
862
  # @return [Integer] Hash code
798
863
  def hash
799
- [id, name, created_by, personal, created_at, updated_at, suspended, suspended_at, suspension_reason, suspended_until, suspension_cleanup_grace_period_hours, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, secret_quota, max_secrets_per_sandbox, snapshot_deactivation_timeout_minutes, sandbox_limited_network_egress, preview_warning_enabled, sso_enabled, scim_enabled, default_region_id, workos_org_id, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, experimental_config, otel_config, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds].hash
864
+ [id, name, created_by, personal, created_at, updated_at, suspended, suspended_at, suspension_reason, suspended_until, suspension_cleanup_grace_period_hours, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, secret_quota, max_secrets_per_sandbox, snapshot_deactivation_timeout_minutes, default_queue_timeout, sandbox_limited_network_egress, preview_warning_enabled, sso_enabled, scim_enabled, default_region_id, workos_org_id, directory_sync_status, directory_sync_status_changed_at, directory_sync_token_revoked_at, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, experimental_config, otel_config, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds].hash
800
865
  end
801
866
 
802
867
  # Builds the object from hash
@@ -42,6 +42,9 @@ module DaytonaApiClient
42
42
  # Whether to block all network access for the sandbox
43
43
  attr_accessor :network_block_all
44
44
 
45
+ # Whether the sandbox exposes KVM (/dev/kvm) to its guest
46
+ attr_accessor :kvm
47
+
45
48
  # Comma-separated list of allowed CIDR network addresses for the sandbox
46
49
  attr_accessor :network_allow_list
47
50
 
@@ -69,6 +72,9 @@ module DaytonaApiClient
69
72
  # When this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.
70
73
  attr_accessor :spot_evicted_at
71
74
 
75
+ # When this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
76
+ attr_accessor :queue_timed_out_at
77
+
72
78
  # The GPU type assigned to the sandbox
73
79
  attr_accessor :gpu_type
74
80
 
@@ -114,6 +120,9 @@ module DaytonaApiClient
114
120
  # When the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
115
121
  attr_accessor :auto_destroy_at
116
122
 
123
+ # Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
124
+ attr_accessor :queue_timeout
125
+
117
126
  # Array of volumes attached to the sandbox
118
127
  attr_accessor :volumes
119
128
 
@@ -144,9 +153,6 @@ module DaytonaApiClient
144
153
  # The toolbox proxy URL for the sandbox
145
154
  attr_accessor :toolbox_proxy_url
146
155
 
147
- # Whether the sandbox exposes KVM (/dev/kvm) to its guest
148
- attr_accessor :kvm
149
-
150
156
  class EnumAttributeValidator
151
157
  attr_reader :datatype
152
158
  attr_reader :allowable_values
@@ -181,6 +187,7 @@ module DaytonaApiClient
181
187
  :'labels' => :'labels',
182
188
  :'public' => :'public',
183
189
  :'network_block_all' => :'networkBlockAll',
190
+ :'kvm' => :'kvm',
184
191
  :'network_allow_list' => :'networkAllowList',
185
192
  :'domain_allow_list' => :'domainAllowList',
186
193
  :'outbound_proxy_url' => :'outboundProxyUrl',
@@ -190,6 +197,7 @@ module DaytonaApiClient
190
197
  :'gpu' => :'gpu',
191
198
  :'spot' => :'spot',
192
199
  :'spot_evicted_at' => :'spotEvictedAt',
200
+ :'queue_timed_out_at' => :'queueTimedOutAt',
193
201
  :'gpu_type' => :'gpuType',
194
202
  :'memory' => :'memory',
195
203
  :'disk' => :'disk',
@@ -205,6 +213,7 @@ module DaytonaApiClient
205
213
  :'auto_archive_interval' => :'autoArchiveInterval',
206
214
  :'auto_delete_interval' => :'autoDeleteInterval',
207
215
  :'auto_destroy_at' => :'autoDestroyAt',
216
+ :'queue_timeout' => :'queueTimeout',
208
217
  :'volumes' => :'volumes',
209
218
  :'build_info' => :'buildInfo',
210
219
  :'created_at' => :'createdAt',
@@ -214,8 +223,7 @@ module DaytonaApiClient
214
223
  :'daemon_version' => :'daemonVersion',
215
224
  :'runner_id' => :'runnerId',
216
225
  :'linked_sandbox_id' => :'linkedSandboxId',
217
- :'toolbox_proxy_url' => :'toolboxProxyUrl',
218
- :'kvm' => :'kvm'
226
+ :'toolbox_proxy_url' => :'toolboxProxyUrl'
219
227
  }
220
228
  end
221
229
 
@@ -241,6 +249,7 @@ module DaytonaApiClient
241
249
  :'labels' => :'Hash<String, String>',
242
250
  :'public' => :'Boolean',
243
251
  :'network_block_all' => :'Boolean',
252
+ :'kvm' => :'Boolean',
244
253
  :'network_allow_list' => :'String',
245
254
  :'domain_allow_list' => :'String',
246
255
  :'outbound_proxy_url' => :'String',
@@ -250,6 +259,7 @@ module DaytonaApiClient
250
259
  :'gpu' => :'Integer',
251
260
  :'spot' => :'Boolean',
252
261
  :'spot_evicted_at' => :'String',
262
+ :'queue_timed_out_at' => :'String',
253
263
  :'gpu_type' => :'GpuType',
254
264
  :'memory' => :'Integer',
255
265
  :'disk' => :'Integer',
@@ -265,6 +275,7 @@ module DaytonaApiClient
265
275
  :'auto_archive_interval' => :'Float',
266
276
  :'auto_delete_interval' => :'Float',
267
277
  :'auto_destroy_at' => :'String',
278
+ :'queue_timeout' => :'Integer',
268
279
  :'volumes' => :'Array<SandboxVolume>',
269
280
  :'build_info' => :'BuildInfo',
270
281
  :'created_at' => :'String',
@@ -274,14 +285,14 @@ module DaytonaApiClient
274
285
  :'daemon_version' => :'String',
275
286
  :'runner_id' => :'String',
276
287
  :'linked_sandbox_id' => :'String',
277
- :'toolbox_proxy_url' => :'String',
278
- :'kvm' => :'Boolean'
288
+ :'toolbox_proxy_url' => :'String'
279
289
  }
280
290
  end
281
291
 
282
292
  # List of attributes with nullable: true
283
293
  def self.openapi_nullable
284
294
  Set.new([
295
+ :'queue_timeout',
285
296
  ])
286
297
  end
287
298
 
@@ -357,6 +368,12 @@ module DaytonaApiClient
357
368
  self.network_block_all = nil
358
369
  end
359
370
 
371
+ if attributes.key?(:'kvm')
372
+ self.kvm = attributes[:'kvm']
373
+ else
374
+ self.kvm = nil
375
+ end
376
+
360
377
  if attributes.key?(:'network_allow_list')
361
378
  self.network_allow_list = attributes[:'network_allow_list']
362
379
  end
@@ -401,6 +418,10 @@ module DaytonaApiClient
401
418
  self.spot_evicted_at = attributes[:'spot_evicted_at']
402
419
  end
403
420
 
421
+ if attributes.key?(:'queue_timed_out_at')
422
+ self.queue_timed_out_at = attributes[:'queue_timed_out_at']
423
+ end
424
+
404
425
  if attributes.key?(:'gpu_type')
405
426
  self.gpu_type = attributes[:'gpu_type']
406
427
  end
@@ -465,6 +486,10 @@ module DaytonaApiClient
465
486
  self.auto_destroy_at = attributes[:'auto_destroy_at']
466
487
  end
467
488
 
489
+ if attributes.key?(:'queue_timeout')
490
+ self.queue_timeout = attributes[:'queue_timeout']
491
+ end
492
+
468
493
  if attributes.key?(:'volumes')
469
494
  if (value = attributes[:'volumes']).is_a?(Array)
470
495
  self.volumes = value
@@ -508,10 +533,6 @@ module DaytonaApiClient
508
533
  else
509
534
  self.toolbox_proxy_url = nil
510
535
  end
511
-
512
- if attributes.key?(:'kvm')
513
- self.kvm = attributes[:'kvm']
514
- end
515
536
  end
516
537
 
517
538
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -551,6 +572,10 @@ module DaytonaApiClient
551
572
  invalid_properties.push('invalid value for "network_block_all", network_block_all cannot be nil.')
552
573
  end
553
574
 
575
+ if @kvm.nil?
576
+ invalid_properties.push('invalid value for "kvm", kvm cannot be nil.')
577
+ end
578
+
554
579
  if @target.nil?
555
580
  invalid_properties.push('invalid value for "target", target cannot be nil.')
556
581
  end
@@ -590,6 +615,7 @@ module DaytonaApiClient
590
615
  return false if @labels.nil?
591
616
  return false if @public.nil?
592
617
  return false if @network_block_all.nil?
618
+ return false if @kvm.nil?
593
619
  return false if @target.nil?
594
620
  return false if @cpu.nil?
595
621
  return false if @gpu.nil?
@@ -683,6 +709,16 @@ module DaytonaApiClient
683
709
  @network_block_all = network_block_all
684
710
  end
685
711
 
712
+ # Custom attribute writer method with validation
713
+ # @param [Object] kvm Value to be assigned
714
+ def kvm=(kvm)
715
+ if kvm.nil?
716
+ fail ArgumentError, 'kvm cannot be nil'
717
+ end
718
+
719
+ @kvm = kvm
720
+ end
721
+
686
722
  # Custom attribute writer method with validation
687
723
  # @param [Object] target Value to be assigned
688
724
  def target=(target)
@@ -777,6 +813,7 @@ module DaytonaApiClient
777
813
  labels == o.labels &&
778
814
  public == o.public &&
779
815
  network_block_all == o.network_block_all &&
816
+ kvm == o.kvm &&
780
817
  network_allow_list == o.network_allow_list &&
781
818
  domain_allow_list == o.domain_allow_list &&
782
819
  outbound_proxy_url == o.outbound_proxy_url &&
@@ -786,6 +823,7 @@ module DaytonaApiClient
786
823
  gpu == o.gpu &&
787
824
  spot == o.spot &&
788
825
  spot_evicted_at == o.spot_evicted_at &&
826
+ queue_timed_out_at == o.queue_timed_out_at &&
789
827
  gpu_type == o.gpu_type &&
790
828
  memory == o.memory &&
791
829
  disk == o.disk &&
@@ -801,6 +839,7 @@ module DaytonaApiClient
801
839
  auto_archive_interval == o.auto_archive_interval &&
802
840
  auto_delete_interval == o.auto_delete_interval &&
803
841
  auto_destroy_at == o.auto_destroy_at &&
842
+ queue_timeout == o.queue_timeout &&
804
843
  volumes == o.volumes &&
805
844
  build_info == o.build_info &&
806
845
  created_at == o.created_at &&
@@ -810,8 +849,7 @@ module DaytonaApiClient
810
849
  daemon_version == o.daemon_version &&
811
850
  runner_id == o.runner_id &&
812
851
  linked_sandbox_id == o.linked_sandbox_id &&
813
- toolbox_proxy_url == o.toolbox_proxy_url &&
814
- kvm == o.kvm
852
+ toolbox_proxy_url == o.toolbox_proxy_url
815
853
  end
816
854
 
817
855
  # @see the `==` method
@@ -823,7 +861,7 @@ module DaytonaApiClient
823
861
  # Calculates hash code according to all attributes.
824
862
  # @return [Integer] Hash code
825
863
  def hash
826
- [id, organization_id, name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, outbound_proxy_url, otel_endpoint_override, target, cpu, gpu, spot, spot_evicted_at, 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, kvm].hash
864
+ [id, organization_id, name, snapshot, user, env, labels, public, network_block_all, kvm, network_allow_list, domain_allow_list, outbound_proxy_url, otel_endpoint_override, target, cpu, gpu, spot, spot_evicted_at, queue_timed_out_at, 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, queue_timeout, volumes, build_info, created_at, updated_at, last_activity_at, sandbox_class, daemon_version, runner_id, linked_sandbox_id, toolbox_proxy_url].hash
827
865
  end
828
866
 
829
867
  # Builds the object from hash
@@ -75,6 +75,9 @@ module DaytonaApiClient
75
75
  # When this sandbox was evicted by spot preemption. Set as soon as the sandbox is marked for eviction, so it is already present while the sandbox is still winding down.
76
76
  attr_accessor :spot_evicted_at
77
77
 
78
+ # When this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.
79
+ attr_accessor :queue_timed_out_at
80
+
78
81
  # The GPU type assigned to the sandbox
79
82
  attr_accessor :gpu_type
80
83
 
@@ -105,6 +108,9 @@ module DaytonaApiClient
105
108
  # When the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)
106
109
  attr_accessor :auto_destroy_at
107
110
 
111
+ # Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.
112
+ attr_accessor :queue_timeout
113
+
108
114
  # The creation timestamp of the sandbox
109
115
  attr_accessor :created_at
110
116
 
@@ -168,6 +174,7 @@ module DaytonaApiClient
168
174
  :'gpu' => :'gpu',
169
175
  :'spot' => :'spot',
170
176
  :'spot_evicted_at' => :'spotEvictedAt',
177
+ :'queue_timed_out_at' => :'queueTimedOutAt',
171
178
  :'gpu_type' => :'gpuType',
172
179
  :'memory' => :'memory',
173
180
  :'disk' => :'disk',
@@ -178,6 +185,7 @@ module DaytonaApiClient
178
185
  :'auto_archive_interval' => :'autoArchiveInterval',
179
186
  :'auto_delete_interval' => :'autoDeleteInterval',
180
187
  :'auto_destroy_at' => :'autoDestroyAt',
188
+ :'queue_timeout' => :'queueTimeout',
181
189
  :'created_at' => :'createdAt',
182
190
  :'updated_at' => :'updatedAt',
183
191
  :'last_activity_at' => :'lastActivityAt',
@@ -220,6 +228,7 @@ module DaytonaApiClient
220
228
  :'gpu' => :'Integer',
221
229
  :'spot' => :'Boolean',
222
230
  :'spot_evicted_at' => :'String',
231
+ :'queue_timed_out_at' => :'String',
223
232
  :'gpu_type' => :'GpuType',
224
233
  :'memory' => :'Integer',
225
234
  :'disk' => :'Integer',
@@ -230,6 +239,7 @@ module DaytonaApiClient
230
239
  :'auto_archive_interval' => :'Float',
231
240
  :'auto_delete_interval' => :'Float',
232
241
  :'auto_destroy_at' => :'String',
242
+ :'queue_timeout' => :'Integer',
233
243
  :'created_at' => :'String',
234
244
  :'updated_at' => :'String',
235
245
  :'last_activity_at' => :'String',
@@ -242,6 +252,7 @@ module DaytonaApiClient
242
252
  # List of attributes with nullable: true
243
253
  def self.openapi_nullable
244
254
  Set.new([
255
+ :'queue_timeout',
245
256
  ])
246
257
  end
247
258
 
@@ -361,6 +372,10 @@ module DaytonaApiClient
361
372
  self.spot_evicted_at = attributes[:'spot_evicted_at']
362
373
  end
363
374
 
375
+ if attributes.key?(:'queue_timed_out_at')
376
+ self.queue_timed_out_at = attributes[:'queue_timed_out_at']
377
+ end
378
+
364
379
  if attributes.key?(:'gpu_type')
365
380
  self.gpu_type = attributes[:'gpu_type']
366
381
  end
@@ -409,6 +424,10 @@ module DaytonaApiClient
409
424
  self.auto_destroy_at = attributes[:'auto_destroy_at']
410
425
  end
411
426
 
427
+ if attributes.key?(:'queue_timeout')
428
+ self.queue_timeout = attributes[:'queue_timeout']
429
+ end
430
+
412
431
  if attributes.key?(:'created_at')
413
432
  self.created_at = attributes[:'created_at']
414
433
  end
@@ -683,6 +702,7 @@ module DaytonaApiClient
683
702
  gpu == o.gpu &&
684
703
  spot == o.spot &&
685
704
  spot_evicted_at == o.spot_evicted_at &&
705
+ queue_timed_out_at == o.queue_timed_out_at &&
686
706
  gpu_type == o.gpu_type &&
687
707
  memory == o.memory &&
688
708
  disk == o.disk &&
@@ -693,6 +713,7 @@ module DaytonaApiClient
693
713
  auto_archive_interval == o.auto_archive_interval &&
694
714
  auto_delete_interval == o.auto_delete_interval &&
695
715
  auto_destroy_at == o.auto_destroy_at &&
716
+ queue_timeout == o.queue_timeout &&
696
717
  created_at == o.created_at &&
697
718
  updated_at == o.updated_at &&
698
719
  last_activity_at == o.last_activity_at &&
@@ -710,7 +731,7 @@ module DaytonaApiClient
710
731
  # Calculates hash code according to all attributes.
711
732
  # @return [Integer] Hash code
712
733
  def hash
713
- [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, spot, spot_evicted_at, 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
734
+ [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, spot, spot_evicted_at, queue_timed_out_at, gpu_type, memory, disk, labels, backup_state, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, queue_timeout, created_at, updated_at, last_activity_at, daemon_version, warm_pool_id, toolbox_proxy_url].hash
714
735
  end
715
736
 
716
737
  # Builds the object from hash
@@ -0,0 +1,151 @@
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 UpdateOrganizationDefaultQueueTimeout < ApiModelBase
18
+ # Default minutes to wait for runner assignment before cancelling sandbox creation. Null disables the default. A number must be a positive integer.
19
+ attr_accessor :default_queue_timeout
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'default_queue_timeout' => :'defaultQueueTimeout'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'default_queue_timeout' => :'Integer'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ :'default_queue_timeout'
49
+ ])
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::UpdateOrganizationDefaultQueueTimeout` initialize method"
57
+ end
58
+
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ acceptable_attribute_map = self.class.acceptable_attribute_map
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!acceptable_attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::UpdateOrganizationDefaultQueueTimeout`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'default_queue_timeout')
69
+ self.default_queue_timeout = attributes[:'default_queue_timeout']
70
+ else
71
+ self.default_queue_timeout = nil
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
+ invalid_properties = Array.new
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ warn '[DEPRECATED] the `valid?` method is obsolete'
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ default_queue_timeout == o.default_queue_timeout
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [default_queue_timeout].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ transformed_hash = {}
117
+ openapi_types.each_pair do |key, type|
118
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
119
+ transformed_hash["#{key}"] = nil
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[attribute_map[key]].is_a?(Array)
124
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
+ end
126
+ elsif !attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
+ end
129
+ end
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Returns the object in the form of hash
134
+ # @return [Hash] Returns the object in the form of hash
135
+ def to_hash
136
+ hash = {}
137
+ self.class.attribute_map.each_pair do |attr, param|
138
+ value = self.send(attr)
139
+ if value.nil?
140
+ is_nullable = self.class.openapi_nullable.include?(attr)
141
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
142
+ end
143
+
144
+ hash[param] = _to_hash(value)
145
+ end
146
+ hash
147
+ end
148
+
149
+ end
150
+
151
+ end
@@ -11,5 +11,5 @@ Generator version: 7.21.0
11
11
  =end
12
12
 
13
13
  module DaytonaApiClient
14
- VERSION = '0.218.0'
14
+ VERSION = '0.220.0'
15
15
  end
@@ -27,6 +27,7 @@ require 'daytona_api_client/models/audit_scenarios'
27
27
  require 'daytona_api_client/models/audit_target_scenario'
28
28
  require 'daytona_api_client/models/available_sandbox_class'
29
29
  require 'daytona_api_client/models/build_info'
30
+ require 'daytona_api_client/models/cli_oidc_config'
30
31
  require 'daytona_api_client/models/create_api_key'
31
32
  require 'daytona_api_client/models/create_build_info'
32
33
  require 'daytona_api_client/models/create_docker_registry'
@@ -48,6 +49,7 @@ require 'daytona_api_client/models/create_volume'
48
49
  require 'daytona_api_client/models/create_warm_pool'
49
50
  require 'daytona_api_client/models/date_filter'
50
51
  require 'daytona_api_client/models/daytona_configuration'
52
+ require 'daytona_api_client/models/directory_sync_status'
51
53
  require 'daytona_api_client/models/docker_registry'
52
54
  require 'daytona_api_client/models/fork_sandbox'
53
55
  require 'daytona_api_client/models/generate_workos_admin_portal_link'
@@ -140,6 +142,7 @@ require 'daytona_api_client/models/update_identity_provider'
140
142
  require 'daytona_api_client/models/update_job_status'
141
143
  require 'daytona_api_client/models/update_last_activity'
142
144
  require 'daytona_api_client/models/update_oidc_id_p_config'
145
+ require 'daytona_api_client/models/update_organization_default_queue_timeout'
143
146
  require 'daytona_api_client/models/update_organization_default_region'
144
147
  require 'daytona_api_client/models/update_organization_invitation'
145
148
  require 'daytona_api_client/models/update_organization_member_access'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daytona_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.218.0
4
+ version: 0.220.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - daytona
@@ -97,6 +97,7 @@ files:
97
97
  - lib/daytona_api_client/models/audit_target_scenario.rb
98
98
  - lib/daytona_api_client/models/available_sandbox_class.rb
99
99
  - lib/daytona_api_client/models/build_info.rb
100
+ - lib/daytona_api_client/models/cli_oidc_config.rb
100
101
  - lib/daytona_api_client/models/create_api_key.rb
101
102
  - lib/daytona_api_client/models/create_build_info.rb
102
103
  - lib/daytona_api_client/models/create_docker_registry.rb
@@ -118,6 +119,7 @@ files:
118
119
  - lib/daytona_api_client/models/create_warm_pool.rb
119
120
  - lib/daytona_api_client/models/date_filter.rb
120
121
  - lib/daytona_api_client/models/daytona_configuration.rb
122
+ - lib/daytona_api_client/models/directory_sync_status.rb
121
123
  - lib/daytona_api_client/models/docker_registry.rb
122
124
  - lib/daytona_api_client/models/fork_sandbox.rb
123
125
  - lib/daytona_api_client/models/generate_workos_admin_portal_link.rb
@@ -210,6 +212,7 @@ files:
210
212
  - lib/daytona_api_client/models/update_job_status.rb
211
213
  - lib/daytona_api_client/models/update_last_activity.rb
212
214
  - lib/daytona_api_client/models/update_oidc_id_p_config.rb
215
+ - lib/daytona_api_client/models/update_organization_default_queue_timeout.rb
213
216
  - lib/daytona_api_client/models/update_organization_default_region.rb
214
217
  - lib/daytona_api_client/models/update_organization_invitation.rb
215
218
  - lib/daytona_api_client/models/update_organization_member_access.rb