ibm_cloud_power 1.1.1 → 2.0.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 (383) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +68 -3
  3. data/docs/CloneTaskReference.md +10 -9
  4. data/docs/CloneTaskStatus.md +14 -13
  5. data/docs/ClonedVolume.md +10 -9
  6. data/docs/ClonedVolumeDetail.md +10 -9
  7. data/docs/CloudConnection.md +32 -31
  8. data/docs/CloudConnectionCreate.md +14 -13
  9. data/docs/CloudConnectionCreateResponse.md +44 -0
  10. data/docs/CloudConnectionEndpointClassic.md +10 -9
  11. data/docs/CloudConnectionEndpointGRE.md +10 -9
  12. data/docs/CloudConnectionEndpointVPC.md +10 -9
  13. data/docs/CloudConnectionGRETunnel.md +12 -11
  14. data/docs/CloudConnectionSpeed.md +4 -5
  15. data/docs/CloudConnectionUpdate.md +18 -17
  16. data/docs/CloudConnectionVPC.md +10 -9
  17. data/docs/CloudConnectionVirtualPrivateClouds.md +8 -7
  18. data/docs/CloudConnectionVirtualPrivateCloudsVirtualPrivateCloudsInner.md +24 -0
  19. data/docs/CloudConnections.md +8 -7
  20. data/docs/CloudInstance.md +28 -27
  21. data/docs/CloudInstanceCreate.md +20 -19
  22. data/docs/CloudInstanceReference.md +22 -21
  23. data/docs/CloudInstanceUpdate.md +16 -15
  24. data/docs/CloudInstanceUsageLimits.md +28 -27
  25. data/docs/CreateCosImageImportJob.md +38 -0
  26. data/docs/CreateDataVolume.md +26 -19
  27. data/docs/CreateImage.md +32 -27
  28. data/docs/DeadPeerDetection.md +22 -0
  29. data/docs/Error.md +10 -9
  30. data/docs/Event.md +24 -23
  31. data/docs/EventUser.md +12 -11
  32. data/docs/Events.md +8 -7
  33. data/docs/ExportImage.md +14 -13
  34. data/docs/IKEPolicies.md +18 -0
  35. data/docs/IKEPolicy.md +30 -0
  36. data/docs/IKEPolicyCreate.md +30 -0
  37. data/docs/IKEPolicyOptions.md +24 -0
  38. data/docs/IKEPolicyRef.md +20 -0
  39. data/docs/IKEPolicyTemplate.md +26 -0
  40. data/docs/IKEPolicyUpdate.md +30 -0
  41. data/docs/IPAddressRange.md +10 -9
  42. data/docs/IPSecPolicies.md +18 -0
  43. data/docs/IPSecPolicy.md +30 -0
  44. data/docs/IPSecPolicyCreate.md +28 -0
  45. data/docs/IPSecPolicyOptions.md +22 -0
  46. data/docs/IPSecPolicyRef.md +20 -0
  47. data/docs/IPSecPolicyTemplate.md +24 -0
  48. data/docs/IPSecPolicyUpdate.md +28 -0
  49. data/docs/Image.md +32 -31
  50. data/docs/ImageReference.md +26 -25
  51. data/docs/ImageSpecifications.md +20 -19
  52. data/docs/ImageVolume.md +14 -13
  53. data/docs/Images.md +8 -7
  54. data/docs/Job.md +24 -0
  55. data/docs/JobReference.md +20 -0
  56. data/docs/Jobs.md +18 -0
  57. data/docs/MaximumStorageAllocation.md +12 -11
  58. data/docs/MinMaxDefault.md +12 -11
  59. data/docs/MultiVolumesCreate.md +28 -21
  60. data/docs/Network.md +28 -27
  61. data/docs/NetworkCreate.md +20 -19
  62. data/docs/NetworkID.md +18 -0
  63. data/docs/NetworkIDs.md +18 -0
  64. data/docs/NetworkIpAddressMetrics.md +14 -13
  65. data/docs/NetworkPort.md +22 -21
  66. data/docs/NetworkPortCreate.md +10 -9
  67. data/docs/NetworkPortPvmInstance.md +10 -9
  68. data/docs/NetworkPortUpdate.md +10 -9
  69. data/docs/NetworkPorts.md +8 -7
  70. data/docs/NetworkReference.md +18 -17
  71. data/docs/NetworkUpdate.md +14 -13
  72. data/docs/Networks.md +8 -7
  73. data/docs/Operation.md +22 -0
  74. data/docs/Operations.md +12 -11
  75. data/docs/Options.md +18 -0
  76. data/docs/PCloudCloudConnectionsApi.md +229 -94
  77. data/docs/PCloudEventsApi.md +60 -27
  78. data/docs/PCloudImagesApi.md +513 -101
  79. data/docs/PCloudInstancesApi.md +83 -33
  80. data/docs/PCloudJobsApi.md +208 -0
  81. data/docs/PCloudNetworksApi.md +287 -118
  82. data/docs/PCloudPVMInstancesApi.md +628 -208
  83. data/docs/PCloudPlacementGroupsApi.md +177 -76
  84. data/docs/PCloudSAPApi.md +86 -36
  85. data/docs/PCloudSnapshotsApi.md +112 -45
  86. data/docs/PCloudStorageCapacityApi.md +112 -45
  87. data/docs/PCloudSystemPoolsApi.md +29 -13
  88. data/docs/PCloudTasksApi.md +55 -22
  89. data/docs/PCloudTenantsApi.md +57 -24
  90. data/docs/PCloudTenantsSSHKeysApi.md +143 -59
  91. data/docs/PCloudVPNConnectionsApi.md +817 -0
  92. data/docs/PCloudVPNPoliciesApi.md +677 -0
  93. data/docs/PCloudVolumesApi.md +629 -256
  94. data/docs/PVMInstance.md +72 -69
  95. data/docs/PVMInstanceAction.md +8 -7
  96. data/docs/PVMInstanceAddNetwork.md +10 -9
  97. data/docs/PVMInstanceCapture.md +20 -19
  98. data/docs/PVMInstanceClone.md +22 -21
  99. data/docs/PVMInstanceConsole.md +8 -7
  100. data/docs/PVMInstanceCreate.md +50 -45
  101. data/docs/PVMInstanceFault.md +14 -13
  102. data/docs/PVMInstanceHealth.md +12 -11
  103. data/docs/PVMInstanceMultiCreate.md +12 -11
  104. data/docs/PVMInstanceNetwork.md +24 -23
  105. data/docs/PVMInstanceNetworks.md +8 -7
  106. data/docs/PVMInstanceOperation.md +10 -9
  107. data/docs/PVMInstanceReference.md +68 -61
  108. data/docs/PVMInstanceRemoveNetwork.md +8 -7
  109. data/docs/PVMInstanceUpdate.md +26 -23
  110. data/docs/PVMInstanceUpdateResponse.md +18 -17
  111. data/docs/PVMInstanceVolumeUpdate.md +8 -7
  112. data/docs/PVMInstances.md +8 -7
  113. data/docs/PeerSubnetUpdate.md +18 -0
  114. data/docs/PeerSubnets.md +18 -0
  115. data/docs/PeeringNetwork.md +12 -11
  116. data/docs/PinPolicy.md +4 -5
  117. data/docs/PlacementGroup.md +14 -13
  118. data/docs/PlacementGroupCreate.md +10 -9
  119. data/docs/PlacementGroupServer.md +8 -7
  120. data/docs/PlacementGroups.md +8 -7
  121. data/docs/SAPCreate.md +30 -23
  122. data/docs/SAPProfile.md +16 -15
  123. data/docs/SAPProfileReference.md +10 -9
  124. data/docs/SAPProfiles.md +8 -7
  125. data/docs/SRC.md +10 -9
  126. data/docs/SSHKey.md +12 -11
  127. data/docs/SSHKeys.md +8 -7
  128. data/docs/Snapshot.md +26 -25
  129. data/docs/SnapshotCreate.md +12 -11
  130. data/docs/SnapshotCreateResponse.md +8 -7
  131. data/docs/SnapshotRestore.md +8 -7
  132. data/docs/SnapshotUpdate.md +10 -9
  133. data/docs/Snapshots.md +8 -7
  134. data/docs/SoftwareLicenses.md +16 -15
  135. data/docs/Status.md +22 -0
  136. data/docs/StockImage.md +12 -11
  137. data/docs/StorageAffinity.md +26 -0
  138. data/docs/StoragePoolCapacity.md +14 -13
  139. data/docs/StoragePoolsCapacity.md +10 -9
  140. data/docs/StorageTypeCapacity.md +12 -11
  141. data/docs/StorageTypesCapacity.md +10 -9
  142. data/docs/System.md +12 -11
  143. data/docs/SystemPool.md +22 -21
  144. data/docs/Task.md +24 -23
  145. data/docs/TaskReference.md +10 -9
  146. data/docs/Tenant.md +20 -19
  147. data/docs/TenantUpdate.md +10 -9
  148. data/docs/UpdateVolume.md +14 -13
  149. data/docs/VPNConnection.md +40 -0
  150. data/docs/VPNConnectionCreate.md +30 -0
  151. data/docs/VPNConnectionCreateResponse.md +42 -0
  152. data/docs/VPNConnectionUpdate.md +24 -0
  153. data/docs/VPNConnections.md +18 -0
  154. data/docs/VPNaaSOptions.md +26 -0
  155. data/docs/VirtualCores.md +12 -11
  156. data/docs/Volume.md +36 -33
  157. data/docs/VolumeInfo.md +10 -9
  158. data/docs/VolumeReference.md +38 -35
  159. data/docs/Volumes.md +8 -7
  160. data/docs/VolumesClone.md +22 -21
  161. data/docs/VolumesCloneAsyncRequest.md +10 -9
  162. data/docs/VolumesCloneCancel.md +8 -7
  163. data/docs/VolumesCloneCreate.md +10 -9
  164. data/docs/VolumesCloneDetail.md +24 -23
  165. data/docs/VolumesCloneExecute.md +10 -9
  166. data/docs/VolumesCloneRequest.md +10 -9
  167. data/docs/VolumesCloneResponse.md +8 -7
  168. data/docs/VolumesClones.md +8 -7
  169. data/git_push.sh +3 -4
  170. data/ibm_cloud_power.gemspec +3 -3
  171. data/lib/ibm_cloud_power/api/p_cloud_cloud_connections_api.rb +43 -29
  172. data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +9 -7
  173. data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +325 -32
  174. data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +17 -11
  175. data/lib/ibm_cloud_power/api/p_cloud_jobs_api.rb +234 -0
  176. data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +57 -35
  177. data/lib/ibm_cloud_power/api/p_cloud_placement_groups_api.rb +45 -30
  178. data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +256 -64
  179. data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +17 -11
  180. data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +21 -14
  181. data/lib/ibm_cloud_power/api/p_cloud_storage_capacity_api.rb +17 -13
  182. data/lib/ibm_cloud_power/api/p_cloud_system_pools_api.rb +5 -4
  183. data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +9 -7
  184. data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +13 -8
  185. data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +29 -18
  186. data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +125 -76
  187. data/lib/ibm_cloud_power/api/p_cloud_vpn_connections_api.rb +898 -0
  188. data/lib/ibm_cloud_power/api/p_cloud_vpn_policies_api.rb +732 -0
  189. data/lib/ibm_cloud_power/api_client.rb +56 -52
  190. data/lib/ibm_cloud_power/api_error.rb +1 -1
  191. data/lib/ibm_cloud_power/configuration.rb +43 -12
  192. data/lib/ibm_cloud_power/models/clone_task_reference.rb +19 -8
  193. data/lib/ibm_cloud_power/models/clone_task_status.rb +19 -8
  194. data/lib/ibm_cloud_power/models/cloned_volume.rb +19 -8
  195. data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +19 -8
  196. data/lib/ibm_cloud_power/models/cloud_connection.rb +20 -9
  197. data/lib/ibm_cloud_power/models/cloud_connection_create.rb +53 -8
  198. data/lib/ibm_cloud_power/models/cloud_connection_create_response.rb +406 -0
  199. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic.rb +19 -8
  200. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_gre.rb +19 -8
  201. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_vpc.rb +19 -8
  202. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel.rb +19 -8
  203. data/lib/ibm_cloud_power/models/cloud_connection_speed.rb +2 -1
  204. data/lib/ibm_cloud_power/models/cloud_connection_update.rb +53 -8
  205. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds.rb +20 -9
  206. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner.rb +270 -0
  207. data/lib/ibm_cloud_power/models/cloud_connection_vpc.rb +19 -8
  208. data/lib/ibm_cloud_power/models/cloud_connections.rb +19 -8
  209. data/lib/ibm_cloud_power/models/cloud_instance.rb +19 -8
  210. data/lib/ibm_cloud_power/models/cloud_instance_create.rb +19 -8
  211. data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +19 -8
  212. data/lib/ibm_cloud_power/models/cloud_instance_update.rb +19 -8
  213. data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +19 -8
  214. data/lib/ibm_cloud_power/models/create_cos_image_import_job.rb +387 -0
  215. data/lib/ibm_cloud_power/models/create_data_volume.rb +59 -14
  216. data/lib/ibm_cloud_power/models/create_image.rb +39 -9
  217. data/lib/ibm_cloud_power/models/dead_peer_detection.rb +350 -0
  218. data/lib/ibm_cloud_power/models/error.rb +32 -21
  219. data/lib/ibm_cloud_power/models/event.rb +20 -9
  220. data/lib/ibm_cloud_power/models/event_user.rb +19 -8
  221. data/lib/ibm_cloud_power/models/events.rb +19 -8
  222. data/lib/ibm_cloud_power/models/export_image.rb +19 -8
  223. data/lib/ibm_cloud_power/models/ike_policies.rb +227 -0
  224. data/lib/ibm_cloud_power/models/ike_policy.rb +414 -0
  225. data/lib/ibm_cloud_power/models/ike_policy_create.rb +414 -0
  226. data/lib/ibm_cloud_power/models/ike_policy_options.rb +274 -0
  227. data/lib/ibm_cloud_power/models/ike_policy_ref.rb +241 -0
  228. data/lib/ibm_cloud_power/models/ike_policy_template.rb +313 -0
  229. data/lib/ibm_cloud_power/models/ike_policy_update.rb +375 -0
  230. data/lib/ibm_cloud_power/models/image.rb +21 -10
  231. data/lib/ibm_cloud_power/models/image_reference.rb +21 -10
  232. data/lib/ibm_cloud_power/models/image_specifications.rb +19 -8
  233. data/lib/ibm_cloud_power/models/image_volume.rb +19 -8
  234. data/lib/ibm_cloud_power/models/images.rb +19 -8
  235. data/lib/ibm_cloud_power/models/ip_address_range.rb +19 -8
  236. data/lib/ibm_cloud_power/models/ip_sec_policies.rb +227 -0
  237. data/lib/ibm_cloud_power/models/ip_sec_policy.rb +402 -0
  238. data/lib/ibm_cloud_power/models/ip_sec_policy_create.rb +387 -0
  239. data/lib/ibm_cloud_power/models/ip_sec_policy_options.rb +258 -0
  240. data/lib/ibm_cloud_power/models/ip_sec_policy_ref.rb +241 -0
  241. data/lib/ibm_cloud_power/models/ip_sec_policy_template.rb +298 -0
  242. data/lib/ibm_cloud_power/models/ip_sec_policy_update.rb +353 -0
  243. data/lib/ibm_cloud_power/models/job.rb +263 -0
  244. data/lib/ibm_cloud_power/models/job_reference.rb +240 -0
  245. data/lib/ibm_cloud_power/models/jobs.rb +227 -0
  246. data/lib/ibm_cloud_power/models/maximum_storage_allocation.rb +20 -9
  247. data/lib/ibm_cloud_power/models/min_max_default.rb +19 -8
  248. data/lib/ibm_cloud_power/models/multi_volumes_create.rb +57 -12
  249. data/lib/ibm_cloud_power/models/network.rb +19 -8
  250. data/lib/ibm_cloud_power/models/network_create.rb +19 -8
  251. data/lib/ibm_cloud_power/models/network_id.rb +225 -0
  252. data/lib/ibm_cloud_power/models/network_ids.rb +222 -0
  253. data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +19 -8
  254. data/lib/ibm_cloud_power/models/network_port.rb +19 -8
  255. data/lib/ibm_cloud_power/models/network_port_create.rb +19 -8
  256. data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +19 -8
  257. data/lib/ibm_cloud_power/models/network_port_update.rb +19 -8
  258. data/lib/ibm_cloud_power/models/network_ports.rb +19 -8
  259. data/lib/ibm_cloud_power/models/network_reference.rb +19 -8
  260. data/lib/ibm_cloud_power/models/network_update.rb +19 -8
  261. data/lib/ibm_cloud_power/models/networks.rb +19 -8
  262. data/lib/ibm_cloud_power/models/operation.rb +255 -0
  263. data/lib/ibm_cloud_power/models/operations.rb +19 -8
  264. data/lib/ibm_cloud_power/models/options.rb +224 -0
  265. data/lib/ibm_cloud_power/models/peer_subnet_update.rb +225 -0
  266. data/lib/ibm_cloud_power/models/peer_subnets.rb +222 -0
  267. data/lib/ibm_cloud_power/models/peering_network.rb +19 -8
  268. data/lib/ibm_cloud_power/models/pin_policy.rb +2 -1
  269. data/lib/ibm_cloud_power/models/placement_group.rb +19 -8
  270. data/lib/ibm_cloud_power/models/placement_group_create.rb +19 -8
  271. data/lib/ibm_cloud_power/models/placement_group_server.rb +19 -8
  272. data/lib/ibm_cloud_power/models/placement_groups.rb +19 -8
  273. data/lib/ibm_cloud_power/models/pvm_instance.rb +57 -34
  274. data/lib/ibm_cloud_power/models/pvm_instance_action.rb +19 -8
  275. data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +19 -8
  276. data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +27 -16
  277. data/lib/ibm_cloud_power/models/pvm_instance_clone.rb +28 -17
  278. data/lib/ibm_cloud_power/models/pvm_instance_console.rb +19 -8
  279. data/lib/ibm_cloud_power/models/pvm_instance_create.rb +54 -24
  280. data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +20 -9
  281. data/lib/ibm_cloud_power/models/pvm_instance_health.rb +19 -8
  282. data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +19 -8
  283. data/lib/ibm_cloud_power/models/pvm_instance_network.rb +19 -8
  284. data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +19 -8
  285. data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +19 -8
  286. data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +55 -12
  287. data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +19 -8
  288. data/lib/ibm_cloud_power/models/pvm_instance_update.rb +32 -9
  289. data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +19 -8
  290. data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +19 -8
  291. data/lib/ibm_cloud_power/models/pvm_instances.rb +19 -8
  292. data/lib/ibm_cloud_power/models/sap_create.rb +56 -16
  293. data/lib/ibm_cloud_power/models/sap_profile.rb +18 -7
  294. data/lib/ibm_cloud_power/models/sap_profile_reference.rb +19 -8
  295. data/lib/ibm_cloud_power/models/sap_profiles.rb +19 -8
  296. data/lib/ibm_cloud_power/models/snapshot.rb +21 -10
  297. data/lib/ibm_cloud_power/models/snapshot_create.rb +27 -16
  298. data/lib/ibm_cloud_power/models/snapshot_create_response.rb +19 -8
  299. data/lib/ibm_cloud_power/models/snapshot_restore.rb +19 -8
  300. data/lib/ibm_cloud_power/models/snapshot_update.rb +19 -8
  301. data/lib/ibm_cloud_power/models/snapshots.rb +19 -8
  302. data/lib/ibm_cloud_power/models/software_licenses.rb +19 -8
  303. data/lib/ibm_cloud_power/models/src.rb +19 -8
  304. data/lib/ibm_cloud_power/models/ssh_key.rb +20 -9
  305. data/lib/ibm_cloud_power/models/ssh_keys.rb +19 -8
  306. data/lib/ibm_cloud_power/models/status.rb +250 -0
  307. data/lib/ibm_cloud_power/models/stock_image.rb +19 -8
  308. data/lib/ibm_cloud_power/models/storage_affinity.rb +298 -0
  309. data/lib/ibm_cloud_power/models/storage_pool_capacity.rb +20 -9
  310. data/lib/ibm_cloud_power/models/storage_pools_capacity.rb +19 -8
  311. data/lib/ibm_cloud_power/models/storage_type_capacity.rb +19 -8
  312. data/lib/ibm_cloud_power/models/storage_types_capacity.rb +19 -8
  313. data/lib/ibm_cloud_power/models/system.rb +19 -8
  314. data/lib/ibm_cloud_power/models/system_pool.rb +19 -8
  315. data/lib/ibm_cloud_power/models/task.rb +21 -10
  316. data/lib/ibm_cloud_power/models/task_reference.rb +19 -8
  317. data/lib/ibm_cloud_power/models/tenant.rb +20 -9
  318. data/lib/ibm_cloud_power/models/tenant_update.rb +19 -8
  319. data/lib/ibm_cloud_power/models/update_volume.rb +19 -8
  320. data/lib/ibm_cloud_power/models/virtual_cores.rb +19 -8
  321. data/lib/ibm_cloud_power/models/volume.rb +39 -18
  322. data/lib/ibm_cloud_power/models/volume_info.rb +19 -8
  323. data/lib/ibm_cloud_power/models/volume_reference.rb +39 -18
  324. data/lib/ibm_cloud_power/models/volumes.rb +19 -8
  325. data/lib/ibm_cloud_power/models/volumes_clone.rb +21 -10
  326. data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +30 -19
  327. data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +19 -8
  328. data/lib/ibm_cloud_power/models/volumes_clone_create.rb +30 -19
  329. data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +21 -10
  330. data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +19 -8
  331. data/lib/ibm_cloud_power/models/volumes_clone_request.rb +30 -19
  332. data/lib/ibm_cloud_power/models/volumes_clone_response.rb +19 -8
  333. data/lib/ibm_cloud_power/models/volumes_clones.rb +19 -8
  334. data/lib/ibm_cloud_power/models/vp_naa_s_options.rb +280 -0
  335. data/lib/ibm_cloud_power/models/vpn_connection.rb +437 -0
  336. data/lib/ibm_cloud_power/models/vpn_connection_create.rb +353 -0
  337. data/lib/ibm_cloud_power/models/vpn_connection_create_response.rb +453 -0
  338. data/lib/ibm_cloud_power/models/vpn_connection_update.rb +251 -0
  339. data/lib/ibm_cloud_power/models/vpn_connections.rb +222 -0
  340. data/lib/ibm_cloud_power/version.rb +2 -2
  341. data/lib/ibm_cloud_power.rb +39 -2
  342. data/spec/api/p_cloud_jobs_api_spec.rb +73 -0
  343. data/spec/api/p_cloud_vpn_connections_api_spec.rb +194 -0
  344. data/spec/api/p_cloud_vpn_policies_api_spec.rb +165 -0
  345. data/spec/api_client_spec.rb +3 -3
  346. data/spec/configuration_spec.rb +1 -1
  347. data/spec/models/cloud_connection_create_response_spec.rb +112 -0
  348. data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner_spec.rb +52 -0
  349. data/spec/models/create_cos_image_import_job_spec.rb +102 -0
  350. data/spec/models/dead_peer_detection_spec.rb +50 -0
  351. data/spec/models/ike_policies_spec.rb +34 -0
  352. data/spec/models/ike_policy_create_spec.rb +86 -0
  353. data/spec/models/ike_policy_options_spec.rb +52 -0
  354. data/spec/models/ike_policy_ref_spec.rb +40 -0
  355. data/spec/models/ike_policy_spec.rb +86 -0
  356. data/spec/models/ike_policy_template_spec.rb +58 -0
  357. data/spec/models/ike_policy_update_spec.rb +86 -0
  358. data/spec/models/ip_sec_policies_spec.rb +34 -0
  359. data/spec/models/ip_sec_policy_create_spec.rb +76 -0
  360. data/spec/models/ip_sec_policy_options_spec.rb +46 -0
  361. data/spec/models/ip_sec_policy_ref_spec.rb +40 -0
  362. data/spec/models/ip_sec_policy_spec.rb +82 -0
  363. data/spec/models/ip_sec_policy_template_spec.rb +52 -0
  364. data/spec/models/ip_sec_policy_update_spec.rb +76 -0
  365. data/spec/models/job_reference_spec.rb +40 -0
  366. data/spec/models/job_spec.rb +52 -0
  367. data/spec/models/jobs_spec.rb +34 -0
  368. data/spec/models/network_id_spec.rb +34 -0
  369. data/spec/models/network_ids_spec.rb +34 -0
  370. data/spec/models/operation_spec.rb +46 -0
  371. data/spec/models/options_spec.rb +34 -0
  372. data/spec/models/peer_subnet_update_spec.rb +34 -0
  373. data/spec/models/peer_subnets_spec.rb +34 -0
  374. data/spec/models/status_spec.rb +46 -0
  375. data/spec/models/storage_affinity_spec.rb +62 -0
  376. data/spec/models/vp_naa_s_options_spec.rb +58 -0
  377. data/spec/models/vpn_connection_create_response_spec.rb +114 -0
  378. data/spec/models/vpn_connection_create_spec.rb +74 -0
  379. data/spec/models/vpn_connection_spec.rb +108 -0
  380. data/spec/models/vpn_connection_update_spec.rb +52 -0
  381. data/spec/models/vpn_connections_spec.rb +34 -0
  382. data/spec/spec_helper.rb +1 -1
  383. metadata +259 -107
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionEndpointClassic
@@ -27,6 +28,11 @@ module IbmCloudPower
27
28
  }
28
29
  end
29
30
 
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
30
36
  # Attribute type mapping.
31
37
  def self.openapi_types
32
38
  {
@@ -111,8 +117,11 @@ module IbmCloudPower
111
117
  # @return [Object] Returns the model itself
112
118
  def build_from_hash(attributes)
113
119
  return nil unless attributes.is_a?(Hash)
120
+ attributes = attributes.transform_keys(&:to_sym)
114
121
  self.class.openapi_types.each_pair do |key, type|
115
- if type =~ /\AArray<(.*)>/i
122
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
123
+ self.send("#{key}=", nil)
124
+ elsif type =~ /\AArray<(.*)>/i
116
125
  # check to ensure the input is an array given that the attribute
117
126
  # is documented as an array but the input is not
118
127
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -120,8 +129,6 @@ module IbmCloudPower
120
129
  end
121
130
  elsif !attributes[self.class.attribute_map[key]].nil?
122
131
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
124
- self.send("#{key}=", nil)
125
132
  end
126
133
  end
127
134
 
@@ -134,8 +141,8 @@ module IbmCloudPower
134
141
  # @return [Object] Deserialized data
135
142
  def _deserialize(type, value)
136
143
  case type.to_sym
137
- when :DateTime
138
- DateTime.parse(value)
144
+ when :Time
145
+ Time.parse(value)
139
146
  when :Date
140
147
  Date.parse(value)
141
148
  when :String
@@ -165,7 +172,9 @@ module IbmCloudPower
165
172
  end
166
173
  end
167
174
  else # model
168
- IbmCloudPower.const_get(type).build_from_hash(value)
175
+ # models (e.g. Pet) or oneOf
176
+ klass = IbmCloudPower.const_get(type)
177
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
178
  end
170
179
  end
171
180
 
@@ -191,7 +200,7 @@ module IbmCloudPower
191
200
  is_nullable = self.class.openapi_nullable.include?(attr)
192
201
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
202
  end
194
-
203
+
195
204
  hash[param] = _to_hash(value)
196
205
  end
197
206
  hash
@@ -214,5 +223,7 @@ module IbmCloudPower
214
223
  value
215
224
  end
216
225
  end
226
+
217
227
  end
228
+
218
229
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionEndpointGRE
@@ -28,6 +29,11 @@ module IbmCloudPower
28
29
  }
29
30
  end
30
31
 
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
31
37
  # Attribute type mapping.
32
38
  def self.openapi_types
33
39
  {
@@ -114,8 +120,11 @@ module IbmCloudPower
114
120
  # @return [Object] Returns the model itself
115
121
  def build_from_hash(attributes)
116
122
  return nil unless attributes.is_a?(Hash)
123
+ attributes = attributes.transform_keys(&:to_sym)
117
124
  self.class.openapi_types.each_pair do |key, type|
118
- if type =~ /\AArray<(.*)>/i
125
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
126
+ self.send("#{key}=", nil)
127
+ elsif type =~ /\AArray<(.*)>/i
119
128
  # check to ensure the input is an array given that the attribute
120
129
  # is documented as an array but the input is not
121
130
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -123,8 +132,6 @@ module IbmCloudPower
123
132
  end
124
133
  elsif !attributes[self.class.attribute_map[key]].nil?
125
134
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
127
- self.send("#{key}=", nil)
128
135
  end
129
136
  end
130
137
 
@@ -137,8 +144,8 @@ module IbmCloudPower
137
144
  # @return [Object] Deserialized data
138
145
  def _deserialize(type, value)
139
146
  case type.to_sym
140
- when :DateTime
141
- DateTime.parse(value)
147
+ when :Time
148
+ Time.parse(value)
142
149
  when :Date
143
150
  Date.parse(value)
144
151
  when :String
@@ -168,7 +175,9 @@ module IbmCloudPower
168
175
  end
169
176
  end
170
177
  else # model
171
- IbmCloudPower.const_get(type).build_from_hash(value)
178
+ # models (e.g. Pet) or oneOf
179
+ klass = IbmCloudPower.const_get(type)
180
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
181
  end
173
182
  end
174
183
 
@@ -194,7 +203,7 @@ module IbmCloudPower
194
203
  is_nullable = self.class.openapi_nullable.include?(attr)
195
204
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
205
  end
197
-
206
+
198
207
  hash[param] = _to_hash(value)
199
208
  end
200
209
  hash
@@ -217,5 +226,7 @@ module IbmCloudPower
217
226
  value
218
227
  end
219
228
  end
229
+
220
230
  end
231
+
221
232
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionEndpointVPC
@@ -28,6 +29,11 @@ module IbmCloudPower
28
29
  }
29
30
  end
30
31
 
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
31
37
  # Attribute type mapping.
32
38
  def self.openapi_types
33
39
  {
@@ -114,8 +120,11 @@ module IbmCloudPower
114
120
  # @return [Object] Returns the model itself
115
121
  def build_from_hash(attributes)
116
122
  return nil unless attributes.is_a?(Hash)
123
+ attributes = attributes.transform_keys(&:to_sym)
117
124
  self.class.openapi_types.each_pair do |key, type|
118
- if type =~ /\AArray<(.*)>/i
125
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
126
+ self.send("#{key}=", nil)
127
+ elsif type =~ /\AArray<(.*)>/i
119
128
  # check to ensure the input is an array given that the attribute
120
129
  # is documented as an array but the input is not
121
130
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -123,8 +132,6 @@ module IbmCloudPower
123
132
  end
124
133
  elsif !attributes[self.class.attribute_map[key]].nil?
125
134
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
126
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
127
- self.send("#{key}=", nil)
128
135
  end
129
136
  end
130
137
 
@@ -137,8 +144,8 @@ module IbmCloudPower
137
144
  # @return [Object] Deserialized data
138
145
  def _deserialize(type, value)
139
146
  case type.to_sym
140
- when :DateTime
141
- DateTime.parse(value)
147
+ when :Time
148
+ Time.parse(value)
142
149
  when :Date
143
150
  Date.parse(value)
144
151
  when :String
@@ -168,7 +175,9 @@ module IbmCloudPower
168
175
  end
169
176
  end
170
177
  else # model
171
- IbmCloudPower.const_get(type).build_from_hash(value)
178
+ # models (e.g. Pet) or oneOf
179
+ klass = IbmCloudPower.const_get(type)
180
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
181
  end
173
182
  end
174
183
 
@@ -194,7 +203,7 @@ module IbmCloudPower
194
203
  is_nullable = self.class.openapi_nullable.include?(attr)
195
204
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
205
  end
197
-
206
+
198
207
  hash[param] = _to_hash(value)
199
208
  end
200
209
  hash
@@ -217,5 +226,7 @@ module IbmCloudPower
217
226
  value
218
227
  end
219
228
  end
229
+
220
230
  end
231
+
221
232
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionGRETunnel
@@ -32,6 +33,11 @@ module IbmCloudPower
32
33
  }
33
34
  end
34
35
 
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
35
41
  # Attribute type mapping.
36
42
  def self.openapi_types
37
43
  {
@@ -132,8 +138,11 @@ module IbmCloudPower
132
138
  # @return [Object] Returns the model itself
133
139
  def build_from_hash(attributes)
134
140
  return nil unless attributes.is_a?(Hash)
141
+ attributes = attributes.transform_keys(&:to_sym)
135
142
  self.class.openapi_types.each_pair do |key, type|
136
- if type =~ /\AArray<(.*)>/i
143
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
144
+ self.send("#{key}=", nil)
145
+ elsif type =~ /\AArray<(.*)>/i
137
146
  # check to ensure the input is an array given that the attribute
138
147
  # is documented as an array but the input is not
139
148
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -141,8 +150,6 @@ module IbmCloudPower
141
150
  end
142
151
  elsif !attributes[self.class.attribute_map[key]].nil?
143
152
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
144
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
145
- self.send("#{key}=", nil)
146
153
  end
147
154
  end
148
155
 
@@ -155,8 +162,8 @@ module IbmCloudPower
155
162
  # @return [Object] Deserialized data
156
163
  def _deserialize(type, value)
157
164
  case type.to_sym
158
- when :DateTime
159
- DateTime.parse(value)
165
+ when :Time
166
+ Time.parse(value)
160
167
  when :Date
161
168
  Date.parse(value)
162
169
  when :String
@@ -186,7 +193,9 @@ module IbmCloudPower
186
193
  end
187
194
  end
188
195
  else # model
189
- IbmCloudPower.const_get(type).build_from_hash(value)
196
+ # models (e.g. Pet) or oneOf
197
+ klass = IbmCloudPower.const_get(type)
198
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
199
  end
191
200
  end
192
201
 
@@ -212,7 +221,7 @@ module IbmCloudPower
212
221
  is_nullable = self.class.openapi_nullable.include?(attr)
213
222
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
214
223
  end
215
-
224
+
216
225
  hash[param] = _to_hash(value)
217
226
  end
218
227
  hash
@@ -235,5 +244,7 @@ module IbmCloudPower
235
244
  value
236
245
  end
237
246
  end
247
+
238
248
  end
249
+
239
250
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionSpeed
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionUpdate
@@ -30,6 +31,28 @@ module IbmCloudPower
30
31
 
31
32
  attr_accessor :vpc
32
33
 
34
+ class EnumAttributeValidator
35
+ attr_reader :datatype
36
+ attr_reader :allowable_values
37
+
38
+ def initialize(datatype, allowable_values)
39
+ @allowable_values = allowable_values.map do |value|
40
+ case datatype.to_s
41
+ when /Integer/i
42
+ value.to_i
43
+ when /Float/i
44
+ value.to_f
45
+ else
46
+ value
47
+ end
48
+ end
49
+ end
50
+
51
+ def valid?(value)
52
+ !value || allowable_values.include?(value)
53
+ end
54
+ end
55
+
33
56
  # Attribute mapping from ruby-style variable name to JSON key.
34
57
  def self.attribute_map
35
58
  {
@@ -42,6 +65,11 @@ module IbmCloudPower
42
65
  }
43
66
  end
44
67
 
68
+ # Returns all the JSON keys this model knows about
69
+ def self.acceptable_attributes
70
+ attribute_map.values
71
+ end
72
+
45
73
  # Attribute type mapping.
46
74
  def self.openapi_types
47
75
  {
@@ -110,9 +138,21 @@ module IbmCloudPower
110
138
  # Check to see if the all the properties in the model are valid
111
139
  # @return true if the model is valid
112
140
  def valid?
141
+ speed_validator = EnumAttributeValidator.new('Integer', [50, 100, 200, 500, 1000, 2000, 5000, 10000])
142
+ return false unless speed_validator.valid?(@speed)
113
143
  true
114
144
  end
115
145
 
146
+ # Custom attribute writer method checking allowed values (enum).
147
+ # @param [Object] speed Object to be assigned
148
+ def speed=(speed)
149
+ validator = EnumAttributeValidator.new('Integer', [50, 100, 200, 500, 1000, 2000, 5000, 10000])
150
+ unless validator.valid?(speed)
151
+ fail ArgumentError, "invalid value for \"speed\", must be one of #{validator.allowable_values}."
152
+ end
153
+ @speed = speed
154
+ end
155
+
116
156
  # Checks equality by comparing each attribute.
117
157
  # @param [Object] Object to be compared
118
158
  def ==(o)
@@ -150,8 +190,11 @@ module IbmCloudPower
150
190
  # @return [Object] Returns the model itself
151
191
  def build_from_hash(attributes)
152
192
  return nil unless attributes.is_a?(Hash)
193
+ attributes = attributes.transform_keys(&:to_sym)
153
194
  self.class.openapi_types.each_pair do |key, type|
154
- if type =~ /\AArray<(.*)>/i
195
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
196
+ self.send("#{key}=", nil)
197
+ elsif type =~ /\AArray<(.*)>/i
155
198
  # check to ensure the input is an array given that the attribute
156
199
  # is documented as an array but the input is not
157
200
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -159,8 +202,6 @@ module IbmCloudPower
159
202
  end
160
203
  elsif !attributes[self.class.attribute_map[key]].nil?
161
204
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
163
- self.send("#{key}=", nil)
164
205
  end
165
206
  end
166
207
 
@@ -173,8 +214,8 @@ module IbmCloudPower
173
214
  # @return [Object] Deserialized data
174
215
  def _deserialize(type, value)
175
216
  case type.to_sym
176
- when :DateTime
177
- DateTime.parse(value)
217
+ when :Time
218
+ Time.parse(value)
178
219
  when :Date
179
220
  Date.parse(value)
180
221
  when :String
@@ -204,7 +245,9 @@ module IbmCloudPower
204
245
  end
205
246
  end
206
247
  else # model
207
- IbmCloudPower.const_get(type).build_from_hash(value)
248
+ # models (e.g. Pet) or oneOf
249
+ klass = IbmCloudPower.const_get(type)
250
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
251
  end
209
252
  end
210
253
 
@@ -230,7 +273,7 @@ module IbmCloudPower
230
273
  is_nullable = self.class.openapi_nullable.include?(attr)
231
274
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
275
  end
233
-
276
+
234
277
  hash[param] = _to_hash(value)
235
278
  end
236
279
  hash
@@ -253,5 +296,7 @@ module IbmCloudPower
253
296
  value
254
297
  end
255
298
  end
299
+
256
300
  end
301
+
257
302
  end
@@ -6,11 +6,12 @@
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: kylej@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.0.0-beta2
9
+ OpenAPI Generator version: 6.0.1
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module IbmCloudPower
16
17
  class CloudConnectionVirtualPrivateClouds
@@ -24,10 +25,15 @@ module IbmCloudPower
24
25
  }
25
26
  end
26
27
 
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
27
33
  # Attribute type mapping.
28
34
  def self.openapi_types
29
35
  {
30
- :'virtual_private_clouds' => :'Array<CloudConnectionVirtualPrivateCloudsVirtualPrivateClouds>'
36
+ :'virtual_private_clouds' => :'Array<CloudConnectionVirtualPrivateCloudsVirtualPrivateCloudsInner>'
31
37
  }
32
38
  end
33
39
 
@@ -109,8 +115,11 @@ module IbmCloudPower
109
115
  # @return [Object] Returns the model itself
110
116
  def build_from_hash(attributes)
111
117
  return nil unless attributes.is_a?(Hash)
118
+ attributes = attributes.transform_keys(&:to_sym)
112
119
  self.class.openapi_types.each_pair do |key, type|
113
- if type =~ /\AArray<(.*)>/i
120
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
121
+ self.send("#{key}=", nil)
122
+ elsif type =~ /\AArray<(.*)>/i
114
123
  # check to ensure the input is an array given that the attribute
115
124
  # is documented as an array but the input is not
116
125
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -118,8 +127,6 @@ module IbmCloudPower
118
127
  end
119
128
  elsif !attributes[self.class.attribute_map[key]].nil?
120
129
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
121
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
122
- self.send("#{key}=", nil)
123
130
  end
124
131
  end
125
132
 
@@ -132,8 +139,8 @@ module IbmCloudPower
132
139
  # @return [Object] Deserialized data
133
140
  def _deserialize(type, value)
134
141
  case type.to_sym
135
- when :DateTime
136
- DateTime.parse(value)
142
+ when :Time
143
+ Time.parse(value)
137
144
  when :Date
138
145
  Date.parse(value)
139
146
  when :String
@@ -163,7 +170,9 @@ module IbmCloudPower
163
170
  end
164
171
  end
165
172
  else # model
166
- IbmCloudPower.const_get(type).build_from_hash(value)
173
+ # models (e.g. Pet) or oneOf
174
+ klass = IbmCloudPower.const_get(type)
175
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
167
176
  end
168
177
  end
169
178
 
@@ -189,7 +198,7 @@ module IbmCloudPower
189
198
  is_nullable = self.class.openapi_nullable.include?(attr)
190
199
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
191
200
  end
192
-
201
+
193
202
  hash[param] = _to_hash(value)
194
203
  end
195
204
  hash
@@ -212,5 +221,7 @@ module IbmCloudPower
212
221
  value
213
222
  end
214
223
  end
224
+
215
225
  end
226
+
216
227
  end