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.
- checksums.yaml +4 -4
- data/README.md +143 -117
- data/autosde_openapi_client.gemspec +4 -5
- data/docs/AbstractCapability.md +11 -10
- data/docs/AbstractCapabilityApi.md +122 -50
- data/docs/Account.md +13 -12
- data/docs/AccountApi.md +155 -65
- data/docs/AccountPostRequest.md +11 -10
- data/docs/AccountPostResponse.md +15 -14
- data/docs/Address.md +23 -22
- data/docs/AddressApi.md +122 -50
- data/docs/AddressCreate.md +23 -22
- data/docs/AuthResponse.md +9 -8
- data/docs/Authentication.md +11 -10
- data/docs/AuthenticationApi.md +33 -16
- data/docs/AutoSDEProject.md +47 -46
- data/docs/AutoSDEProjectApi.md +122 -50
- data/docs/AutoSDERole.md +11 -10
- data/docs/AutoSDERoleApi.md +122 -50
- data/docs/CapabilityTranslation.md +27 -26
- data/docs/CapabilityTranslationApi.md +122 -50
- data/docs/CapabilityTranslationCreate.md +23 -22
- data/docs/Host.md +21 -20
- data/docs/HostApi.md +122 -50
- data/docs/HostCreate.md +31 -30
- data/docs/HostVolumeConnection.md +15 -14
- data/docs/HostVolumeConnectionApi.md +122 -50
- data/docs/HostVolumeConnectionCreate.md +13 -12
- data/docs/Job.md +30 -0
- data/docs/JobApi.md +140 -0
- data/docs/JobCreate.md +20 -0
- data/docs/NativeCapability.md +15 -14
- data/docs/NativeCapabilityApi.md +122 -50
- data/docs/Profile.md +17 -16
- data/docs/ProfileApi.md +122 -50
- data/docs/ProvisioningStrategy.md +11 -10
- data/docs/ProvisioningStrategyApi.md +122 -50
- data/docs/Service.md +27 -26
- data/docs/ServiceAbstractCapabilityValue.md +13 -12
- data/docs/ServiceApi.md +155 -65
- data/docs/ServiceCreate.md +25 -24
- data/docs/ServiceResourceAttachment.md +15 -14
- data/docs/ServiceResourceAttachmentApi.md +122 -50
- data/docs/Snapshot.md +26 -0
- data/docs/SnapshotApi.md +276 -0
- data/docs/SnapshotCreate.md +24 -0
- data/docs/StorageHost.md +30 -0
- data/docs/StorageHostApi.md +346 -0
- data/docs/StorageHostCreate.md +38 -0
- data/docs/StorageHostResponse.md +32 -0
- data/docs/StorageHostUpdate.md +22 -0
- data/docs/StorageHostVolumeMapping.md +26 -0
- data/docs/StorageHostVolumeMappingApi.md +276 -0
- data/docs/StorageHostVolumeMappingCreate.md +24 -0
- data/docs/StorageHostVolumeMappingResponse.md +26 -0
- data/docs/StorageResource.md +25 -24
- data/docs/StorageResourceApi.md +155 -65
- data/docs/StorageResourceCreate.md +23 -22
- data/docs/StorageResourceResponse.md +25 -24
- data/docs/StorageSystem.md +21 -20
- data/docs/StorageSystemApi.md +122 -50
- data/docs/StorageSystemCreate.md +41 -40
- data/docs/SystemType.md +17 -16
- data/docs/SystemTypeApi.md +122 -50
- data/docs/SystemTypeCreate.md +19 -18
- data/docs/Volume.md +25 -22
- data/docs/VolumeApi.md +155 -65
- data/docs/VolumeCreate.md +21 -18
- data/docs/VolumeResponse.md +25 -22
- data/docs/VolumeSafeDelete.md +13 -12
- data/docs/VolumeSafeDeleteApi.md +122 -50
- data/docs/VolumeSafeDeleteCreate.md +9 -8
- data/docs/VolumeUpdate.md +11 -8
- data/lib/autosde_openapi_client.rb +18 -3
- data/lib/autosde_openapi_client/api/abstract_capability_api.rb +20 -16
- data/lib/autosde_openapi_client/api/account_api.rb +26 -21
- data/lib/autosde_openapi_client/api/address_api.rb +20 -16
- data/lib/autosde_openapi_client/api/authentication_api.rb +6 -5
- data/lib/autosde_openapi_client/api/auto_sde_project_api.rb +20 -16
- data/lib/autosde_openapi_client/api/auto_sde_role_api.rb +20 -16
- data/lib/autosde_openapi_client/api/capability_translation_api.rb +20 -16
- data/lib/autosde_openapi_client/api/host_api.rb +20 -16
- data/lib/autosde_openapi_client/api/host_volume_connection_api.rb +20 -16
- data/lib/autosde_openapi_client/api/job_api.rb +136 -0
- data/lib/autosde_openapi_client/api/native_capability_api.rb +20 -16
- data/lib/autosde_openapi_client/api/profile_api.rb +20 -16
- data/lib/autosde_openapi_client/api/provisioning_strategy_api.rb +20 -16
- data/lib/autosde_openapi_client/api/service_api.rb +26 -21
- data/lib/autosde_openapi_client/api/service_resource_attachment_api.rb +20 -16
- data/lib/autosde_openapi_client/api/snapshot_api.rb +254 -0
- data/lib/autosde_openapi_client/api/storage_host_api.rb +321 -0
- data/lib/autosde_openapi_client/api/storage_host_volume_mapping_api.rb +254 -0
- data/lib/autosde_openapi_client/api/storage_resource_api.rb +26 -21
- data/lib/autosde_openapi_client/api/storage_system_api.rb +20 -16
- data/lib/autosde_openapi_client/api/system_type_api.rb +20 -16
- data/lib/autosde_openapi_client/api/volume_api.rb +26 -21
- data/lib/autosde_openapi_client/api/volume_safe_delete_api.rb +20 -16
- data/lib/autosde_openapi_client/api_client.rb +50 -48
- data/lib/autosde_openapi_client/api_error.rb +2 -2
- data/lib/autosde_openapi_client/configuration.rb +35 -8
- data/lib/autosde_openapi_client/models/abstract_capability.rb +22 -10
- data/lib/autosde_openapi_client/models/account.rb +22 -10
- data/lib/autosde_openapi_client/models/account_post_request.rb +22 -10
- data/lib/autosde_openapi_client/models/account_post_response.rb +22 -10
- data/lib/autosde_openapi_client/models/address.rb +22 -10
- data/lib/autosde_openapi_client/models/address_create.rb +22 -10
- data/lib/autosde_openapi_client/models/auth_response.rb +22 -10
- data/lib/autosde_openapi_client/models/authentication.rb +22 -10
- data/lib/autosde_openapi_client/models/auto_sde_project.rb +22 -10
- data/lib/autosde_openapi_client/models/auto_sde_role.rb +22 -10
- data/lib/autosde_openapi_client/models/capability_translation.rb +22 -10
- data/lib/autosde_openapi_client/models/capability_translation_create.rb +22 -10
- data/lib/autosde_openapi_client/models/host.rb +22 -10
- data/lib/autosde_openapi_client/models/host_create.rb +22 -10
- data/lib/autosde_openapi_client/models/host_volume_connection.rb +22 -10
- data/lib/autosde_openapi_client/models/host_volume_connection_create.rb +22 -10
- data/lib/autosde_openapi_client/models/job.rb +280 -0
- data/lib/autosde_openapi_client/models/job_create.rb +230 -0
- data/lib/autosde_openapi_client/models/native_capability.rb +22 -10
- data/lib/autosde_openapi_client/models/profile.rb +22 -10
- data/lib/autosde_openapi_client/models/provisioning_strategy.rb +22 -10
- data/lib/autosde_openapi_client/models/service.rb +22 -10
- data/lib/autosde_openapi_client/models/service_abstract_capability_value.rb +22 -10
- data/lib/autosde_openapi_client/models/service_create.rb +22 -10
- data/lib/autosde_openapi_client/models/service_resource_attachment.rb +22 -10
- data/lib/autosde_openapi_client/models/snapshot.rb +298 -0
- data/lib/autosde_openapi_client/models/snapshot_create.rb +288 -0
- data/lib/autosde_openapi_client/models/storage_host.rb +317 -0
- data/lib/autosde_openapi_client/models/storage_host_create.rb +368 -0
- data/lib/autosde_openapi_client/models/storage_host_response.rb +333 -0
- data/lib/autosde_openapi_client/models/storage_host_update.rb +301 -0
- data/lib/autosde_openapi_client/models/storage_host_volume_mapping.rb +299 -0
- data/lib/autosde_openapi_client/models/storage_host_volume_mapping_create.rb +291 -0
- data/lib/autosde_openapi_client/models/storage_host_volume_mapping_response.rb +301 -0
- data/lib/autosde_openapi_client/models/storage_resource.rb +22 -10
- data/lib/autosde_openapi_client/models/storage_resource_create.rb +22 -10
- data/lib/autosde_openapi_client/models/storage_resource_response.rb +22 -10
- data/lib/autosde_openapi_client/models/storage_system.rb +22 -10
- data/lib/autosde_openapi_client/models/storage_system_create.rb +22 -10
- data/lib/autosde_openapi_client/models/system_type.rb +22 -10
- data/lib/autosde_openapi_client/models/system_type_create.rb +22 -10
- data/lib/autosde_openapi_client/models/volume.rb +33 -11
- data/lib/autosde_openapi_client/models/volume_create.rb +33 -11
- data/lib/autosde_openapi_client/models/volume_response.rb +33 -11
- data/lib/autosde_openapi_client/models/volume_safe_delete.rb +22 -10
- data/lib/autosde_openapi_client/models/volume_safe_delete_create.rb +22 -10
- data/lib/autosde_openapi_client/models/volume_update.rb +35 -11
- data/lib/autosde_openapi_client/version.rb +4 -4
- data/spec/api/abstract_capability_api_spec.rb +2 -2
- data/spec/api/account_api_spec.rb +3 -3
- data/spec/api/address_api_spec.rb +2 -2
- data/spec/api/authentication_api_spec.rb +1 -1
- data/spec/api/auto_sde_project_api_spec.rb +2 -2
- data/spec/api/auto_sde_role_api_spec.rb +2 -2
- data/spec/api/capability_translation_api_spec.rb +2 -2
- data/spec/api/host_api_spec.rb +2 -2
- data/spec/api/host_volume_connection_api_spec.rb +2 -2
- data/spec/api/job_api_spec.rb +54 -0
- data/spec/api/native_capability_api_spec.rb +2 -2
- data/spec/api/profile_api_spec.rb +2 -2
- data/spec/api/provisioning_strategy_api_spec.rb +2 -2
- data/spec/api/service_api_spec.rb +3 -3
- data/spec/api/service_resource_attachment_api_spec.rb +2 -2
- data/spec/api/snapshot_api_spec.rb +74 -0
- data/spec/api/storage_host_api_spec.rb +85 -0
- data/spec/api/storage_host_volume_mapping_api_spec.rb +74 -0
- data/spec/api/storage_resource_api_spec.rb +3 -3
- data/spec/api/storage_system_api_spec.rb +2 -2
- data/spec/api/system_type_api_spec.rb +2 -2
- data/spec/api/volume_api_spec.rb +3 -3
- data/spec/api/volume_safe_delete_api_spec.rb +2 -2
- data/spec/api_client_spec.rb +30 -30
- data/spec/configuration_spec.rb +4 -4
- data/spec/models/abstract_capability_spec.rb +4 -11
- data/spec/models/account_post_request_spec.rb +4 -11
- data/spec/models/account_post_response_spec.rb +4 -11
- data/spec/models/account_spec.rb +4 -11
- data/spec/models/address_create_spec.rb +6 -13
- data/spec/models/address_spec.rb +6 -13
- data/spec/models/auth_response_spec.rb +4 -11
- data/spec/models/authentication_spec.rb +4 -11
- data/spec/models/auto_sde_project_spec.rb +4 -11
- data/spec/models/auto_sde_role_spec.rb +4 -11
- data/spec/models/capability_translation_create_spec.rb +4 -11
- data/spec/models/capability_translation_spec.rb +4 -11
- data/spec/models/host_create_spec.rb +7 -14
- data/spec/models/host_spec.rb +6 -13
- data/spec/models/host_volume_connection_create_spec.rb +5 -12
- data/spec/models/host_volume_connection_spec.rb +5 -12
- data/spec/models/job_create_spec.rb +40 -0
- data/spec/models/job_spec.rb +70 -0
- data/spec/models/native_capability_spec.rb +4 -11
- data/spec/models/profile_spec.rb +5 -12
- data/spec/models/provisioning_strategy_spec.rb +5 -12
- data/spec/models/service_abstract_capability_value_spec.rb +4 -11
- data/spec/models/service_create_spec.rb +5 -12
- data/spec/models/service_resource_attachment_spec.rb +4 -11
- data/spec/models/service_spec.rb +5 -12
- data/spec/models/snapshot_create_spec.rb +56 -0
- data/spec/models/snapshot_spec.rb +62 -0
- data/spec/models/storage_host_create_spec.rb +102 -0
- data/spec/models/storage_host_response_spec.rb +80 -0
- data/spec/models/storage_host_spec.rb +74 -0
- data/spec/models/storage_host_update_spec.rb +54 -0
- data/spec/models/storage_host_volume_mapping_create_spec.rb +56 -0
- data/spec/models/storage_host_volume_mapping_response_spec.rb +62 -0
- data/spec/models/storage_host_volume_mapping_spec.rb +62 -0
- data/spec/models/storage_resource_create_spec.rb +6 -13
- data/spec/models/storage_resource_response_spec.rb +6 -13
- data/spec/models/storage_resource_spec.rb +6 -13
- data/spec/models/storage_system_create_spec.rb +7 -14
- data/spec/models/storage_system_spec.rb +6 -13
- data/spec/models/system_type_create_spec.rb +6 -13
- data/spec/models/system_type_spec.rb +6 -13
- data/spec/models/volume_create_spec.rb +11 -12
- data/spec/models/volume_response_spec.rb +11 -12
- data/spec/models/volume_safe_delete_create_spec.rb +4 -11
- data/spec/models/volume_safe_delete_spec.rb +4 -11
- data/spec/models/volume_spec.rb +11 -12
- data/spec/models/volume_update_spec.rb +10 -11
- data/spec/spec_helper.rb +1 -1
- metadata +112 -72
- 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:
|
|
9
|
+
OpenAPI Generator version: 5.0.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'cgi'
|
|
14
14
|
|
|
15
|
-
module
|
|
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[:
|
|
50
|
+
post_body = opts[:debug_body]
|
|
51
51
|
|
|
52
52
|
# return_type
|
|
53
|
-
return_type = opts[:
|
|
53
|
+
return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
|
|
54
54
|
|
|
55
55
|
# auth_names
|
|
56
|
-
auth_names = opts[:
|
|
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[:
|
|
109
|
+
post_body = opts[:debug_body]
|
|
109
110
|
|
|
110
111
|
# return_type
|
|
111
|
-
return_type = opts[:
|
|
112
|
+
return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
|
|
112
113
|
|
|
113
114
|
# auth_names
|
|
114
|
-
auth_names = opts[:
|
|
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[:
|
|
168
|
+
post_body = opts[:debug_body]
|
|
167
169
|
|
|
168
170
|
# return_type
|
|
169
|
-
return_type = opts[:
|
|
171
|
+
return_type = opts[:debug_return_type] || 'Array<VolumeSafeDelete>'
|
|
170
172
|
|
|
171
173
|
# auth_names
|
|
172
|
-
auth_names = opts[:
|
|
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 [
|
|
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<(
|
|
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[:
|
|
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[:
|
|
232
|
+
return_type = opts[:debug_return_type] || 'VolumeSafeDelete'
|
|
230
233
|
|
|
231
234
|
# auth_names
|
|
232
|
-
auth_names = opts[:
|
|
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:
|
|
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
|
|
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
|
|
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 '
|
|
258
|
+
when 'Time'
|
|
220
259
|
# parse date time (expecting ISO 8601 format)
|
|
221
|
-
|
|
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
|
|
240
|
-
|
|
241
|
-
|
|
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:
|
|
9
|
+
OpenAPI Generator version: 5.0.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
|
-
module
|
|
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:
|
|
9
|
+
OpenAPI Generator version: 5.0.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
|
-
module
|
|
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
|
-
|
|
175
|
-
|
|
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?
|
|
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:
|
|
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
|
|
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 `
|
|
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 `
|
|
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
|
|
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
|
|
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 :
|
|
138
|
-
|
|
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
|
-
|
|
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
|