volcano-sdk 0.34.0 → 0.35.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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +53 -4
  3. data/lib/volcano/client.rb +1 -1
  4. data/lib/volcano/durable.rb +9 -4
  5. data/lib/volcano/durable_approval_models.rb +1 -1
  6. data/lib/volcano/durable_message_arguments.rb +49 -0
  7. data/lib/volcano/durable_message_backlog.rb +38 -0
  8. data/lib/volcano/durable_message_catch_ups.rb +112 -0
  9. data/lib/volcano/durable_message_models.rb +62 -0
  10. data/lib/volcano/durable_message_responses.rb +107 -0
  11. data/lib/volcano/durable_message_session.rb +72 -0
  12. data/lib/volcano/durable_message_stream.rb +176 -0
  13. data/lib/volcano/durable_messages.rb +217 -0
  14. data/lib/volcano/durable_models.rb +32 -3
  15. data/lib/volcano/generated/lib/volcano-generated/api/auth_admin_api.rb +2 -2
  16. data/lib/volcano/generated/lib/volcano-generated/api/auth_configuration_api.rb +2 -2
  17. data/lib/volcano/generated/lib/volcano-generated/api/autofix_api.rb +222 -0
  18. data/lib/volcano/generated/lib/volcano-generated/api/durable_functions_api.rb +725 -0
  19. data/lib/volcano/generated/lib/volcano-generated/api/frontends_api.rb +2 -2
  20. data/lib/volcano/generated/lib/volcano-generated/api/issues_api.rb +254 -0
  21. data/lib/volcano/generated/lib/volcano-generated/api/sandboxes_api.rb +20 -20
  22. data/lib/volcano/generated/lib/volcano-generated/api/system_api.rb +57 -0
  23. data/lib/volcano/generated/lib/volcano-generated/api/variable_environments_api.rb +373 -0
  24. data/lib/volcano/generated/lib/volcano-generated/api/verified_domains_api.rb +2 -2
  25. data/lib/volcano/generated/lib/volcano-generated/models/auth_config.rb +46 -4
  26. data/lib/volcano/generated/lib/volcano-generated/models/auth_insights_series_point.rb +110 -2
  27. data/lib/volcano/generated/lib/volcano-generated/models/autofix_model.rb +45 -0
  28. data/lib/volcano/generated/lib/volcano-generated/models/autofix_provider.rb +40 -0
  29. data/lib/volcano/generated/lib/volcano-generated/models/autofix_settings.rb +385 -0
  30. data/lib/volcano/generated/lib/volcano-generated/models/autofix_stage.rb +40 -0
  31. data/lib/volcano/generated/lib/volcano-generated/models/capability.rb +214 -0
  32. data/lib/volcano/generated/lib/volcano-generated/models/capability_list.rb +166 -0
  33. data/lib/volcano/generated/lib/volcano-generated/models/capability_status.rb +40 -0
  34. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_session_request.rb +16 -53
  35. data/lib/volcano/generated/lib/volcano-generated/models/create_variable_environment_request.rb +176 -0
  36. data/lib/volcano/generated/lib/volcano-generated/models/durable_execution.rb +14 -4
  37. data/lib/volcano/generated/lib/volcano-generated/models/durable_message.rb +396 -0
  38. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_direction.rb +40 -0
  39. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_list.rb +194 -0
  40. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_sender.rb +203 -0
  41. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_session_registration.rb +165 -0
  42. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_status.rb +43 -0
  43. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait.rb +278 -0
  44. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_list.rb +167 -0
  45. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_registration.rb +225 -0
  46. data/lib/volcano/generated/lib/volcano-generated/models/durable_message_wait_status.rb +43 -0
  47. data/lib/volcano/generated/lib/volcano-generated/models/frontend.rb +11 -1
  48. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_conflict_error.rb +1 -1
  49. data/lib/volcano/generated/lib/volcano-generated/models/frontend_custom_domain_response.rb +25 -2
  50. data/lib/volcano/generated/lib/volcano-generated/models/issue.rb +493 -0
  51. data/lib/volcano/generated/lib/volcano-generated/models/issue_status.rb +41 -0
  52. data/lib/volcano/generated/lib/volcano-generated/models/metric_usage_data.rb +1 -1
  53. data/lib/volcano/generated/lib/volcano-generated/models/open_durable_message_session_request.rb +228 -0
  54. data/lib/volcano/generated/lib/volcano-generated/models/paginated_issues.rb +230 -0
  55. data/lib/volcano/generated/lib/volcano-generated/models/project_config.rb +10 -1
  56. data/lib/volcano/generated/lib/volcano-generated/models/project_config_autofix.rb +206 -0
  57. data/lib/volcano/generated/lib/volcano-generated/models/project_config_custom_domain.rb +1 -1
  58. data/lib/volcano/generated/lib/volcano-generated/models/project_config_sandbox.rb +12 -50
  59. data/lib/volcano/generated/lib/volcano-generated/models/project_frontend_custom_domain.rb +25 -2
  60. data/lib/volcano/generated/lib/volcano-generated/models/publish_durable_message_request.rb +205 -0
  61. data/lib/volcano/generated/lib/volcano-generated/models/register_durable_message_wait_request.rb +284 -0
  62. data/lib/volcano/generated/lib/volcano-generated/models/rename_variable_environment_request.rb +176 -0
  63. data/lib/volcano/generated/lib/volcano-generated/models/request_durable_approval_request.rb +1 -1
  64. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_request.rb +11 -12
  65. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_request.rb +51 -13
  66. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session.rb +4 -30
  67. data/lib/volcano/generated/lib/volcano-generated/models/send_durable_message_request.rb +205 -0
  68. data/lib/volcano/generated/lib/volcano-generated/models/update_auth_config_request.rb +79 -1
  69. data/lib/volcano/generated/lib/volcano-generated/models/update_autofix_settings_request.rb +273 -0
  70. data/lib/volcano/generated/lib/volcano-generated/models/update_issue_request.rb +186 -0
  71. data/lib/volcano/generated/lib/volcano-generated/models/variable_environment.rb +325 -0
  72. data/lib/volcano/generated/lib/volcano-generated/models/variable_environment_list.rb +175 -0
  73. data/lib/volcano/generated/lib/volcano-generated.rb +34 -0
  74. data/lib/volcano/generated_transport.rb +1 -0
  75. data/lib/volcano/generated_transport_durable_messages.rb +57 -0
  76. data/lib/volcano/realtime/channel_callbacks.rb +5 -1
  77. data/lib/volcano/realtime/channel_lifecycle.rb +4 -1
  78. data/lib/volcano/realtime/durable_channel.rb +47 -0
  79. data/lib/volcano/realtime/lifecycle.rb +37 -1
  80. data/lib/volcano/realtime/protocol.rb +7 -3
  81. data/lib/volcano/realtime/protocol_dispatch.rb +1 -1
  82. data/lib/volcano/realtime/protocol_io.rb +7 -4
  83. data/lib/volcano/realtime/protocol_lifecycle.rb +7 -0
  84. data/lib/volcano/realtime/protocol_recovery.rb +23 -12
  85. data/lib/volcano/realtime.rb +42 -8
  86. data/lib/volcano/redaction.rb +1 -1
  87. data/lib/volcano/version.rb +1 -1
  88. data/lib/volcano.rb +8 -0
  89. data/sig/core_facades.rbs +15 -0
  90. data/sig/durable_message_records.rbs +68 -0
  91. data/sig/durable_records.rbs +17 -9
  92. metadata +46 -1
@@ -19,6 +19,7 @@ module Volcano::Generated
19
19
 
20
20
  attr_accessor :project_id
21
21
 
22
+ # Explicit template used to create the session. Null when created directly from a preset.
22
23
  attr_accessor :sandbox_id
23
24
 
24
25
  attr_accessor :state
@@ -33,6 +34,7 @@ module Volcano::Generated
33
34
 
34
35
  attr_accessor :started_at
35
36
 
37
+ # Absolute VM expiry. Null means unlimited in local mode.
36
38
  attr_accessor :expires_at
37
39
 
38
40
  class EnumAttributeValidator
@@ -102,6 +104,8 @@ module Volcano::Generated
102
104
  # List of attributes with nullable: true
103
105
  def self.openapi_nullable
104
106
  Set.new([
107
+ :'sandbox_id',
108
+ :'expires_at'
105
109
  ])
106
110
  end
107
111
 
@@ -193,10 +197,6 @@ module Volcano::Generated
193
197
  invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
194
198
  end
195
199
 
196
- if @sandbox_id.nil?
197
- invalid_properties.push('invalid value for "sandbox_id", sandbox_id cannot be nil.')
198
- end
199
-
200
200
  if @state.nil?
201
201
  invalid_properties.push('invalid value for "state", state cannot be nil.')
202
202
  end
@@ -217,10 +217,6 @@ module Volcano::Generated
217
217
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
218
218
  end
219
219
 
220
- if @expires_at.nil?
221
- invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.')
222
- end
223
-
224
220
  invalid_properties
225
221
  end
226
222
 
@@ -230,7 +226,6 @@ module Volcano::Generated
230
226
  warn '[DEPRECATED] the `valid?` method is obsolete'
231
227
  return false if @id.nil?
232
228
  return false if @project_id.nil?
233
- return false if @sandbox_id.nil?
234
229
  return false if @state.nil?
235
230
  state_validator = EnumAttributeValidator.new('String', ["starting", "running", "suspending", "suspended", "resuming", "terminating", "terminated", "unknown"])
236
231
  return false unless state_validator.valid?(@state)
@@ -240,7 +235,6 @@ module Volcano::Generated
240
235
  return false if @region.nil?
241
236
  return false if @memory_mb.nil?
242
237
  return false if @created_at.nil?
243
- return false if @expires_at.nil?
244
238
  true
245
239
  end
246
240
 
@@ -264,16 +258,6 @@ module Volcano::Generated
264
258
  @project_id = project_id
265
259
  end
266
260
 
267
- # Custom attribute writer method with validation
268
- # @param [Object] sandbox_id Value to be assigned
269
- def sandbox_id=(sandbox_id)
270
- if sandbox_id.nil?
271
- fail ArgumentError, 'sandbox_id cannot be nil'
272
- end
273
-
274
- @sandbox_id = sandbox_id
275
- end
276
-
277
261
  # Custom attribute writer method checking allowed values (enum).
278
262
  # @param [Object] state Object to be assigned
279
263
  def state=(state)
@@ -324,16 +308,6 @@ module Volcano::Generated
324
308
  @created_at = created_at
325
309
  end
326
310
 
327
- # Custom attribute writer method with validation
328
- # @param [Object] expires_at Value to be assigned
329
- def expires_at=(expires_at)
330
- if expires_at.nil?
331
- fail ArgumentError, 'expires_at cannot be nil'
332
- end
333
-
334
- @expires_at = expires_at
335
- end
336
-
337
311
  # Checks equality by comparing each attribute.
338
312
  # @param [Object] Object to be compared
339
313
  def ==(o)
@@ -0,0 +1,205 @@
1
+ =begin
2
+ #Volcano API
3
+
4
+ #Public API for Volcano clients, SDKs, and CLI tooling (Port 8000). This specification intentionally excludes first-party/internal APIs. See api/openapi-internal.yaml for non-public internal and Builder operations.
5
+
6
+ The version of the OpenAPI document: 3.0.0
7
+ Contact: support@volcano.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.17.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Volcano::Generated
17
+ class SendDurableMessageRequest < ApiModelBase
18
+ # The name a workflow waits on or publishes under: up to 237 printable ASCII characters.
19
+ attr_accessor :name
20
+
21
+ # Any JSON value, up to 64 KiB. Omitted means null.
22
+ attr_accessor :data
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'name' => :'name',
28
+ :'data' => :'data'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'name' => :'String',
46
+ :'data' => :'Object'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ :'data'
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::SendDurableMessageRequest` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::SendDurableMessageRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'name')
74
+ self.name = attributes[:'name']
75
+ else
76
+ self.name = nil
77
+ end
78
+
79
+ if attributes.key?(:'data')
80
+ self.data = attributes[:'data']
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
88
+ invalid_properties = Array.new
89
+ if @name.nil?
90
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
91
+ end
92
+
93
+ if @name.to_s.length > 237
94
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 237.')
95
+ end
96
+
97
+ if @name.to_s.length < 1
98
+ invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.')
99
+ end
100
+
101
+ pattern = Regexp.new(/^[ -~]+$/)
102
+ if @name !~ pattern
103
+ invalid_properties.push("invalid value for \"name\", must conform to the pattern #{pattern}.")
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ return false if @name.nil?
114
+ return false if @name.to_s.length > 237
115
+ return false if @name.to_s.length < 1
116
+ return false if @name !~ Regexp.new(/^[ -~]+$/)
117
+ true
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] name Value to be assigned
122
+ def name=(name)
123
+ if name.nil?
124
+ fail ArgumentError, 'name cannot be nil'
125
+ end
126
+
127
+ if name.to_s.length > 237
128
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 237.'
129
+ end
130
+
131
+ if name.to_s.length < 1
132
+ fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.'
133
+ end
134
+
135
+ pattern = Regexp.new(/^[ -~]+$/)
136
+ if name !~ pattern
137
+ fail ArgumentError, "invalid value for \"name\", must conform to the pattern #{pattern}."
138
+ end
139
+
140
+ @name = name
141
+ end
142
+
143
+ # Checks equality by comparing each attribute.
144
+ # @param [Object] Object to be compared
145
+ def ==(o)
146
+ return true if self.equal?(o)
147
+ self.class == o.class &&
148
+ name == o.name &&
149
+ data == o.data
150
+ end
151
+
152
+ # @see the `==` method
153
+ # @param [Object] Object to be compared
154
+ def eql?(o)
155
+ self == o
156
+ end
157
+
158
+ # Calculates hash code according to all attributes.
159
+ # @return [Integer] Hash code
160
+ def hash
161
+ [name, data].hash
162
+ end
163
+
164
+ # Builds the object from hash
165
+ # @param [Hash] attributes Model attributes in the form of hash
166
+ # @return [Object] Returns the model itself
167
+ def self.build_from_hash(attributes)
168
+ return nil unless attributes.is_a?(Hash)
169
+ attributes = attributes.transform_keys(&:to_sym)
170
+ transformed_hash = {}
171
+ openapi_types.each_pair do |key, type|
172
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
173
+ transformed_hash["#{key}"] = nil
174
+ elsif type =~ /\AArray<(.*)>/i
175
+ # check to ensure the input is an array given that the attribute
176
+ # is documented as an array but the input is not
177
+ if attributes[attribute_map[key]].is_a?(Array)
178
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
179
+ end
180
+ elsif !attributes[attribute_map[key]].nil?
181
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
182
+ end
183
+ end
184
+ new(transformed_hash)
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ end
204
+
205
+ end
@@ -20,10 +20,15 @@ module Volcano::Generated
20
20
 
21
21
  attr_accessor :refresh_token_lifetime
22
22
 
23
+ attr_accessor :refresh_token_reuse_interval
24
+
23
25
  attr_accessor :inactivity_timeout
24
26
 
25
27
  attr_accessor :max_session_duration
26
28
 
29
+ # TTL in seconds for platform tokens minted via `/auth/platform/exchange`. From 3600 (1 hour) to 31536000 (365 days).
30
+ attr_accessor :platform_token_ttl
31
+
27
32
  attr_accessor :min_password_length
28
33
 
29
34
  attr_accessor :require_uppercase
@@ -46,6 +51,14 @@ module Volcano::Generated
46
51
 
47
52
  attr_accessor :rate_limit_token_refresh
48
53
 
54
+ # Password reset requests per hour per IP. Unlike the other limits, 0 applies the default of 10 instead of turning the limit off.
55
+ attr_accessor :rate_limit_password_reset
56
+
57
+ attr_accessor :cors_enabled
58
+
59
+ # Replaces the allowed origins list.
60
+ attr_accessor :cors_allowed_origins
61
+
49
62
  attr_accessor :cors_allow_credentials
50
63
 
51
64
  attr_accessor :cors_max_age
@@ -139,8 +152,10 @@ module Volcano::Generated
139
152
  {
140
153
  :'access_token_lifetime' => :'access_token_lifetime',
141
154
  :'refresh_token_lifetime' => :'refresh_token_lifetime',
155
+ :'refresh_token_reuse_interval' => :'refresh_token_reuse_interval',
142
156
  :'inactivity_timeout' => :'inactivity_timeout',
143
157
  :'max_session_duration' => :'max_session_duration',
158
+ :'platform_token_ttl' => :'platform_token_ttl',
144
159
  :'min_password_length' => :'min_password_length',
145
160
  :'require_uppercase' => :'require_uppercase',
146
161
  :'require_lowercase' => :'require_lowercase',
@@ -151,6 +166,9 @@ module Volcano::Generated
151
166
  :'rate_limit_signup' => :'rate_limit_signup',
152
167
  :'rate_limit_signin' => :'rate_limit_signin',
153
168
  :'rate_limit_token_refresh' => :'rate_limit_token_refresh',
169
+ :'rate_limit_password_reset' => :'rate_limit_password_reset',
170
+ :'cors_enabled' => :'cors_enabled',
171
+ :'cors_allowed_origins' => :'cors_allowed_origins',
154
172
  :'cors_allow_credentials' => :'cors_allow_credentials',
155
173
  :'cors_max_age' => :'cors_max_age',
156
174
  :'enable_anonymous_signins' => :'enable_anonymous_signins',
@@ -196,8 +214,10 @@ module Volcano::Generated
196
214
  {
197
215
  :'access_token_lifetime' => :'Integer',
198
216
  :'refresh_token_lifetime' => :'Integer',
217
+ :'refresh_token_reuse_interval' => :'Integer',
199
218
  :'inactivity_timeout' => :'Integer',
200
219
  :'max_session_duration' => :'Integer',
220
+ :'platform_token_ttl' => :'Integer',
201
221
  :'min_password_length' => :'Integer',
202
222
  :'require_uppercase' => :'Boolean',
203
223
  :'require_lowercase' => :'Boolean',
@@ -208,6 +228,9 @@ module Volcano::Generated
208
228
  :'rate_limit_signup' => :'Integer',
209
229
  :'rate_limit_signin' => :'Integer',
210
230
  :'rate_limit_token_refresh' => :'Integer',
231
+ :'rate_limit_password_reset' => :'Integer',
232
+ :'cors_enabled' => :'Boolean',
233
+ :'cors_allowed_origins' => :'Array<String>',
211
234
  :'cors_allow_credentials' => :'Boolean',
212
235
  :'cors_max_age' => :'Integer',
213
236
  :'enable_anonymous_signins' => :'Boolean',
@@ -268,6 +291,10 @@ module Volcano::Generated
268
291
  self.refresh_token_lifetime = attributes[:'refresh_token_lifetime']
269
292
  end
270
293
 
294
+ if attributes.key?(:'refresh_token_reuse_interval')
295
+ self.refresh_token_reuse_interval = attributes[:'refresh_token_reuse_interval']
296
+ end
297
+
271
298
  if attributes.key?(:'inactivity_timeout')
272
299
  self.inactivity_timeout = attributes[:'inactivity_timeout']
273
300
  end
@@ -276,6 +303,10 @@ module Volcano::Generated
276
303
  self.max_session_duration = attributes[:'max_session_duration']
277
304
  end
278
305
 
306
+ if attributes.key?(:'platform_token_ttl')
307
+ self.platform_token_ttl = attributes[:'platform_token_ttl']
308
+ end
309
+
279
310
  if attributes.key?(:'min_password_length')
280
311
  self.min_password_length = attributes[:'min_password_length']
281
312
  end
@@ -316,6 +347,20 @@ module Volcano::Generated
316
347
  self.rate_limit_token_refresh = attributes[:'rate_limit_token_refresh']
317
348
  end
318
349
 
350
+ if attributes.key?(:'rate_limit_password_reset')
351
+ self.rate_limit_password_reset = attributes[:'rate_limit_password_reset']
352
+ end
353
+
354
+ if attributes.key?(:'cors_enabled')
355
+ self.cors_enabled = attributes[:'cors_enabled']
356
+ end
357
+
358
+ if attributes.key?(:'cors_allowed_origins')
359
+ if (value = attributes[:'cors_allowed_origins']).is_a?(Array)
360
+ self.cors_allowed_origins = value
361
+ end
362
+ end
363
+
319
364
  if attributes.key?(:'cors_allow_credentials')
320
365
  self.cors_allow_credentials = attributes[:'cors_allow_credentials']
321
366
  end
@@ -434,6 +479,14 @@ module Volcano::Generated
434
479
  def list_invalid_properties
435
480
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
436
481
  invalid_properties = Array.new
482
+ if !@platform_token_ttl.nil? && @platform_token_ttl > 31536000
483
+ invalid_properties.push('invalid value for "platform_token_ttl", must be smaller than or equal to 31536000.')
484
+ end
485
+
486
+ if !@platform_token_ttl.nil? && @platform_token_ttl < 3600
487
+ invalid_properties.push('invalid value for "platform_token_ttl", must be greater than or equal to 3600.')
488
+ end
489
+
437
490
  if !@min_password_length.nil? && @min_password_length > 128
438
491
  invalid_properties.push('invalid value for "min_password_length", must be smaller than or equal to 128.')
439
492
  end
@@ -457,6 +510,8 @@ module Volcano::Generated
457
510
  # @return true if the model is valid
458
511
  def valid?
459
512
  warn '[DEPRECATED] the `valid?` method is obsolete'
513
+ return false if !@platform_token_ttl.nil? && @platform_token_ttl > 31536000
514
+ return false if !@platform_token_ttl.nil? && @platform_token_ttl < 3600
460
515
  return false if !@min_password_length.nil? && @min_password_length > 128
461
516
  return false if !@min_password_length.nil? && @min_password_length < 15
462
517
  return false if !@allowed_email_domains.nil? && @allowed_email_domains.length > 100
@@ -466,6 +521,24 @@ module Volcano::Generated
466
521
  true
467
522
  end
468
523
 
524
+ # Custom attribute writer method with validation
525
+ # @param [Object] platform_token_ttl Value to be assigned
526
+ def platform_token_ttl=(platform_token_ttl)
527
+ if platform_token_ttl.nil?
528
+ fail ArgumentError, 'platform_token_ttl cannot be nil'
529
+ end
530
+
531
+ if platform_token_ttl > 31536000
532
+ fail ArgumentError, 'invalid value for "platform_token_ttl", must be smaller than or equal to 31536000.'
533
+ end
534
+
535
+ if platform_token_ttl < 3600
536
+ fail ArgumentError, 'invalid value for "platform_token_ttl", must be greater than or equal to 3600.'
537
+ end
538
+
539
+ @platform_token_ttl = platform_token_ttl
540
+ end
541
+
469
542
  # Custom attribute writer method with validation
470
543
  # @param [Object] min_password_length Value to be assigned
471
544
  def min_password_length=(min_password_length)
@@ -529,8 +602,10 @@ module Volcano::Generated
529
602
  self.class == o.class &&
530
603
  access_token_lifetime == o.access_token_lifetime &&
531
604
  refresh_token_lifetime == o.refresh_token_lifetime &&
605
+ refresh_token_reuse_interval == o.refresh_token_reuse_interval &&
532
606
  inactivity_timeout == o.inactivity_timeout &&
533
607
  max_session_duration == o.max_session_duration &&
608
+ platform_token_ttl == o.platform_token_ttl &&
534
609
  min_password_length == o.min_password_length &&
535
610
  require_uppercase == o.require_uppercase &&
536
611
  require_lowercase == o.require_lowercase &&
@@ -541,6 +616,9 @@ module Volcano::Generated
541
616
  rate_limit_signup == o.rate_limit_signup &&
542
617
  rate_limit_signin == o.rate_limit_signin &&
543
618
  rate_limit_token_refresh == o.rate_limit_token_refresh &&
619
+ rate_limit_password_reset == o.rate_limit_password_reset &&
620
+ cors_enabled == o.cors_enabled &&
621
+ cors_allowed_origins == o.cors_allowed_origins &&
544
622
  cors_allow_credentials == o.cors_allow_credentials &&
545
623
  cors_max_age == o.cors_max_age &&
546
624
  enable_anonymous_signins == o.enable_anonymous_signins &&
@@ -579,7 +657,7 @@ module Volcano::Generated
579
657
  # Calculates hash code according to all attributes.
580
658
  # @return [Integer] Hash code
581
659
  def hash
582
- [access_token_lifetime, refresh_token_lifetime, inactivity_timeout, max_session_duration, min_password_length, require_uppercase, require_lowercase, require_numbers, require_special_chars, enable_signup, enable_email_password, rate_limit_signup, rate_limit_signin, rate_limit_token_refresh, cors_allow_credentials, cors_max_age, enable_anonymous_signins, allowed_email_domains, allowed_email_domains_mode, allow_password_reset, password_reset_timeout, max_password_history, require_email_confirmation, email_confirmation_timeout, auto_link_verified_oauth, email_enabled, email_from_address, email_from_name, smtp_host, smtp_port, smtp_username, smtp_password, smtp_use_tls, email_confirmation_subject, email_password_reset_subject, email_password_changed_subject, managed_auth_enabled, post_auth_redirect_url, allowed_redirect_urls, post_logout_redirect_url, device_verification_url].hash
660
+ [access_token_lifetime, refresh_token_lifetime, refresh_token_reuse_interval, inactivity_timeout, max_session_duration, platform_token_ttl, min_password_length, require_uppercase, require_lowercase, require_numbers, require_special_chars, enable_signup, enable_email_password, rate_limit_signup, rate_limit_signin, rate_limit_token_refresh, rate_limit_password_reset, cors_enabled, cors_allowed_origins, cors_allow_credentials, cors_max_age, enable_anonymous_signins, allowed_email_domains, allowed_email_domains_mode, allow_password_reset, password_reset_timeout, max_password_history, require_email_confirmation, email_confirmation_timeout, auto_link_verified_oauth, email_enabled, email_from_address, email_from_name, smtp_host, smtp_port, smtp_username, smtp_password, smtp_use_tls, email_confirmation_subject, email_password_reset_subject, email_password_changed_subject, managed_auth_enabled, post_auth_redirect_url, allowed_redirect_urls, post_logout_redirect_url, device_verification_url].hash
583
661
  end
584
662
 
585
663
  # Builds the object from hash