volcano-sdk 0.32.7 → 0.33.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/lib/volcano/client.rb +3 -2
  4. data/lib/volcano/generated/lib/volcano-generated/api/sandboxes_api.rb +1433 -0
  5. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_session_request.rb +294 -0
  6. data/lib/volcano/generated/lib/volcano-generated/models/create_sandbox_template_request.rb +247 -0
  7. data/lib/volcano/generated/lib/volcano-generated/models/publish_sandbox_preset_request.rb +268 -0
  8. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access.rb +216 -0
  9. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_access_request.rb +221 -0
  10. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity.rb +199 -0
  11. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_capacity_list.rb +166 -0
  12. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_request.rb +251 -0
  13. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_command_result.rb +294 -0
  14. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment.rb +242 -0
  15. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_deployment_page.rb +192 -0
  16. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_request.rb +329 -0
  17. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_execution_result.rb +381 -0
  18. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_read_request.rb +182 -0
  19. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_result.rb +164 -0
  20. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_file_write_request.rb +217 -0
  21. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_pagination.rb +199 -0
  22. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset.rb +294 -0
  23. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_preset_list.rb +166 -0
  24. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session.rb +407 -0
  25. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_session_page.rb +192 -0
  26. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_subject_grant_request.rb +164 -0
  27. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template.rb +321 -0
  28. data/lib/volcano/generated/lib/volcano-generated/models/sandbox_template_page.rb +192 -0
  29. data/lib/volcano/generated/lib/volcano-generated/models/update_sandbox_template_request.rb +175 -0
  30. data/lib/volcano/generated/lib/volcano-generated.rb +26 -0
  31. data/lib/volcano/generated_transport.rb +1 -0
  32. data/lib/volcano/generated_transport_sandbox.rb +69 -0
  33. data/lib/volcano/sandbox_files.rb +37 -0
  34. data/lib/volcano/sandbox_models.rb +24 -0
  35. data/lib/volcano/sandbox_request.rb +92 -0
  36. data/lib/volcano/sandbox_response.rb +74 -0
  37. data/lib/volcano/sandbox_session.rb +78 -0
  38. data/lib/volcano/sandboxes.rb +67 -0
  39. data/lib/volcano/version.rb +1 -1
  40. data/lib/volcano.rb +7 -0
  41. data/sig/client.rbs +1 -0
  42. data/sig/sandboxes.rbs +83 -0
  43. metadata +50 -2
@@ -0,0 +1,407 @@
1
+ =begin
2
+ #Volcano Hosting API
3
+
4
+ #Public API for Volcano Hosting 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 SandboxSession < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :project_id
21
+
22
+ attr_accessor :sandbox_id
23
+
24
+ attr_accessor :state
25
+
26
+ attr_accessor :desired_state
27
+
28
+ attr_accessor :region
29
+
30
+ attr_accessor :memory_mb
31
+
32
+ attr_accessor :created_at
33
+
34
+ attr_accessor :started_at
35
+
36
+ attr_accessor :expires_at
37
+
38
+ class EnumAttributeValidator
39
+ attr_reader :datatype
40
+ attr_reader :allowable_values
41
+
42
+ def initialize(datatype, allowable_values)
43
+ @allowable_values = allowable_values.map do |value|
44
+ case datatype.to_s
45
+ when /Integer/i
46
+ value.to_i
47
+ when /Float/i
48
+ value.to_f
49
+ else
50
+ value
51
+ end
52
+ end
53
+ end
54
+
55
+ def valid?(value)
56
+ !value || allowable_values.include?(value)
57
+ end
58
+ end
59
+
60
+ # Attribute mapping from ruby-style variable name to JSON key.
61
+ def self.attribute_map
62
+ {
63
+ :'id' => :'id',
64
+ :'project_id' => :'project_id',
65
+ :'sandbox_id' => :'sandbox_id',
66
+ :'state' => :'state',
67
+ :'desired_state' => :'desired_state',
68
+ :'region' => :'region',
69
+ :'memory_mb' => :'memory_mb',
70
+ :'created_at' => :'created_at',
71
+ :'started_at' => :'started_at',
72
+ :'expires_at' => :'expires_at'
73
+ }
74
+ end
75
+
76
+ # Returns attribute mapping this model knows about
77
+ def self.acceptable_attribute_map
78
+ attribute_map
79
+ end
80
+
81
+ # Returns all the JSON keys this model knows about
82
+ def self.acceptable_attributes
83
+ acceptable_attribute_map.values
84
+ end
85
+
86
+ # Attribute type mapping.
87
+ def self.openapi_types
88
+ {
89
+ :'id' => :'String',
90
+ :'project_id' => :'String',
91
+ :'sandbox_id' => :'String',
92
+ :'state' => :'String',
93
+ :'desired_state' => :'String',
94
+ :'region' => :'String',
95
+ :'memory_mb' => :'Integer',
96
+ :'created_at' => :'Time',
97
+ :'started_at' => :'Time',
98
+ :'expires_at' => :'Time'
99
+ }
100
+ end
101
+
102
+ # List of attributes with nullable: true
103
+ def self.openapi_nullable
104
+ Set.new([
105
+ ])
106
+ end
107
+
108
+ # Initializes the object
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ def initialize(attributes = {})
111
+ if (!attributes.is_a?(Hash))
112
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::SandboxSession` initialize method"
113
+ end
114
+
115
+ # check to see if the attribute exists and convert string to symbol for hash key
116
+ acceptable_attribute_map = self.class.acceptable_attribute_map
117
+ attributes = attributes.each_with_object({}) { |(k, v), h|
118
+ if (!acceptable_attribute_map.key?(k.to_sym))
119
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::SandboxSession`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
120
+ end
121
+ h[k.to_sym] = v
122
+ }
123
+
124
+ if attributes.key?(:'id')
125
+ self.id = attributes[:'id']
126
+ else
127
+ self.id = nil
128
+ end
129
+
130
+ if attributes.key?(:'project_id')
131
+ self.project_id = attributes[:'project_id']
132
+ else
133
+ self.project_id = nil
134
+ end
135
+
136
+ if attributes.key?(:'sandbox_id')
137
+ self.sandbox_id = attributes[:'sandbox_id']
138
+ else
139
+ self.sandbox_id = nil
140
+ end
141
+
142
+ if attributes.key?(:'state')
143
+ self.state = attributes[:'state']
144
+ else
145
+ self.state = nil
146
+ end
147
+
148
+ if attributes.key?(:'desired_state')
149
+ self.desired_state = attributes[:'desired_state']
150
+ else
151
+ self.desired_state = nil
152
+ end
153
+
154
+ if attributes.key?(:'region')
155
+ self.region = attributes[:'region']
156
+ else
157
+ self.region = nil
158
+ end
159
+
160
+ if attributes.key?(:'memory_mb')
161
+ self.memory_mb = attributes[:'memory_mb']
162
+ else
163
+ self.memory_mb = nil
164
+ end
165
+
166
+ if attributes.key?(:'created_at')
167
+ self.created_at = attributes[:'created_at']
168
+ else
169
+ self.created_at = nil
170
+ end
171
+
172
+ if attributes.key?(:'started_at')
173
+ self.started_at = attributes[:'started_at']
174
+ end
175
+
176
+ if attributes.key?(:'expires_at')
177
+ self.expires_at = attributes[:'expires_at']
178
+ else
179
+ self.expires_at = nil
180
+ end
181
+ end
182
+
183
+ # Show invalid properties with the reasons. Usually used together with valid?
184
+ # @return Array for valid properties with the reasons
185
+ def list_invalid_properties
186
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
187
+ invalid_properties = Array.new
188
+ if @id.nil?
189
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
190
+ end
191
+
192
+ if @project_id.nil?
193
+ invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
194
+ end
195
+
196
+ if @sandbox_id.nil?
197
+ invalid_properties.push('invalid value for "sandbox_id", sandbox_id cannot be nil.')
198
+ end
199
+
200
+ if @state.nil?
201
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
202
+ end
203
+
204
+ if @desired_state.nil?
205
+ invalid_properties.push('invalid value for "desired_state", desired_state cannot be nil.')
206
+ end
207
+
208
+ if @region.nil?
209
+ invalid_properties.push('invalid value for "region", region cannot be nil.')
210
+ end
211
+
212
+ if @memory_mb.nil?
213
+ invalid_properties.push('invalid value for "memory_mb", memory_mb cannot be nil.')
214
+ end
215
+
216
+ if @created_at.nil?
217
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
218
+ end
219
+
220
+ if @expires_at.nil?
221
+ invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.')
222
+ end
223
+
224
+ invalid_properties
225
+ end
226
+
227
+ # Check to see if the all the properties in the model are valid
228
+ # @return true if the model is valid
229
+ def valid?
230
+ warn '[DEPRECATED] the `valid?` method is obsolete'
231
+ return false if @id.nil?
232
+ return false if @project_id.nil?
233
+ return false if @sandbox_id.nil?
234
+ return false if @state.nil?
235
+ state_validator = EnumAttributeValidator.new('String', ["starting", "running", "suspending", "suspended", "resuming", "terminating", "terminated", "unknown"])
236
+ return false unless state_validator.valid?(@state)
237
+ return false if @desired_state.nil?
238
+ desired_state_validator = EnumAttributeValidator.new('String', ["running", "suspended", "terminated"])
239
+ return false unless desired_state_validator.valid?(@desired_state)
240
+ return false if @region.nil?
241
+ return false if @memory_mb.nil?
242
+ return false if @created_at.nil?
243
+ return false if @expires_at.nil?
244
+ true
245
+ end
246
+
247
+ # Custom attribute writer method with validation
248
+ # @param [Object] id Value to be assigned
249
+ def id=(id)
250
+ if id.nil?
251
+ fail ArgumentError, 'id cannot be nil'
252
+ end
253
+
254
+ @id = id
255
+ end
256
+
257
+ # Custom attribute writer method with validation
258
+ # @param [Object] project_id Value to be assigned
259
+ def project_id=(project_id)
260
+ if project_id.nil?
261
+ fail ArgumentError, 'project_id cannot be nil'
262
+ end
263
+
264
+ @project_id = project_id
265
+ end
266
+
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
+ # Custom attribute writer method checking allowed values (enum).
278
+ # @param [Object] state Object to be assigned
279
+ def state=(state)
280
+ validator = EnumAttributeValidator.new('String', ["starting", "running", "suspending", "suspended", "resuming", "terminating", "terminated", "unknown"])
281
+ unless validator.valid?(state)
282
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
283
+ end
284
+ @state = state
285
+ end
286
+
287
+ # Custom attribute writer method checking allowed values (enum).
288
+ # @param [Object] desired_state Object to be assigned
289
+ def desired_state=(desired_state)
290
+ validator = EnumAttributeValidator.new('String', ["running", "suspended", "terminated"])
291
+ unless validator.valid?(desired_state)
292
+ fail ArgumentError, "invalid value for \"desired_state\", must be one of #{validator.allowable_values}."
293
+ end
294
+ @desired_state = desired_state
295
+ end
296
+
297
+ # Custom attribute writer method with validation
298
+ # @param [Object] region Value to be assigned
299
+ def region=(region)
300
+ if region.nil?
301
+ fail ArgumentError, 'region cannot be nil'
302
+ end
303
+
304
+ @region = region
305
+ end
306
+
307
+ # Custom attribute writer method with validation
308
+ # @param [Object] memory_mb Value to be assigned
309
+ def memory_mb=(memory_mb)
310
+ if memory_mb.nil?
311
+ fail ArgumentError, 'memory_mb cannot be nil'
312
+ end
313
+
314
+ @memory_mb = memory_mb
315
+ end
316
+
317
+ # Custom attribute writer method with validation
318
+ # @param [Object] created_at Value to be assigned
319
+ def created_at=(created_at)
320
+ if created_at.nil?
321
+ fail ArgumentError, 'created_at cannot be nil'
322
+ end
323
+
324
+ @created_at = created_at
325
+ end
326
+
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
+ # Checks equality by comparing each attribute.
338
+ # @param [Object] Object to be compared
339
+ def ==(o)
340
+ return true if self.equal?(o)
341
+ self.class == o.class &&
342
+ id == o.id &&
343
+ project_id == o.project_id &&
344
+ sandbox_id == o.sandbox_id &&
345
+ state == o.state &&
346
+ desired_state == o.desired_state &&
347
+ region == o.region &&
348
+ memory_mb == o.memory_mb &&
349
+ created_at == o.created_at &&
350
+ started_at == o.started_at &&
351
+ expires_at == o.expires_at
352
+ end
353
+
354
+ # @see the `==` method
355
+ # @param [Object] Object to be compared
356
+ def eql?(o)
357
+ self == o
358
+ end
359
+
360
+ # Calculates hash code according to all attributes.
361
+ # @return [Integer] Hash code
362
+ def hash
363
+ [id, project_id, sandbox_id, state, desired_state, region, memory_mb, created_at, started_at, expires_at].hash
364
+ end
365
+
366
+ # Builds the object from hash
367
+ # @param [Hash] attributes Model attributes in the form of hash
368
+ # @return [Object] Returns the model itself
369
+ def self.build_from_hash(attributes)
370
+ return nil unless attributes.is_a?(Hash)
371
+ attributes = attributes.transform_keys(&:to_sym)
372
+ transformed_hash = {}
373
+ openapi_types.each_pair do |key, type|
374
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
375
+ transformed_hash["#{key}"] = nil
376
+ elsif type =~ /\AArray<(.*)>/i
377
+ # check to ensure the input is an array given that the attribute
378
+ # is documented as an array but the input is not
379
+ if attributes[attribute_map[key]].is_a?(Array)
380
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
381
+ end
382
+ elsif !attributes[attribute_map[key]].nil?
383
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
384
+ end
385
+ end
386
+ new(transformed_hash)
387
+ end
388
+
389
+ # Returns the object in the form of hash
390
+ # @return [Hash] Returns the object in the form of hash
391
+ def to_hash
392
+ hash = {}
393
+ self.class.attribute_map.each_pair do |attr, param|
394
+ value = self.send(attr)
395
+ if value.nil?
396
+ is_nullable = self.class.openapi_nullable.include?(attr)
397
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
398
+ end
399
+
400
+ hash[param] = _to_hash(value)
401
+ end
402
+ hash
403
+ end
404
+
405
+ end
406
+
407
+ end
@@ -0,0 +1,192 @@
1
+ =begin
2
+ #Volcano Hosting API
3
+
4
+ #Public API for Volcano Hosting 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 SandboxSessionPage < ApiModelBase
18
+ attr_accessor :data
19
+
20
+ attr_accessor :pagination
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'data' => :'data',
26
+ :'pagination' => :'pagination'
27
+ }
28
+ end
29
+
30
+ # Returns attribute mapping this model knows about
31
+ def self.acceptable_attribute_map
32
+ attribute_map
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ acceptable_attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'data' => :'Array<SandboxSession>',
44
+ :'pagination' => :'SandboxPagination'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ ])
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Volcano::Generated::SandboxSessionPage` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ acceptable_attribute_map = self.class.acceptable_attribute_map
63
+ attributes = attributes.each_with_object({}) { |(k, v), h|
64
+ if (!acceptable_attribute_map.key?(k.to_sym))
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Volcano::Generated::SandboxSessionPage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
66
+ end
67
+ h[k.to_sym] = v
68
+ }
69
+
70
+ if attributes.key?(:'data')
71
+ if (value = attributes[:'data']).is_a?(Array)
72
+ self.data = value
73
+ end
74
+ else
75
+ self.data = nil
76
+ end
77
+
78
+ if attributes.key?(:'pagination')
79
+ self.pagination = attributes[:'pagination']
80
+ else
81
+ self.pagination = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @data.nil?
91
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
92
+ end
93
+
94
+ if @pagination.nil?
95
+ invalid_properties.push('invalid value for "pagination", pagination cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @data.nil?
106
+ return false if @pagination.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] data Value to be assigned
112
+ def data=(data)
113
+ if data.nil?
114
+ fail ArgumentError, 'data cannot be nil'
115
+ end
116
+
117
+ @data = data
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] pagination Value to be assigned
122
+ def pagination=(pagination)
123
+ if pagination.nil?
124
+ fail ArgumentError, 'pagination cannot be nil'
125
+ end
126
+
127
+ @pagination = pagination
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ data == o.data &&
136
+ pagination == o.pagination
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [data, pagination].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ end
191
+
192
+ end