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
@@ -0,0 +1,375 @@
1
+ =begin
2
+ #Power Cloud API
3
+
4
+ #IBM Power Cloud API for Power Hardware / Infrastructure
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: kylej@us.ibm.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module IbmCloudPower
17
+ # IKE Policy object used for update
18
+ class IKEPolicyUpdate
19
+ # authentication of the IKE Policy
20
+ attr_accessor :authentication
21
+
22
+ # DH group of the IKE Policy
23
+ attr_accessor :dh_group
24
+
25
+ # encryption of the IKE Policy
26
+ attr_accessor :encryption
27
+
28
+ # Policy key lifetime
29
+ attr_accessor :key_lifetime
30
+
31
+ # name of the IKE Policy
32
+ attr_accessor :name
33
+
34
+ # Preshared key used in this IKE Policy (length of preshared key must be even)
35
+ attr_accessor :preshared_key
36
+
37
+ # version of the IKE Policy
38
+ attr_accessor :version
39
+
40
+ class EnumAttributeValidator
41
+ attr_reader :datatype
42
+ attr_reader :allowable_values
43
+
44
+ def initialize(datatype, allowable_values)
45
+ @allowable_values = allowable_values.map do |value|
46
+ case datatype.to_s
47
+ when /Integer/i
48
+ value.to_i
49
+ when /Float/i
50
+ value.to_f
51
+ else
52
+ value
53
+ end
54
+ end
55
+ end
56
+
57
+ def valid?(value)
58
+ !value || allowable_values.include?(value)
59
+ end
60
+ end
61
+
62
+ # Attribute mapping from ruby-style variable name to JSON key.
63
+ def self.attribute_map
64
+ {
65
+ :'authentication' => :'authentication',
66
+ :'dh_group' => :'dhGroup',
67
+ :'encryption' => :'encryption',
68
+ :'key_lifetime' => :'keyLifetime',
69
+ :'name' => :'name',
70
+ :'preshared_key' => :'presharedKey',
71
+ :'version' => :'version'
72
+ }
73
+ end
74
+
75
+ # Returns all the JSON keys this model knows about
76
+ def self.acceptable_attributes
77
+ attribute_map.values
78
+ end
79
+
80
+ # Attribute type mapping.
81
+ def self.openapi_types
82
+ {
83
+ :'authentication' => :'String',
84
+ :'dh_group' => :'Integer',
85
+ :'encryption' => :'String',
86
+ :'key_lifetime' => :'Integer',
87
+ :'name' => :'String',
88
+ :'preshared_key' => :'String',
89
+ :'version' => :'Integer'
90
+ }
91
+ end
92
+
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ ])
97
+ end
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ def initialize(attributes = {})
102
+ if (!attributes.is_a?(Hash))
103
+ fail ArgumentError, "The input argument (attributes) must be a hash in `IbmCloudPower::IKEPolicyUpdate` initialize method"
104
+ end
105
+
106
+ # check to see if the attribute exists and convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!self.class.attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `IbmCloudPower::IKEPolicyUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:'authentication')
115
+ self.authentication = attributes[:'authentication']
116
+ end
117
+
118
+ if attributes.key?(:'dh_group')
119
+ self.dh_group = attributes[:'dh_group']
120
+ end
121
+
122
+ if attributes.key?(:'encryption')
123
+ self.encryption = attributes[:'encryption']
124
+ end
125
+
126
+ if attributes.key?(:'key_lifetime')
127
+ self.key_lifetime = attributes[:'key_lifetime']
128
+ end
129
+
130
+ if attributes.key?(:'name')
131
+ self.name = attributes[:'name']
132
+ end
133
+
134
+ if attributes.key?(:'preshared_key')
135
+ self.preshared_key = attributes[:'preshared_key']
136
+ end
137
+
138
+ if attributes.key?(:'version')
139
+ self.version = attributes[:'version']
140
+ end
141
+ end
142
+
143
+ # Show invalid properties with the reasons. Usually used together with valid?
144
+ # @return Array for valid properties with the reasons
145
+ def list_invalid_properties
146
+ invalid_properties = Array.new
147
+ if !@key_lifetime.nil? && @key_lifetime > 86400
148
+ invalid_properties.push('invalid value for "key_lifetime", must be smaller than or equal to 86400.')
149
+ end
150
+
151
+ if !@key_lifetime.nil? && @key_lifetime < 180
152
+ invalid_properties.push('invalid value for "key_lifetime", must be greater than or equal to 180.')
153
+ end
154
+
155
+ invalid_properties
156
+ end
157
+
158
+ # Check to see if the all the properties in the model are valid
159
+ # @return true if the model is valid
160
+ def valid?
161
+ authentication_validator = EnumAttributeValidator.new('String', ["sha1", "md5", "sha-256", "sha-384"])
162
+ return false unless authentication_validator.valid?(@authentication)
163
+ dh_group_validator = EnumAttributeValidator.new('Integer', [1, 2, 5, 14, 19, 20, 24])
164
+ return false unless dh_group_validator.valid?(@dh_group)
165
+ encryption_validator = EnumAttributeValidator.new('String', ["3des-cbc", "aes-128-cbc", "aes-128-gcm", "aes-192-cbc", "aes-256-cbc", "aes-256-gcm", "des-cbc"])
166
+ return false unless encryption_validator.valid?(@encryption)
167
+ return false if !@key_lifetime.nil? && @key_lifetime > 86400
168
+ return false if !@key_lifetime.nil? && @key_lifetime < 180
169
+ version_validator = EnumAttributeValidator.new('Integer', [1, 2])
170
+ return false unless version_validator.valid?(@version)
171
+ true
172
+ end
173
+
174
+ # Custom attribute writer method checking allowed values (enum).
175
+ # @param [Object] authentication Object to be assigned
176
+ def authentication=(authentication)
177
+ validator = EnumAttributeValidator.new('String', ["sha1", "md5", "sha-256", "sha-384"])
178
+ unless validator.valid?(authentication)
179
+ fail ArgumentError, "invalid value for \"authentication\", must be one of #{validator.allowable_values}."
180
+ end
181
+ @authentication = authentication
182
+ end
183
+
184
+ # Custom attribute writer method checking allowed values (enum).
185
+ # @param [Object] dh_group Object to be assigned
186
+ def dh_group=(dh_group)
187
+ validator = EnumAttributeValidator.new('Integer', [1, 2, 5, 14, 19, 20, 24])
188
+ unless validator.valid?(dh_group)
189
+ fail ArgumentError, "invalid value for \"dh_group\", must be one of #{validator.allowable_values}."
190
+ end
191
+ @dh_group = dh_group
192
+ end
193
+
194
+ # Custom attribute writer method checking allowed values (enum).
195
+ # @param [Object] encryption Object to be assigned
196
+ def encryption=(encryption)
197
+ validator = EnumAttributeValidator.new('String', ["3des-cbc", "aes-128-cbc", "aes-128-gcm", "aes-192-cbc", "aes-256-cbc", "aes-256-gcm", "des-cbc"])
198
+ unless validator.valid?(encryption)
199
+ fail ArgumentError, "invalid value for \"encryption\", must be one of #{validator.allowable_values}."
200
+ end
201
+ @encryption = encryption
202
+ end
203
+
204
+ # Custom attribute writer method with validation
205
+ # @param [Object] key_lifetime Value to be assigned
206
+ def key_lifetime=(key_lifetime)
207
+ if !key_lifetime.nil? && key_lifetime > 86400
208
+ fail ArgumentError, 'invalid value for "key_lifetime", must be smaller than or equal to 86400.'
209
+ end
210
+
211
+ if !key_lifetime.nil? && key_lifetime < 180
212
+ fail ArgumentError, 'invalid value for "key_lifetime", must be greater than or equal to 180.'
213
+ end
214
+
215
+ @key_lifetime = key_lifetime
216
+ end
217
+
218
+ # Custom attribute writer method checking allowed values (enum).
219
+ # @param [Object] version Object to be assigned
220
+ def version=(version)
221
+ validator = EnumAttributeValidator.new('Integer', [1, 2])
222
+ unless validator.valid?(version)
223
+ fail ArgumentError, "invalid value for \"version\", must be one of #{validator.allowable_values}."
224
+ end
225
+ @version = version
226
+ end
227
+
228
+ # Checks equality by comparing each attribute.
229
+ # @param [Object] Object to be compared
230
+ def ==(o)
231
+ return true if self.equal?(o)
232
+ self.class == o.class &&
233
+ authentication == o.authentication &&
234
+ dh_group == o.dh_group &&
235
+ encryption == o.encryption &&
236
+ key_lifetime == o.key_lifetime &&
237
+ name == o.name &&
238
+ preshared_key == o.preshared_key &&
239
+ version == o.version
240
+ end
241
+
242
+ # @see the `==` method
243
+ # @param [Object] Object to be compared
244
+ def eql?(o)
245
+ self == o
246
+ end
247
+
248
+ # Calculates hash code according to all attributes.
249
+ # @return [Integer] Hash code
250
+ def hash
251
+ [authentication, dh_group, encryption, key_lifetime, name, preshared_key, version].hash
252
+ end
253
+
254
+ # Builds the object from hash
255
+ # @param [Hash] attributes Model attributes in the form of hash
256
+ # @return [Object] Returns the model itself
257
+ def self.build_from_hash(attributes)
258
+ new.build_from_hash(attributes)
259
+ end
260
+
261
+ # Builds the object from hash
262
+ # @param [Hash] attributes Model attributes in the form of hash
263
+ # @return [Object] Returns the model itself
264
+ def build_from_hash(attributes)
265
+ return nil unless attributes.is_a?(Hash)
266
+ attributes = attributes.transform_keys(&:to_sym)
267
+ self.class.openapi_types.each_pair do |key, type|
268
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
269
+ self.send("#{key}=", nil)
270
+ elsif type =~ /\AArray<(.*)>/i
271
+ # check to ensure the input is an array given that the attribute
272
+ # is documented as an array but the input is not
273
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
274
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
275
+ end
276
+ elsif !attributes[self.class.attribute_map[key]].nil?
277
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
278
+ end
279
+ end
280
+
281
+ self
282
+ end
283
+
284
+ # Deserializes the data based on type
285
+ # @param string type Data type
286
+ # @param string value Value to be deserialized
287
+ # @return [Object] Deserialized data
288
+ def _deserialize(type, value)
289
+ case type.to_sym
290
+ when :Time
291
+ Time.parse(value)
292
+ when :Date
293
+ Date.parse(value)
294
+ when :String
295
+ value.to_s
296
+ when :Integer
297
+ value.to_i
298
+ when :Float
299
+ value.to_f
300
+ when :Boolean
301
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
302
+ true
303
+ else
304
+ false
305
+ end
306
+ when :Object
307
+ # generic object (usually a Hash), return directly
308
+ value
309
+ when /\AArray<(?<inner_type>.+)>\z/
310
+ inner_type = Regexp.last_match[:inner_type]
311
+ value.map { |v| _deserialize(inner_type, v) }
312
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
313
+ k_type = Regexp.last_match[:k_type]
314
+ v_type = Regexp.last_match[:v_type]
315
+ {}.tap do |hash|
316
+ value.each do |k, v|
317
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
318
+ end
319
+ end
320
+ else # model
321
+ # models (e.g. Pet) or oneOf
322
+ klass = IbmCloudPower.const_get(type)
323
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
324
+ end
325
+ end
326
+
327
+ # Returns the string representation of the object
328
+ # @return [String] String presentation of the object
329
+ def to_s
330
+ to_hash.to_s
331
+ end
332
+
333
+ # to_body is an alias to to_hash (backward compatibility)
334
+ # @return [Hash] Returns the object in the form of hash
335
+ def to_body
336
+ to_hash
337
+ end
338
+
339
+ # Returns the object in the form of hash
340
+ # @return [Hash] Returns the object in the form of hash
341
+ def to_hash
342
+ hash = {}
343
+ self.class.attribute_map.each_pair do |attr, param|
344
+ value = self.send(attr)
345
+ if value.nil?
346
+ is_nullable = self.class.openapi_nullable.include?(attr)
347
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
348
+ end
349
+
350
+ hash[param] = _to_hash(value)
351
+ end
352
+ hash
353
+ end
354
+
355
+ # Outputs non-array value in the form of hash
356
+ # For object, use to_hash. Otherwise, just return the value
357
+ # @param [Object] value Any valid value
358
+ # @return [Hash] Returns the value in the form of hash
359
+ def _to_hash(value)
360
+ if value.is_a?(Array)
361
+ value.compact.map { |v| _to_hash(v) }
362
+ elsif value.is_a?(Hash)
363
+ {}.tap do |hash|
364
+ value.each { |k, v| hash[k] = _to_hash(v) }
365
+ end
366
+ elsif value.respond_to? :to_hash
367
+ value.to_hash
368
+ else
369
+ value
370
+ end
371
+ end
372
+
373
+ end
374
+
375
+ 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 Image
@@ -70,6 +71,11 @@ module IbmCloudPower
70
71
  }
71
72
  end
72
73
 
74
+ # Returns all the JSON keys this model knows about
75
+ def self.acceptable_attributes
76
+ attribute_map.values
77
+ end
78
+
73
79
  # Attribute type mapping.
74
80
  def self.openapi_types
75
81
  {
@@ -80,8 +86,8 @@ module IbmCloudPower
80
86
  :'size' => :'Float',
81
87
  :'storage_type' => :'String',
82
88
  :'storage_pool' => :'String',
83
- :'creation_date' => :'DateTime',
84
- :'last_update_date' => :'DateTime',
89
+ :'creation_date' => :'Time',
90
+ :'last_update_date' => :'Time',
85
91
  :'specifications' => :'ImageSpecifications',
86
92
  :'volumes' => :'Array<ImageVolume>',
87
93
  :'servers' => :'Array<String>',
@@ -259,8 +265,11 @@ module IbmCloudPower
259
265
  # @return [Object] Returns the model itself
260
266
  def build_from_hash(attributes)
261
267
  return nil unless attributes.is_a?(Hash)
268
+ attributes = attributes.transform_keys(&:to_sym)
262
269
  self.class.openapi_types.each_pair do |key, type|
263
- if type =~ /\AArray<(.*)>/i
270
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
271
+ self.send("#{key}=", nil)
272
+ elsif type =~ /\AArray<(.*)>/i
264
273
  # check to ensure the input is an array given that the attribute
265
274
  # is documented as an array but the input is not
266
275
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -268,8 +277,6 @@ module IbmCloudPower
268
277
  end
269
278
  elsif !attributes[self.class.attribute_map[key]].nil?
270
279
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
271
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
272
- self.send("#{key}=", nil)
273
280
  end
274
281
  end
275
282
 
@@ -282,8 +289,8 @@ module IbmCloudPower
282
289
  # @return [Object] Deserialized data
283
290
  def _deserialize(type, value)
284
291
  case type.to_sym
285
- when :DateTime
286
- DateTime.parse(value)
292
+ when :Time
293
+ Time.parse(value)
287
294
  when :Date
288
295
  Date.parse(value)
289
296
  when :String
@@ -313,7 +320,9 @@ module IbmCloudPower
313
320
  end
314
321
  end
315
322
  else # model
316
- IbmCloudPower.const_get(type).build_from_hash(value)
323
+ # models (e.g. Pet) or oneOf
324
+ klass = IbmCloudPower.const_get(type)
325
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
317
326
  end
318
327
  end
319
328
 
@@ -339,7 +348,7 @@ module IbmCloudPower
339
348
  is_nullable = self.class.openapi_nullable.include?(attr)
340
349
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
341
350
  end
342
-
351
+
343
352
  hash[param] = _to_hash(value)
344
353
  end
345
354
  hash
@@ -362,5 +371,7 @@ module IbmCloudPower
362
371
  value
363
372
  end
364
373
  end
374
+
365
375
  end
376
+
366
377
  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 ImageReference
@@ -59,6 +60,11 @@ module IbmCloudPower
59
60
  }
60
61
  end
61
62
 
63
+ # Returns all the JSON keys this model knows about
64
+ def self.acceptable_attributes
65
+ attribute_map.values
66
+ end
67
+
62
68
  # Attribute type mapping.
63
69
  def self.openapi_types
64
70
  {
@@ -68,8 +74,8 @@ module IbmCloudPower
68
74
  :'description' => :'String',
69
75
  :'storage_type' => :'String',
70
76
  :'storage_pool' => :'String',
71
- :'creation_date' => :'DateTime',
72
- :'last_update_date' => :'DateTime',
77
+ :'creation_date' => :'Time',
78
+ :'last_update_date' => :'Time',
73
79
  :'specifications' => :'ImageSpecifications',
74
80
  :'href' => :'String'
75
81
  }
@@ -241,8 +247,11 @@ module IbmCloudPower
241
247
  # @return [Object] Returns the model itself
242
248
  def build_from_hash(attributes)
243
249
  return nil unless attributes.is_a?(Hash)
250
+ attributes = attributes.transform_keys(&:to_sym)
244
251
  self.class.openapi_types.each_pair do |key, type|
245
- if type =~ /\AArray<(.*)>/i
252
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
253
+ self.send("#{key}=", nil)
254
+ elsif type =~ /\AArray<(.*)>/i
246
255
  # check to ensure the input is an array given that the attribute
247
256
  # is documented as an array but the input is not
248
257
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -250,8 +259,6 @@ module IbmCloudPower
250
259
  end
251
260
  elsif !attributes[self.class.attribute_map[key]].nil?
252
261
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
253
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
254
- self.send("#{key}=", nil)
255
262
  end
256
263
  end
257
264
 
@@ -264,8 +271,8 @@ module IbmCloudPower
264
271
  # @return [Object] Deserialized data
265
272
  def _deserialize(type, value)
266
273
  case type.to_sym
267
- when :DateTime
268
- DateTime.parse(value)
274
+ when :Time
275
+ Time.parse(value)
269
276
  when :Date
270
277
  Date.parse(value)
271
278
  when :String
@@ -295,7 +302,9 @@ module IbmCloudPower
295
302
  end
296
303
  end
297
304
  else # model
298
- IbmCloudPower.const_get(type).build_from_hash(value)
305
+ # models (e.g. Pet) or oneOf
306
+ klass = IbmCloudPower.const_get(type)
307
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
299
308
  end
300
309
  end
301
310
 
@@ -321,7 +330,7 @@ module IbmCloudPower
321
330
  is_nullable = self.class.openapi_nullable.include?(attr)
322
331
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
323
332
  end
324
-
333
+
325
334
  hash[param] = _to_hash(value)
326
335
  end
327
336
  hash
@@ -344,5 +353,7 @@ module IbmCloudPower
344
353
  value
345
354
  end
346
355
  end
356
+
347
357
  end
358
+
348
359
  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 ImageSpecifications
@@ -48,6 +49,11 @@ module IbmCloudPower
48
49
  }
49
50
  end
50
51
 
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
51
57
  # Attribute type mapping.
52
58
  def self.openapi_types
53
59
  {
@@ -162,8 +168,11 @@ module IbmCloudPower
162
168
  # @return [Object] Returns the model itself
163
169
  def build_from_hash(attributes)
164
170
  return nil unless attributes.is_a?(Hash)
171
+ attributes = attributes.transform_keys(&:to_sym)
165
172
  self.class.openapi_types.each_pair do |key, type|
166
- if type =~ /\AArray<(.*)>/i
173
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
174
+ self.send("#{key}=", nil)
175
+ elsif type =~ /\AArray<(.*)>/i
167
176
  # check to ensure the input is an array given that the attribute
168
177
  # is documented as an array but the input is not
169
178
  if attributes[self.class.attribute_map[key]].is_a?(Array)
@@ -171,8 +180,6 @@ module IbmCloudPower
171
180
  end
172
181
  elsif !attributes[self.class.attribute_map[key]].nil?
173
182
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
174
- elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
175
- self.send("#{key}=", nil)
176
183
  end
177
184
  end
178
185
 
@@ -185,8 +192,8 @@ module IbmCloudPower
185
192
  # @return [Object] Deserialized data
186
193
  def _deserialize(type, value)
187
194
  case type.to_sym
188
- when :DateTime
189
- DateTime.parse(value)
195
+ when :Time
196
+ Time.parse(value)
190
197
  when :Date
191
198
  Date.parse(value)
192
199
  when :String
@@ -216,7 +223,9 @@ module IbmCloudPower
216
223
  end
217
224
  end
218
225
  else # model
219
- IbmCloudPower.const_get(type).build_from_hash(value)
226
+ # models (e.g. Pet) or oneOf
227
+ klass = IbmCloudPower.const_get(type)
228
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
220
229
  end
221
230
  end
222
231
 
@@ -242,7 +251,7 @@ module IbmCloudPower
242
251
  is_nullable = self.class.openapi_nullable.include?(attr)
243
252
  next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
244
253
  end
245
-
254
+
246
255
  hash[param] = _to_hash(value)
247
256
  end
248
257
  hash
@@ -265,5 +274,7 @@ module IbmCloudPower
265
274
  value
266
275
  end
267
276
  end
277
+
268
278
  end
279
+
269
280
  end