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,212 @@
|
|
|
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 UpdateIdentityProvider < 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. If provided and `allowAnyDomain` is not being set to true, must contain at least one domain. To clear domains in the same request, set `allowAnyDomain: true` and `emailDomains: []`.
|
|
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 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' => :'UpdateOidcIdPConfig',
|
|
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::UpdateIdentityProvider` 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::UpdateIdentityProvider`. 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
|
+
end
|
|
100
|
+
|
|
101
|
+
if attributes.key?(:'oidc_config')
|
|
102
|
+
self.oidc_config = attributes[:'oidc_config']
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
if attributes.key?(:'email_domains')
|
|
106
|
+
if (value = attributes[:'email_domains']).is_a?(Array)
|
|
107
|
+
self.email_domains = value
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
if attributes.key?(:'allow_any_domain')
|
|
112
|
+
self.allow_any_domain = attributes[:'allow_any_domain']
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
if attributes.key?(:'trust_email_verified')
|
|
116
|
+
self.trust_email_verified = attributes[:'trust_email_verified']
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
if attributes.key?(:'default_assigned_role_ids')
|
|
120
|
+
if (value = attributes[:'default_assigned_role_ids']).is_a?(Array)
|
|
121
|
+
self.default_assigned_role_ids = value
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
if attributes.key?(:'enabled')
|
|
126
|
+
self.enabled = attributes[:'enabled']
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
131
|
+
# @return Array for valid properties with the reasons
|
|
132
|
+
def list_invalid_properties
|
|
133
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
134
|
+
invalid_properties = Array.new
|
|
135
|
+
invalid_properties
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Check to see if the all the properties in the model are valid
|
|
139
|
+
# @return true if the model is valid
|
|
140
|
+
def valid?
|
|
141
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
142
|
+
true
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Checks equality by comparing each attribute.
|
|
146
|
+
# @param [Object] Object to be compared
|
|
147
|
+
def ==(o)
|
|
148
|
+
return true if self.equal?(o)
|
|
149
|
+
self.class == o.class &&
|
|
150
|
+
name == o.name &&
|
|
151
|
+
oidc_config == o.oidc_config &&
|
|
152
|
+
email_domains == o.email_domains &&
|
|
153
|
+
allow_any_domain == o.allow_any_domain &&
|
|
154
|
+
trust_email_verified == o.trust_email_verified &&
|
|
155
|
+
default_assigned_role_ids == o.default_assigned_role_ids &&
|
|
156
|
+
enabled == o.enabled
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# @see the `==` method
|
|
160
|
+
# @param [Object] Object to be compared
|
|
161
|
+
def eql?(o)
|
|
162
|
+
self == o
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Calculates hash code according to all attributes.
|
|
166
|
+
# @return [Integer] Hash code
|
|
167
|
+
def hash
|
|
168
|
+
[name, oidc_config, email_domains, allow_any_domain, trust_email_verified, default_assigned_role_ids, enabled].hash
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Builds the object from hash
|
|
172
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
173
|
+
# @return [Object] Returns the model itself
|
|
174
|
+
def self.build_from_hash(attributes)
|
|
175
|
+
return nil unless attributes.is_a?(Hash)
|
|
176
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
177
|
+
transformed_hash = {}
|
|
178
|
+
openapi_types.each_pair do |key, type|
|
|
179
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
180
|
+
transformed_hash["#{key}"] = nil
|
|
181
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
182
|
+
# check to ensure the input is an array given that the attribute
|
|
183
|
+
# is documented as an array but the input is not
|
|
184
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
185
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
186
|
+
end
|
|
187
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
188
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
new(transformed_hash)
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Returns the object in the form of hash
|
|
195
|
+
# @return [Hash] Returns the object in the form of hash
|
|
196
|
+
def to_hash
|
|
197
|
+
hash = {}
|
|
198
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
199
|
+
value = self.send(attr)
|
|
200
|
+
if value.nil?
|
|
201
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
202
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
hash[param] = _to_hash(value)
|
|
206
|
+
end
|
|
207
|
+
hash
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
end
|
|
@@ -0,0 +1,178 @@
|
|
|
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 UpdateOidcIdPConfig < ApiModelBase
|
|
18
|
+
# OIDC Issuer URL
|
|
19
|
+
attr_accessor :issuer_url
|
|
20
|
+
|
|
21
|
+
# OAuth Client ID
|
|
22
|
+
attr_accessor :client_id
|
|
23
|
+
|
|
24
|
+
# OAuth Client Secret
|
|
25
|
+
attr_accessor :client_secret
|
|
26
|
+
|
|
27
|
+
# OAuth scopes
|
|
28
|
+
attr_accessor :scope
|
|
29
|
+
|
|
30
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
31
|
+
def self.attribute_map
|
|
32
|
+
{
|
|
33
|
+
:'issuer_url' => :'issuerUrl',
|
|
34
|
+
:'client_id' => :'clientId',
|
|
35
|
+
:'client_secret' => :'clientSecret',
|
|
36
|
+
:'scope' => :'scope'
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Returns attribute mapping this model knows about
|
|
41
|
+
def self.acceptable_attribute_map
|
|
42
|
+
attribute_map
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Returns all the JSON keys this model knows about
|
|
46
|
+
def self.acceptable_attributes
|
|
47
|
+
acceptable_attribute_map.values
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Attribute type mapping.
|
|
51
|
+
def self.openapi_types
|
|
52
|
+
{
|
|
53
|
+
:'issuer_url' => :'String',
|
|
54
|
+
:'client_id' => :'String',
|
|
55
|
+
:'client_secret' => :'String',
|
|
56
|
+
:'scope' => :'String'
|
|
57
|
+
}
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# List of attributes with nullable: true
|
|
61
|
+
def self.openapi_nullable
|
|
62
|
+
Set.new([
|
|
63
|
+
])
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Initializes the object
|
|
67
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
68
|
+
def initialize(attributes = {})
|
|
69
|
+
if (!attributes.is_a?(Hash))
|
|
70
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::UpdateOidcIdPConfig` initialize method"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
74
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
75
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
76
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
77
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::UpdateOidcIdPConfig`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
78
|
+
end
|
|
79
|
+
h[k.to_sym] = v
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if attributes.key?(:'issuer_url')
|
|
83
|
+
self.issuer_url = attributes[:'issuer_url']
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
if attributes.key?(:'client_id')
|
|
87
|
+
self.client_id = attributes[:'client_id']
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'client_secret')
|
|
91
|
+
self.client_secret = attributes[:'client_secret']
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'scope')
|
|
95
|
+
self.scope = attributes[:'scope']
|
|
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
|
+
invalid_properties
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Check to see if the all the properties in the model are valid
|
|
108
|
+
# @return true if the model is valid
|
|
109
|
+
def valid?
|
|
110
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
111
|
+
true
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Checks equality by comparing each attribute.
|
|
115
|
+
# @param [Object] Object to be compared
|
|
116
|
+
def ==(o)
|
|
117
|
+
return true if self.equal?(o)
|
|
118
|
+
self.class == o.class &&
|
|
119
|
+
issuer_url == o.issuer_url &&
|
|
120
|
+
client_id == o.client_id &&
|
|
121
|
+
client_secret == o.client_secret &&
|
|
122
|
+
scope == o.scope
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# @see the `==` method
|
|
126
|
+
# @param [Object] Object to be compared
|
|
127
|
+
def eql?(o)
|
|
128
|
+
self == o
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# Calculates hash code according to all attributes.
|
|
132
|
+
# @return [Integer] Hash code
|
|
133
|
+
def hash
|
|
134
|
+
[issuer_url, client_id, client_secret, scope].hash
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Builds the object from hash
|
|
138
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
139
|
+
# @return [Object] Returns the model itself
|
|
140
|
+
def self.build_from_hash(attributes)
|
|
141
|
+
return nil unless attributes.is_a?(Hash)
|
|
142
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
143
|
+
transformed_hash = {}
|
|
144
|
+
openapi_types.each_pair do |key, type|
|
|
145
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
146
|
+
transformed_hash["#{key}"] = nil
|
|
147
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
148
|
+
# check to ensure the input is an array given that the attribute
|
|
149
|
+
# is documented as an array but the input is not
|
|
150
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
151
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
152
|
+
end
|
|
153
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
154
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
new(transformed_hash)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Returns the object in the form of hash
|
|
161
|
+
# @return [Hash] Returns the object in the form of hash
|
|
162
|
+
def to_hash
|
|
163
|
+
hash = {}
|
|
164
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
165
|
+
value = self.send(attr)
|
|
166
|
+
if value.nil?
|
|
167
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
168
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
hash[param] = _to_hash(value)
|
|
172
|
+
end
|
|
173
|
+
hash
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
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
|
|
|
@@ -128,7 +133,8 @@ module DaytonaApiClient
|
|
|
128
133
|
:'max_disk_per_non_ephemeral_sandbox',
|
|
129
134
|
:'max_cpu_per_gpu',
|
|
130
135
|
:'max_memory_per_gpu',
|
|
131
|
-
:'max_disk_per_gpu'
|
|
136
|
+
:'max_disk_per_gpu',
|
|
137
|
+
:'max_sandbox_lifespan'
|
|
132
138
|
])
|
|
133
139
|
end
|
|
134
140
|
|
|
@@ -209,6 +215,10 @@ module DaytonaApiClient
|
|
|
209
215
|
if attributes.key?(:'max_disk_per_gpu')
|
|
210
216
|
self.max_disk_per_gpu = attributes[:'max_disk_per_gpu']
|
|
211
217
|
end
|
|
218
|
+
|
|
219
|
+
if attributes.key?(:'max_sandbox_lifespan')
|
|
220
|
+
self.max_sandbox_lifespan = attributes[:'max_sandbox_lifespan']
|
|
221
|
+
end
|
|
212
222
|
end
|
|
213
223
|
|
|
214
224
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -243,7 +253,8 @@ module DaytonaApiClient
|
|
|
243
253
|
max_disk_per_non_ephemeral_sandbox == o.max_disk_per_non_ephemeral_sandbox &&
|
|
244
254
|
max_cpu_per_gpu == o.max_cpu_per_gpu &&
|
|
245
255
|
max_memory_per_gpu == o.max_memory_per_gpu &&
|
|
246
|
-
max_disk_per_gpu == o.max_disk_per_gpu
|
|
256
|
+
max_disk_per_gpu == o.max_disk_per_gpu &&
|
|
257
|
+
max_sandbox_lifespan == o.max_sandbox_lifespan
|
|
247
258
|
end
|
|
248
259
|
|
|
249
260
|
# @see the `==` method
|
|
@@ -255,7 +266,7 @@ module DaytonaApiClient
|
|
|
255
266
|
# Calculates hash code according to all attributes.
|
|
256
267
|
# @return [Integer] Hash code
|
|
257
268
|
def hash
|
|
258
|
-
[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
|
|
269
|
+
[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
|
|
259
270
|
end
|
|
260
271
|
|
|
261
272
|
# Builds the object from hash
|
|
@@ -24,12 +24,16 @@ module DaytonaApiClient
|
|
|
24
24
|
# Snapshot Manager URL for the region
|
|
25
25
|
attr_accessor :snapshot_manager_url
|
|
26
26
|
|
|
27
|
+
# 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.
|
|
28
|
+
attr_accessor :otel_endpoint
|
|
29
|
+
|
|
27
30
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
28
31
|
def self.attribute_map
|
|
29
32
|
{
|
|
30
33
|
:'proxy_url' => :'proxyUrl',
|
|
31
34
|
:'ssh_gateway_url' => :'sshGatewayUrl',
|
|
32
|
-
:'snapshot_manager_url' => :'snapshotManagerUrl'
|
|
35
|
+
:'snapshot_manager_url' => :'snapshotManagerUrl',
|
|
36
|
+
:'otel_endpoint' => :'otelEndpoint'
|
|
33
37
|
}
|
|
34
38
|
end
|
|
35
39
|
|
|
@@ -48,7 +52,8 @@ module DaytonaApiClient
|
|
|
48
52
|
{
|
|
49
53
|
:'proxy_url' => :'String',
|
|
50
54
|
:'ssh_gateway_url' => :'String',
|
|
51
|
-
:'snapshot_manager_url' => :'String'
|
|
55
|
+
:'snapshot_manager_url' => :'String',
|
|
56
|
+
:'otel_endpoint' => :'String'
|
|
52
57
|
}
|
|
53
58
|
end
|
|
54
59
|
|
|
@@ -57,7 +62,8 @@ module DaytonaApiClient
|
|
|
57
62
|
Set.new([
|
|
58
63
|
:'proxy_url',
|
|
59
64
|
:'ssh_gateway_url',
|
|
60
|
-
:'snapshot_manager_url'
|
|
65
|
+
:'snapshot_manager_url',
|
|
66
|
+
:'otel_endpoint'
|
|
61
67
|
])
|
|
62
68
|
end
|
|
63
69
|
|
|
@@ -88,6 +94,10 @@ module DaytonaApiClient
|
|
|
88
94
|
if attributes.key?(:'snapshot_manager_url')
|
|
89
95
|
self.snapshot_manager_url = attributes[:'snapshot_manager_url']
|
|
90
96
|
end
|
|
97
|
+
|
|
98
|
+
if attributes.key?(:'otel_endpoint')
|
|
99
|
+
self.otel_endpoint = attributes[:'otel_endpoint']
|
|
100
|
+
end
|
|
91
101
|
end
|
|
92
102
|
|
|
93
103
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -112,7 +122,8 @@ module DaytonaApiClient
|
|
|
112
122
|
self.class == o.class &&
|
|
113
123
|
proxy_url == o.proxy_url &&
|
|
114
124
|
ssh_gateway_url == o.ssh_gateway_url &&
|
|
115
|
-
snapshot_manager_url == o.snapshot_manager_url
|
|
125
|
+
snapshot_manager_url == o.snapshot_manager_url &&
|
|
126
|
+
otel_endpoint == o.otel_endpoint
|
|
116
127
|
end
|
|
117
128
|
|
|
118
129
|
# @see the `==` method
|
|
@@ -124,7 +135,7 @@ module DaytonaApiClient
|
|
|
124
135
|
# Calculates hash code according to all attributes.
|
|
125
136
|
# @return [Integer] Hash code
|
|
126
137
|
def hash
|
|
127
|
-
[proxy_url, ssh_gateway_url, snapshot_manager_url].hash
|
|
138
|
+
[proxy_url, ssh_gateway_url, snapshot_manager_url, otel_endpoint].hash
|
|
128
139
|
end
|
|
129
140
|
|
|
130
141
|
# Builds the object from hash
|
|
@@ -24,6 +24,12 @@ module DaytonaApiClient
|
|
|
24
24
|
# User email
|
|
25
25
|
attr_accessor :email
|
|
26
26
|
|
|
27
|
+
# Whether the user email address has been verified
|
|
28
|
+
attr_accessor :email_verified
|
|
29
|
+
|
|
30
|
+
# HMAC of the user email for Pylon support-widget identity verification
|
|
31
|
+
attr_accessor :pylon_email_hash
|
|
32
|
+
|
|
27
33
|
# User public keys
|
|
28
34
|
attr_accessor :public_keys
|
|
29
35
|
|
|
@@ -36,6 +42,8 @@ module DaytonaApiClient
|
|
|
36
42
|
:'id' => :'id',
|
|
37
43
|
:'name' => :'name',
|
|
38
44
|
:'email' => :'email',
|
|
45
|
+
:'email_verified' => :'emailVerified',
|
|
46
|
+
:'pylon_email_hash' => :'pylonEmailHash',
|
|
39
47
|
:'public_keys' => :'publicKeys',
|
|
40
48
|
:'created_at' => :'createdAt'
|
|
41
49
|
}
|
|
@@ -57,6 +65,8 @@ module DaytonaApiClient
|
|
|
57
65
|
:'id' => :'String',
|
|
58
66
|
:'name' => :'String',
|
|
59
67
|
:'email' => :'String',
|
|
68
|
+
:'email_verified' => :'Boolean',
|
|
69
|
+
:'pylon_email_hash' => :'String',
|
|
60
70
|
:'public_keys' => :'Array<UserPublicKey>',
|
|
61
71
|
:'created_at' => :'Time'
|
|
62
72
|
}
|
|
@@ -102,6 +112,16 @@ module DaytonaApiClient
|
|
|
102
112
|
self.email = nil
|
|
103
113
|
end
|
|
104
114
|
|
|
115
|
+
if attributes.key?(:'email_verified')
|
|
116
|
+
self.email_verified = attributes[:'email_verified']
|
|
117
|
+
else
|
|
118
|
+
self.email_verified = nil
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
if attributes.key?(:'pylon_email_hash')
|
|
122
|
+
self.pylon_email_hash = attributes[:'pylon_email_hash']
|
|
123
|
+
end
|
|
124
|
+
|
|
105
125
|
if attributes.key?(:'public_keys')
|
|
106
126
|
if (value = attributes[:'public_keys']).is_a?(Array)
|
|
107
127
|
self.public_keys = value
|
|
@@ -134,6 +154,10 @@ module DaytonaApiClient
|
|
|
134
154
|
invalid_properties.push('invalid value for "email", email cannot be nil.')
|
|
135
155
|
end
|
|
136
156
|
|
|
157
|
+
if @email_verified.nil?
|
|
158
|
+
invalid_properties.push('invalid value for "email_verified", email_verified cannot be nil.')
|
|
159
|
+
end
|
|
160
|
+
|
|
137
161
|
if @public_keys.nil?
|
|
138
162
|
invalid_properties.push('invalid value for "public_keys", public_keys cannot be nil.')
|
|
139
163
|
end
|
|
@@ -152,6 +176,7 @@ module DaytonaApiClient
|
|
|
152
176
|
return false if @id.nil?
|
|
153
177
|
return false if @name.nil?
|
|
154
178
|
return false if @email.nil?
|
|
179
|
+
return false if @email_verified.nil?
|
|
155
180
|
return false if @public_keys.nil?
|
|
156
181
|
return false if @created_at.nil?
|
|
157
182
|
true
|
|
@@ -187,6 +212,16 @@ module DaytonaApiClient
|
|
|
187
212
|
@email = email
|
|
188
213
|
end
|
|
189
214
|
|
|
215
|
+
# Custom attribute writer method with validation
|
|
216
|
+
# @param [Object] email_verified Value to be assigned
|
|
217
|
+
def email_verified=(email_verified)
|
|
218
|
+
if email_verified.nil?
|
|
219
|
+
fail ArgumentError, 'email_verified cannot be nil'
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
@email_verified = email_verified
|
|
223
|
+
end
|
|
224
|
+
|
|
190
225
|
# Custom attribute writer method with validation
|
|
191
226
|
# @param [Object] public_keys Value to be assigned
|
|
192
227
|
def public_keys=(public_keys)
|
|
@@ -215,6 +250,8 @@ module DaytonaApiClient
|
|
|
215
250
|
id == o.id &&
|
|
216
251
|
name == o.name &&
|
|
217
252
|
email == o.email &&
|
|
253
|
+
email_verified == o.email_verified &&
|
|
254
|
+
pylon_email_hash == o.pylon_email_hash &&
|
|
218
255
|
public_keys == o.public_keys &&
|
|
219
256
|
created_at == o.created_at
|
|
220
257
|
end
|
|
@@ -228,7 +265,7 @@ module DaytonaApiClient
|
|
|
228
265
|
# Calculates hash code according to all attributes.
|
|
229
266
|
# @return [Integer] Hash code
|
|
230
267
|
def hash
|
|
231
|
-
[id, name, email, public_keys, created_at].hash
|
|
268
|
+
[id, name, email, email_verified, pylon_email_hash, public_keys, created_at].hash
|
|
232
269
|
end
|
|
233
270
|
|
|
234
271
|
# Builds the object from hash
|