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
@@ -0,0 +1,325 @@
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
+ # Stable identity for a Project-owned variable Environment.
18
+ class VariableEnvironment < ApiModelBase
19
+ attr_accessor :id
20
+
21
+ attr_accessor :project_id
22
+
23
+ attr_accessor :name
24
+
25
+ # Whether this is the reserved Global Environment.
26
+ attr_accessor :is_global
27
+
28
+ attr_accessor :created_at
29
+
30
+ attr_accessor :updated_at
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'id' => :'id',
36
+ :'project_id' => :'project_id',
37
+ :'name' => :'name',
38
+ :'is_global' => :'is_global',
39
+ :'created_at' => :'created_at',
40
+ :'updated_at' => :'updated_at'
41
+ }
42
+ end
43
+
44
+ # Returns attribute mapping this model knows about
45
+ def self.acceptable_attribute_map
46
+ attribute_map
47
+ end
48
+
49
+ # Returns all the JSON keys this model knows about
50
+ def self.acceptable_attributes
51
+ acceptable_attribute_map.values
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.openapi_types
56
+ {
57
+ :'id' => :'String',
58
+ :'project_id' => :'String',
59
+ :'name' => :'String',
60
+ :'is_global' => :'Boolean',
61
+ :'created_at' => :'Time',
62
+ :'updated_at' => :'Time'
63
+ }
64
+ end
65
+
66
+ # List of attributes with nullable: true
67
+ def self.openapi_nullable
68
+ Set.new([
69
+ ])
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::VariableEnvironment` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ acceptable_attribute_map = self.class.acceptable_attribute_map
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!acceptable_attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::VariableEnvironment`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'id')
89
+ self.id = attributes[:'id']
90
+ else
91
+ self.id = nil
92
+ end
93
+
94
+ if attributes.key?(:'project_id')
95
+ self.project_id = attributes[:'project_id']
96
+ else
97
+ self.project_id = nil
98
+ end
99
+
100
+ if attributes.key?(:'name')
101
+ self.name = attributes[:'name']
102
+ else
103
+ self.name = nil
104
+ end
105
+
106
+ if attributes.key?(:'is_global')
107
+ self.is_global = attributes[:'is_global']
108
+ else
109
+ self.is_global = nil
110
+ end
111
+
112
+ if attributes.key?(:'created_at')
113
+ self.created_at = attributes[:'created_at']
114
+ else
115
+ self.created_at = nil
116
+ end
117
+
118
+ if attributes.key?(:'updated_at')
119
+ self.updated_at = attributes[:'updated_at']
120
+ else
121
+ self.updated_at = nil
122
+ end
123
+ end
124
+
125
+ # Show invalid properties with the reasons. Usually used together with valid?
126
+ # @return Array for valid properties with the reasons
127
+ def list_invalid_properties
128
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
129
+ invalid_properties = Array.new
130
+ if @id.nil?
131
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
132
+ end
133
+
134
+ if @project_id.nil?
135
+ invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
136
+ end
137
+
138
+ if @name.nil?
139
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
140
+ end
141
+
142
+ if @name.to_s.length > 64
143
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 64.')
144
+ end
145
+
146
+ if @name.to_s.length < 1
147
+ invalid_properties.push('invalid value for "name", the character length must be greater than or equal to 1.')
148
+ end
149
+
150
+ pattern = Regexp.new(/^[A-Za-z0-9_-]{1,64}$/)
151
+ if @name !~ pattern
152
+ invalid_properties.push("invalid value for \"name\", must conform to the pattern #{pattern}.")
153
+ end
154
+
155
+ if @is_global.nil?
156
+ invalid_properties.push('invalid value for "is_global", is_global cannot be nil.')
157
+ end
158
+
159
+ if @created_at.nil?
160
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
161
+ end
162
+
163
+ if @updated_at.nil?
164
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
165
+ end
166
+
167
+ invalid_properties
168
+ end
169
+
170
+ # Check to see if the all the properties in the model are valid
171
+ # @return true if the model is valid
172
+ def valid?
173
+ warn '[DEPRECATED] the `valid?` method is obsolete'
174
+ return false if @id.nil?
175
+ return false if @project_id.nil?
176
+ return false if @name.nil?
177
+ return false if @name.to_s.length > 64
178
+ return false if @name.to_s.length < 1
179
+ return false if @name !~ Regexp.new(/^[A-Za-z0-9_-]{1,64}$/)
180
+ return false if @is_global.nil?
181
+ return false if @created_at.nil?
182
+ return false if @updated_at.nil?
183
+ true
184
+ end
185
+
186
+ # Custom attribute writer method with validation
187
+ # @param [Object] id Value to be assigned
188
+ def id=(id)
189
+ if id.nil?
190
+ fail ArgumentError, 'id cannot be nil'
191
+ end
192
+
193
+ @id = id
194
+ end
195
+
196
+ # Custom attribute writer method with validation
197
+ # @param [Object] project_id Value to be assigned
198
+ def project_id=(project_id)
199
+ if project_id.nil?
200
+ fail ArgumentError, 'project_id cannot be nil'
201
+ end
202
+
203
+ @project_id = project_id
204
+ end
205
+
206
+ # Custom attribute writer method with validation
207
+ # @param [Object] name Value to be assigned
208
+ def name=(name)
209
+ if name.nil?
210
+ fail ArgumentError, 'name cannot be nil'
211
+ end
212
+
213
+ if name.to_s.length > 64
214
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 64.'
215
+ end
216
+
217
+ if name.to_s.length < 1
218
+ fail ArgumentError, 'invalid value for "name", the character length must be greater than or equal to 1.'
219
+ end
220
+
221
+ pattern = Regexp.new(/^[A-Za-z0-9_-]{1,64}$/)
222
+ if name !~ pattern
223
+ fail ArgumentError, "invalid value for \"name\", must conform to the pattern #{pattern}."
224
+ end
225
+
226
+ @name = name
227
+ end
228
+
229
+ # Custom attribute writer method with validation
230
+ # @param [Object] is_global Value to be assigned
231
+ def is_global=(is_global)
232
+ if is_global.nil?
233
+ fail ArgumentError, 'is_global cannot be nil'
234
+ end
235
+
236
+ @is_global = is_global
237
+ end
238
+
239
+ # Custom attribute writer method with validation
240
+ # @param [Object] created_at Value to be assigned
241
+ def created_at=(created_at)
242
+ if created_at.nil?
243
+ fail ArgumentError, 'created_at cannot be nil'
244
+ end
245
+
246
+ @created_at = created_at
247
+ end
248
+
249
+ # Custom attribute writer method with validation
250
+ # @param [Object] updated_at Value to be assigned
251
+ def updated_at=(updated_at)
252
+ if updated_at.nil?
253
+ fail ArgumentError, 'updated_at cannot be nil'
254
+ end
255
+
256
+ @updated_at = updated_at
257
+ end
258
+
259
+ # Checks equality by comparing each attribute.
260
+ # @param [Object] Object to be compared
261
+ def ==(o)
262
+ return true if self.equal?(o)
263
+ self.class == o.class &&
264
+ id == o.id &&
265
+ project_id == o.project_id &&
266
+ name == o.name &&
267
+ is_global == o.is_global &&
268
+ created_at == o.created_at &&
269
+ updated_at == o.updated_at
270
+ end
271
+
272
+ # @see the `==` method
273
+ # @param [Object] Object to be compared
274
+ def eql?(o)
275
+ self == o
276
+ end
277
+
278
+ # Calculates hash code according to all attributes.
279
+ # @return [Integer] Hash code
280
+ def hash
281
+ [id, project_id, name, is_global, created_at, updated_at].hash
282
+ end
283
+
284
+ # Builds the object from hash
285
+ # @param [Hash] attributes Model attributes in the form of hash
286
+ # @return [Object] Returns the model itself
287
+ def self.build_from_hash(attributes)
288
+ return nil unless attributes.is_a?(Hash)
289
+ attributes = attributes.transform_keys(&:to_sym)
290
+ transformed_hash = {}
291
+ openapi_types.each_pair do |key, type|
292
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
293
+ transformed_hash["#{key}"] = nil
294
+ elsif type =~ /\AArray<(.*)>/i
295
+ # check to ensure the input is an array given that the attribute
296
+ # is documented as an array but the input is not
297
+ if attributes[attribute_map[key]].is_a?(Array)
298
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
299
+ end
300
+ elsif !attributes[attribute_map[key]].nil?
301
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
302
+ end
303
+ end
304
+ new(transformed_hash)
305
+ end
306
+
307
+ # Returns the object in the form of hash
308
+ # @return [Hash] Returns the object in the form of hash
309
+ def to_hash
310
+ hash = {}
311
+ self.class.attribute_map.each_pair do |attr, param|
312
+ value = self.send(attr)
313
+ if value.nil?
314
+ is_nullable = self.class.openapi_nullable.include?(attr)
315
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
316
+ end
317
+
318
+ hash[param] = _to_hash(value)
319
+ end
320
+ hash
321
+ end
322
+
323
+ end
324
+
325
+ end
@@ -0,0 +1,175 @@
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 VariableEnvironmentList < ApiModelBase
18
+ attr_accessor :data
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'data' => :'data'
24
+ }
25
+ end
26
+
27
+ # Returns attribute mapping this model knows about
28
+ def self.acceptable_attribute_map
29
+ attribute_map
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ acceptable_attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'data' => :'Array<VariableEnvironment>'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::VariableEnvironmentList` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ acceptable_attribute_map = self.class.acceptable_attribute_map
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!acceptable_attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::VariableEnvironmentList`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'data')
67
+ if (value = attributes[:'data']).is_a?(Array)
68
+ self.data = value
69
+ end
70
+ else
71
+ self.data = nil
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
79
+ invalid_properties = Array.new
80
+ if @data.nil?
81
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
82
+ end
83
+
84
+ if @data.length > 101
85
+ invalid_properties.push('invalid value for "data", number of items must be less than or equal to 101.')
86
+ end
87
+
88
+ invalid_properties
89
+ end
90
+
91
+ # Check to see if the all the properties in the model are valid
92
+ # @return true if the model is valid
93
+ def valid?
94
+ warn '[DEPRECATED] the `valid?` method is obsolete'
95
+ return false if @data.nil?
96
+ return false if @data.length > 101
97
+ true
98
+ end
99
+
100
+ # Custom attribute writer method with validation
101
+ # @param [Object] data Value to be assigned
102
+ def data=(data)
103
+ if data.nil?
104
+ fail ArgumentError, 'data cannot be nil'
105
+ end
106
+
107
+ if data.length > 101
108
+ fail ArgumentError, 'invalid value for "data", number of items must be less than or equal to 101.'
109
+ end
110
+
111
+ @data = data
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
+ data == o.data
120
+ end
121
+
122
+ # @see the `==` method
123
+ # @param [Object] Object to be compared
124
+ def eql?(o)
125
+ self == o
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Integer] Hash code
130
+ def hash
131
+ [data].hash
132
+ end
133
+
134
+ # Builds the object from hash
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ # @return [Object] Returns the model itself
137
+ def self.build_from_hash(attributes)
138
+ return nil unless attributes.is_a?(Hash)
139
+ attributes = attributes.transform_keys(&:to_sym)
140
+ transformed_hash = {}
141
+ openapi_types.each_pair do |key, type|
142
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
143
+ transformed_hash["#{key}"] = nil
144
+ elsif type =~ /\AArray<(.*)>/i
145
+ # check to ensure the input is an array given that the attribute
146
+ # is documented as an array but the input is not
147
+ if attributes[attribute_map[key]].is_a?(Array)
148
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
149
+ end
150
+ elsif !attributes[attribute_map[key]].nil?
151
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
152
+ end
153
+ end
154
+ new(transformed_hash)
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ if value.nil?
164
+ is_nullable = self.class.openapi_nullable.include?(attr)
165
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
166
+ end
167
+
168
+ hash[param] = _to_hash(value)
169
+ end
170
+ hash
171
+ end
172
+
173
+ end
174
+
175
+ end
@@ -74,6 +74,10 @@ Volcano::Generated.autoload :AuthSignupResponse, 'volcano-generated/models/auth_
74
74
  Volcano::Generated.autoload :AuthTokenResponse, 'volcano-generated/models/auth_token_response'
75
75
  Volcano::Generated.autoload :AuthUpdateUserRequest, 'volcano-generated/models/auth_update_user_request'
76
76
  Volcano::Generated.autoload :AuthUser, 'volcano-generated/models/auth_user'
77
+ Volcano::Generated.autoload :AutofixModel, 'volcano-generated/models/autofix_model'
78
+ Volcano::Generated.autoload :AutofixProvider, 'volcano-generated/models/autofix_provider'
79
+ Volcano::Generated.autoload :AutofixSettings, 'volcano-generated/models/autofix_settings'
80
+ Volcano::Generated.autoload :AutofixStage, 'volcano-generated/models/autofix_stage'
77
81
  Volcano::Generated.autoload :BYOCProjectConfigFrontendCustomDomainTLSConfig, 'volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config'
78
82
  Volcano::Generated.autoload :BYOCProjectConfigFrontendCustomDomainTLSConfigNot, 'volcano-generated/models/byoc_project_config_frontend_custom_domain_tls_config_not'
79
83
  Volcano::Generated.autoload :BanAuthUserRequest, 'volcano-generated/models/ban_auth_user_request'
@@ -87,6 +91,9 @@ Volcano::Generated.autoload :CallMCPRequest, 'volcano-generated/models/call_mcp_
87
91
  Volcano::Generated.autoload :CallMCPRequestId, 'volcano-generated/models/call_mcp_request_id'
88
92
  Volcano::Generated.autoload :CallOAuthProviderAPI200Response, 'volcano-generated/models/call_o_auth_provider_api200_response'
89
93
  Volcano::Generated.autoload :CallOAuthProviderAPIRequest, 'volcano-generated/models/call_o_auth_provider_api_request'
94
+ Volcano::Generated.autoload :Capability, 'volcano-generated/models/capability'
95
+ Volcano::Generated.autoload :CapabilityList, 'volcano-generated/models/capability_list'
96
+ Volcano::Generated.autoload :CapabilityStatus, 'volcano-generated/models/capability_status'
90
97
  Volcano::Generated.autoload :CompleteUploadSessionResponse, 'volcano-generated/models/complete_upload_session_response'
91
98
  Volcano::Generated.autoload :ConfigureAuthMethodsRequest, 'volcano-generated/models/configure_auth_methods_request'
92
99
  Volcano::Generated.autoload :ConfigureAuthMethodsRequestOauthProvidersInner, 'volcano-generated/models/configure_auth_methods_request_oauth_providers_inner'
@@ -110,6 +117,7 @@ Volcano::Generated.autoload :CreateStorageBucketRequest, 'volcano-generated/mode
110
117
  Volcano::Generated.autoload :CreateStoragePolicyRequest, 'volcano-generated/models/create_storage_policy_request'
111
118
  Volcano::Generated.autoload :CreateUploadSessionRequest, 'volcano-generated/models/create_upload_session_request'
112
119
  Volcano::Generated.autoload :CreateUploadSessionResponse, 'volcano-generated/models/create_upload_session_response'
120
+ Volcano::Generated.autoload :CreateVariableEnvironmentRequest, 'volcano-generated/models/create_variable_environment_request'
113
121
  Volcano::Generated.autoload :CreateVariableRequest, 'volcano-generated/models/create_variable_request'
114
122
  Volcano::Generated.autoload :CreatedProjectAccessToken, 'volcano-generated/models/created_project_access_token'
115
123
  Volcano::Generated.autoload :Database, 'volcano-generated/models/database'
@@ -164,6 +172,16 @@ Volcano::Generated.autoload :DurableExecutionOperationList, 'volcano-generated/m
164
172
  Volcano::Generated.autoload :DurableExecutionStatus, 'volcano-generated/models/durable_execution_status'
165
173
  Volcano::Generated.autoload :DurableFunction, 'volcano-generated/models/durable_function'
166
174
  Volcano::Generated.autoload :DurableFunctionConfig, 'volcano-generated/models/durable_function_config'
175
+ Volcano::Generated.autoload :DurableMessage, 'volcano-generated/models/durable_message'
176
+ Volcano::Generated.autoload :DurableMessageDirection, 'volcano-generated/models/durable_message_direction'
177
+ Volcano::Generated.autoload :DurableMessageList, 'volcano-generated/models/durable_message_list'
178
+ Volcano::Generated.autoload :DurableMessageSender, 'volcano-generated/models/durable_message_sender'
179
+ Volcano::Generated.autoload :DurableMessageSessionRegistration, 'volcano-generated/models/durable_message_session_registration'
180
+ Volcano::Generated.autoload :DurableMessageStatus, 'volcano-generated/models/durable_message_status'
181
+ Volcano::Generated.autoload :DurableMessageWait, 'volcano-generated/models/durable_message_wait'
182
+ Volcano::Generated.autoload :DurableMessageWaitList, 'volcano-generated/models/durable_message_wait_list'
183
+ Volcano::Generated.autoload :DurableMessageWaitRegistration, 'volcano-generated/models/durable_message_wait_registration'
184
+ Volcano::Generated.autoload :DurableMessageWaitStatus, 'volcano-generated/models/durable_message_wait_status'
167
185
  Volcano::Generated.autoload :EmailTemplate, 'volcano-generated/models/email_template'
168
186
  Volcano::Generated.autoload :Error, 'volcano-generated/models/error'
169
187
  Volcano::Generated.autoload :ExportProjectSourceRequest, 'volcano-generated/models/export_project_source_request'
@@ -217,6 +235,8 @@ Volcano::Generated.autoload :ImportConnectionsResponse, 'volcano-generated/model
217
235
  Volcano::Generated.autoload :ImportProvider, 'volcano-generated/models/import_provider'
218
236
  Volcano::Generated.autoload :ImportSource, 'volcano-generated/models/import_source'
219
237
  Volcano::Generated.autoload :ImportSourcesResponse, 'volcano-generated/models/import_sources_response'
238
+ Volcano::Generated.autoload :Issue, 'volcano-generated/models/issue'
239
+ Volcano::Generated.autoload :IssueStatus, 'volcano-generated/models/issue_status'
220
240
  Volcano::Generated.autoload :ListAnonKeys200Response, 'volcano-generated/models/list_anon_keys200_response'
221
241
  Volcano::Generated.autoload :ListAvailableOAuthProviders200Response, 'volcano-generated/models/list_available_o_auth_providers200_response'
222
242
  Volcano::Generated.autoload :ListAvailableOAuthProviders200ResponseProvidersInner, 'volcano-generated/models/list_available_o_auth_providers200_response_providers_inner'
@@ -248,6 +268,7 @@ Volcano::Generated.autoload :ManagedProjectConfigFrontendCustomDomainTLSConfig,
248
268
  Volcano::Generated.autoload :MetricUsageData, 'volcano-generated/models/metric_usage_data'
249
269
  Volcano::Generated.autoload :OAuthConfig, 'volcano-generated/models/o_auth_config'
250
270
  Volcano::Generated.autoload :OAuthErrorResponse, 'volcano-generated/models/o_auth_error_response'
271
+ Volcano::Generated.autoload :OpenDurableMessageSessionRequest, 'volcano-generated/models/open_durable_message_session_request'
251
272
  Volcano::Generated.autoload :PaginatedAuthUsers, 'volcano-generated/models/paginated_auth_users'
252
273
  Volcano::Generated.autoload :PaginatedDatabases, 'volcano-generated/models/paginated_databases'
253
274
  Volcano::Generated.autoload :PaginatedDurableApprovals, 'volcano-generated/models/paginated_durable_approvals'
@@ -257,6 +278,7 @@ Volcano::Generated.autoload :PaginatedFrontendDeployments, 'volcano-generated/mo
257
278
  Volcano::Generated.autoload :PaginatedFrontends, 'volcano-generated/models/paginated_frontends'
258
279
  Volcano::Generated.autoload :PaginatedFunctionDeployments, 'volcano-generated/models/paginated_function_deployments'
259
280
  Volcano::Generated.autoload :PaginatedFunctions, 'volcano-generated/models/paginated_functions'
281
+ Volcano::Generated.autoload :PaginatedIssues, 'volcano-generated/models/paginated_issues'
260
282
  Volcano::Generated.autoload :PaginatedProjectAccessTokens, 'volcano-generated/models/paginated_project_access_tokens'
261
283
  Volcano::Generated.autoload :PaginatedProjectCustomDomains, 'volcano-generated/models/paginated_project_custom_domains'
262
284
  Volcano::Generated.autoload :PaginatedProjectDeployments, 'volcano-generated/models/paginated_project_deployments'
@@ -294,6 +316,7 @@ Volcano::Generated.autoload :ProjectConfigAuthRedirects, 'volcano-generated/mode
294
316
  Volcano::Generated.autoload :ProjectConfigAuthSessions, 'volcano-generated/models/project_config_auth_sessions'
295
317
  Volcano::Generated.autoload :ProjectConfigAuthSignup, 'volcano-generated/models/project_config_auth_signup'
296
318
  Volcano::Generated.autoload :ProjectConfigAuthTokens, 'volcano-generated/models/project_config_auth_tokens'
319
+ Volcano::Generated.autoload :ProjectConfigAutofix, 'volcano-generated/models/project_config_autofix'
297
320
  Volcano::Generated.autoload :ProjectConfigBucket, 'volcano-generated/models/project_config_bucket'
298
321
  Volcano::Generated.autoload :ProjectConfigBucketPolicy, 'volcano-generated/models/project_config_bucket_policy'
299
322
  Volcano::Generated.autoload :ProjectConfigCustomDomain, 'volcano-generated/models/project_config_custom_domain'
@@ -371,11 +394,14 @@ Volcano::Generated.autoload :ProjectSourceExportSkip, 'volcano-generated/models/
371
394
  Volcano::Generated.autoload :ProjectSourceExportState, 'volcano-generated/models/project_source_export_state'
372
395
  Volcano::Generated.autoload :ProjectTemplateInstallation, 'volcano-generated/models/project_template_installation'
373
396
  Volcano::Generated.autoload :ProjectUsageResponse, 'volcano-generated/models/project_usage_response'
397
+ Volcano::Generated.autoload :PublishDurableMessageRequest, 'volcano-generated/models/publish_durable_message_request'
374
398
  Volcano::Generated.autoload :PublishSandboxPresetRequest, 'volcano-generated/models/publish_sandbox_preset_request'
375
399
  Volcano::Generated.autoload :RealtimeConfig, 'volcano-generated/models/realtime_config'
376
400
  Volcano::Generated.autoload :RealtimePlanLimits, 'volcano-generated/models/realtime_plan_limits'
377
401
  Volcano::Generated.autoload :RealtimeStats, 'volcano-generated/models/realtime_stats'
378
402
  Volcano::Generated.autoload :RefreshOAuthProviderToken200Response, 'volcano-generated/models/refresh_o_auth_provider_token200_response'
403
+ Volcano::Generated.autoload :RegisterDurableMessageWaitRequest, 'volcano-generated/models/register_durable_message_wait_request'
404
+ Volcano::Generated.autoload :RenameVariableEnvironmentRequest, 'volcano-generated/models/rename_variable_environment_request'
379
405
  Volcano::Generated.autoload :ReplaceFrontendSharedVariablesRequest, 'volcano-generated/models/replace_frontend_shared_variables_request'
380
406
  Volcano::Generated.autoload :ReplaceSharedVariablesRequest, 'volcano-generated/models/replace_shared_variables_request'
381
407
  Volcano::Generated.autoload :RequestDurableApprovalRequest, 'volcano-generated/models/request_durable_approval_request'
@@ -406,6 +432,7 @@ Volcano::Generated.autoload :SandboxSubjectGrantRequest, 'volcano-generated/mode
406
432
  Volcano::Generated.autoload :SandboxTemplate, 'volcano-generated/models/sandbox_template'
407
433
  Volcano::Generated.autoload :SandboxTemplatePage, 'volcano-generated/models/sandbox_template_page'
408
434
  Volcano::Generated.autoload :ScheduleRequest, 'volcano-generated/models/schedule_request'
435
+ Volcano::Generated.autoload :SendDurableMessageRequest, 'volcano-generated/models/send_durable_message_request'
409
436
  Volcano::Generated.autoload :ServiceKey, 'volcano-generated/models/service_key'
410
437
  Volcano::Generated.autoload :SetProjectGitProductionBranchRequest, 'volcano-generated/models/set_project_git_production_branch_request'
411
438
  Volcano::Generated.autoload :StorageBucket, 'volcano-generated/models/storage_bucket'
@@ -424,11 +451,13 @@ Volcano::Generated.autoload :UpdateAuthConfigRequest, 'volcano-generated/models/
424
451
  Volcano::Generated.autoload :UpdateAuthHostedPageRequest, 'volcano-generated/models/update_auth_hosted_page_request'
425
452
  Volcano::Generated.autoload :UpdateAuthPageLayoutRequest, 'volcano-generated/models/update_auth_page_layout_request'
426
453
  Volcano::Generated.autoload :UpdateAuthPageThemeRequest, 'volcano-generated/models/update_auth_page_theme_request'
454
+ Volcano::Generated.autoload :UpdateAutofixSettingsRequest, 'volcano-generated/models/update_autofix_settings_request'
427
455
  Volcano::Generated.autoload :UpdateDatabaseBranchRequest, 'volcano-generated/models/update_database_branch_request'
428
456
  Volcano::Generated.autoload :UpdateDatabaseTypeRequest, 'volcano-generated/models/update_database_type_request'
429
457
  Volcano::Generated.autoload :UpdateEmailTemplateRequest, 'volcano-generated/models/update_email_template_request'
430
458
  Volcano::Generated.autoload :UpdateFunctionRequest, 'volcano-generated/models/update_function_request'
431
459
  Volcano::Generated.autoload :UpdateFunctionSchedulerRequest, 'volcano-generated/models/update_function_scheduler_request'
460
+ Volcano::Generated.autoload :UpdateIssueRequest, 'volcano-generated/models/update_issue_request'
432
461
  Volcano::Generated.autoload :UpdateOAuthConfigRequest, 'volcano-generated/models/update_o_auth_config_request'
433
462
  Volcano::Generated.autoload :UpdateProjectGitDeploySettingsRequest, 'volcano-generated/models/update_project_git_deploy_settings_request'
434
463
  Volcano::Generated.autoload :UpdateProjectRequest, 'volcano-generated/models/update_project_request'
@@ -441,6 +470,8 @@ Volcano::Generated.autoload :UploadSessionStatusResponse, 'volcano-generated/mod
441
470
  Volcano::Generated.autoload :UploadStorageObject201Response, 'volcano-generated/models/upload_storage_object201_response'
442
471
  Volcano::Generated.autoload :UsageDataPoint, 'volcano-generated/models/usage_data_point'
443
472
  Volcano::Generated.autoload :Variable, 'volcano-generated/models/variable'
473
+ Volcano::Generated.autoload :VariableEnvironment, 'volcano-generated/models/variable_environment'
474
+ Volcano::Generated.autoload :VariableEnvironmentList, 'volcano-generated/models/variable_environment_list'
444
475
  Volcano::Generated.autoload :VerifiedDomain, 'volcano-generated/models/verified_domain'
445
476
  Volcano::Generated.autoload :VerifiedDomainsResponse, 'volcano-generated/models/verified_domains_response'
446
477
  Volcano::Generated.autoload :VerifyDomainRequest, 'volcano-generated/models/verify_domain_request'
@@ -450,6 +481,7 @@ Volcano::Generated.autoload :AnonKeysApi, 'volcano-generated/api/anon_keys_api'
450
481
  Volcano::Generated.autoload :AuthAdminApi, 'volcano-generated/api/auth_admin_api'
451
482
  Volcano::Generated.autoload :AuthConfigurationApi, 'volcano-generated/api/auth_configuration_api'
452
483
  Volcano::Generated.autoload :AuthenticationApi, 'volcano-generated/api/authentication_api'
484
+ Volcano::Generated.autoload :AutofixApi, 'volcano-generated/api/autofix_api'
453
485
  Volcano::Generated.autoload :DatabaseBackupsApi, 'volcano-generated/api/database_backups_api'
454
486
  Volcano::Generated.autoload :DatabaseBranchesApi, 'volcano-generated/api/database_branches_api'
455
487
  Volcano::Generated.autoload :DatabaseQueriesApi, 'volcano-generated/api/database_queries_api'
@@ -458,6 +490,7 @@ Volcano::Generated.autoload :DurableFunctionsApi, 'volcano-generated/api/durable
458
490
  Volcano::Generated.autoload :FrontendsApi, 'volcano-generated/api/frontends_api'
459
491
  Volcano::Generated.autoload :FunctionsApi, 'volcano-generated/api/functions_api'
460
492
  Volcano::Generated.autoload :GitConnectionsApi, 'volcano-generated/api/git_connections_api'
493
+ Volcano::Generated.autoload :IssuesApi, 'volcano-generated/api/issues_api'
461
494
  Volcano::Generated.autoload :LocksApi, 'volcano-generated/api/locks_api'
462
495
  Volcano::Generated.autoload :LogsApi, 'volcano-generated/api/logs_api'
463
496
  Volcano::Generated.autoload :OAuthAuthenticationApi, 'volcano-generated/api/o_auth_authentication_api'
@@ -473,6 +506,7 @@ Volcano::Generated.autoload :StorageBucketsApi, 'volcano-generated/api/storage_b
473
506
  Volcano::Generated.autoload :StorageObjectsApi, 'volcano-generated/api/storage_objects_api'
474
507
  Volcano::Generated.autoload :StoragePoliciesApi, 'volcano-generated/api/storage_policies_api'
475
508
  Volcano::Generated.autoload :SystemApi, 'volcano-generated/api/system_api'
509
+ Volcano::Generated.autoload :VariableEnvironmentsApi, 'volcano-generated/api/variable_environments_api'
476
510
  Volcano::Generated.autoload :VariablesApi, 'volcano-generated/api/variables_api'
477
511
  Volcano::Generated.autoload :VerifiedDomainsApi, 'volcano-generated/api/verified_domains_api'
478
512
 
@@ -29,6 +29,7 @@ module Volcano
29
29
  require_relative 'generated_transport_logs'
30
30
  require_relative 'generated_transport_functions'
31
31
  require_relative 'generated_transport_durable'
32
+ require_relative 'generated_transport_durable_messages'
32
33
  require_relative 'generated_transport_sandbox'
33
34
  require_relative 'generated_transport_storage'
34
35
  require_relative 'generated_transport_upload_sessions'