daytona_api_client 0.193.0 → 0.194.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: bece19f08cab11ab0bdbc6cac97e68c63e0c4177def099ef8e88c978e809e5da
4
- data.tar.gz: a1f141c5fe39fbd5016ba850205ab1402c5bc294f7856e7a684bfe1e49908999
3
+ metadata.gz: d0e0d4c20c786a06915c3c3eb8007d19bf0d3a4bcaa012d4d4ae6d7cabcfadeb
4
+ data.tar.gz: f19f9f5d0d9bbd612737c4d889ac56305be25e06aeaf125a9c972f537f366b9a
5
5
  SHA512:
6
- metadata.gz: ce0f8baa9761f9c76c9f811ce74e1478aebccad40ac5eadd42c6dee75ad76c5ad11c3a1c2a64eb3bb9cdba17355af5aa149f68749ed2f2edf37b5dc971db630b
7
- data.tar.gz: 2ea99b0d8cf1ea6b8e06e13ee1c9549954a006944586ae3e429fefea38dbfe20ca7032c031f926b58df325b5c9f51e23da4c25c434ccdba0b0e9e1bb0878637f
6
+ metadata.gz: 6d32dbab2196e0d0e0492554da4de6d82c5ad8de905498407cdc1ce2e6a3df92ec9aa12e502cc442df4b441d1bdc69ba03a9fca5d17df109d0d3e18ac2036192
7
+ data.tar.gz: 3277b04b4ac22cc08973b0a0347dd0f7d5a2f0e78ab1dd820822f9386e01f3cefdc9af3de2bb88ea3954e3907702b4440f4083e56e1623b20c4026cb9086a3ba
@@ -28,6 +28,7 @@ lib/daytona_api_client/api_error.rb
28
28
  lib/daytona_api_client/api_model_base.rb
29
29
  lib/daytona_api_client/configuration.rb
30
30
  lib/daytona_api_client/models/account_provider.rb
31
+ lib/daytona_api_client/models/admin_create_organization.rb
31
32
  lib/daytona_api_client/models/admin_create_runner.rb
32
33
  lib/daytona_api_client/models/admin_get_webhook_status200_response.rb
33
34
  lib/daytona_api_client/models/announcement.rb
@@ -96,6 +97,7 @@ lib/daytona_api_client/models/keyboard_press_request.rb
96
97
  lib/daytona_api_client/models/keyboard_type_request.rb
97
98
  lib/daytona_api_client/models/list_branch_response.rb
98
99
  lib/daytona_api_client/models/list_sandboxes_response.rb
100
+ lib/daytona_api_client/models/list_secrets_response.rb
99
101
  lib/daytona_api_client/models/log_entry.rb
100
102
  lib/daytona_api_client/models/lsp_completion_params.rb
101
103
  lib/daytona_api_client/models/lsp_document_request.rb
@@ -81,6 +81,72 @@ module DaytonaApiClient
81
81
  return data, status_code, headers
82
82
  end
83
83
 
84
+ # Create organization for user
85
+ # @param admin_create_organization [AdminCreateOrganization]
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [Organization]
88
+ def admin_create_organization(admin_create_organization, opts = {})
89
+ data, _status_code, _headers = admin_create_organization_with_http_info(admin_create_organization, opts)
90
+ data
91
+ end
92
+
93
+ # Create organization for user
94
+ # @param admin_create_organization [AdminCreateOrganization]
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Array<(Organization, Integer, Hash)>] Organization data, response status code and response headers
97
+ def admin_create_organization_with_http_info(admin_create_organization, opts = {})
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug 'Calling API: AdminApi.admin_create_organization ...'
100
+ end
101
+ # verify the required parameter 'admin_create_organization' is set
102
+ if @api_client.config.client_side_validation && admin_create_organization.nil?
103
+ fail ArgumentError, "Missing the required parameter 'admin_create_organization' when calling AdminApi.admin_create_organization"
104
+ end
105
+ # resource path
106
+ local_var_path = '/admin/organizations'
107
+
108
+ # query parameters
109
+ query_params = opts[:query_params] || {}
110
+
111
+ # header parameters
112
+ header_params = opts[:header_params] || {}
113
+ # HTTP header 'Accept' (if needed)
114
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
115
+ # HTTP header 'Content-Type'
116
+ content_type = @api_client.select_header_content_type(['application/json'])
117
+ if !content_type.nil?
118
+ header_params['Content-Type'] = content_type
119
+ end
120
+
121
+ # form parameters
122
+ form_params = opts[:form_params] || {}
123
+
124
+ # http body (model)
125
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(admin_create_organization)
126
+
127
+ # return_type
128
+ return_type = opts[:debug_return_type] || 'Organization'
129
+
130
+ # auth_names
131
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
132
+
133
+ new_options = opts.merge(
134
+ :operation => :"AdminApi.admin_create_organization",
135
+ :header_params => header_params,
136
+ :query_params => query_params,
137
+ :form_params => form_params,
138
+ :body => post_body,
139
+ :auth_names => auth_names,
140
+ :return_type => return_type
141
+ )
142
+
143
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug "API called: AdminApi#admin_create_organization\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
146
+ end
147
+ return data, status_code, headers
148
+ end
149
+
84
150
  # Create organization region quota
85
151
  # @param organization_id [String] Organization ID
86
152
  # @param region_id [String] ID of the region the new quota applies to
@@ -215,6 +215,7 @@ module DaytonaApiClient
215
215
  end
216
216
 
217
217
  # List secrets
218
+ # This endpoint is deprecated and fails for organizations with more than 1500 secrets. Use `listSecretsPaginated` instead.
218
219
  # @param [Hash] opts the optional parameters
219
220
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
220
221
  # @return [Array<Secret>]
@@ -224,6 +225,7 @@ module DaytonaApiClient
224
225
  end
225
226
 
226
227
  # List secrets
228
+ # This endpoint is deprecated and fails for organizations with more than 1500 secrets. Use &#x60;listSecretsPaginated&#x60; instead.
227
229
  # @param [Hash] opts the optional parameters
228
230
  # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
229
231
  # @return [Array<(Array<Secret>, Integer, Hash)>] Array<Secret> data, response status code and response headers
@@ -272,6 +274,95 @@ module DaytonaApiClient
272
274
  return data, status_code, headers
273
275
  end
274
276
 
277
+ # List secrets with pagination
278
+ # @param [Hash] opts the optional parameters
279
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
280
+ # @option opts [String] :cursor Pagination cursor from a previous response
281
+ # @option opts [Float] :limit Number of results per page (default to 100)
282
+ # @option opts [String] :name Filter by partial name match
283
+ # @option opts [String] :sort Field to sort by (default to 'createdAt')
284
+ # @option opts [String] :order Direction to sort by (default to 'desc')
285
+ # @return [ListSecretsResponse]
286
+ def list_secrets_paginated(opts = {})
287
+ data, _status_code, _headers = list_secrets_paginated_with_http_info(opts)
288
+ data
289
+ end
290
+
291
+ # List secrets with pagination
292
+ # @param [Hash] opts the optional parameters
293
+ # @option opts [String] :x_daytona_organization_id Use with JWT to specify the organization ID
294
+ # @option opts [String] :cursor Pagination cursor from a previous response
295
+ # @option opts [Float] :limit Number of results per page (default to 100)
296
+ # @option opts [String] :name Filter by partial name match
297
+ # @option opts [String] :sort Field to sort by (default to 'createdAt')
298
+ # @option opts [String] :order Direction to sort by (default to 'desc')
299
+ # @return [Array<(ListSecretsResponse, Integer, Hash)>] ListSecretsResponse data, response status code and response headers
300
+ def list_secrets_paginated_with_http_info(opts = {})
301
+ if @api_client.config.debugging
302
+ @api_client.config.logger.debug 'Calling API: SecretApi.list_secrets_paginated ...'
303
+ end
304
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 200
305
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SecretApi.list_secrets_paginated, must be smaller than or equal to 200.'
306
+ end
307
+
308
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
309
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SecretApi.list_secrets_paginated, must be greater than or equal to 1.'
310
+ end
311
+
312
+ allowable_values = ["name", "createdAt", "updatedAt", "unknown_default_open_api"]
313
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
314
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
315
+ end
316
+ allowable_values = ["asc", "desc", "unknown_default_open_api"]
317
+ if @api_client.config.client_side_validation && opts[:'order'] && !allowable_values.include?(opts[:'order'])
318
+ fail ArgumentError, "invalid value for \"order\", must be one of #{allowable_values}"
319
+ end
320
+ # resource path
321
+ local_var_path = '/secret/paginated'
322
+
323
+ # query parameters
324
+ query_params = opts[:query_params] || {}
325
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
326
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
327
+ query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
328
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
329
+ query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
330
+
331
+ # header parameters
332
+ header_params = opts[:header_params] || {}
333
+ # HTTP header 'Accept' (if needed)
334
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
335
+ header_params[:'X-Daytona-Organization-ID'] = opts[:'x_daytona_organization_id'] if !opts[:'x_daytona_organization_id'].nil?
336
+
337
+ # form parameters
338
+ form_params = opts[:form_params] || {}
339
+
340
+ # http body (model)
341
+ post_body = opts[:debug_body]
342
+
343
+ # return_type
344
+ return_type = opts[:debug_return_type] || 'ListSecretsResponse'
345
+
346
+ # auth_names
347
+ auth_names = opts[:debug_auth_names] || ['bearer', 'oauth2']
348
+
349
+ new_options = opts.merge(
350
+ :operation => :"SecretApi.list_secrets_paginated",
351
+ :header_params => header_params,
352
+ :query_params => query_params,
353
+ :form_params => form_params,
354
+ :body => post_body,
355
+ :auth_names => auth_names,
356
+ :return_type => return_type
357
+ )
358
+
359
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
360
+ if @api_client.config.debugging
361
+ @api_client.config.logger.debug "API called: SecretApi#list_secrets_paginated\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
362
+ end
363
+ return data, status_code, headers
364
+ end
365
+
275
366
  # Update secret
276
367
  # @param secret_id [String] ID of the secret
277
368
  # @param update_secret [UpdateSecret]
@@ -0,0 +1,219 @@
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 AdminCreateOrganization < ApiModelBase
18
+ # The ID of the user the organization will be created for
19
+ attr_accessor :user_id
20
+
21
+ # The name of organization
22
+ attr_accessor :name
23
+
24
+ # The ID of the default region for the organization
25
+ attr_accessor :default_region_id
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'user_id' => :'userId',
31
+ :'name' => :'name',
32
+ :'default_region_id' => :'defaultRegionId'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'user_id' => :'String',
50
+ :'name' => :'String',
51
+ :'default_region_id' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::AdminCreateOrganization` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ acceptable_attribute_map = self.class.acceptable_attribute_map
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!acceptable_attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::AdminCreateOrganization`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'user_id')
78
+ self.user_id = attributes[:'user_id']
79
+ else
80
+ self.user_id = nil
81
+ end
82
+
83
+ if attributes.key?(:'name')
84
+ self.name = attributes[:'name']
85
+ else
86
+ self.name = nil
87
+ end
88
+
89
+ if attributes.key?(:'default_region_id')
90
+ self.default_region_id = attributes[:'default_region_id']
91
+ else
92
+ self.default_region_id = nil
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ if @user_id.nil?
102
+ invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
103
+ end
104
+
105
+ if @name.nil?
106
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
107
+ end
108
+
109
+ if @default_region_id.nil?
110
+ invalid_properties.push('invalid value for "default_region_id", default_region_id cannot be nil.')
111
+ end
112
+
113
+ invalid_properties
114
+ end
115
+
116
+ # Check to see if the all the properties in the model are valid
117
+ # @return true if the model is valid
118
+ def valid?
119
+ warn '[DEPRECATED] the `valid?` method is obsolete'
120
+ return false if @user_id.nil?
121
+ return false if @name.nil?
122
+ return false if @default_region_id.nil?
123
+ true
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] user_id Value to be assigned
128
+ def user_id=(user_id)
129
+ if user_id.nil?
130
+ fail ArgumentError, 'user_id cannot be nil'
131
+ end
132
+
133
+ @user_id = user_id
134
+ end
135
+
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] name Value to be assigned
138
+ def name=(name)
139
+ if name.nil?
140
+ fail ArgumentError, 'name cannot be nil'
141
+ end
142
+
143
+ @name = name
144
+ end
145
+
146
+ # Custom attribute writer method with validation
147
+ # @param [Object] default_region_id Value to be assigned
148
+ def default_region_id=(default_region_id)
149
+ if default_region_id.nil?
150
+ fail ArgumentError, 'default_region_id cannot be nil'
151
+ end
152
+
153
+ @default_region_id = default_region_id
154
+ end
155
+
156
+ # Checks equality by comparing each attribute.
157
+ # @param [Object] Object to be compared
158
+ def ==(o)
159
+ return true if self.equal?(o)
160
+ self.class == o.class &&
161
+ user_id == o.user_id &&
162
+ name == o.name &&
163
+ default_region_id == o.default_region_id
164
+ end
165
+
166
+ # @see the `==` method
167
+ # @param [Object] Object to be compared
168
+ def eql?(o)
169
+ self == o
170
+ end
171
+
172
+ # Calculates hash code according to all attributes.
173
+ # @return [Integer] Hash code
174
+ def hash
175
+ [user_id, name, default_region_id].hash
176
+ end
177
+
178
+ # Builds the object from hash
179
+ # @param [Hash] attributes Model attributes in the form of hash
180
+ # @return [Object] Returns the model itself
181
+ def self.build_from_hash(attributes)
182
+ return nil unless attributes.is_a?(Hash)
183
+ attributes = attributes.transform_keys(&:to_sym)
184
+ transformed_hash = {}
185
+ openapi_types.each_pair do |key, type|
186
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
187
+ transformed_hash["#{key}"] = nil
188
+ elsif type =~ /\AArray<(.*)>/i
189
+ # check to ensure the input is an array given that the attribute
190
+ # is documented as an array but the input is not
191
+ if attributes[attribute_map[key]].is_a?(Array)
192
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
193
+ end
194
+ elsif !attributes[attribute_map[key]].nil?
195
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
196
+ end
197
+ end
198
+ new(transformed_hash)
199
+ end
200
+
201
+ # Returns the object in the form of hash
202
+ # @return [Hash] Returns the object in the form of hash
203
+ def to_hash
204
+ hash = {}
205
+ self.class.attribute_map.each_pair do |attr, param|
206
+ value = self.send(attr)
207
+ if value.nil?
208
+ is_nullable = self.class.openapi_nullable.include?(attr)
209
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
210
+ end
211
+
212
+ hash[param] = _to_hash(value)
213
+ end
214
+ hash
215
+ end
216
+
217
+ end
218
+
219
+ end
@@ -16,11 +16,14 @@ require 'time'
16
16
  module DaytonaApiClient
17
17
  class GpuType
18
18
  H100 = "H100".freeze
19
+ H200 = "H200".freeze
19
20
  RTX_PRO_6000 = "RTX-PRO-6000".freeze
21
+ RTX_4090 = "RTX-4090".freeze
22
+ RTX_5090 = "RTX-5090".freeze
20
23
  UNKNOWN_DEFAULT_OPEN_API = "unknown_default_open_api".freeze
21
24
 
22
25
  def self.all_vars
23
- @all_vars ||= [H100, RTX_PRO_6000, UNKNOWN_DEFAULT_OPEN_API].freeze
26
+ @all_vars ||= [H100, H200, RTX_PRO_6000, RTX_4090, RTX_5090, UNKNOWN_DEFAULT_OPEN_API].freeze
24
27
  end
25
28
 
26
29
  # Builds the enum from string
@@ -0,0 +1,207 @@
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 ListSecretsResponse < ApiModelBase
18
+ # List of results for the current page
19
+ attr_accessor :items
20
+
21
+ # Total number of secrets matching the filters
22
+ attr_accessor :total
23
+
24
+ # Cursor for the next page of results
25
+ attr_accessor :next_cursor
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'items' => :'items',
31
+ :'total' => :'total',
32
+ :'next_cursor' => :'nextCursor'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'items' => :'Array<Secret>',
50
+ :'total' => :'Float',
51
+ :'next_cursor' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ :'next_cursor'
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::ListSecretsResponse` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::ListSecretsResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'items')
79
+ if (value = attributes[:'items']).is_a?(Array)
80
+ self.items = value
81
+ end
82
+ else
83
+ self.items = nil
84
+ end
85
+
86
+ if attributes.key?(:'total')
87
+ self.total = attributes[:'total']
88
+ else
89
+ self.total = nil
90
+ end
91
+
92
+ if attributes.key?(:'next_cursor')
93
+ self.next_cursor = attributes[:'next_cursor']
94
+ else
95
+ self.next_cursor = nil
96
+ end
97
+ end
98
+
99
+ # Show invalid properties with the reasons. Usually used together with valid?
100
+ # @return Array for valid properties with the reasons
101
+ def list_invalid_properties
102
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
103
+ invalid_properties = Array.new
104
+ if @items.nil?
105
+ invalid_properties.push('invalid value for "items", items cannot be nil.')
106
+ end
107
+
108
+ if @total.nil?
109
+ invalid_properties.push('invalid value for "total", total cannot be nil.')
110
+ end
111
+
112
+ invalid_properties
113
+ end
114
+
115
+ # Check to see if the all the properties in the model are valid
116
+ # @return true if the model is valid
117
+ def valid?
118
+ warn '[DEPRECATED] the `valid?` method is obsolete'
119
+ return false if @items.nil?
120
+ return false if @total.nil?
121
+ true
122
+ end
123
+
124
+ # Custom attribute writer method with validation
125
+ # @param [Object] items Value to be assigned
126
+ def items=(items)
127
+ if items.nil?
128
+ fail ArgumentError, 'items cannot be nil'
129
+ end
130
+
131
+ @items = items
132
+ end
133
+
134
+ # Custom attribute writer method with validation
135
+ # @param [Object] total Value to be assigned
136
+ def total=(total)
137
+ if total.nil?
138
+ fail ArgumentError, 'total cannot be nil'
139
+ end
140
+
141
+ @total = total
142
+ end
143
+
144
+ # Checks equality by comparing each attribute.
145
+ # @param [Object] Object to be compared
146
+ def ==(o)
147
+ return true if self.equal?(o)
148
+ self.class == o.class &&
149
+ items == o.items &&
150
+ total == o.total &&
151
+ next_cursor == o.next_cursor
152
+ end
153
+
154
+ # @see the `==` method
155
+ # @param [Object] Object to be compared
156
+ def eql?(o)
157
+ self == o
158
+ end
159
+
160
+ # Calculates hash code according to all attributes.
161
+ # @return [Integer] Hash code
162
+ def hash
163
+ [items, total, next_cursor].hash
164
+ end
165
+
166
+ # Builds the object from hash
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ # @return [Object] Returns the model itself
169
+ def self.build_from_hash(attributes)
170
+ return nil unless attributes.is_a?(Hash)
171
+ attributes = attributes.transform_keys(&:to_sym)
172
+ transformed_hash = {}
173
+ openapi_types.each_pair do |key, type|
174
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
175
+ transformed_hash["#{key}"] = nil
176
+ elsif type =~ /\AArray<(.*)>/i
177
+ # check to ensure the input is an array given that the attribute
178
+ # is documented as an array but the input is not
179
+ if attributes[attribute_map[key]].is_a?(Array)
180
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
181
+ end
182
+ elsif !attributes[attribute_map[key]].nil?
183
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
184
+ end
185
+ end
186
+ new(transformed_hash)
187
+ end
188
+
189
+ # Returns the object in the form of hash
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_hash
192
+ hash = {}
193
+ self.class.attribute_map.each_pair do |attr, param|
194
+ value = self.send(attr)
195
+ if value.nil?
196
+ is_nullable = self.class.openapi_nullable.include?(attr)
197
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
198
+ end
199
+
200
+ hash[param] = _to_hash(value)
201
+ end
202
+ hash
203
+ end
204
+
205
+ end
206
+
207
+ end
@@ -57,6 +57,12 @@ module DaytonaApiClient
57
57
  # Max disk per sandbox
58
58
  attr_accessor :max_disk_per_sandbox
59
59
 
60
+ # Maximum number of secrets
61
+ attr_accessor :secret_quota
62
+
63
+ # Maximum number of secrets that can be mounted to a single sandbox
64
+ attr_accessor :max_secrets_per_sandbox
65
+
60
66
  # Time in minutes before an unused snapshot is deactivated
61
67
  attr_accessor :snapshot_deactivation_timeout_minutes
62
68
 
@@ -107,6 +113,8 @@ module DaytonaApiClient
107
113
  :'max_cpu_per_sandbox' => :'maxCpuPerSandbox',
108
114
  :'max_memory_per_sandbox' => :'maxMemoryPerSandbox',
109
115
  :'max_disk_per_sandbox' => :'maxDiskPerSandbox',
116
+ :'secret_quota' => :'secretQuota',
117
+ :'max_secrets_per_sandbox' => :'maxSecretsPerSandbox',
110
118
  :'snapshot_deactivation_timeout_minutes' => :'snapshotDeactivationTimeoutMinutes',
111
119
  :'sandbox_limited_network_egress' => :'sandboxLimitedNetworkEgress',
112
120
  :'default_region_id' => :'defaultRegionId',
@@ -148,6 +156,8 @@ module DaytonaApiClient
148
156
  :'max_cpu_per_sandbox' => :'Float',
149
157
  :'max_memory_per_sandbox' => :'Float',
150
158
  :'max_disk_per_sandbox' => :'Float',
159
+ :'secret_quota' => :'Float',
160
+ :'max_secrets_per_sandbox' => :'Float',
151
161
  :'snapshot_deactivation_timeout_minutes' => :'Float',
152
162
  :'sandbox_limited_network_egress' => :'Boolean',
153
163
  :'default_region_id' => :'String',
@@ -275,6 +285,18 @@ module DaytonaApiClient
275
285
  self.max_disk_per_sandbox = nil
276
286
  end
277
287
 
288
+ if attributes.key?(:'secret_quota')
289
+ self.secret_quota = attributes[:'secret_quota']
290
+ else
291
+ self.secret_quota = nil
292
+ end
293
+
294
+ if attributes.key?(:'max_secrets_per_sandbox')
295
+ self.max_secrets_per_sandbox = attributes[:'max_secrets_per_sandbox']
296
+ else
297
+ self.max_secrets_per_sandbox = nil
298
+ end
299
+
278
300
  if attributes.key?(:'snapshot_deactivation_timeout_minutes')
279
301
  self.snapshot_deactivation_timeout_minutes = attributes[:'snapshot_deactivation_timeout_minutes']
280
302
  else
@@ -401,6 +423,14 @@ module DaytonaApiClient
401
423
  invalid_properties.push('invalid value for "max_disk_per_sandbox", max_disk_per_sandbox cannot be nil.')
402
424
  end
403
425
 
426
+ if @secret_quota.nil?
427
+ invalid_properties.push('invalid value for "secret_quota", secret_quota cannot be nil.')
428
+ end
429
+
430
+ if @max_secrets_per_sandbox.nil?
431
+ invalid_properties.push('invalid value for "max_secrets_per_sandbox", max_secrets_per_sandbox cannot be nil.')
432
+ end
433
+
404
434
  if @snapshot_deactivation_timeout_minutes.nil?
405
435
  invalid_properties.push('invalid value for "snapshot_deactivation_timeout_minutes", snapshot_deactivation_timeout_minutes cannot be nil.')
406
436
  end
@@ -434,6 +464,8 @@ module DaytonaApiClient
434
464
  return false if @max_cpu_per_sandbox.nil?
435
465
  return false if @max_memory_per_sandbox.nil?
436
466
  return false if @max_disk_per_sandbox.nil?
467
+ return false if @secret_quota.nil?
468
+ return false if @max_secrets_per_sandbox.nil?
437
469
  return false if @snapshot_deactivation_timeout_minutes.nil?
438
470
  return false if @sandbox_limited_network_egress.nil?
439
471
  return false if @experimental_config.nil?
@@ -580,6 +612,26 @@ module DaytonaApiClient
580
612
  @max_disk_per_sandbox = max_disk_per_sandbox
581
613
  end
582
614
 
615
+ # Custom attribute writer method with validation
616
+ # @param [Object] secret_quota Value to be assigned
617
+ def secret_quota=(secret_quota)
618
+ if secret_quota.nil?
619
+ fail ArgumentError, 'secret_quota cannot be nil'
620
+ end
621
+
622
+ @secret_quota = secret_quota
623
+ end
624
+
625
+ # Custom attribute writer method with validation
626
+ # @param [Object] max_secrets_per_sandbox Value to be assigned
627
+ def max_secrets_per_sandbox=(max_secrets_per_sandbox)
628
+ if max_secrets_per_sandbox.nil?
629
+ fail ArgumentError, 'max_secrets_per_sandbox cannot be nil'
630
+ end
631
+
632
+ @max_secrets_per_sandbox = max_secrets_per_sandbox
633
+ end
634
+
583
635
  # Custom attribute writer method with validation
584
636
  # @param [Object] snapshot_deactivation_timeout_minutes Value to be assigned
585
637
  def snapshot_deactivation_timeout_minutes=(snapshot_deactivation_timeout_minutes)
@@ -629,6 +681,8 @@ module DaytonaApiClient
629
681
  max_cpu_per_sandbox == o.max_cpu_per_sandbox &&
630
682
  max_memory_per_sandbox == o.max_memory_per_sandbox &&
631
683
  max_disk_per_sandbox == o.max_disk_per_sandbox &&
684
+ secret_quota == o.secret_quota &&
685
+ max_secrets_per_sandbox == o.max_secrets_per_sandbox &&
632
686
  snapshot_deactivation_timeout_minutes == o.snapshot_deactivation_timeout_minutes &&
633
687
  sandbox_limited_network_egress == o.sandbox_limited_network_egress &&
634
688
  default_region_id == o.default_region_id &&
@@ -651,7 +705,7 @@ module DaytonaApiClient
651
705
  # Calculates hash code according to all attributes.
652
706
  # @return [Integer] Hash code
653
707
  def hash
654
- [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, snapshot_deactivation_timeout_minutes, sandbox_limited_network_egress, default_region_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
708
+ [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, default_region_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
655
709
  end
656
710
 
657
711
  # Builds the object from hash
@@ -21,11 +21,15 @@ module DaytonaApiClient
21
21
  # Headers
22
22
  attr_accessor :headers
23
23
 
24
+ # Organization ID the config belongs to
25
+ attr_accessor :organization_id
26
+
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
27
30
  :'endpoint' => :'endpoint',
28
- :'headers' => :'headers'
31
+ :'headers' => :'headers',
32
+ :'organization_id' => :'organizationId'
29
33
  }
30
34
  end
31
35
 
@@ -43,14 +47,15 @@ module DaytonaApiClient
43
47
  def self.openapi_types
44
48
  {
45
49
  :'endpoint' => :'String',
46
- :'headers' => :'Hash<String, String>'
50
+ :'headers' => :'Hash<String, String>',
51
+ :'organization_id' => :'String'
47
52
  }
48
53
  end
49
54
 
50
55
  # List of attributes with nullable: true
51
56
  def self.openapi_nullable
52
57
  Set.new([
53
- :'headers'
58
+ :'headers',
54
59
  ])
55
60
  end
56
61
 
@@ -81,6 +86,10 @@ module DaytonaApiClient
81
86
  self.headers = value
82
87
  end
83
88
  end
89
+
90
+ if attributes.key?(:'organization_id')
91
+ self.organization_id = attributes[:'organization_id']
92
+ end
84
93
  end
85
94
 
86
95
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -119,7 +128,8 @@ module DaytonaApiClient
119
128
  return true if self.equal?(o)
120
129
  self.class == o.class &&
121
130
  endpoint == o.endpoint &&
122
- headers == o.headers
131
+ headers == o.headers &&
132
+ organization_id == o.organization_id
123
133
  end
124
134
 
125
135
  # @see the `==` method
@@ -131,7 +141,7 @@ module DaytonaApiClient
131
141
  # Calculates hash code according to all attributes.
132
142
  # @return [Integer] Hash code
133
143
  def hash
134
- [endpoint, headers].hash
144
+ [endpoint, headers, organization_id].hash
135
145
  end
136
146
 
137
147
  # Builds the object from hash
@@ -27,6 +27,11 @@ module DaytonaApiClient
27
27
 
28
28
  attr_accessor :volume_quota
29
29
 
30
+ attr_accessor :secret_quota
31
+
32
+ # Maximum number of secrets that can be mounted to a single sandbox
33
+ attr_accessor :max_secrets_per_sandbox
34
+
30
35
  attr_accessor :authenticated_rate_limit
31
36
 
32
37
  attr_accessor :sandbox_create_rate_limit
@@ -54,6 +59,8 @@ module DaytonaApiClient
54
59
  :'snapshot_quota' => :'snapshotQuota',
55
60
  :'max_snapshot_size' => :'maxSnapshotSize',
56
61
  :'volume_quota' => :'volumeQuota',
62
+ :'secret_quota' => :'secretQuota',
63
+ :'max_secrets_per_sandbox' => :'maxSecretsPerSandbox',
57
64
  :'authenticated_rate_limit' => :'authenticatedRateLimit',
58
65
  :'sandbox_create_rate_limit' => :'sandboxCreateRateLimit',
59
66
  :'sandbox_lifecycle_rate_limit' => :'sandboxLifecycleRateLimit',
@@ -84,6 +91,8 @@ module DaytonaApiClient
84
91
  :'snapshot_quota' => :'Float',
85
92
  :'max_snapshot_size' => :'Float',
86
93
  :'volume_quota' => :'Float',
94
+ :'secret_quota' => :'Float',
95
+ :'max_secrets_per_sandbox' => :'Float',
87
96
  :'authenticated_rate_limit' => :'Float',
88
97
  :'sandbox_create_rate_limit' => :'Float',
89
98
  :'sandbox_lifecycle_rate_limit' => :'Float',
@@ -104,6 +113,8 @@ module DaytonaApiClient
104
113
  :'snapshot_quota',
105
114
  :'max_snapshot_size',
106
115
  :'volume_quota',
116
+ :'secret_quota',
117
+ :'max_secrets_per_sandbox',
107
118
  :'authenticated_rate_limit',
108
119
  :'sandbox_create_rate_limit',
109
120
  :'sandbox_lifecycle_rate_limit',
@@ -167,6 +178,18 @@ module DaytonaApiClient
167
178
  self.volume_quota = nil
168
179
  end
169
180
 
181
+ if attributes.key?(:'secret_quota')
182
+ self.secret_quota = attributes[:'secret_quota']
183
+ else
184
+ self.secret_quota = nil
185
+ end
186
+
187
+ if attributes.key?(:'max_secrets_per_sandbox')
188
+ self.max_secrets_per_sandbox = attributes[:'max_secrets_per_sandbox']
189
+ else
190
+ self.max_secrets_per_sandbox = nil
191
+ end
192
+
170
193
  if attributes.key?(:'authenticated_rate_limit')
171
194
  self.authenticated_rate_limit = attributes[:'authenticated_rate_limit']
172
195
  else
@@ -242,6 +265,8 @@ module DaytonaApiClient
242
265
  snapshot_quota == o.snapshot_quota &&
243
266
  max_snapshot_size == o.max_snapshot_size &&
244
267
  volume_quota == o.volume_quota &&
268
+ secret_quota == o.secret_quota &&
269
+ max_secrets_per_sandbox == o.max_secrets_per_sandbox &&
245
270
  authenticated_rate_limit == o.authenticated_rate_limit &&
246
271
  sandbox_create_rate_limit == o.sandbox_create_rate_limit &&
247
272
  sandbox_lifecycle_rate_limit == o.sandbox_lifecycle_rate_limit &&
@@ -261,7 +286,7 @@ module DaytonaApiClient
261
286
  # Calculates hash code according to all attributes.
262
287
  # @return [Integer] Hash code
263
288
  def hash
264
- [max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, snapshot_quota, max_snapshot_size, volume_quota, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds, snapshot_deactivation_timeout_minutes, max_concurrent_snapshot_processing].hash
289
+ [max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, snapshot_quota, max_snapshot_size, volume_quota, secret_quota, max_secrets_per_sandbox, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds, snapshot_deactivation_timeout_minutes, max_concurrent_snapshot_processing].hash
265
290
  end
266
291
 
267
292
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.21.0
11
11
  =end
12
12
 
13
13
  module DaytonaApiClient
14
- VERSION = '0.193.0'
14
+ VERSION = '0.194.0'
15
15
  end
@@ -19,6 +19,7 @@ require 'daytona_api_client/configuration'
19
19
 
20
20
  # Models
21
21
  require 'daytona_api_client/models/account_provider'
22
+ require 'daytona_api_client/models/admin_create_organization'
22
23
  require 'daytona_api_client/models/admin_create_runner'
23
24
  require 'daytona_api_client/models/admin_get_webhook_status200_response'
24
25
  require 'daytona_api_client/models/announcement'
@@ -87,6 +88,7 @@ require 'daytona_api_client/models/keyboard_press_request'
87
88
  require 'daytona_api_client/models/keyboard_type_request'
88
89
  require 'daytona_api_client/models/list_branch_response'
89
90
  require 'daytona_api_client/models/list_sandboxes_response'
91
+ require 'daytona_api_client/models/list_secrets_response'
90
92
  require 'daytona_api_client/models/log_entry'
91
93
  require 'daytona_api_client/models/lsp_completion_params'
92
94
  require 'daytona_api_client/models/lsp_document_request'
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.193.0
4
+ version: 0.194.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - daytona
@@ -90,6 +90,7 @@ files:
90
90
  - lib/daytona_api_client/api_model_base.rb
91
91
  - lib/daytona_api_client/configuration.rb
92
92
  - lib/daytona_api_client/models/account_provider.rb
93
+ - lib/daytona_api_client/models/admin_create_organization.rb
93
94
  - lib/daytona_api_client/models/admin_create_runner.rb
94
95
  - lib/daytona_api_client/models/admin_get_webhook_status200_response.rb
95
96
  - lib/daytona_api_client/models/announcement.rb
@@ -158,6 +159,7 @@ files:
158
159
  - lib/daytona_api_client/models/keyboard_type_request.rb
159
160
  - lib/daytona_api_client/models/list_branch_response.rb
160
161
  - lib/daytona_api_client/models/list_sandboxes_response.rb
162
+ - lib/daytona_api_client/models/list_secrets_response.rb
161
163
  - lib/daytona_api_client/models/log_entry.rb
162
164
  - lib/daytona_api_client/models/lsp_completion_params.rb
163
165
  - lib/daytona_api_client/models/lsp_document_request.rb