daytona_api_client 0.216.0 → 0.216.1

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 +15 -16
  3. data/lib/daytona_api_client/api/organizations_api.rb +260 -484
  4. data/lib/daytona_api_client/api/sandbox_api.rb +14 -163
  5. data/lib/daytona_api_client/api/users_api.rb +82 -90
  6. data/lib/daytona_api_client/models/account_provider.rb +48 -19
  7. data/lib/daytona_api_client/models/api_key_list.rb +14 -4
  8. data/lib/daytona_api_client/models/create_runner.rb +37 -4
  9. data/lib/daytona_api_client/models/create_runner_sandbox_class.rb +42 -0
  10. data/lib/daytona_api_client/models/daytona_configuration.rb +45 -1
  11. data/lib/daytona_api_client/models/{organization_preview_warning.rb → generate_workos_admin_portal_link.rb} +42 -20
  12. data/lib/daytona_api_client/models/{send_webhook_dto.rb → gpu_capacity.rb} +77 -43
  13. data/lib/daytona_api_client/models/{organization_sso_enabled.rb → gpu_capacity_response.rb} +48 -20
  14. data/lib/daytona_api_client/models/oidc_config.rb +65 -4
  15. data/lib/daytona_api_client/models/organization.rb +38 -1
  16. data/lib/daytona_api_client/models/sandbox_created_webhook.rb +349 -0
  17. data/lib/daytona_api_client/models/{organization_sandbox_default_limited_network_egress.rb → sandbox_identity.rb} +47 -20
  18. data/lib/daytona_api_client/models/sandbox_state_updated_webhook.rb +349 -0
  19. data/lib/daytona_api_client/models/snapshot_created_webhook.rb +349 -0
  20. data/lib/daytona_api_client/models/{create_user.rb → snapshot_removed_webhook.rb} +119 -71
  21. data/lib/daytona_api_client/models/snapshot_state_updated_webhook.rb +376 -0
  22. data/lib/daytona_api_client/models/user.rb +11 -1
  23. data/lib/daytona_api_client/models/volume_created_webhook.rb +349 -0
  24. data/lib/daytona_api_client/models/volume_state_updated_webhook.rb +376 -0
  25. data/lib/daytona_api_client/models/workos_admin_portal_intent.rb +41 -0
  26. data/lib/daytona_api_client/models/{set_snapshot_general_status_dto.rb → workos_admin_portal_link.rb} +20 -20
  27. data/lib/daytona_api_client/models/{admin_create_runner.rb → workos_sso_connection.rb} +123 -120
  28. data/lib/daytona_api_client/version.rb +1 -1
  29. data/lib/daytona_api_client.rb +15 -16
  30. metadata +16 -17
  31. data/lib/daytona_api_client/api/admin_api.rb +0 -1618
  32. data/lib/daytona_api_client/models/admin_create_organization.rb +0 -219
  33. data/lib/daytona_api_client/models/admin_get_webhook_status200_response.rb +0 -147
  34. data/lib/daytona_api_client/models/create_organization_quota.rb +0 -238
  35. data/lib/daytona_api_client/models/create_organization_region_quota.rb +0 -386
  36. data/lib/daytona_api_client/models/organization_suspension.rb +0 -221
  37. data/lib/daytona_api_client/models/paginated_sandboxes_deprecated.rb +0 -244
  38. data/lib/daytona_api_client/models/update_organization_quota.rb +0 -333
  39. data/lib/daytona_api_client/models/update_organization_region_quota.rb +0 -313
@@ -14,15 +14,14 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module DaytonaApiClient
17
- class SendWebhookDto < ApiModelBase
18
- # The type of event being sent
19
- attr_accessor :event_type
17
+ class GpuCapacity < ApiModelBase
18
+ attr_accessor :gpu_type
20
19
 
21
- # The payload data to send
22
- attr_accessor :payload
20
+ # GPU units available for on-demand placement across schedulable runners, including capacity occupied by spot sandboxes that are immediately reclaimable.
21
+ attr_accessor :available_on_demand
23
22
 
24
- # Optional event ID for idempotency
25
- attr_accessor :event_id
23
+ # GPU units currently free for spot placement across schedulable runners.
24
+ attr_accessor :available_spot
26
25
 
27
26
  class EnumAttributeValidator
28
27
  attr_reader :datatype
@@ -49,9 +48,9 @@ module DaytonaApiClient
49
48
  # Attribute mapping from ruby-style variable name to JSON key.
50
49
  def self.attribute_map
51
50
  {
52
- :'event_type' => :'eventType',
53
- :'payload' => :'payload',
54
- :'event_id' => :'eventId'
51
+ :'gpu_type' => :'gpuType',
52
+ :'available_on_demand' => :'availableOnDemand',
53
+ :'available_spot' => :'availableSpot'
55
54
  }
56
55
  end
57
56
 
@@ -68,9 +67,9 @@ module DaytonaApiClient
68
67
  # Attribute type mapping.
69
68
  def self.openapi_types
70
69
  {
71
- :'event_type' => :'WebhookEvent',
72
- :'payload' => :'Object',
73
- :'event_id' => :'String'
70
+ :'gpu_type' => :'GpuType',
71
+ :'available_on_demand' => :'Integer',
72
+ :'available_spot' => :'Integer'
74
73
  }
75
74
  end
76
75
 
@@ -84,32 +83,34 @@ module DaytonaApiClient
84
83
  # @param [Hash] attributes Model attributes in the form of hash
85
84
  def initialize(attributes = {})
86
85
  if (!attributes.is_a?(Hash))
87
- fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::SendWebhookDto` initialize method"
86
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::GpuCapacity` initialize method"
88
87
  end
89
88
 
90
89
  # check to see if the attribute exists and convert string to symbol for hash key
91
90
  acceptable_attribute_map = self.class.acceptable_attribute_map
92
91
  attributes = attributes.each_with_object({}) { |(k, v), h|
93
92
  if (!acceptable_attribute_map.key?(k.to_sym))
94
- fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::SendWebhookDto`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
93
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::GpuCapacity`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
95
94
  end
96
95
  h[k.to_sym] = v
97
96
  }
98
97
 
99
- if attributes.key?(:'event_type')
100
- self.event_type = attributes[:'event_type']
98
+ if attributes.key?(:'gpu_type')
99
+ self.gpu_type = attributes[:'gpu_type']
101
100
  else
102
- self.event_type = nil
101
+ self.gpu_type = nil
103
102
  end
104
103
 
105
- if attributes.key?(:'payload')
106
- self.payload = attributes[:'payload']
104
+ if attributes.key?(:'available_on_demand')
105
+ self.available_on_demand = attributes[:'available_on_demand']
107
106
  else
108
- self.payload = nil
107
+ self.available_on_demand = nil
109
108
  end
110
109
 
111
- if attributes.key?(:'event_id')
112
- self.event_id = attributes[:'event_id']
110
+ if attributes.key?(:'available_spot')
111
+ self.available_spot = attributes[:'available_spot']
112
+ else
113
+ self.available_spot = nil
113
114
  end
114
115
  end
115
116
 
@@ -118,12 +119,24 @@ module DaytonaApiClient
118
119
  def list_invalid_properties
119
120
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
120
121
  invalid_properties = Array.new
121
- if @event_type.nil?
122
- invalid_properties.push('invalid value for "event_type", event_type cannot be nil.')
122
+ if @gpu_type.nil?
123
+ invalid_properties.push('invalid value for "gpu_type", gpu_type cannot be nil.')
124
+ end
125
+
126
+ if @available_on_demand.nil?
127
+ invalid_properties.push('invalid value for "available_on_demand", available_on_demand cannot be nil.')
128
+ end
129
+
130
+ if @available_on_demand < 0
131
+ invalid_properties.push('invalid value for "available_on_demand", must be greater than or equal to 0.')
132
+ end
133
+
134
+ if @available_spot.nil?
135
+ invalid_properties.push('invalid value for "available_spot", available_spot cannot be nil.')
123
136
  end
124
137
 
125
- if @payload.nil?
126
- invalid_properties.push('invalid value for "payload", payload cannot be nil.')
138
+ if @available_spot < 0
139
+ invalid_properties.push('invalid value for "available_spot", must be greater than or equal to 0.')
127
140
  end
128
141
 
129
142
  invalid_properties
@@ -133,29 +146,50 @@ module DaytonaApiClient
133
146
  # @return true if the model is valid
134
147
  def valid?
135
148
  warn '[DEPRECATED] the `valid?` method is obsolete'
136
- return false if @event_type.nil?
137
- return false if @payload.nil?
149
+ return false if @gpu_type.nil?
150
+ return false if @available_on_demand.nil?
151
+ return false if @available_on_demand < 0
152
+ return false if @available_spot.nil?
153
+ return false if @available_spot < 0
138
154
  true
139
155
  end
140
156
 
141
157
  # Custom attribute writer method with validation
142
- # @param [Object] event_type Value to be assigned
143
- def event_type=(event_type)
144
- if event_type.nil?
145
- fail ArgumentError, 'event_type cannot be nil'
158
+ # @param [Object] gpu_type Value to be assigned
159
+ def gpu_type=(gpu_type)
160
+ if gpu_type.nil?
161
+ fail ArgumentError, 'gpu_type cannot be nil'
162
+ end
163
+
164
+ @gpu_type = gpu_type
165
+ end
166
+
167
+ # Custom attribute writer method with validation
168
+ # @param [Object] available_on_demand Value to be assigned
169
+ def available_on_demand=(available_on_demand)
170
+ if available_on_demand.nil?
171
+ fail ArgumentError, 'available_on_demand cannot be nil'
146
172
  end
147
173
 
148
- @event_type = event_type
174
+ if available_on_demand < 0
175
+ fail ArgumentError, 'invalid value for "available_on_demand", must be greater than or equal to 0.'
176
+ end
177
+
178
+ @available_on_demand = available_on_demand
149
179
  end
150
180
 
151
181
  # Custom attribute writer method with validation
152
- # @param [Object] payload Value to be assigned
153
- def payload=(payload)
154
- if payload.nil?
155
- fail ArgumentError, 'payload cannot be nil'
182
+ # @param [Object] available_spot Value to be assigned
183
+ def available_spot=(available_spot)
184
+ if available_spot.nil?
185
+ fail ArgumentError, 'available_spot cannot be nil'
186
+ end
187
+
188
+ if available_spot < 0
189
+ fail ArgumentError, 'invalid value for "available_spot", must be greater than or equal to 0.'
156
190
  end
157
191
 
158
- @payload = payload
192
+ @available_spot = available_spot
159
193
  end
160
194
 
161
195
  # Checks equality by comparing each attribute.
@@ -163,9 +197,9 @@ module DaytonaApiClient
163
197
  def ==(o)
164
198
  return true if self.equal?(o)
165
199
  self.class == o.class &&
166
- event_type == o.event_type &&
167
- payload == o.payload &&
168
- event_id == o.event_id
200
+ gpu_type == o.gpu_type &&
201
+ available_on_demand == o.available_on_demand &&
202
+ available_spot == o.available_spot
169
203
  end
170
204
 
171
205
  # @see the `==` method
@@ -177,7 +211,7 @@ module DaytonaApiClient
177
211
  # Calculates hash code according to all attributes.
178
212
  # @return [Integer] Hash code
179
213
  def hash
180
- [event_type, payload, event_id].hash
214
+ [gpu_type, available_on_demand, available_spot].hash
181
215
  end
182
216
 
183
217
  # Builds the object from hash
@@ -14,14 +14,17 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module DaytonaApiClient
17
- class OrganizationSsoEnabled < ApiModelBase
18
- # Whether this organization may configure SSO identity providers
19
- attr_accessor :sso_enabled
17
+ class GpuCapacityResponse < ApiModelBase
18
+ # Time at which this capacity snapshot was calculated. Responses may be cached for up to five seconds.
19
+ attr_accessor :observed_at
20
+
21
+ attr_accessor :capacity
20
22
 
21
23
  # Attribute mapping from ruby-style variable name to JSON key.
22
24
  def self.attribute_map
23
25
  {
24
- :'sso_enabled' => :'ssoEnabled'
26
+ :'observed_at' => :'observedAt',
27
+ :'capacity' => :'capacity'
25
28
  }
26
29
  end
27
30
 
@@ -38,7 +41,8 @@ module DaytonaApiClient
38
41
  # Attribute type mapping.
39
42
  def self.openapi_types
40
43
  {
41
- :'sso_enabled' => :'Boolean'
44
+ :'observed_at' => :'Time',
45
+ :'capacity' => :'Array<GpuCapacity>'
42
46
  }
43
47
  end
44
48
 
@@ -52,22 +56,30 @@ module DaytonaApiClient
52
56
  # @param [Hash] attributes Model attributes in the form of hash
53
57
  def initialize(attributes = {})
54
58
  if (!attributes.is_a?(Hash))
55
- fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::OrganizationSsoEnabled` initialize method"
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DaytonaApiClient::GpuCapacityResponse` initialize method"
56
60
  end
57
61
 
58
62
  # check to see if the attribute exists and convert string to symbol for hash key
59
63
  acceptable_attribute_map = self.class.acceptable_attribute_map
60
64
  attributes = attributes.each_with_object({}) { |(k, v), h|
61
65
  if (!acceptable_attribute_map.key?(k.to_sym))
62
- fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::OrganizationSsoEnabled`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DaytonaApiClient::GpuCapacityResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
67
  end
64
68
  h[k.to_sym] = v
65
69
  }
66
70
 
67
- if attributes.key?(:'sso_enabled')
68
- self.sso_enabled = attributes[:'sso_enabled']
71
+ if attributes.key?(:'observed_at')
72
+ self.observed_at = attributes[:'observed_at']
73
+ else
74
+ self.observed_at = nil
75
+ end
76
+
77
+ if attributes.key?(:'capacity')
78
+ if (value = attributes[:'capacity']).is_a?(Array)
79
+ self.capacity = value
80
+ end
69
81
  else
70
- self.sso_enabled = nil
82
+ self.capacity = nil
71
83
  end
72
84
  end
73
85
 
@@ -76,8 +88,12 @@ module DaytonaApiClient
76
88
  def list_invalid_properties
77
89
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
90
  invalid_properties = Array.new
79
- if @sso_enabled.nil?
80
- invalid_properties.push('invalid value for "sso_enabled", sso_enabled cannot be nil.')
91
+ if @observed_at.nil?
92
+ invalid_properties.push('invalid value for "observed_at", observed_at cannot be nil.')
93
+ end
94
+
95
+ if @capacity.nil?
96
+ invalid_properties.push('invalid value for "capacity", capacity cannot be nil.')
81
97
  end
82
98
 
83
99
  invalid_properties
@@ -87,18 +103,29 @@ module DaytonaApiClient
87
103
  # @return true if the model is valid
88
104
  def valid?
89
105
  warn '[DEPRECATED] the `valid?` method is obsolete'
90
- return false if @sso_enabled.nil?
106
+ return false if @observed_at.nil?
107
+ return false if @capacity.nil?
91
108
  true
92
109
  end
93
110
 
94
111
  # Custom attribute writer method with validation
95
- # @param [Object] sso_enabled Value to be assigned
96
- def sso_enabled=(sso_enabled)
97
- if sso_enabled.nil?
98
- fail ArgumentError, 'sso_enabled cannot be nil'
112
+ # @param [Object] observed_at Value to be assigned
113
+ def observed_at=(observed_at)
114
+ if observed_at.nil?
115
+ fail ArgumentError, 'observed_at cannot be nil'
116
+ end
117
+
118
+ @observed_at = observed_at
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param [Object] capacity Value to be assigned
123
+ def capacity=(capacity)
124
+ if capacity.nil?
125
+ fail ArgumentError, 'capacity cannot be nil'
99
126
  end
100
127
 
101
- @sso_enabled = sso_enabled
128
+ @capacity = capacity
102
129
  end
103
130
 
104
131
  # Checks equality by comparing each attribute.
@@ -106,7 +133,8 @@ module DaytonaApiClient
106
133
  def ==(o)
107
134
  return true if self.equal?(o)
108
135
  self.class == o.class &&
109
- sso_enabled == o.sso_enabled
136
+ observed_at == o.observed_at &&
137
+ capacity == o.capacity
110
138
  end
111
139
 
112
140
  # @see the `==` method
@@ -118,7 +146,7 @@ module DaytonaApiClient
118
146
  # Calculates hash code according to all attributes.
119
147
  # @return [Integer] Hash code
120
148
  def hash
121
- [sso_enabled].hash
149
+ [observed_at, capacity].hash
122
150
  end
123
151
 
124
152
  # Builds the object from hash
@@ -24,12 +24,42 @@ module DaytonaApiClient
24
24
  # OIDC audience
25
25
  attr_accessor :audience
26
26
 
27
+ # Which identity provider the advertised issuer above belongs to. The dashboard needs this because provider-specific logout URLs are not discoverable from the issuer alone: ending an Auth0 session uses its proprietary /v2/logout, which does not exist on WorkOS AuthKit. Anything that branches on provider behaviour must read this rather than pattern-matching the issuer hostname.
28
+ attr_accessor :provider
29
+
30
+ # WorkOS \"Authentication API\" custom domain the dashboard's client-side SDK should call instead of api.workos.com, so the refresh-token cookie is first-party. Present only when the provider is workos and a custom domain is configured (WorkOS production environments only); absent means the SDK runs in devMode and keeps the refresh token in localStorage.
31
+ attr_accessor :auth_api_hostname
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
27
55
  # Attribute mapping from ruby-style variable name to JSON key.
28
56
  def self.attribute_map
29
57
  {
30
58
  :'issuer' => :'issuer',
31
59
  :'client_id' => :'clientId',
32
- :'audience' => :'audience'
60
+ :'audience' => :'audience',
61
+ :'provider' => :'provider',
62
+ :'auth_api_hostname' => :'authApiHostname'
33
63
  }
34
64
  end
35
65
 
@@ -48,7 +78,9 @@ module DaytonaApiClient
48
78
  {
49
79
  :'issuer' => :'String',
50
80
  :'client_id' => :'String',
51
- :'audience' => :'String'
81
+ :'audience' => :'String',
82
+ :'provider' => :'String',
83
+ :'auth_api_hostname' => :'String'
52
84
  }
53
85
  end
54
86
 
@@ -91,6 +123,16 @@ module DaytonaApiClient
91
123
  else
92
124
  self.audience = nil
93
125
  end
126
+
127
+ if attributes.key?(:'provider')
128
+ self.provider = attributes[:'provider']
129
+ else
130
+ self.provider = nil
131
+ end
132
+
133
+ if attributes.key?(:'auth_api_hostname')
134
+ self.auth_api_hostname = attributes[:'auth_api_hostname']
135
+ end
94
136
  end
95
137
 
96
138
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -110,6 +152,10 @@ module DaytonaApiClient
110
152
  invalid_properties.push('invalid value for "audience", audience cannot be nil.')
111
153
  end
112
154
 
155
+ if @provider.nil?
156
+ invalid_properties.push('invalid value for "provider", provider cannot be nil.')
157
+ end
158
+
113
159
  invalid_properties
114
160
  end
115
161
 
@@ -120,6 +166,9 @@ module DaytonaApiClient
120
166
  return false if @issuer.nil?
121
167
  return false if @client_id.nil?
122
168
  return false if @audience.nil?
169
+ return false if @provider.nil?
170
+ provider_validator = EnumAttributeValidator.new('String', ["auth0", "workos", "unknown_default_open_api"])
171
+ return false unless provider_validator.valid?(@provider)
123
172
  true
124
173
  end
125
174
 
@@ -153,6 +202,16 @@ module DaytonaApiClient
153
202
  @audience = audience
154
203
  end
155
204
 
205
+ # Custom attribute writer method checking allowed values (enum).
206
+ # @param [Object] provider Object to be assigned
207
+ def provider=(provider)
208
+ validator = EnumAttributeValidator.new('String', ["auth0", "workos", "unknown_default_open_api"])
209
+ unless validator.valid?(provider)
210
+ fail ArgumentError, "invalid value for \"provider\", must be one of #{validator.allowable_values}."
211
+ end
212
+ @provider = provider
213
+ end
214
+
156
215
  # Checks equality by comparing each attribute.
157
216
  # @param [Object] Object to be compared
158
217
  def ==(o)
@@ -160,7 +219,9 @@ module DaytonaApiClient
160
219
  self.class == o.class &&
161
220
  issuer == o.issuer &&
162
221
  client_id == o.client_id &&
163
- audience == o.audience
222
+ audience == o.audience &&
223
+ provider == o.provider &&
224
+ auth_api_hostname == o.auth_api_hostname
164
225
  end
165
226
 
166
227
  # @see the `==` method
@@ -172,7 +233,7 @@ module DaytonaApiClient
172
233
  # Calculates hash code according to all attributes.
173
234
  # @return [Integer] Hash code
174
235
  def hash
175
- [issuer, client_id, audience].hash
236
+ [issuer, client_id, audience, provider, auth_api_hostname].hash
176
237
  end
177
238
 
178
239
  # Builds the object from hash
@@ -75,9 +75,15 @@ module DaytonaApiClient
75
75
  # Whether this organization may configure SSO identity providers
76
76
  attr_accessor :sso_enabled
77
77
 
78
+ # Whether this organization may use SCIM directory sync
79
+ attr_accessor :scim_enabled
80
+
78
81
  # Default region ID
79
82
  attr_accessor :default_region_id
80
83
 
84
+ # ID of the WorkOS organization mirrored from this organization (absent for personal organizations, which are never mirrored)
85
+ attr_accessor :workos_org_id
86
+
81
87
  # Authenticated rate limit per minute
82
88
  attr_accessor :authenticated_rate_limit
83
89
 
@@ -125,7 +131,9 @@ module DaytonaApiClient
125
131
  :'sandbox_limited_network_egress' => :'sandboxLimitedNetworkEgress',
126
132
  :'preview_warning_enabled' => :'previewWarningEnabled',
127
133
  :'sso_enabled' => :'ssoEnabled',
134
+ :'scim_enabled' => :'scimEnabled',
128
135
  :'default_region_id' => :'defaultRegionId',
136
+ :'workos_org_id' => :'workosOrgId',
129
137
  :'authenticated_rate_limit' => :'authenticatedRateLimit',
130
138
  :'sandbox_create_rate_limit' => :'sandboxCreateRateLimit',
131
139
  :'sandbox_lifecycle_rate_limit' => :'sandboxLifecycleRateLimit',
@@ -170,7 +178,9 @@ module DaytonaApiClient
170
178
  :'sandbox_limited_network_egress' => :'Boolean',
171
179
  :'preview_warning_enabled' => :'Boolean',
172
180
  :'sso_enabled' => :'Boolean',
181
+ :'scim_enabled' => :'Boolean',
173
182
  :'default_region_id' => :'String',
183
+ :'workos_org_id' => :'String',
174
184
  :'authenticated_rate_limit' => :'Float',
175
185
  :'sandbox_create_rate_limit' => :'Float',
176
186
  :'sandbox_lifecycle_rate_limit' => :'Float',
@@ -331,10 +341,20 @@ module DaytonaApiClient
331
341
  self.sso_enabled = nil
332
342
  end
333
343
 
344
+ if attributes.key?(:'scim_enabled')
345
+ self.scim_enabled = attributes[:'scim_enabled']
346
+ else
347
+ self.scim_enabled = nil
348
+ end
349
+
334
350
  if attributes.key?(:'default_region_id')
335
351
  self.default_region_id = attributes[:'default_region_id']
336
352
  end
337
353
 
354
+ if attributes.key?(:'workos_org_id')
355
+ self.workos_org_id = attributes[:'workos_org_id']
356
+ end
357
+
338
358
  if attributes.key?(:'authenticated_rate_limit')
339
359
  self.authenticated_rate_limit = attributes[:'authenticated_rate_limit']
340
360
  else
@@ -469,6 +489,10 @@ module DaytonaApiClient
469
489
  invalid_properties.push('invalid value for "sso_enabled", sso_enabled cannot be nil.')
470
490
  end
471
491
 
492
+ if @scim_enabled.nil?
493
+ invalid_properties.push('invalid value for "scim_enabled", scim_enabled cannot be nil.')
494
+ end
495
+
472
496
  if @experimental_config.nil?
473
497
  invalid_properties.push('invalid value for "experimental_config", experimental_config cannot be nil.')
474
498
  end
@@ -500,6 +524,7 @@ module DaytonaApiClient
500
524
  return false if @sandbox_limited_network_egress.nil?
501
525
  return false if @preview_warning_enabled.nil?
502
526
  return false if @sso_enabled.nil?
527
+ return false if @scim_enabled.nil?
503
528
  return false if @experimental_config.nil?
504
529
  true
505
530
  end
@@ -704,6 +729,16 @@ module DaytonaApiClient
704
729
  @sso_enabled = sso_enabled
705
730
  end
706
731
 
732
+ # Custom attribute writer method with validation
733
+ # @param [Object] scim_enabled Value to be assigned
734
+ def scim_enabled=(scim_enabled)
735
+ if scim_enabled.nil?
736
+ fail ArgumentError, 'scim_enabled cannot be nil'
737
+ end
738
+
739
+ @scim_enabled = scim_enabled
740
+ end
741
+
707
742
  # Custom attribute writer method with validation
708
743
  # @param [Object] experimental_config Value to be assigned
709
744
  def experimental_config=(experimental_config)
@@ -739,7 +774,9 @@ module DaytonaApiClient
739
774
  sandbox_limited_network_egress == o.sandbox_limited_network_egress &&
740
775
  preview_warning_enabled == o.preview_warning_enabled &&
741
776
  sso_enabled == o.sso_enabled &&
777
+ scim_enabled == o.scim_enabled &&
742
778
  default_region_id == o.default_region_id &&
779
+ workos_org_id == o.workos_org_id &&
743
780
  authenticated_rate_limit == o.authenticated_rate_limit &&
744
781
  sandbox_create_rate_limit == o.sandbox_create_rate_limit &&
745
782
  sandbox_lifecycle_rate_limit == o.sandbox_lifecycle_rate_limit &&
@@ -759,7 +796,7 @@ module DaytonaApiClient
759
796
  # Calculates hash code according to all attributes.
760
797
  # @return [Integer] Hash code
761
798
  def hash
762
- [id, name, created_by, personal, created_at, updated_at, suspended, suspended_at, suspension_reason, suspended_until, suspension_cleanup_grace_period_hours, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, secret_quota, max_secrets_per_sandbox, snapshot_deactivation_timeout_minutes, sandbox_limited_network_egress, preview_warning_enabled, sso_enabled, default_region_id, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, experimental_config, otel_config, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds].hash
799
+ [id, name, created_by, personal, created_at, updated_at, suspended, suspended_at, suspension_reason, suspended_until, suspension_cleanup_grace_period_hours, max_cpu_per_sandbox, max_memory_per_sandbox, max_disk_per_sandbox, secret_quota, max_secrets_per_sandbox, snapshot_deactivation_timeout_minutes, sandbox_limited_network_egress, preview_warning_enabled, sso_enabled, scim_enabled, default_region_id, workos_org_id, authenticated_rate_limit, sandbox_create_rate_limit, sandbox_lifecycle_rate_limit, experimental_config, otel_config, authenticated_rate_limit_ttl_seconds, sandbox_create_rate_limit_ttl_seconds, sandbox_lifecycle_rate_limit_ttl_seconds].hash
763
800
  end
764
801
 
765
802
  # Builds the object from hash