autosde_openapi_client 1.0.0 → 1.0.21

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 (223) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +143 -117
  3. data/autosde_openapi_client.gemspec +4 -5
  4. data/docs/AbstractCapability.md +11 -10
  5. data/docs/AbstractCapabilityApi.md +122 -50
  6. data/docs/Account.md +13 -12
  7. data/docs/AccountApi.md +155 -65
  8. data/docs/AccountPostRequest.md +11 -10
  9. data/docs/AccountPostResponse.md +15 -14
  10. data/docs/Address.md +23 -22
  11. data/docs/AddressApi.md +122 -50
  12. data/docs/AddressCreate.md +23 -22
  13. data/docs/AuthResponse.md +9 -8
  14. data/docs/Authentication.md +11 -10
  15. data/docs/AuthenticationApi.md +33 -16
  16. data/docs/AutoSDEProject.md +47 -46
  17. data/docs/AutoSDEProjectApi.md +122 -50
  18. data/docs/AutoSDERole.md +11 -10
  19. data/docs/AutoSDERoleApi.md +122 -50
  20. data/docs/CapabilityTranslation.md +27 -26
  21. data/docs/CapabilityTranslationApi.md +122 -50
  22. data/docs/CapabilityTranslationCreate.md +23 -22
  23. data/docs/Host.md +21 -20
  24. data/docs/HostApi.md +122 -50
  25. data/docs/HostCreate.md +31 -30
  26. data/docs/HostVolumeConnection.md +15 -14
  27. data/docs/HostVolumeConnectionApi.md +122 -50
  28. data/docs/HostVolumeConnectionCreate.md +13 -12
  29. data/docs/Job.md +30 -0
  30. data/docs/JobApi.md +140 -0
  31. data/docs/JobCreate.md +20 -0
  32. data/docs/NativeCapability.md +15 -14
  33. data/docs/NativeCapabilityApi.md +122 -50
  34. data/docs/Profile.md +17 -16
  35. data/docs/ProfileApi.md +122 -50
  36. data/docs/ProvisioningStrategy.md +11 -10
  37. data/docs/ProvisioningStrategyApi.md +122 -50
  38. data/docs/Service.md +27 -26
  39. data/docs/ServiceAbstractCapabilityValue.md +13 -12
  40. data/docs/ServiceApi.md +155 -65
  41. data/docs/ServiceCreate.md +25 -24
  42. data/docs/ServiceResourceAttachment.md +15 -14
  43. data/docs/ServiceResourceAttachmentApi.md +122 -50
  44. data/docs/Snapshot.md +26 -0
  45. data/docs/SnapshotApi.md +276 -0
  46. data/docs/SnapshotCreate.md +24 -0
  47. data/docs/StorageHost.md +30 -0
  48. data/docs/StorageHostApi.md +346 -0
  49. data/docs/StorageHostCreate.md +38 -0
  50. data/docs/StorageHostResponse.md +32 -0
  51. data/docs/StorageHostUpdate.md +22 -0
  52. data/docs/StorageHostVolumeMapping.md +26 -0
  53. data/docs/StorageHostVolumeMappingApi.md +276 -0
  54. data/docs/StorageHostVolumeMappingCreate.md +24 -0
  55. data/docs/StorageHostVolumeMappingResponse.md +26 -0
  56. data/docs/StorageResource.md +25 -24
  57. data/docs/StorageResourceApi.md +155 -65
  58. data/docs/StorageResourceCreate.md +23 -22
  59. data/docs/StorageResourceResponse.md +25 -24
  60. data/docs/StorageSystem.md +21 -20
  61. data/docs/StorageSystemApi.md +122 -50
  62. data/docs/StorageSystemCreate.md +41 -40
  63. data/docs/SystemType.md +17 -16
  64. data/docs/SystemTypeApi.md +122 -50
  65. data/docs/SystemTypeCreate.md +19 -18
  66. data/docs/Volume.md +25 -22
  67. data/docs/VolumeApi.md +155 -65
  68. data/docs/VolumeCreate.md +21 -18
  69. data/docs/VolumeResponse.md +25 -22
  70. data/docs/VolumeSafeDelete.md +13 -12
  71. data/docs/VolumeSafeDeleteApi.md +122 -50
  72. data/docs/VolumeSafeDeleteCreate.md +9 -8
  73. data/docs/VolumeUpdate.md +11 -8
  74. data/lib/autosde_openapi_client.rb +18 -3
  75. data/lib/autosde_openapi_client/api/abstract_capability_api.rb +20 -16
  76. data/lib/autosde_openapi_client/api/account_api.rb +26 -21
  77. data/lib/autosde_openapi_client/api/address_api.rb +20 -16
  78. data/lib/autosde_openapi_client/api/authentication_api.rb +6 -5
  79. data/lib/autosde_openapi_client/api/auto_sde_project_api.rb +20 -16
  80. data/lib/autosde_openapi_client/api/auto_sde_role_api.rb +20 -16
  81. data/lib/autosde_openapi_client/api/capability_translation_api.rb +20 -16
  82. data/lib/autosde_openapi_client/api/host_api.rb +20 -16
  83. data/lib/autosde_openapi_client/api/host_volume_connection_api.rb +20 -16
  84. data/lib/autosde_openapi_client/api/job_api.rb +136 -0
  85. data/lib/autosde_openapi_client/api/native_capability_api.rb +20 -16
  86. data/lib/autosde_openapi_client/api/profile_api.rb +20 -16
  87. data/lib/autosde_openapi_client/api/provisioning_strategy_api.rb +20 -16
  88. data/lib/autosde_openapi_client/api/service_api.rb +26 -21
  89. data/lib/autosde_openapi_client/api/service_resource_attachment_api.rb +20 -16
  90. data/lib/autosde_openapi_client/api/snapshot_api.rb +254 -0
  91. data/lib/autosde_openapi_client/api/storage_host_api.rb +321 -0
  92. data/lib/autosde_openapi_client/api/storage_host_volume_mapping_api.rb +254 -0
  93. data/lib/autosde_openapi_client/api/storage_resource_api.rb +26 -21
  94. data/lib/autosde_openapi_client/api/storage_system_api.rb +20 -16
  95. data/lib/autosde_openapi_client/api/system_type_api.rb +20 -16
  96. data/lib/autosde_openapi_client/api/volume_api.rb +26 -21
  97. data/lib/autosde_openapi_client/api/volume_safe_delete_api.rb +20 -16
  98. data/lib/autosde_openapi_client/api_client.rb +50 -48
  99. data/lib/autosde_openapi_client/api_error.rb +2 -2
  100. data/lib/autosde_openapi_client/configuration.rb +35 -8
  101. data/lib/autosde_openapi_client/models/abstract_capability.rb +22 -10
  102. data/lib/autosde_openapi_client/models/account.rb +22 -10
  103. data/lib/autosde_openapi_client/models/account_post_request.rb +22 -10
  104. data/lib/autosde_openapi_client/models/account_post_response.rb +22 -10
  105. data/lib/autosde_openapi_client/models/address.rb +22 -10
  106. data/lib/autosde_openapi_client/models/address_create.rb +22 -10
  107. data/lib/autosde_openapi_client/models/auth_response.rb +22 -10
  108. data/lib/autosde_openapi_client/models/authentication.rb +22 -10
  109. data/lib/autosde_openapi_client/models/auto_sde_project.rb +22 -10
  110. data/lib/autosde_openapi_client/models/auto_sde_role.rb +22 -10
  111. data/lib/autosde_openapi_client/models/capability_translation.rb +22 -10
  112. data/lib/autosde_openapi_client/models/capability_translation_create.rb +22 -10
  113. data/lib/autosde_openapi_client/models/host.rb +22 -10
  114. data/lib/autosde_openapi_client/models/host_create.rb +22 -10
  115. data/lib/autosde_openapi_client/models/host_volume_connection.rb +22 -10
  116. data/lib/autosde_openapi_client/models/host_volume_connection_create.rb +22 -10
  117. data/lib/autosde_openapi_client/models/job.rb +280 -0
  118. data/lib/autosde_openapi_client/models/job_create.rb +230 -0
  119. data/lib/autosde_openapi_client/models/native_capability.rb +22 -10
  120. data/lib/autosde_openapi_client/models/profile.rb +22 -10
  121. data/lib/autosde_openapi_client/models/provisioning_strategy.rb +22 -10
  122. data/lib/autosde_openapi_client/models/service.rb +22 -10
  123. data/lib/autosde_openapi_client/models/service_abstract_capability_value.rb +22 -10
  124. data/lib/autosde_openapi_client/models/service_create.rb +22 -10
  125. data/lib/autosde_openapi_client/models/service_resource_attachment.rb +22 -10
  126. data/lib/autosde_openapi_client/models/snapshot.rb +298 -0
  127. data/lib/autosde_openapi_client/models/snapshot_create.rb +288 -0
  128. data/lib/autosde_openapi_client/models/storage_host.rb +317 -0
  129. data/lib/autosde_openapi_client/models/storage_host_create.rb +368 -0
  130. data/lib/autosde_openapi_client/models/storage_host_response.rb +333 -0
  131. data/lib/autosde_openapi_client/models/storage_host_update.rb +301 -0
  132. data/lib/autosde_openapi_client/models/storage_host_volume_mapping.rb +299 -0
  133. data/lib/autosde_openapi_client/models/storage_host_volume_mapping_create.rb +291 -0
  134. data/lib/autosde_openapi_client/models/storage_host_volume_mapping_response.rb +301 -0
  135. data/lib/autosde_openapi_client/models/storage_resource.rb +22 -10
  136. data/lib/autosde_openapi_client/models/storage_resource_create.rb +22 -10
  137. data/lib/autosde_openapi_client/models/storage_resource_response.rb +22 -10
  138. data/lib/autosde_openapi_client/models/storage_system.rb +22 -10
  139. data/lib/autosde_openapi_client/models/storage_system_create.rb +22 -10
  140. data/lib/autosde_openapi_client/models/system_type.rb +22 -10
  141. data/lib/autosde_openapi_client/models/system_type_create.rb +22 -10
  142. data/lib/autosde_openapi_client/models/volume.rb +33 -11
  143. data/lib/autosde_openapi_client/models/volume_create.rb +33 -11
  144. data/lib/autosde_openapi_client/models/volume_response.rb +33 -11
  145. data/lib/autosde_openapi_client/models/volume_safe_delete.rb +22 -10
  146. data/lib/autosde_openapi_client/models/volume_safe_delete_create.rb +22 -10
  147. data/lib/autosde_openapi_client/models/volume_update.rb +35 -11
  148. data/lib/autosde_openapi_client/version.rb +4 -4
  149. data/spec/api/abstract_capability_api_spec.rb +2 -2
  150. data/spec/api/account_api_spec.rb +3 -3
  151. data/spec/api/address_api_spec.rb +2 -2
  152. data/spec/api/authentication_api_spec.rb +1 -1
  153. data/spec/api/auto_sde_project_api_spec.rb +2 -2
  154. data/spec/api/auto_sde_role_api_spec.rb +2 -2
  155. data/spec/api/capability_translation_api_spec.rb +2 -2
  156. data/spec/api/host_api_spec.rb +2 -2
  157. data/spec/api/host_volume_connection_api_spec.rb +2 -2
  158. data/spec/api/job_api_spec.rb +54 -0
  159. data/spec/api/native_capability_api_spec.rb +2 -2
  160. data/spec/api/profile_api_spec.rb +2 -2
  161. data/spec/api/provisioning_strategy_api_spec.rb +2 -2
  162. data/spec/api/service_api_spec.rb +3 -3
  163. data/spec/api/service_resource_attachment_api_spec.rb +2 -2
  164. data/spec/api/snapshot_api_spec.rb +74 -0
  165. data/spec/api/storage_host_api_spec.rb +85 -0
  166. data/spec/api/storage_host_volume_mapping_api_spec.rb +74 -0
  167. data/spec/api/storage_resource_api_spec.rb +3 -3
  168. data/spec/api/storage_system_api_spec.rb +2 -2
  169. data/spec/api/system_type_api_spec.rb +2 -2
  170. data/spec/api/volume_api_spec.rb +3 -3
  171. data/spec/api/volume_safe_delete_api_spec.rb +2 -2
  172. data/spec/api_client_spec.rb +30 -30
  173. data/spec/configuration_spec.rb +4 -4
  174. data/spec/models/abstract_capability_spec.rb +4 -11
  175. data/spec/models/account_post_request_spec.rb +4 -11
  176. data/spec/models/account_post_response_spec.rb +4 -11
  177. data/spec/models/account_spec.rb +4 -11
  178. data/spec/models/address_create_spec.rb +6 -13
  179. data/spec/models/address_spec.rb +6 -13
  180. data/spec/models/auth_response_spec.rb +4 -11
  181. data/spec/models/authentication_spec.rb +4 -11
  182. data/spec/models/auto_sde_project_spec.rb +4 -11
  183. data/spec/models/auto_sde_role_spec.rb +4 -11
  184. data/spec/models/capability_translation_create_spec.rb +4 -11
  185. data/spec/models/capability_translation_spec.rb +4 -11
  186. data/spec/models/host_create_spec.rb +7 -14
  187. data/spec/models/host_spec.rb +6 -13
  188. data/spec/models/host_volume_connection_create_spec.rb +5 -12
  189. data/spec/models/host_volume_connection_spec.rb +5 -12
  190. data/spec/models/job_create_spec.rb +40 -0
  191. data/spec/models/job_spec.rb +70 -0
  192. data/spec/models/native_capability_spec.rb +4 -11
  193. data/spec/models/profile_spec.rb +5 -12
  194. data/spec/models/provisioning_strategy_spec.rb +5 -12
  195. data/spec/models/service_abstract_capability_value_spec.rb +4 -11
  196. data/spec/models/service_create_spec.rb +5 -12
  197. data/spec/models/service_resource_attachment_spec.rb +4 -11
  198. data/spec/models/service_spec.rb +5 -12
  199. data/spec/models/snapshot_create_spec.rb +56 -0
  200. data/spec/models/snapshot_spec.rb +62 -0
  201. data/spec/models/storage_host_create_spec.rb +102 -0
  202. data/spec/models/storage_host_response_spec.rb +80 -0
  203. data/spec/models/storage_host_spec.rb +74 -0
  204. data/spec/models/storage_host_update_spec.rb +54 -0
  205. data/spec/models/storage_host_volume_mapping_create_spec.rb +56 -0
  206. data/spec/models/storage_host_volume_mapping_response_spec.rb +62 -0
  207. data/spec/models/storage_host_volume_mapping_spec.rb +62 -0
  208. data/spec/models/storage_resource_create_spec.rb +6 -13
  209. data/spec/models/storage_resource_response_spec.rb +6 -13
  210. data/spec/models/storage_resource_spec.rb +6 -13
  211. data/spec/models/storage_system_create_spec.rb +7 -14
  212. data/spec/models/storage_system_spec.rb +6 -13
  213. data/spec/models/system_type_create_spec.rb +6 -13
  214. data/spec/models/system_type_spec.rb +6 -13
  215. data/spec/models/volume_create_spec.rb +11 -12
  216. data/spec/models/volume_response_spec.rb +11 -12
  217. data/spec/models/volume_safe_delete_create_spec.rb +4 -11
  218. data/spec/models/volume_safe_delete_spec.rb +4 -11
  219. data/spec/models/volume_spec.rb +11 -12
  220. data/spec/models/volume_update_spec.rb +10 -11
  221. data/spec/spec_helper.rb +1 -1
  222. metadata +112 -72
  223. data/site_manager_oas.json +0 -3992
@@ -6,13 +6,13 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: autosde@il.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.0.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'cgi'
14
14
 
15
- module OpenapiClient
15
+ module AutosdeOpenapiClient
16
16
  class VolumeSafeDeleteApi
17
17
  attr_accessor :api_client
18
18
 
@@ -47,15 +47,16 @@ module OpenapiClient
47
47
  form_params = opts[:form_params] || {}
48
48
 
49
49
  # http body (model)
50
- post_body = opts[:body]
50
+ post_body = opts[:debug_body]
51
51
 
52
52
  # return_type
53
- return_type = opts[:return_type] || 'Array<VolumeSafeDelete>'
53
+ return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
54
54
 
55
55
  # auth_names
56
- auth_names = opts[:auth_names] || ['bearerAuth']
56
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
57
57
 
58
58
  new_options = opts.merge(
59
+ :operation => :"VolumeSafeDeleteApi.safe_deletes_get",
59
60
  :header_params => header_params,
60
61
  :query_params => query_params,
61
62
  :form_params => form_params,
@@ -105,15 +106,16 @@ module OpenapiClient
105
106
  form_params = opts[:form_params] || {}
106
107
 
107
108
  # http body (model)
108
- post_body = opts[:body]
109
+ post_body = opts[:debug_body]
109
110
 
110
111
  # return_type
111
- return_type = opts[:return_type] || 'Array<VolumeSafeDelete>'
112
+ return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
112
113
 
113
114
  # auth_names
114
- auth_names = opts[:auth_names] || ['bearerAuth']
115
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
115
116
 
116
117
  new_options = opts.merge(
118
+ :operation => :"VolumeSafeDeleteApi.safe_deletes_pk_delete",
117
119
  :header_params => header_params,
118
120
  :query_params => query_params,
119
121
  :form_params => form_params,
@@ -163,15 +165,16 @@ module OpenapiClient
163
165
  form_params = opts[:form_params] || {}
164
166
 
165
167
  # http body (model)
166
- post_body = opts[:body]
168
+ post_body = opts[:debug_body]
167
169
 
168
170
  # return_type
169
- return_type = opts[:return_type] || 'Array<VolumeSafeDelete>'
171
+ return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
170
172
 
171
173
  # auth_names
172
- auth_names = opts[:auth_names] || ['bearerAuth']
174
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
173
175
 
174
176
  new_options = opts.merge(
177
+ :operation => :"VolumeSafeDeleteApi.safe_deletes_pk_get",
175
178
  :header_params => header_params,
176
179
  :query_params => query_params,
177
180
  :form_params => form_params,
@@ -189,7 +192,7 @@ module OpenapiClient
189
192
 
190
193
  # @param volume_safe_delete_create [VolumeSafeDeleteCreate]
191
194
  # @param [Hash] opts the optional parameters
192
- # @return [Array<VolumeSafeDelete>]
195
+ # @return [VolumeSafeDelete]
193
196
  def safe_deletes_post(volume_safe_delete_create, opts = {})
194
197
  data, _status_code, _headers = safe_deletes_post_with_http_info(volume_safe_delete_create, opts)
195
198
  data
@@ -197,7 +200,7 @@ module OpenapiClient
197
200
 
198
201
  # @param volume_safe_delete_create [VolumeSafeDeleteCreate]
199
202
  # @param [Hash] opts the optional parameters
200
- # @return [Array<(Array<VolumeSafeDelete>, Integer, Hash)>] Array<VolumeSafeDelete> data, response status code and response headers
203
+ # @return [Array<(VolumeSafeDelete, Integer, Hash)>] VolumeSafeDelete data, response status code and response headers
201
204
  def safe_deletes_post_with_http_info(volume_safe_delete_create, opts = {})
202
205
  if @api_client.config.debugging
203
206
  @api_client.config.logger.debug 'Calling API: VolumeSafeDeleteApi.safe_deletes_post ...'
@@ -223,15 +226,16 @@ module OpenapiClient
223
226
  form_params = opts[:form_params] || {}
224
227
 
225
228
  # http body (model)
226
- post_body = opts[:body] || @api_client.object_to_http_body(volume_safe_delete_create)
229
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(volume_safe_delete_create)
227
230
 
228
231
  # return_type
229
- return_type = opts[:return_type] || 'Array<VolumeSafeDelete>'
232
+ return_type = opts[:debug_return_type] || 'VolumeSafeDelete'
230
233
 
231
234
  # auth_names
232
- auth_names = opts[:auth_names] || ['bearerAuth']
235
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
233
236
 
234
237
  new_options = opts.merge(
238
+ :operation => :"VolumeSafeDeleteApi.safe_deletes_post",
235
239
  :header_params => header_params,
236
240
  :query_params => query_params,
237
241
  :form_params => form_params,
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: autosde@il.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.0.0
10
10
 
11
11
  =end
12
12
 
@@ -14,9 +14,10 @@ require 'date'
14
14
  require 'json'
15
15
  require 'logger'
16
16
  require 'tempfile'
17
+ require 'time'
17
18
  require 'typhoeus'
18
19
 
19
- module OpenapiClient
20
+ module AutosdeOpenapiClient
20
21
  class ApiClient
21
22
  # The Configuration object holding settings to be used in the API client.
22
23
  attr_accessor :config
@@ -86,7 +87,7 @@ module OpenapiClient
86
87
  # @option opts [Object] :body HTTP body (JSON/XML)
87
88
  # @return [Typhoeus::Request] A Typhoeus Request
88
89
  def build_request(http_method, path, opts = {})
89
- url = build_request_url(path)
90
+ url = build_request_url(path, opts)
90
91
  http_method = http_method.to_sym.downcase
91
92
 
92
93
  header_params = @default_headers.merge(opts[:header_params] || {})
@@ -155,6 +156,44 @@ module OpenapiClient
155
156
  data
156
157
  end
157
158
 
159
+ # Save response body into a file in (the defined) temporary folder, using the filename
160
+ # from the "Content-Disposition" header if provided, otherwise a random filename.
161
+ # The response body is written to the file in chunks in order to handle files which
162
+ # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
163
+ # process can use.
164
+ #
165
+ # @see Configuration#temp_folder_path
166
+ def download_file(request)
167
+ tempfile = nil
168
+ encoding = nil
169
+ request.on_headers do |response|
170
+ content_disposition = response.headers['Content-Disposition']
171
+ if content_disposition && content_disposition =~ /filename=/i
172
+ filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
173
+ prefix = sanitize_filename(filename)
174
+ else
175
+ prefix = 'download-'
176
+ end
177
+ prefix = prefix + '-' unless prefix.end_with?('-')
178
+ encoding = response.body.encoding
179
+ tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
180
+ @tempfile = tempfile
181
+ end
182
+ request.on_body do |chunk|
183
+ chunk.force_encoding(encoding)
184
+ tempfile.write(chunk)
185
+ end
186
+ request.on_complete do |response|
187
+ if tempfile
188
+ tempfile.close
189
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
190
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
191
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
192
+ "explicitly with `tempfile.delete`"
193
+ end
194
+ end
195
+ end
196
+
158
197
  # Check if the given MIME is a JSON MIME.
159
198
  # JSON MIME examples:
160
199
  # application/json
@@ -191,7 +230,7 @@ module OpenapiClient
191
230
  begin
192
231
  data = JSON.parse("[#{body}]", :symbolize_names => true)[0]
193
232
  rescue JSON::ParserError => e
194
- if %w(String Date DateTime).include?(return_type)
233
+ if %w(String Date Time).include?(return_type)
195
234
  data = body
196
235
  else
197
236
  raise e
@@ -216,9 +255,9 @@ module OpenapiClient
216
255
  data.to_f
217
256
  when 'Boolean'
218
257
  data == true
219
- when 'DateTime'
258
+ when 'Time'
220
259
  # parse date time (expecting ISO 8601 format)
221
- DateTime.parse data
260
+ Time.parse data
222
261
  when 'Date'
223
262
  # parse date time (expecting ISO 8601 format)
224
263
  Date.parse data
@@ -236,46 +275,9 @@ module OpenapiClient
236
275
  data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
237
276
  end
238
277
  else
239
- # models, e.g. Pet
240
- OpenapiClient.const_get(return_type).build_from_hash(data)
241
- end
242
- end
243
-
244
- # Save response body into a file in (the defined) temporary folder, using the filename
245
- # from the "Content-Disposition" header if provided, otherwise a random filename.
246
- # The response body is written to the file in chunks in order to handle files which
247
- # size is larger than maximum Ruby String or even larger than the maximum memory a Ruby
248
- # process can use.
249
- #
250
- # @see Configuration#temp_folder_path
251
- def download_file(request)
252
- tempfile = nil
253
- encoding = nil
254
- request.on_headers do |response|
255
- content_disposition = response.headers['Content-Disposition']
256
- if content_disposition && content_disposition =~ /filename=/i
257
- filename = content_disposition[/filename=['"]?([^'"\s]+)['"]?/, 1]
258
- prefix = sanitize_filename(filename)
259
- else
260
- prefix = 'download-'
261
- end
262
- prefix = prefix + '-' unless prefix.end_with?('-')
263
- encoding = response.body.encoding
264
- tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
265
- @tempfile = tempfile
266
- end
267
- request.on_body do |chunk|
268
- chunk.force_encoding(encoding)
269
- tempfile.write(chunk)
270
- end
271
- request.on_complete do |response|
272
- if tempfile
273
- tempfile.close
274
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
275
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
276
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
277
- "explicitly with `tempfile.delete`"
278
- end
278
+ # models (e.g. Pet) or oneOf
279
+ klass = AutosdeOpenapiClient.const_get(return_type)
280
+ klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
279
281
  end
280
282
  end
281
283
 
@@ -288,10 +290,10 @@ module OpenapiClient
288
290
  filename.gsub(/.*[\/\\]/, '')
289
291
  end
290
292
 
291
- def build_request_url(path)
293
+ def build_request_url(path, opts = {})
292
294
  # Add leading and trailing slashes to path
293
295
  path = "/#{path}".gsub(/\/+/, '/')
294
- @config.base_url + path
296
+ @config.base_url(opts[:operation]) + path
295
297
  end
296
298
 
297
299
  # Update hearder and query params based on authentication settings.
@@ -6,11 +6,11 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: autosde@il.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.0.0
10
10
 
11
11
  =end
12
12
 
13
- module OpenapiClient
13
+ module AutosdeOpenapiClient
14
14
  class ApiError < StandardError
15
15
  attr_reader :code, :response_headers, :response_body
16
16
 
@@ -6,11 +6,11 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: autosde@il.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.0.0
10
10
 
11
11
  =end
12
12
 
13
- module OpenapiClient
13
+ module AutosdeOpenapiClient
14
14
  class Configuration
15
15
  # Defines url scheme
16
16
  attr_accessor :scheme
@@ -21,6 +21,18 @@ module OpenapiClient
21
21
  # Defines url base path
22
22
  attr_accessor :base_path
23
23
 
24
+ # Define server configuration index
25
+ attr_accessor :server_index
26
+
27
+ # Define server operation configuration index
28
+ attr_accessor :server_operation_index
29
+
30
+ # Default server variables
31
+ attr_accessor :server_variables
32
+
33
+ # Default server operation variables
34
+ attr_accessor :server_operation_variables
35
+
24
36
  # Defines API keys used with API Key authentications.
25
37
  #
26
38
  # @return [Hash] key: parameter name, value: parameter value (API key)
@@ -127,8 +139,12 @@ module OpenapiClient
127
139
 
128
140
  def initialize
129
141
  @scheme = 'http'
130
- @host = 'localhost'
142
+ @host = 'localhost:9000'
131
143
  @base_path = '/site-manager/api/v1/engine'
144
+ @server_index = 0
145
+ @server_operation_index = {}
146
+ @server_variables = {}
147
+ @server_operation_variables = {}
132
148
  @api_key = {}
133
149
  @api_key_prefix = {}
134
150
  @timeout = 0
@@ -171,8 +187,12 @@ module OpenapiClient
171
187
  @base_path = '' if @base_path == '/'
172
188
  end
173
189
 
174
- def base_url
175
- "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '')
190
+ # Returns base URL for specified operation based on server settings
191
+ def base_url(operation = nil)
192
+ index = server_operation_index.fetch(operation, server_index)
193
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
194
+
195
+ server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
176
196
  end
177
197
 
178
198
  # Gets API key (with prefix if set).
@@ -231,12 +251,17 @@ module OpenapiClient
231
251
  ]
232
252
  end
233
253
 
254
+ def operation_server_settings
255
+ {
256
+ }
257
+ end
258
+
234
259
  # Returns URL based on server settings
235
260
  #
236
261
  # @param index array index of the server settings
237
262
  # @param variables hash of variable and the corresponding value
238
- def server_url(index, variables = {})
239
- servers = server_settings
263
+ def server_url(index, variables = {}, servers = nil)
264
+ servers = server_settings if servers == nil
240
265
 
241
266
  # check array index out of bound
242
267
  if (index < 0 || index >= servers.size)
@@ -246,10 +271,12 @@ module OpenapiClient
246
271
  server = servers[index]
247
272
  url = server[:url]
248
273
 
274
+ return url unless server.key? :variables
275
+
249
276
  # go through variable and assign a value
250
277
  server[:variables].each do |name, variable|
251
278
  if variables.key?(name)
252
- if (server[:variables][name][:enum_values].include? variables[name])
279
+ if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
253
280
  url.gsub! "{" + name.to_s + "}", variables[name]
254
281
  else
255
282
  fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
@@ -6,13 +6,14 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: autosde@il.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.3.1
9
+ OpenAPI Generator version: 5.0.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
- module OpenapiClient
16
+ module AutosdeOpenapiClient
16
17
  # Abstract capabilities are the storage system feature capabilities, in general terminology.
17
18
  class AbstractCapability
18
19
  # name
@@ -29,6 +30,11 @@ module OpenapiClient
29
30
  }
30
31
  end
31
32
 
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
32
38
  # Attribute type mapping.
33
39
  def self.openapi_types
34
40
  {
@@ -47,13 +53,13 @@ module OpenapiClient
47
53
  # @param [Hash] attributes Model attributes in the form of hash
48
54
  def initialize(attributes = {})
49
55
  if (!attributes.is_a?(Hash))
50
- fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::AbstractCapability` initialize method"
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AutosdeOpenapiClient::AbstractCapability` initialize method"
51
57
  end
52
58
 
53
59
  # check to see if the attribute exists and convert string to symbol for hash key
54
60
  attributes = attributes.each_with_object({}) { |(k, v), h|
55
61
  if (!self.class.attribute_map.key?(k.to_sym))
56
- fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::AbstractCapability`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AutosdeOpenapiClient::AbstractCapability`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
63
  end
58
64
  h[k.to_sym] = v
59
65
  }
@@ -114,7 +120,9 @@ module OpenapiClient
114
120
  def build_from_hash(attributes)
115
121
  return nil unless attributes.is_a?(Hash)
116
122
  self.class.openapi_types.each_pair do |key, type|
117
- if type =~ /\AArray<(.*)>/i
123
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
+ self.send("#{key}=", nil)
125
+ elsif type =~ /\AArray<(.*)>/i
118
126
  # check to ensure the input is an array given that the attribute
119
127
  # is documented as an array but the input is not
120
128
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -122,7 +130,7 @@ module OpenapiClient
122
130
  end
123
131
  elsif !attributes[self.class.attribute_map[key]].nil?
124
132
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
- end # or else data not found in attributes(hash), not an issue as the data can be optional
133
+ end
126
134
  end
127
135
 
128
136
  self
@@ -134,8 +142,8 @@ module OpenapiClient
134
142
  # @return [Object] Deserialized data
135
143
  def _deserialize(type, value)
136
144
  case type.to_sym
137
- when :DateTime
138
- DateTime.parse(value)
145
+ when :Time
146
+ Time.parse(value)
139
147
  when :Date
140
148
  Date.parse(value)
141
149
  when :String
@@ -165,7 +173,9 @@ module OpenapiClient
165
173
  end
166
174
  end
167
175
  else # model
168
- OpenapiClient.const_get(type).build_from_hash(value)
176
+ # models (e.g. Pet) or oneOf
177
+ klass = AutosdeOpenapiClient.const_get(type)
178
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
179
  end
170
180
  end
171
181
 
@@ -191,7 +201,7 @@ module OpenapiClient
191
201
  is_nullable = self.class.openapi_nullable.include?(attr)
192
202
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
203
  end
194
-
204
+
195
205
  hash[param] = _to_hash(value)
196
206
  end
197
207
  hash
@@ -214,5 +224,7 @@ module OpenapiClient
214
224
  value
215
225
  end
216
226
  end
227
+
217
228
  end
229
+
218
230
  end