daytona_api_client 0.202.0 → 0.204.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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_sandbox.rb +12 -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_quota.rb +18 -5
- data/lib/daytona_api_client/models/sandbox.rb +11 -1
- data/lib/daytona_api_client/models/sandbox_list_item.rb +48 -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/user.rb +28 -1
- data/lib/daytona_api_client/version.rb +1 -1
- data/lib/daytona_api_client.rb +13 -0
- metadata +14 -1
|
@@ -0,0 +1,269 @@
|
|
|
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 CreateIdentityProvider < ApiModelBase
|
|
18
|
+
# Display name for the identity provider
|
|
19
|
+
attr_accessor :name
|
|
20
|
+
|
|
21
|
+
# OIDC configuration
|
|
22
|
+
attr_accessor :oidc_config
|
|
23
|
+
|
|
24
|
+
# Email domains used for IdP discovery on the login form and to validate the user identity returned by the IdP. Required and must be non-empty unless `allowAnyDomain` is true.
|
|
25
|
+
attr_accessor :email_domains
|
|
26
|
+
|
|
27
|
+
# When true, the IdP accepts any email domain returned by the external provider. Disables the post-callback domain check and allows `emailDomains` to be empty. Only enable for trusted IdPs that strictly control which users can authenticate.
|
|
28
|
+
attr_accessor :allow_any_domain
|
|
29
|
+
|
|
30
|
+
# When true, skip the `email_verified` claim check on SSO logins through this identity provider. Only intended for providers that never emit the claim (e.g. Microsoft Entra ID). Risky: only enable if the IdP strictly controls its users' email addresses.
|
|
31
|
+
attr_accessor :trust_email_verified
|
|
32
|
+
|
|
33
|
+
# Organization role IDs assigned to users who join the organization via SSO through this identity provider. Roles must be global or belong to this organization. Empty (default) grants the lowest access: membership with no resource permissions.
|
|
34
|
+
attr_accessor :default_assigned_role_ids
|
|
35
|
+
|
|
36
|
+
# Whether the identity provider is enabled
|
|
37
|
+
attr_accessor :enabled
|
|
38
|
+
|
|
39
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
40
|
+
def self.attribute_map
|
|
41
|
+
{
|
|
42
|
+
:'name' => :'name',
|
|
43
|
+
:'oidc_config' => :'oidcConfig',
|
|
44
|
+
:'email_domains' => :'emailDomains',
|
|
45
|
+
:'allow_any_domain' => :'allowAnyDomain',
|
|
46
|
+
:'trust_email_verified' => :'trustEmailVerified',
|
|
47
|
+
:'default_assigned_role_ids' => :'defaultAssignedRoleIds',
|
|
48
|
+
:'enabled' => :'enabled'
|
|
49
|
+
}
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Returns attribute mapping this model knows about
|
|
53
|
+
def self.acceptable_attribute_map
|
|
54
|
+
attribute_map
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Returns all the JSON keys this model knows about
|
|
58
|
+
def self.acceptable_attributes
|
|
59
|
+
acceptable_attribute_map.values
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Attribute type mapping.
|
|
63
|
+
def self.openapi_types
|
|
64
|
+
{
|
|
65
|
+
:'name' => :'String',
|
|
66
|
+
:'oidc_config' => :'OidcIdPConfig',
|
|
67
|
+
:'email_domains' => :'Array<String>',
|
|
68
|
+
:'allow_any_domain' => :'Boolean',
|
|
69
|
+
:'trust_email_verified' => :'Boolean',
|
|
70
|
+
:'default_assigned_role_ids' => :'Array<String>',
|
|
71
|
+
:'enabled' => :'Boolean'
|
|
72
|
+
}
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# List of attributes with nullable: true
|
|
76
|
+
def self.openapi_nullable
|
|
77
|
+
Set.new([
|
|
78
|
+
])
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Initializes the object
|
|
82
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
83
|
+
def initialize(attributes = {})
|
|
84
|
+
if (!attributes.is_a?(Hash))
|
|
85
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::CreateIdentityProvider` initialize method"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
89
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
90
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
91
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
92
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::CreateIdentityProvider`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
93
|
+
end
|
|
94
|
+
h[k.to_sym] = v
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if attributes.key?(:'name')
|
|
98
|
+
self.name = attributes[:'name']
|
|
99
|
+
else
|
|
100
|
+
self.name = nil
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
if attributes.key?(:'oidc_config')
|
|
104
|
+
self.oidc_config = attributes[:'oidc_config']
|
|
105
|
+
else
|
|
106
|
+
self.oidc_config = nil
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
if attributes.key?(:'email_domains')
|
|
110
|
+
if (value = attributes[:'email_domains']).is_a?(Array)
|
|
111
|
+
self.email_domains = value
|
|
112
|
+
end
|
|
113
|
+
else
|
|
114
|
+
self.email_domains = nil
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
if attributes.key?(:'allow_any_domain')
|
|
118
|
+
self.allow_any_domain = attributes[:'allow_any_domain']
|
|
119
|
+
else
|
|
120
|
+
self.allow_any_domain = false
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
if attributes.key?(:'trust_email_verified')
|
|
124
|
+
self.trust_email_verified = attributes[:'trust_email_verified']
|
|
125
|
+
else
|
|
126
|
+
self.trust_email_verified = false
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
if attributes.key?(:'default_assigned_role_ids')
|
|
130
|
+
if (value = attributes[:'default_assigned_role_ids']).is_a?(Array)
|
|
131
|
+
self.default_assigned_role_ids = value
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
if attributes.key?(:'enabled')
|
|
136
|
+
self.enabled = attributes[:'enabled']
|
|
137
|
+
else
|
|
138
|
+
self.enabled = true
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
143
|
+
# @return Array for valid properties with the reasons
|
|
144
|
+
def list_invalid_properties
|
|
145
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
146
|
+
invalid_properties = Array.new
|
|
147
|
+
if @name.nil?
|
|
148
|
+
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
if @oidc_config.nil?
|
|
152
|
+
invalid_properties.push('invalid value for "oidc_config", oidc_config cannot be nil.')
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
if @email_domains.nil?
|
|
156
|
+
invalid_properties.push('invalid value for "email_domains", email_domains cannot be nil.')
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
invalid_properties
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# Check to see if the all the properties in the model are valid
|
|
163
|
+
# @return true if the model is valid
|
|
164
|
+
def valid?
|
|
165
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
166
|
+
return false if @name.nil?
|
|
167
|
+
return false if @oidc_config.nil?
|
|
168
|
+
return false if @email_domains.nil?
|
|
169
|
+
true
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Custom attribute writer method with validation
|
|
173
|
+
# @param [Object] name Value to be assigned
|
|
174
|
+
def name=(name)
|
|
175
|
+
if name.nil?
|
|
176
|
+
fail ArgumentError, 'name cannot be nil'
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
@name = name
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Custom attribute writer method with validation
|
|
183
|
+
# @param [Object] oidc_config Value to be assigned
|
|
184
|
+
def oidc_config=(oidc_config)
|
|
185
|
+
if oidc_config.nil?
|
|
186
|
+
fail ArgumentError, 'oidc_config cannot be nil'
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
@oidc_config = oidc_config
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
# Custom attribute writer method with validation
|
|
193
|
+
# @param [Object] email_domains Value to be assigned
|
|
194
|
+
def email_domains=(email_domains)
|
|
195
|
+
if email_domains.nil?
|
|
196
|
+
fail ArgumentError, 'email_domains cannot be nil'
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
@email_domains = email_domains
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Checks equality by comparing each attribute.
|
|
203
|
+
# @param [Object] Object to be compared
|
|
204
|
+
def ==(o)
|
|
205
|
+
return true if self.equal?(o)
|
|
206
|
+
self.class == o.class &&
|
|
207
|
+
name == o.name &&
|
|
208
|
+
oidc_config == o.oidc_config &&
|
|
209
|
+
email_domains == o.email_domains &&
|
|
210
|
+
allow_any_domain == o.allow_any_domain &&
|
|
211
|
+
trust_email_verified == o.trust_email_verified &&
|
|
212
|
+
default_assigned_role_ids == o.default_assigned_role_ids &&
|
|
213
|
+
enabled == o.enabled
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# @see the `==` method
|
|
217
|
+
# @param [Object] Object to be compared
|
|
218
|
+
def eql?(o)
|
|
219
|
+
self == o
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Calculates hash code according to all attributes.
|
|
223
|
+
# @return [Integer] Hash code
|
|
224
|
+
def hash
|
|
225
|
+
[name, oidc_config, email_domains, allow_any_domain, trust_email_verified, default_assigned_role_ids, enabled].hash
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# Builds the object from hash
|
|
229
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
230
|
+
# @return [Object] Returns the model itself
|
|
231
|
+
def self.build_from_hash(attributes)
|
|
232
|
+
return nil unless attributes.is_a?(Hash)
|
|
233
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
234
|
+
transformed_hash = {}
|
|
235
|
+
openapi_types.each_pair do |key, type|
|
|
236
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
237
|
+
transformed_hash["#{key}"] = nil
|
|
238
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
239
|
+
# check to ensure the input is an array given that the attribute
|
|
240
|
+
# is documented as an array but the input is not
|
|
241
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
242
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
243
|
+
end
|
|
244
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
245
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
new(transformed_hash)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# Returns the object in the form of hash
|
|
252
|
+
# @return [Hash] Returns the object in the form of hash
|
|
253
|
+
def to_hash
|
|
254
|
+
hash = {}
|
|
255
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
256
|
+
value = self.send(attr)
|
|
257
|
+
if value.nil?
|
|
258
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
259
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
hash[param] = _to_hash(value)
|
|
263
|
+
end
|
|
264
|
+
hash
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
end
|
|
@@ -44,6 +44,9 @@ module DaytonaApiClient
|
|
|
44
44
|
# Disk maximum per requested GPU unit for GPU sandboxes.
|
|
45
45
|
attr_accessor :max_disk_per_gpu
|
|
46
46
|
|
|
47
|
+
# 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.
|
|
48
|
+
attr_accessor :max_sandbox_lifespan
|
|
49
|
+
|
|
47
50
|
class EnumAttributeValidator
|
|
48
51
|
attr_reader :datatype
|
|
49
52
|
attr_reader :allowable_values
|
|
@@ -81,7 +84,8 @@ module DaytonaApiClient
|
|
|
81
84
|
:'max_disk_per_non_ephemeral_sandbox' => :'maxDiskPerNonEphemeralSandbox',
|
|
82
85
|
:'max_cpu_per_gpu' => :'maxCpuPerGpu',
|
|
83
86
|
:'max_memory_per_gpu' => :'maxMemoryPerGpu',
|
|
84
|
-
:'max_disk_per_gpu' => :'maxDiskPerGpu'
|
|
87
|
+
:'max_disk_per_gpu' => :'maxDiskPerGpu',
|
|
88
|
+
:'max_sandbox_lifespan' => :'maxSandboxLifespan'
|
|
85
89
|
}
|
|
86
90
|
end
|
|
87
91
|
|
|
@@ -110,7 +114,8 @@ module DaytonaApiClient
|
|
|
110
114
|
:'max_disk_per_non_ephemeral_sandbox' => :'Float',
|
|
111
115
|
:'max_cpu_per_gpu' => :'Float',
|
|
112
116
|
:'max_memory_per_gpu' => :'Float',
|
|
113
|
-
:'max_disk_per_gpu' => :'Float'
|
|
117
|
+
:'max_disk_per_gpu' => :'Float',
|
|
118
|
+
:'max_sandbox_lifespan' => :'Float'
|
|
114
119
|
}
|
|
115
120
|
end
|
|
116
121
|
|
|
@@ -124,7 +129,8 @@ module DaytonaApiClient
|
|
|
124
129
|
:'max_disk_per_non_ephemeral_sandbox',
|
|
125
130
|
:'max_cpu_per_gpu',
|
|
126
131
|
:'max_memory_per_gpu',
|
|
127
|
-
:'max_disk_per_gpu'
|
|
132
|
+
:'max_disk_per_gpu',
|
|
133
|
+
:'max_sandbox_lifespan'
|
|
128
134
|
])
|
|
129
135
|
end
|
|
130
136
|
|
|
@@ -207,6 +213,10 @@ module DaytonaApiClient
|
|
|
207
213
|
if attributes.key?(:'max_disk_per_gpu')
|
|
208
214
|
self.max_disk_per_gpu = attributes[:'max_disk_per_gpu']
|
|
209
215
|
end
|
|
216
|
+
|
|
217
|
+
if attributes.key?(:'max_sandbox_lifespan')
|
|
218
|
+
self.max_sandbox_lifespan = attributes[:'max_sandbox_lifespan']
|
|
219
|
+
end
|
|
210
220
|
end
|
|
211
221
|
|
|
212
222
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -316,7 +326,8 @@ module DaytonaApiClient
|
|
|
316
326
|
max_disk_per_non_ephemeral_sandbox == o.max_disk_per_non_ephemeral_sandbox &&
|
|
317
327
|
max_cpu_per_gpu == o.max_cpu_per_gpu &&
|
|
318
328
|
max_memory_per_gpu == o.max_memory_per_gpu &&
|
|
319
|
-
max_disk_per_gpu == o.max_disk_per_gpu
|
|
329
|
+
max_disk_per_gpu == o.max_disk_per_gpu &&
|
|
330
|
+
max_sandbox_lifespan == o.max_sandbox_lifespan
|
|
320
331
|
end
|
|
321
332
|
|
|
322
333
|
# @see the `==` method
|
|
@@ -328,7 +339,7 @@ module DaytonaApiClient
|
|
|
328
339
|
# Calculates hash code according to all attributes.
|
|
329
340
|
# @return [Integer] Hash code
|
|
330
341
|
def hash
|
|
331
|
-
[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
|
|
342
|
+
[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
|
|
332
343
|
end
|
|
333
344
|
|
|
334
345
|
# Builds the object from hash
|
|
@@ -42,6 +42,9 @@ module DaytonaApiClient
|
|
|
42
42
|
# Comma-separated list of allowed domains for the sandbox
|
|
43
43
|
attr_accessor :domain_allow_list
|
|
44
44
|
|
|
45
|
+
# Outbound proxy URL to route the sandbox HTTP(S) traffic through (http or https; credentials may be included in the URL). On its own this is convenience routing, not a security boundary: it is applied by injecting the standard HTTP(S)_PROXY environment variables at creation, so a process that clears those variables egresses directly. Combine with domainAllowList to have web-port (80/443) egress transparently redirected through the proxy chain at the network layer, which cannot be bypassed from inside the sandbox.
|
|
46
|
+
attr_accessor :outbound_proxy_url
|
|
47
|
+
|
|
45
48
|
# The target (region) where the sandbox will be created
|
|
46
49
|
attr_accessor :target
|
|
47
50
|
|
|
@@ -72,7 +75,7 @@ module DaytonaApiClient
|
|
|
72
75
|
# Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)
|
|
73
76
|
attr_accessor :auto_delete_interval
|
|
74
77
|
|
|
75
|
-
# 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.
|
|
78
|
+
# 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.
|
|
76
79
|
attr_accessor :ttl_minutes
|
|
77
80
|
|
|
78
81
|
# Array of volumes to attach to the sandbox
|
|
@@ -99,6 +102,7 @@ module DaytonaApiClient
|
|
|
99
102
|
:'network_block_all' => :'networkBlockAll',
|
|
100
103
|
:'network_allow_list' => :'networkAllowList',
|
|
101
104
|
:'domain_allow_list' => :'domainAllowList',
|
|
105
|
+
:'outbound_proxy_url' => :'outboundProxyUrl',
|
|
102
106
|
:'target' => :'target',
|
|
103
107
|
:'cpu' => :'cpu',
|
|
104
108
|
:'gpu' => :'gpu',
|
|
@@ -139,6 +143,7 @@ module DaytonaApiClient
|
|
|
139
143
|
:'network_block_all' => :'Boolean',
|
|
140
144
|
:'network_allow_list' => :'String',
|
|
141
145
|
:'domain_allow_list' => :'String',
|
|
146
|
+
:'outbound_proxy_url' => :'String',
|
|
142
147
|
:'target' => :'String',
|
|
143
148
|
:'cpu' => :'Integer',
|
|
144
149
|
:'gpu' => :'Integer',
|
|
@@ -219,6 +224,10 @@ module DaytonaApiClient
|
|
|
219
224
|
self.domain_allow_list = attributes[:'domain_allow_list']
|
|
220
225
|
end
|
|
221
226
|
|
|
227
|
+
if attributes.key?(:'outbound_proxy_url')
|
|
228
|
+
self.outbound_proxy_url = attributes[:'outbound_proxy_url']
|
|
229
|
+
end
|
|
230
|
+
|
|
222
231
|
if attributes.key?(:'target')
|
|
223
232
|
self.target = attributes[:'target']
|
|
224
233
|
end
|
|
@@ -315,6 +324,7 @@ module DaytonaApiClient
|
|
|
315
324
|
network_block_all == o.network_block_all &&
|
|
316
325
|
network_allow_list == o.network_allow_list &&
|
|
317
326
|
domain_allow_list == o.domain_allow_list &&
|
|
327
|
+
outbound_proxy_url == o.outbound_proxy_url &&
|
|
318
328
|
target == o.target &&
|
|
319
329
|
cpu == o.cpu &&
|
|
320
330
|
gpu == o.gpu &&
|
|
@@ -341,7 +351,7 @@ module DaytonaApiClient
|
|
|
341
351
|
# Calculates hash code according to all attributes.
|
|
342
352
|
# @return [Integer] Hash code
|
|
343
353
|
def hash
|
|
344
|
-
[name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, target, cpu, gpu, gpu_type, memory, disk, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, ttl_minutes, volumes, build_info, linked_sandbox, secrets].hash
|
|
354
|
+
[name, snapshot, user, env, labels, public, network_block_all, network_allow_list, domain_allow_list, outbound_proxy_url, target, cpu, gpu, gpu_type, memory, disk, auto_stop_interval, auto_pause_interval, auto_archive_interval, auto_delete_interval, ttl_minutes, volumes, build_info, linked_sandbox, secrets].hash
|
|
345
355
|
end
|
|
346
356
|
|
|
347
357
|
# Builds the object from hash
|
|
@@ -29,6 +29,9 @@ module DaytonaApiClient
|
|
|
29
29
|
|
|
30
30
|
attr_accessor :email_verified
|
|
31
31
|
|
|
32
|
+
# Provenance of the email verification. Defaults to auth0 when emailVerified is true and unset.
|
|
33
|
+
attr_accessor :email_verified_source
|
|
34
|
+
|
|
32
35
|
class EnumAttributeValidator
|
|
33
36
|
attr_reader :datatype
|
|
34
37
|
attr_reader :allowable_values
|
|
@@ -60,7 +63,8 @@ module DaytonaApiClient
|
|
|
60
63
|
:'personal_organization_quota' => :'personalOrganizationQuota',
|
|
61
64
|
:'personal_organization_default_region_id' => :'personalOrganizationDefaultRegionId',
|
|
62
65
|
:'role' => :'role',
|
|
63
|
-
:'email_verified' => :'emailVerified'
|
|
66
|
+
:'email_verified' => :'emailVerified',
|
|
67
|
+
:'email_verified_source' => :'emailVerifiedSource'
|
|
64
68
|
}
|
|
65
69
|
end
|
|
66
70
|
|
|
@@ -83,7 +87,8 @@ module DaytonaApiClient
|
|
|
83
87
|
:'personal_organization_quota' => :'CreateOrganizationQuota',
|
|
84
88
|
:'personal_organization_default_region_id' => :'String',
|
|
85
89
|
:'role' => :'String',
|
|
86
|
-
:'email_verified' => :'Boolean'
|
|
90
|
+
:'email_verified' => :'Boolean',
|
|
91
|
+
:'email_verified_source' => :'String'
|
|
87
92
|
}
|
|
88
93
|
end
|
|
89
94
|
|
|
@@ -111,8 +116,6 @@ module DaytonaApiClient
|
|
|
111
116
|
|
|
112
117
|
if attributes.key?(:'id')
|
|
113
118
|
self.id = attributes[:'id']
|
|
114
|
-
else
|
|
115
|
-
self.id = nil
|
|
116
119
|
end
|
|
117
120
|
|
|
118
121
|
if attributes.key?(:'name')
|
|
@@ -140,6 +143,10 @@ module DaytonaApiClient
|
|
|
140
143
|
if attributes.key?(:'email_verified')
|
|
141
144
|
self.email_verified = attributes[:'email_verified']
|
|
142
145
|
end
|
|
146
|
+
|
|
147
|
+
if attributes.key?(:'email_verified_source')
|
|
148
|
+
self.email_verified_source = attributes[:'email_verified_source']
|
|
149
|
+
end
|
|
143
150
|
end
|
|
144
151
|
|
|
145
152
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -147,10 +154,6 @@ module DaytonaApiClient
|
|
|
147
154
|
def list_invalid_properties
|
|
148
155
|
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
149
156
|
invalid_properties = Array.new
|
|
150
|
-
if @id.nil?
|
|
151
|
-
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
152
|
-
end
|
|
153
|
-
|
|
154
157
|
if @name.nil?
|
|
155
158
|
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
|
156
159
|
end
|
|
@@ -162,23 +165,14 @@ module DaytonaApiClient
|
|
|
162
165
|
# @return true if the model is valid
|
|
163
166
|
def valid?
|
|
164
167
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
165
|
-
return false if @id.nil?
|
|
166
168
|
return false if @name.nil?
|
|
167
169
|
role_validator = EnumAttributeValidator.new('String', ["admin", "user", "unknown_default_open_api"])
|
|
168
170
|
return false unless role_validator.valid?(@role)
|
|
171
|
+
email_verified_source_validator = EnumAttributeValidator.new('String', ["auth0", "admin", "sso", "unknown_default_open_api"])
|
|
172
|
+
return false unless email_verified_source_validator.valid?(@email_verified_source)
|
|
169
173
|
true
|
|
170
174
|
end
|
|
171
175
|
|
|
172
|
-
# Custom attribute writer method with validation
|
|
173
|
-
# @param [Object] id Value to be assigned
|
|
174
|
-
def id=(id)
|
|
175
|
-
if id.nil?
|
|
176
|
-
fail ArgumentError, 'id cannot be nil'
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
@id = id
|
|
180
|
-
end
|
|
181
|
-
|
|
182
176
|
# Custom attribute writer method with validation
|
|
183
177
|
# @param [Object] name Value to be assigned
|
|
184
178
|
def name=(name)
|
|
@@ -199,6 +193,16 @@ module DaytonaApiClient
|
|
|
199
193
|
@role = role
|
|
200
194
|
end
|
|
201
195
|
|
|
196
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
197
|
+
# @param [Object] email_verified_source Object to be assigned
|
|
198
|
+
def email_verified_source=(email_verified_source)
|
|
199
|
+
validator = EnumAttributeValidator.new('String', ["auth0", "admin", "sso", "unknown_default_open_api"])
|
|
200
|
+
unless validator.valid?(email_verified_source)
|
|
201
|
+
fail ArgumentError, "invalid value for \"email_verified_source\", must be one of #{validator.allowable_values}."
|
|
202
|
+
end
|
|
203
|
+
@email_verified_source = email_verified_source
|
|
204
|
+
end
|
|
205
|
+
|
|
202
206
|
# Checks equality by comparing each attribute.
|
|
203
207
|
# @param [Object] Object to be compared
|
|
204
208
|
def ==(o)
|
|
@@ -210,7 +214,8 @@ module DaytonaApiClient
|
|
|
210
214
|
personal_organization_quota == o.personal_organization_quota &&
|
|
211
215
|
personal_organization_default_region_id == o.personal_organization_default_region_id &&
|
|
212
216
|
role == o.role &&
|
|
213
|
-
email_verified == o.email_verified
|
|
217
|
+
email_verified == o.email_verified &&
|
|
218
|
+
email_verified_source == o.email_verified_source
|
|
214
219
|
end
|
|
215
220
|
|
|
216
221
|
# @see the `==` method
|
|
@@ -222,7 +227,7 @@ module DaytonaApiClient
|
|
|
222
227
|
# Calculates hash code according to all attributes.
|
|
223
228
|
# @return [Integer] Hash code
|
|
224
229
|
def hash
|
|
225
|
-
[id, name, email, personal_organization_quota, personal_organization_default_region_id, role, email_verified].hash
|
|
230
|
+
[id, name, email, personal_organization_quota, personal_organization_default_region_id, role, email_verified, email_verified_source].hash
|
|
226
231
|
end
|
|
227
232
|
|
|
228
233
|
# Builds the object from hash
|
|
@@ -18,12 +18,21 @@ module DaytonaApiClient
|
|
|
18
18
|
# Daytona version
|
|
19
19
|
attr_accessor :version
|
|
20
20
|
|
|
21
|
+
# Commit sha of the source the app was built from
|
|
22
|
+
attr_accessor :build_sha
|
|
23
|
+
|
|
21
24
|
# PostHog configuration
|
|
22
25
|
attr_accessor :posthog
|
|
23
26
|
|
|
24
27
|
# OIDC configuration
|
|
25
28
|
attr_accessor :oidc
|
|
26
29
|
|
|
30
|
+
# OIDC configuration for org-SSO logins (Daytona Auth issuer). Present only when the dual-issuer setup is configured; the dashboard uses it as its authority when entered via an organization SSO link.
|
|
31
|
+
attr_accessor :sso_oidc
|
|
32
|
+
|
|
33
|
+
# Feature flags forced on for this deployment regardless of PostHog targeting. Lets environments without PostHog (previews, local dev) enable flag-gated dashboard features.
|
|
34
|
+
attr_accessor :forced_feature_flags
|
|
35
|
+
|
|
27
36
|
# Whether linked accounts are enabled
|
|
28
37
|
attr_accessor :linked_accounts_enabled
|
|
29
38
|
|
|
@@ -76,8 +85,11 @@ module DaytonaApiClient
|
|
|
76
85
|
def self.attribute_map
|
|
77
86
|
{
|
|
78
87
|
:'version' => :'version',
|
|
88
|
+
:'build_sha' => :'buildSha',
|
|
79
89
|
:'posthog' => :'posthog',
|
|
80
90
|
:'oidc' => :'oidc',
|
|
91
|
+
:'sso_oidc' => :'ssoOidc',
|
|
92
|
+
:'forced_feature_flags' => :'forcedFeatureFlags',
|
|
81
93
|
:'linked_accounts_enabled' => :'linkedAccountsEnabled',
|
|
82
94
|
:'announcements' => :'announcements',
|
|
83
95
|
:'pylon_app_id' => :'pylonAppId',
|
|
@@ -111,8 +123,11 @@ module DaytonaApiClient
|
|
|
111
123
|
def self.openapi_types
|
|
112
124
|
{
|
|
113
125
|
:'version' => :'String',
|
|
126
|
+
:'build_sha' => :'String',
|
|
114
127
|
:'posthog' => :'PosthogConfig',
|
|
115
128
|
:'oidc' => :'OidcConfig',
|
|
129
|
+
:'sso_oidc' => :'SsoOidcConfig',
|
|
130
|
+
:'forced_feature_flags' => :'Array<String>',
|
|
116
131
|
:'linked_accounts_enabled' => :'Boolean',
|
|
117
132
|
:'announcements' => :'Hash<String, Announcement>',
|
|
118
133
|
:'pylon_app_id' => :'String',
|
|
@@ -160,6 +175,10 @@ module DaytonaApiClient
|
|
|
160
175
|
self.version = nil
|
|
161
176
|
end
|
|
162
177
|
|
|
178
|
+
if attributes.key?(:'build_sha')
|
|
179
|
+
self.build_sha = attributes[:'build_sha']
|
|
180
|
+
end
|
|
181
|
+
|
|
163
182
|
if attributes.key?(:'posthog')
|
|
164
183
|
self.posthog = attributes[:'posthog']
|
|
165
184
|
end
|
|
@@ -170,6 +189,16 @@ module DaytonaApiClient
|
|
|
170
189
|
self.oidc = nil
|
|
171
190
|
end
|
|
172
191
|
|
|
192
|
+
if attributes.key?(:'sso_oidc')
|
|
193
|
+
self.sso_oidc = attributes[:'sso_oidc']
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
if attributes.key?(:'forced_feature_flags')
|
|
197
|
+
if (value = attributes[:'forced_feature_flags']).is_a?(Array)
|
|
198
|
+
self.forced_feature_flags = value
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
173
202
|
if attributes.key?(:'linked_accounts_enabled')
|
|
174
203
|
self.linked_accounts_enabled = attributes[:'linked_accounts_enabled']
|
|
175
204
|
else
|
|
@@ -441,8 +470,11 @@ module DaytonaApiClient
|
|
|
441
470
|
return true if self.equal?(o)
|
|
442
471
|
self.class == o.class &&
|
|
443
472
|
version == o.version &&
|
|
473
|
+
build_sha == o.build_sha &&
|
|
444
474
|
posthog == o.posthog &&
|
|
445
475
|
oidc == o.oidc &&
|
|
476
|
+
sso_oidc == o.sso_oidc &&
|
|
477
|
+
forced_feature_flags == o.forced_feature_flags &&
|
|
446
478
|
linked_accounts_enabled == o.linked_accounts_enabled &&
|
|
447
479
|
announcements == o.announcements &&
|
|
448
480
|
pylon_app_id == o.pylon_app_id &&
|
|
@@ -470,7 +502,7 @@ module DaytonaApiClient
|
|
|
470
502
|
# Calculates hash code according to all attributes.
|
|
471
503
|
# @return [Integer] Hash code
|
|
472
504
|
def hash
|
|
473
|
-
[version, posthog, oidc, linked_accounts_enabled, announcements, pylon_app_id, proxy_template_url, proxy_toolbox_url, default_snapshot, dashboard_url, max_auto_archive_interval, maintanance_mode, environment, billing_api_url, analytics_api_url, stripe_publishable_key, ssh_gateway_command, ssh_gateway_public_key, rate_limit].hash
|
|
505
|
+
[version, build_sha, posthog, oidc, sso_oidc, forced_feature_flags, linked_accounts_enabled, announcements, pylon_app_id, proxy_template_url, proxy_toolbox_url, default_snapshot, dashboard_url, max_auto_archive_interval, maintanance_mode, environment, billing_api_url, analytics_api_url, stripe_publishable_key, ssh_gateway_command, ssh_gateway_public_key, rate_limit].hash
|
|
474
506
|
end
|
|
475
507
|
|
|
476
508
|
# Builds the object from hash
|