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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.openapi-generator/FILES +13 -0
  3. data/lib/daytona_api_client/api/admin_api.rb +3 -0
  4. data/lib/daytona_api_client/api/audit_api.rb +57 -0
  5. data/lib/daytona_api_client/api/organizations_api.rb +485 -0
  6. data/lib/daytona_api_client/api/runners_api.rb +58 -0
  7. data/lib/daytona_api_client/api/sandbox_api.rb +2 -0
  8. data/lib/daytona_api_client/api/snapshots_api.rb +3 -0
  9. data/lib/daytona_api_client/api/users_api.rb +173 -0
  10. data/lib/daytona_api_client/models/audit_scenarios.rb +167 -0
  11. data/lib/daytona_api_client/models/audit_target_scenario.rb +208 -0
  12. data/lib/daytona_api_client/models/create_identity_provider.rb +269 -0
  13. data/lib/daytona_api_client/models/create_organization_region_quota.rb +16 -5
  14. data/lib/daytona_api_client/models/create_region.rb +16 -5
  15. data/lib/daytona_api_client/models/create_sandbox.rb +34 -2
  16. data/lib/daytona_api_client/models/create_user.rb +26 -21
  17. data/lib/daytona_api_client/models/daytona_configuration.rb +33 -1
  18. data/lib/daytona_api_client/models/identity_provider.rb +439 -0
  19. data/lib/daytona_api_client/models/oidc_id_p_config.rb +229 -0
  20. data/lib/daytona_api_client/models/oidc_id_p_config_response.rb +202 -0
  21. data/lib/daytona_api_client/models/organization.rb +28 -1
  22. data/lib/daytona_api_client/models/organization_sso_enabled.rb +165 -0
  23. data/lib/daytona_api_client/models/pending_sso_link.rb +283 -0
  24. data/lib/daytona_api_client/models/region.rb +16 -5
  25. data/lib/daytona_api_client/models/region_quota.rb +18 -5
  26. data/lib/daytona_api_client/models/sandbox.rb +43 -1
  27. data/lib/daytona_api_client/models/sandbox_list_item.rb +70 -1
  28. data/lib/daytona_api_client/models/snapshot_dto.rb +14 -1
  29. data/lib/daytona_api_client/models/sso_oidc_config.rb +192 -0
  30. data/lib/daytona_api_client/models/test_identity_provider_connection.rb +165 -0
  31. data/lib/daytona_api_client/models/test_identity_provider_connection_response.rb +185 -0
  32. data/lib/daytona_api_client/models/update_identity_provider.rb +212 -0
  33. data/lib/daytona_api_client/models/update_oidc_id_p_config.rb +178 -0
  34. data/lib/daytona_api_client/models/update_organization_region_quota.rb +16 -5
  35. data/lib/daytona_api_client/models/update_region.rb +16 -5
  36. data/lib/daytona_api_client/models/user.rb +38 -1
  37. data/lib/daytona_api_client/version.rb +1 -1
  38. data/lib/daytona_api_client.rb +13 -0
  39. 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
@@ -11,5 +11,5 @@ Generator version: 7.21.0
11
11
  =end
12
12
 
13
13
  module DaytonaApiClient
14
- VERSION = '0.203.0'
14
+ VERSION = '0.205.0'
15
15
  end