daytona_api_client 0.203.0 → 0.205.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 +4 -4
- data/.openapi-generator/FILES +13 -0
- data/lib/daytona_api_client/api/admin_api.rb +3 -0
- data/lib/daytona_api_client/api/audit_api.rb +57 -0
- data/lib/daytona_api_client/api/organizations_api.rb +485 -0
- data/lib/daytona_api_client/api/runners_api.rb +58 -0
- data/lib/daytona_api_client/api/sandbox_api.rb +2 -0
- data/lib/daytona_api_client/api/snapshots_api.rb +3 -0
- data/lib/daytona_api_client/api/users_api.rb +173 -0
- data/lib/daytona_api_client/models/audit_scenarios.rb +167 -0
- data/lib/daytona_api_client/models/audit_target_scenario.rb +208 -0
- data/lib/daytona_api_client/models/create_identity_provider.rb +269 -0
- data/lib/daytona_api_client/models/create_organization_region_quota.rb +16 -5
- data/lib/daytona_api_client/models/create_region.rb +16 -5
- data/lib/daytona_api_client/models/create_sandbox.rb +34 -2
- data/lib/daytona_api_client/models/create_user.rb +26 -21
- data/lib/daytona_api_client/models/daytona_configuration.rb +33 -1
- data/lib/daytona_api_client/models/identity_provider.rb +439 -0
- data/lib/daytona_api_client/models/oidc_id_p_config.rb +229 -0
- data/lib/daytona_api_client/models/oidc_id_p_config_response.rb +202 -0
- data/lib/daytona_api_client/models/organization.rb +28 -1
- data/lib/daytona_api_client/models/organization_sso_enabled.rb +165 -0
- data/lib/daytona_api_client/models/pending_sso_link.rb +283 -0
- data/lib/daytona_api_client/models/region.rb +16 -5
- data/lib/daytona_api_client/models/region_quota.rb +18 -5
- data/lib/daytona_api_client/models/sandbox.rb +43 -1
- data/lib/daytona_api_client/models/sandbox_list_item.rb +70 -1
- data/lib/daytona_api_client/models/snapshot_dto.rb +14 -1
- data/lib/daytona_api_client/models/sso_oidc_config.rb +192 -0
- data/lib/daytona_api_client/models/test_identity_provider_connection.rb +165 -0
- data/lib/daytona_api_client/models/test_identity_provider_connection_response.rb +185 -0
- data/lib/daytona_api_client/models/update_identity_provider.rb +212 -0
- data/lib/daytona_api_client/models/update_oidc_id_p_config.rb +178 -0
- data/lib/daytona_api_client/models/update_organization_region_quota.rb +16 -5
- data/lib/daytona_api_client/models/update_region.rb +16 -5
- data/lib/daytona_api_client/models/user.rb +38 -1
- data/lib/daytona_api_client/version.rb +1 -1
- data/lib/daytona_api_client.rb +13 -0
- metadata +16 -3
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Daytona
|
|
3
|
+
|
|
4
|
+
#Daytona AI platform API Docs
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0
|
|
7
|
+
Contact: support@daytona.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.21.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module DaytonaApiClient
|
|
17
|
+
class PendingSsoLink < ApiModelBase
|
|
18
|
+
attr_accessor :id
|
|
19
|
+
|
|
20
|
+
# Display name of the identity provider requesting to be linked
|
|
21
|
+
attr_accessor :idp_name
|
|
22
|
+
|
|
23
|
+
# Organization that configured the identity provider
|
|
24
|
+
attr_accessor :organization_id
|
|
25
|
+
|
|
26
|
+
# Email asserted by the identity provider
|
|
27
|
+
attr_accessor :provider_email
|
|
28
|
+
|
|
29
|
+
attr_accessor :created_at
|
|
30
|
+
|
|
31
|
+
attr_accessor :expires_at
|
|
32
|
+
|
|
33
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
34
|
+
def self.attribute_map
|
|
35
|
+
{
|
|
36
|
+
:'id' => :'id',
|
|
37
|
+
:'idp_name' => :'idpName',
|
|
38
|
+
:'organization_id' => :'organizationId',
|
|
39
|
+
:'provider_email' => :'providerEmail',
|
|
40
|
+
:'created_at' => :'createdAt',
|
|
41
|
+
:'expires_at' => :'expiresAt'
|
|
42
|
+
}
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Returns attribute mapping this model knows about
|
|
46
|
+
def self.acceptable_attribute_map
|
|
47
|
+
attribute_map
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Returns all the JSON keys this model knows about
|
|
51
|
+
def self.acceptable_attributes
|
|
52
|
+
acceptable_attribute_map.values
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Attribute type mapping.
|
|
56
|
+
def self.openapi_types
|
|
57
|
+
{
|
|
58
|
+
:'id' => :'String',
|
|
59
|
+
:'idp_name' => :'String',
|
|
60
|
+
:'organization_id' => :'String',
|
|
61
|
+
:'provider_email' => :'String',
|
|
62
|
+
:'created_at' => :'String',
|
|
63
|
+
:'expires_at' => :'String'
|
|
64
|
+
}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# List of attributes with nullable: true
|
|
68
|
+
def self.openapi_nullable
|
|
69
|
+
Set.new([
|
|
70
|
+
:'provider_email',
|
|
71
|
+
])
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Initializes the object
|
|
75
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
76
|
+
def initialize(attributes = {})
|
|
77
|
+
if (!attributes.is_a?(Hash))
|
|
78
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::PendingSsoLink` initialize method"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
82
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
83
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
84
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
85
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::PendingSsoLink`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
86
|
+
end
|
|
87
|
+
h[k.to_sym] = v
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'id')
|
|
91
|
+
self.id = attributes[:'id']
|
|
92
|
+
else
|
|
93
|
+
self.id = nil
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
if attributes.key?(:'idp_name')
|
|
97
|
+
self.idp_name = attributes[:'idp_name']
|
|
98
|
+
else
|
|
99
|
+
self.idp_name = nil
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
if attributes.key?(:'organization_id')
|
|
103
|
+
self.organization_id = attributes[:'organization_id']
|
|
104
|
+
else
|
|
105
|
+
self.organization_id = nil
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
if attributes.key?(:'provider_email')
|
|
109
|
+
self.provider_email = attributes[:'provider_email']
|
|
110
|
+
else
|
|
111
|
+
self.provider_email = nil
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
if attributes.key?(:'created_at')
|
|
115
|
+
self.created_at = attributes[:'created_at']
|
|
116
|
+
else
|
|
117
|
+
self.created_at = nil
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
if attributes.key?(:'expires_at')
|
|
121
|
+
self.expires_at = attributes[:'expires_at']
|
|
122
|
+
else
|
|
123
|
+
self.expires_at = nil
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
128
|
+
# @return Array for valid properties with the reasons
|
|
129
|
+
def list_invalid_properties
|
|
130
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
131
|
+
invalid_properties = Array.new
|
|
132
|
+
if @id.nil?
|
|
133
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if @idp_name.nil?
|
|
137
|
+
invalid_properties.push('invalid value for "idp_name", idp_name cannot be nil.')
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
if @organization_id.nil?
|
|
141
|
+
invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
if @created_at.nil?
|
|
145
|
+
invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
if @expires_at.nil?
|
|
149
|
+
invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.')
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
invalid_properties
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Check to see if the all the properties in the model are valid
|
|
156
|
+
# @return true if the model is valid
|
|
157
|
+
def valid?
|
|
158
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
159
|
+
return false if @id.nil?
|
|
160
|
+
return false if @idp_name.nil?
|
|
161
|
+
return false if @organization_id.nil?
|
|
162
|
+
return false if @created_at.nil?
|
|
163
|
+
return false if @expires_at.nil?
|
|
164
|
+
true
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Custom attribute writer method with validation
|
|
168
|
+
# @param [Object] id Value to be assigned
|
|
169
|
+
def id=(id)
|
|
170
|
+
if id.nil?
|
|
171
|
+
fail ArgumentError, 'id cannot be nil'
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
@id = id
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Custom attribute writer method with validation
|
|
178
|
+
# @param [Object] idp_name Value to be assigned
|
|
179
|
+
def idp_name=(idp_name)
|
|
180
|
+
if idp_name.nil?
|
|
181
|
+
fail ArgumentError, 'idp_name cannot be nil'
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
@idp_name = idp_name
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# Custom attribute writer method with validation
|
|
188
|
+
# @param [Object] organization_id Value to be assigned
|
|
189
|
+
def organization_id=(organization_id)
|
|
190
|
+
if organization_id.nil?
|
|
191
|
+
fail ArgumentError, 'organization_id cannot be nil'
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
@organization_id = organization_id
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# Custom attribute writer method with validation
|
|
198
|
+
# @param [Object] created_at Value to be assigned
|
|
199
|
+
def created_at=(created_at)
|
|
200
|
+
if created_at.nil?
|
|
201
|
+
fail ArgumentError, 'created_at cannot be nil'
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
@created_at = created_at
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# Custom attribute writer method with validation
|
|
208
|
+
# @param [Object] expires_at Value to be assigned
|
|
209
|
+
def expires_at=(expires_at)
|
|
210
|
+
if expires_at.nil?
|
|
211
|
+
fail ArgumentError, 'expires_at cannot be nil'
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
@expires_at = expires_at
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# Checks equality by comparing each attribute.
|
|
218
|
+
# @param [Object] Object to be compared
|
|
219
|
+
def ==(o)
|
|
220
|
+
return true if self.equal?(o)
|
|
221
|
+
self.class == o.class &&
|
|
222
|
+
id == o.id &&
|
|
223
|
+
idp_name == o.idp_name &&
|
|
224
|
+
organization_id == o.organization_id &&
|
|
225
|
+
provider_email == o.provider_email &&
|
|
226
|
+
created_at == o.created_at &&
|
|
227
|
+
expires_at == o.expires_at
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
# @see the `==` method
|
|
231
|
+
# @param [Object] Object to be compared
|
|
232
|
+
def eql?(o)
|
|
233
|
+
self == o
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# Calculates hash code according to all attributes.
|
|
237
|
+
# @return [Integer] Hash code
|
|
238
|
+
def hash
|
|
239
|
+
[id, idp_name, organization_id, provider_email, created_at, expires_at].hash
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Builds the object from hash
|
|
243
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
244
|
+
# @return [Object] Returns the model itself
|
|
245
|
+
def self.build_from_hash(attributes)
|
|
246
|
+
return nil unless attributes.is_a?(Hash)
|
|
247
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
248
|
+
transformed_hash = {}
|
|
249
|
+
openapi_types.each_pair do |key, type|
|
|
250
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
251
|
+
transformed_hash["#{key}"] = nil
|
|
252
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
253
|
+
# check to ensure the input is an array given that the attribute
|
|
254
|
+
# is documented as an array but the input is not
|
|
255
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
256
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
257
|
+
end
|
|
258
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
259
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
new(transformed_hash)
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
# Returns the object in the form of hash
|
|
266
|
+
# @return [Hash] Returns the object in the form of hash
|
|
267
|
+
def to_hash
|
|
268
|
+
hash = {}
|
|
269
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
270
|
+
value = self.send(attr)
|
|
271
|
+
if value.nil?
|
|
272
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
273
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
hash[param] = _to_hash(value)
|
|
277
|
+
end
|
|
278
|
+
hash
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
end
|
|
@@ -42,6 +42,9 @@ module DaytonaApiClient
|
|
|
42
42
|
# Snapshot Manager URL for the region
|
|
43
43
|
attr_accessor :snapshot_manager_url
|
|
44
44
|
|
|
45
|
+
# OTel collector endpoint for sandboxes created in this region. When set, sandbox OTel data is sent to this endpoint instead of the Daytona-hosted collector and will not be available in the Daytona analytics API or dashboard.
|
|
46
|
+
attr_accessor :otel_endpoint
|
|
47
|
+
|
|
45
48
|
class EnumAttributeValidator
|
|
46
49
|
attr_reader :datatype
|
|
47
50
|
attr_reader :allowable_values
|
|
@@ -75,7 +78,8 @@ module DaytonaApiClient
|
|
|
75
78
|
:'updated_at' => :'updatedAt',
|
|
76
79
|
:'proxy_url' => :'proxyUrl',
|
|
77
80
|
:'ssh_gateway_url' => :'sshGatewayUrl',
|
|
78
|
-
:'snapshot_manager_url' => :'snapshotManagerUrl'
|
|
81
|
+
:'snapshot_manager_url' => :'snapshotManagerUrl',
|
|
82
|
+
:'otel_endpoint' => :'otelEndpoint'
|
|
79
83
|
}
|
|
80
84
|
end
|
|
81
85
|
|
|
@@ -100,7 +104,8 @@ module DaytonaApiClient
|
|
|
100
104
|
:'updated_at' => :'String',
|
|
101
105
|
:'proxy_url' => :'String',
|
|
102
106
|
:'ssh_gateway_url' => :'String',
|
|
103
|
-
:'snapshot_manager_url' => :'String'
|
|
107
|
+
:'snapshot_manager_url' => :'String',
|
|
108
|
+
:'otel_endpoint' => :'String'
|
|
104
109
|
}
|
|
105
110
|
end
|
|
106
111
|
|
|
@@ -110,7 +115,8 @@ module DaytonaApiClient
|
|
|
110
115
|
:'organization_id',
|
|
111
116
|
:'proxy_url',
|
|
112
117
|
:'ssh_gateway_url',
|
|
113
|
-
:'snapshot_manager_url'
|
|
118
|
+
:'snapshot_manager_url',
|
|
119
|
+
:'otel_endpoint'
|
|
114
120
|
])
|
|
115
121
|
end
|
|
116
122
|
|
|
@@ -175,6 +181,10 @@ module DaytonaApiClient
|
|
|
175
181
|
if attributes.key?(:'snapshot_manager_url')
|
|
176
182
|
self.snapshot_manager_url = attributes[:'snapshot_manager_url']
|
|
177
183
|
end
|
|
184
|
+
|
|
185
|
+
if attributes.key?(:'otel_endpoint')
|
|
186
|
+
self.otel_endpoint = attributes[:'otel_endpoint']
|
|
187
|
+
end
|
|
178
188
|
end
|
|
179
189
|
|
|
180
190
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -280,7 +290,8 @@ module DaytonaApiClient
|
|
|
280
290
|
updated_at == o.updated_at &&
|
|
281
291
|
proxy_url == o.proxy_url &&
|
|
282
292
|
ssh_gateway_url == o.ssh_gateway_url &&
|
|
283
|
-
snapshot_manager_url == o.snapshot_manager_url
|
|
293
|
+
snapshot_manager_url == o.snapshot_manager_url &&
|
|
294
|
+
otel_endpoint == o.otel_endpoint
|
|
284
295
|
end
|
|
285
296
|
|
|
286
297
|
# @see the `==` method
|
|
@@ -292,7 +303,7 @@ module DaytonaApiClient
|
|
|
292
303
|
# Calculates hash code according to all attributes.
|
|
293
304
|
# @return [Integer] Hash code
|
|
294
305
|
def hash
|
|
295
|
-
[id, name, organization_id, region_type, created_at, updated_at, proxy_url, ssh_gateway_url, snapshot_manager_url].hash
|
|
306
|
+
[id, name, organization_id, region_type, created_at, updated_at, proxy_url, ssh_gateway_url, snapshot_manager_url, otel_endpoint].hash
|
|
296
307
|
end
|
|
297
308
|
|
|
298
309
|
# Builds the object from hash
|
|
@@ -48,6 +48,9 @@ module DaytonaApiClient
|
|
|
48
48
|
# Disk maximum per requested GPU unit for GPU sandboxes.
|
|
49
49
|
attr_accessor :max_disk_per_gpu
|
|
50
50
|
|
|
51
|
+
# Maximum sandbox lifespan in minutes, measured from sandbox creation to its auto-destroy deadline. If null or 0, lifespan is unrestricted. When set, sandboxes created without a TTL default to this lifespan and TTL cannot be disabled.
|
|
52
|
+
attr_accessor :max_sandbox_lifespan
|
|
53
|
+
|
|
51
54
|
class EnumAttributeValidator
|
|
52
55
|
attr_reader :datatype
|
|
53
56
|
attr_reader :allowable_values
|
|
@@ -87,7 +90,8 @@ module DaytonaApiClient
|
|
|
87
90
|
:'max_disk_per_non_ephemeral_sandbox' => :'maxDiskPerNonEphemeralSandbox',
|
|
88
91
|
:'max_cpu_per_gpu' => :'maxCpuPerGpu',
|
|
89
92
|
:'max_memory_per_gpu' => :'maxMemoryPerGpu',
|
|
90
|
-
:'max_disk_per_gpu' => :'maxDiskPerGpu'
|
|
93
|
+
:'max_disk_per_gpu' => :'maxDiskPerGpu',
|
|
94
|
+
:'max_sandbox_lifespan' => :'maxSandboxLifespan'
|
|
91
95
|
}
|
|
92
96
|
end
|
|
93
97
|
|
|
@@ -118,7 +122,8 @@ module DaytonaApiClient
|
|
|
118
122
|
:'max_disk_per_non_ephemeral_sandbox' => :'Float',
|
|
119
123
|
:'max_cpu_per_gpu' => :'Float',
|
|
120
124
|
:'max_memory_per_gpu' => :'Float',
|
|
121
|
-
:'max_disk_per_gpu' => :'Float'
|
|
125
|
+
:'max_disk_per_gpu' => :'Float',
|
|
126
|
+
:'max_sandbox_lifespan' => :'Float'
|
|
122
127
|
}
|
|
123
128
|
end
|
|
124
129
|
|
|
@@ -131,7 +136,8 @@ module DaytonaApiClient
|
|
|
131
136
|
:'max_disk_per_non_ephemeral_sandbox',
|
|
132
137
|
:'max_cpu_per_gpu',
|
|
133
138
|
:'max_memory_per_gpu',
|
|
134
|
-
:'max_disk_per_gpu'
|
|
139
|
+
:'max_disk_per_gpu',
|
|
140
|
+
:'max_sandbox_lifespan'
|
|
135
141
|
])
|
|
136
142
|
end
|
|
137
143
|
|
|
@@ -240,6 +246,12 @@ module DaytonaApiClient
|
|
|
240
246
|
else
|
|
241
247
|
self.max_disk_per_gpu = nil
|
|
242
248
|
end
|
|
249
|
+
|
|
250
|
+
if attributes.key?(:'max_sandbox_lifespan')
|
|
251
|
+
self.max_sandbox_lifespan = attributes[:'max_sandbox_lifespan']
|
|
252
|
+
else
|
|
253
|
+
self.max_sandbox_lifespan = nil
|
|
254
|
+
end
|
|
243
255
|
end
|
|
244
256
|
|
|
245
257
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -381,7 +393,8 @@ module DaytonaApiClient
|
|
|
381
393
|
max_disk_per_non_ephemeral_sandbox == o.max_disk_per_non_ephemeral_sandbox &&
|
|
382
394
|
max_cpu_per_gpu == o.max_cpu_per_gpu &&
|
|
383
395
|
max_memory_per_gpu == o.max_memory_per_gpu &&
|
|
384
|
-
max_disk_per_gpu == o.max_disk_per_gpu
|
|
396
|
+
max_disk_per_gpu == o.max_disk_per_gpu &&
|
|
397
|
+
max_sandbox_lifespan == o.max_sandbox_lifespan
|
|
385
398
|
end
|
|
386
399
|
|
|
387
400
|
# @see the `==` method
|
|
@@ -393,7 +406,7 @@ module DaytonaApiClient
|
|
|
393
406
|
# Calculates hash code according to all attributes.
|
|
394
407
|
# @return [Integer] Hash code
|
|
395
408
|
def hash
|
|
396
|
-
[organization_id, region_id, sandbox_class, total_cpu_quota, total_memory_quota, total_disk_quota, total_gpu_quota, allowed_gpu_types, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, max_disk_per_non_ephemeral_sandbox, max_cpu_per_gpu, max_memory_per_gpu, max_disk_per_gpu].hash
|
|
409
|
+
[organization_id, region_id, sandbox_class, total_cpu_quota, total_memory_quota, total_disk_quota, total_gpu_quota, allowed_gpu_types, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, max_disk_per_non_ephemeral_sandbox, max_cpu_per_gpu, max_memory_per_gpu, max_disk_per_gpu, max_sandbox_lifespan].hash
|
|
397
410
|
end
|
|
398
411
|
|
|
399
412
|
# Builds the object from hash
|
|
@@ -48,6 +48,12 @@ module DaytonaApiClient
|
|
|
48
48
|
# Comma-separated list of allowed domains for the sandbox
|
|
49
49
|
attr_accessor :domain_allow_list
|
|
50
50
|
|
|
51
|
+
# Outbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.
|
|
52
|
+
attr_accessor :outbound_proxy_url
|
|
53
|
+
|
|
54
|
+
# OTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.
|
|
55
|
+
attr_accessor :otel_endpoint_override
|
|
56
|
+
|
|
51
57
|
# The target environment for the sandbox
|
|
52
58
|
attr_accessor :target
|
|
53
59
|
|
|
@@ -57,6 +63,12 @@ module DaytonaApiClient
|
|
|
57
63
|
# The GPU quota for the sandbox
|
|
58
64
|
attr_accessor :gpu
|
|
59
65
|
|
|
66
|
+
# Whether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
|
|
67
|
+
attr_accessor :spot
|
|
68
|
+
|
|
69
|
+
# 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
|
+
attr_accessor :spot_evicted_at
|
|
71
|
+
|
|
60
72
|
# The GPU type assigned to the sandbox
|
|
61
73
|
attr_accessor :gpu_type
|
|
62
74
|
|
|
@@ -168,9 +180,13 @@ module DaytonaApiClient
|
|
|
168
180
|
:'network_block_all' => :'networkBlockAll',
|
|
169
181
|
:'network_allow_list' => :'networkAllowList',
|
|
170
182
|
:'domain_allow_list' => :'domainAllowList',
|
|
183
|
+
:'outbound_proxy_url' => :'outboundProxyUrl',
|
|
184
|
+
:'otel_endpoint_override' => :'otelEndpointOverride',
|
|
171
185
|
:'target' => :'target',
|
|
172
186
|
:'cpu' => :'cpu',
|
|
173
187
|
:'gpu' => :'gpu',
|
|
188
|
+
:'spot' => :'spot',
|
|
189
|
+
:'spot_evicted_at' => :'spotEvictedAt',
|
|
174
190
|
:'gpu_type' => :'gpuType',
|
|
175
191
|
:'memory' => :'memory',
|
|
176
192
|
:'disk' => :'disk',
|
|
@@ -223,9 +239,13 @@ module DaytonaApiClient
|
|
|
223
239
|
:'network_block_all' => :'Boolean',
|
|
224
240
|
:'network_allow_list' => :'String',
|
|
225
241
|
:'domain_allow_list' => :'String',
|
|
242
|
+
:'outbound_proxy_url' => :'String',
|
|
243
|
+
:'otel_endpoint_override' => :'String',
|
|
226
244
|
:'target' => :'String',
|
|
227
245
|
:'cpu' => :'Float',
|
|
228
246
|
:'gpu' => :'Float',
|
|
247
|
+
:'spot' => :'Boolean',
|
|
248
|
+
:'spot_evicted_at' => :'String',
|
|
229
249
|
:'gpu_type' => :'GpuType',
|
|
230
250
|
:'memory' => :'Float',
|
|
231
251
|
:'disk' => :'Float',
|
|
@@ -340,6 +360,14 @@ module DaytonaApiClient
|
|
|
340
360
|
self.domain_allow_list = attributes[:'domain_allow_list']
|
|
341
361
|
end
|
|
342
362
|
|
|
363
|
+
if attributes.key?(:'outbound_proxy_url')
|
|
364
|
+
self.outbound_proxy_url = attributes[:'outbound_proxy_url']
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
if attributes.key?(:'otel_endpoint_override')
|
|
368
|
+
self.otel_endpoint_override = attributes[:'otel_endpoint_override']
|
|
369
|
+
end
|
|
370
|
+
|
|
343
371
|
if attributes.key?(:'target')
|
|
344
372
|
self.target = attributes[:'target']
|
|
345
373
|
else
|
|
@@ -358,6 +386,16 @@ module DaytonaApiClient
|
|
|
358
386
|
self.gpu = nil
|
|
359
387
|
end
|
|
360
388
|
|
|
389
|
+
if attributes.key?(:'spot')
|
|
390
|
+
self.spot = attributes[:'spot']
|
|
391
|
+
else
|
|
392
|
+
self.spot = false
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
if attributes.key?(:'spot_evicted_at')
|
|
396
|
+
self.spot_evicted_at = attributes[:'spot_evicted_at']
|
|
397
|
+
end
|
|
398
|
+
|
|
361
399
|
if attributes.key?(:'gpu_type')
|
|
362
400
|
self.gpu_type = attributes[:'gpu_type']
|
|
363
401
|
end
|
|
@@ -732,9 +770,13 @@ module DaytonaApiClient
|
|
|
732
770
|
network_block_all == o.network_block_all &&
|
|
733
771
|
network_allow_list == o.network_allow_list &&
|
|
734
772
|
domain_allow_list == o.domain_allow_list &&
|
|
773
|
+
outbound_proxy_url == o.outbound_proxy_url &&
|
|
774
|
+
otel_endpoint_override == o.otel_endpoint_override &&
|
|
735
775
|
target == o.target &&
|
|
736
776
|
cpu == o.cpu &&
|
|
737
777
|
gpu == o.gpu &&
|
|
778
|
+
spot == o.spot &&
|
|
779
|
+
spot_evicted_at == o.spot_evicted_at &&
|
|
738
780
|
gpu_type == o.gpu_type &&
|
|
739
781
|
memory == o.memory &&
|
|
740
782
|
disk == o.disk &&
|
|
@@ -771,7 +813,7 @@ module DaytonaApiClient
|
|
|
771
813
|
# Calculates hash code according to all attributes.
|
|
772
814
|
# @return [Integer] Hash code
|
|
773
815
|
def hash
|
|
774
|
-
[id, organization_id, name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, target, cpu, gpu, gpu_type, memory, disk, state, desired_state, error_reason, recoverable, warm_pool_id, backup_state, backup_created_at, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, volumes, build_info, created_at, updated_at, last_activity_at, sandbox_class, daemon_version, runner_id, linked_sandbox_id, toolbox_proxy_url].hash
|
|
816
|
+
[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].hash
|
|
775
817
|
end
|
|
776
818
|
|
|
777
819
|
# Builds the object from hash
|
|
@@ -54,12 +54,27 @@ module DaytonaApiClient
|
|
|
54
54
|
# Whether the sandbox http preview is public
|
|
55
55
|
attr_accessor :public
|
|
56
56
|
|
|
57
|
+
# Whether to block all network access for the sandbox
|
|
58
|
+
attr_accessor :network_block_all
|
|
59
|
+
|
|
60
|
+
# Comma-separated list of allowed CIDR network addresses for the sandbox
|
|
61
|
+
attr_accessor :network_allow_list
|
|
62
|
+
|
|
63
|
+
# Comma-separated list of allowed domains for the sandbox
|
|
64
|
+
attr_accessor :domain_allow_list
|
|
65
|
+
|
|
57
66
|
# The CPU quota for the sandbox
|
|
58
67
|
attr_accessor :cpu
|
|
59
68
|
|
|
60
69
|
# The GPU quota for the sandbox
|
|
61
70
|
attr_accessor :gpu
|
|
62
71
|
|
|
72
|
+
# Whether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.
|
|
73
|
+
attr_accessor :spot
|
|
74
|
+
|
|
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
|
+
attr_accessor :spot_evicted_at
|
|
77
|
+
|
|
63
78
|
# The GPU type assigned to the sandbox
|
|
64
79
|
attr_accessor :gpu_type
|
|
65
80
|
|
|
@@ -146,8 +161,13 @@ module DaytonaApiClient
|
|
|
146
161
|
:'error_reason' => :'errorReason',
|
|
147
162
|
:'recoverable' => :'recoverable',
|
|
148
163
|
:'public' => :'public',
|
|
164
|
+
:'network_block_all' => :'networkBlockAll',
|
|
165
|
+
:'network_allow_list' => :'networkAllowList',
|
|
166
|
+
:'domain_allow_list' => :'domainAllowList',
|
|
149
167
|
:'cpu' => :'cpu',
|
|
150
168
|
:'gpu' => :'gpu',
|
|
169
|
+
:'spot' => :'spot',
|
|
170
|
+
:'spot_evicted_at' => :'spotEvictedAt',
|
|
151
171
|
:'gpu_type' => :'gpuType',
|
|
152
172
|
:'memory' => :'memory',
|
|
153
173
|
:'disk' => :'disk',
|
|
@@ -193,8 +213,13 @@ module DaytonaApiClient
|
|
|
193
213
|
:'error_reason' => :'String',
|
|
194
214
|
:'recoverable' => :'Boolean',
|
|
195
215
|
:'public' => :'Boolean',
|
|
216
|
+
:'network_block_all' => :'Boolean',
|
|
217
|
+
:'network_allow_list' => :'String',
|
|
218
|
+
:'domain_allow_list' => :'String',
|
|
196
219
|
:'cpu' => :'Float',
|
|
197
220
|
:'gpu' => :'Float',
|
|
221
|
+
:'spot' => :'Boolean',
|
|
222
|
+
:'spot_evicted_at' => :'String',
|
|
198
223
|
:'gpu_type' => :'GpuType',
|
|
199
224
|
:'memory' => :'Float',
|
|
200
225
|
:'disk' => :'Float',
|
|
@@ -300,6 +325,20 @@ module DaytonaApiClient
|
|
|
300
325
|
self.public = nil
|
|
301
326
|
end
|
|
302
327
|
|
|
328
|
+
if attributes.key?(:'network_block_all')
|
|
329
|
+
self.network_block_all = attributes[:'network_block_all']
|
|
330
|
+
else
|
|
331
|
+
self.network_block_all = nil
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
if attributes.key?(:'network_allow_list')
|
|
335
|
+
self.network_allow_list = attributes[:'network_allow_list']
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
if attributes.key?(:'domain_allow_list')
|
|
339
|
+
self.domain_allow_list = attributes[:'domain_allow_list']
|
|
340
|
+
end
|
|
341
|
+
|
|
303
342
|
if attributes.key?(:'cpu')
|
|
304
343
|
self.cpu = attributes[:'cpu']
|
|
305
344
|
else
|
|
@@ -312,6 +351,16 @@ module DaytonaApiClient
|
|
|
312
351
|
self.gpu = nil
|
|
313
352
|
end
|
|
314
353
|
|
|
354
|
+
if attributes.key?(:'spot')
|
|
355
|
+
self.spot = attributes[:'spot']
|
|
356
|
+
else
|
|
357
|
+
self.spot = false
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
if attributes.key?(:'spot_evicted_at')
|
|
361
|
+
self.spot_evicted_at = attributes[:'spot_evicted_at']
|
|
362
|
+
end
|
|
363
|
+
|
|
315
364
|
if attributes.key?(:'gpu_type')
|
|
316
365
|
self.gpu_type = attributes[:'gpu_type']
|
|
317
366
|
end
|
|
@@ -416,6 +465,10 @@ module DaytonaApiClient
|
|
|
416
465
|
invalid_properties.push('invalid value for "public", public cannot be nil.')
|
|
417
466
|
end
|
|
418
467
|
|
|
468
|
+
if @network_block_all.nil?
|
|
469
|
+
invalid_properties.push('invalid value for "network_block_all", network_block_all cannot be nil.')
|
|
470
|
+
end
|
|
471
|
+
|
|
419
472
|
if @cpu.nil?
|
|
420
473
|
invalid_properties.push('invalid value for "cpu", cpu cannot be nil.')
|
|
421
474
|
end
|
|
@@ -453,6 +506,7 @@ module DaytonaApiClient
|
|
|
453
506
|
return false if @target.nil?
|
|
454
507
|
return false if @user.nil?
|
|
455
508
|
return false if @public.nil?
|
|
509
|
+
return false if @network_block_all.nil?
|
|
456
510
|
return false if @cpu.nil?
|
|
457
511
|
return false if @gpu.nil?
|
|
458
512
|
return false if @memory.nil?
|
|
@@ -524,6 +578,16 @@ module DaytonaApiClient
|
|
|
524
578
|
@public = public
|
|
525
579
|
end
|
|
526
580
|
|
|
581
|
+
# Custom attribute writer method with validation
|
|
582
|
+
# @param [Object] network_block_all Value to be assigned
|
|
583
|
+
def network_block_all=(network_block_all)
|
|
584
|
+
if network_block_all.nil?
|
|
585
|
+
fail ArgumentError, 'network_block_all cannot be nil'
|
|
586
|
+
end
|
|
587
|
+
|
|
588
|
+
@network_block_all = network_block_all
|
|
589
|
+
end
|
|
590
|
+
|
|
527
591
|
# Custom attribute writer method with validation
|
|
528
592
|
# @param [Object] cpu Value to be assigned
|
|
529
593
|
def cpu=(cpu)
|
|
@@ -612,8 +676,13 @@ module DaytonaApiClient
|
|
|
612
676
|
error_reason == o.error_reason &&
|
|
613
677
|
recoverable == o.recoverable &&
|
|
614
678
|
public == o.public &&
|
|
679
|
+
network_block_all == o.network_block_all &&
|
|
680
|
+
network_allow_list == o.network_allow_list &&
|
|
681
|
+
domain_allow_list == o.domain_allow_list &&
|
|
615
682
|
cpu == o.cpu &&
|
|
616
683
|
gpu == o.gpu &&
|
|
684
|
+
spot == o.spot &&
|
|
685
|
+
spot_evicted_at == o.spot_evicted_at &&
|
|
617
686
|
gpu_type == o.gpu_type &&
|
|
618
687
|
memory == o.memory &&
|
|
619
688
|
disk == o.disk &&
|
|
@@ -641,7 +710,7 @@ module DaytonaApiClient
|
|
|
641
710
|
# Calculates hash code according to all attributes.
|
|
642
711
|
# @return [Integer] Hash code
|
|
643
712
|
def hash
|
|
644
|
-
[id, organization_id, name, target, runner_id, sandbox_class, state, desired_state, snapshot, user, error_reason, recoverable, public, cpu, gpu, gpu_type, memory, disk, labels, backup_state, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, auto_destroy_at, created_at, updated_at, last_activity_at, daemon_version, warm_pool_id, toolbox_proxy_url].hash
|
|
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
|
|
645
714
|
end
|
|
646
715
|
|
|
647
716
|
# Builds the object from hash
|