ibm_cloud_power 3.0.0 → 3.1.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 (931) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +423 -11
  3. data/docs/AddHost.md +1 -1
  4. data/docs/AuxiliaryVolumesForOnboarding.md +2 -2
  5. data/docs/AuxiliaryVolumesForOnboardingAuxiliaryVolumesInner.md +20 -0
  6. data/docs/AvailableHostCapacity.md +2 -2
  7. data/docs/AvailableHostCapacityCores.md +18 -0
  8. data/docs/CapabilitiesDetails.md +2 -2
  9. data/docs/CapabilitiesDetailsDisasterRecovery.md +20 -0
  10. data/docs/CapabilitiesDetailsSupportedSystems.md +20 -0
  11. data/docs/CloneTaskReference.md +2 -2
  12. data/docs/ClonedVolumeDetail.md +2 -2
  13. data/docs/ClonedVolumeDetailClone.md +22 -0
  14. data/docs/CloudConnection.md +2 -2
  15. data/docs/CloudConnectionClassic.md +20 -0
  16. data/docs/CloudConnectionCreate.md +2 -2
  17. data/docs/CloudConnectionCreateClassic.md +20 -0
  18. data/docs/CloudConnectionCreateResponse.md +5 -5
  19. data/docs/CloudConnectionUpdate.md +2 -2
  20. data/docs/CloudConnectionVirtualPrivateClouds.md +1 -1
  21. data/docs/CloudConnectionVpc.md +4 -4
  22. data/docs/CloudInstance.md +2 -2
  23. data/docs/CloudInstanceReference.md +1 -1
  24. data/docs/CloudInstanceUsageLimits.md +4 -4
  25. data/docs/CreateCosImageImportJob.md +4 -4
  26. data/docs/CreateDataVolume.md +2 -2
  27. data/docs/CreateImage.md +2 -2
  28. data/docs/CreateServerVirtualSerialNumber.md +3 -1
  29. data/docs/CreateWorkspaceSSHKey.md +24 -0
  30. data/docs/Datacenter.md +2 -2
  31. data/docs/DisasterRecovery.md +2 -2
  32. data/docs/DisasterRecoveryAsynchronousReplication.md +20 -0
  33. data/docs/DisasterRecoveryLocation.md +1 -1
  34. data/docs/GetServerVirtualSerialNumber.md +3 -1
  35. data/docs/Host.md +3 -3
  36. data/docs/HostCapacity.md +2 -2
  37. data/docs/HostCapacityCores.md +24 -0
  38. data/docs/HostHostGroup.md +22 -0
  39. data/docs/Image.md +3 -3
  40. data/docs/ImageReference.md +1 -1
  41. data/docs/ImageTaskref.md +20 -0
  42. data/docs/Job.md +2 -2
  43. data/docs/JobAction.md +24 -0
  44. data/docs/JobOperation.md +22 -0
  45. data/docs/JobResourceDetails.md +22 -0
  46. data/docs/JobResources.md +20 -0
  47. data/docs/JobStatus.md +22 -0
  48. data/docs/JobWorkflow.md +20 -0
  49. data/docs/MaximumStorageAllocation.md +1 -1
  50. data/docs/MetadataService.md +18 -0
  51. data/docs/MultiVolumesCreate.md +2 -2
  52. data/docs/Network.md +9 -3
  53. data/docs/NetworkAddressGroup.md +1 -1
  54. data/docs/NetworkAddressGroupCreate.md +1 -1
  55. data/docs/NetworkCreate.md +8 -2
  56. data/docs/NetworkInterface.md +3 -1
  57. data/docs/NetworkInterfaceCreate.md +1 -1
  58. data/docs/NetworkPeer.md +50 -0
  59. data/docs/NetworkPeerCreate.md +36 -0
  60. data/docs/NetworkPeerUpdate.md +36 -0
  61. data/docs/NetworkPeers.md +18 -0
  62. data/docs/NetworkPeersApi.md +576 -0
  63. data/docs/NetworkReference.md +6 -2
  64. data/docs/NetworkSecurityGroup.md +1 -1
  65. data/docs/NetworkSecurityGroupAddRule.md +4 -4
  66. data/docs/NetworkSecurityGroupCreate.md +1 -1
  67. data/docs/NetworkUpdate.md +4 -0
  68. data/docs/NetworksApi.md +4 -4
  69. data/docs/PCloudImagesApi.md +1 -1
  70. data/docs/PCloudPVMInstancesApi.md +1 -1
  71. data/docs/PCloudSnapshotsApi.md +4 -4
  72. data/docs/PCloudVPMemVolumesApi.md +346 -0
  73. data/docs/PCloudVPNConnectionsApi.md +2 -2
  74. data/docs/PCloudVPNPoliciesApi.md +4 -4
  75. data/docs/PCloudVirtualSerialNumberApi.md +60 -0
  76. data/docs/PCloudVolumeGroupsApi.md +2 -2
  77. data/docs/PCloudVolumeOnboardingApi.md +1 -1
  78. data/docs/PVMInstance.md +25 -13
  79. data/docs/PVMInstanceAction.md +1 -1
  80. data/docs/PVMInstanceCapture.md +1 -1
  81. data/docs/PVMInstanceConfiguration.md +4 -4
  82. data/docs/PVMInstanceCreate.md +19 -9
  83. data/docs/PVMInstanceMemory.md +2 -2
  84. data/docs/PVMInstanceReference.md +24 -12
  85. data/docs/PVMInstanceReferenceV2.md +14 -10
  86. data/docs/PVMInstanceUpdate.md +12 -4
  87. data/docs/PVMInstanceUpdateResponse.md +12 -4
  88. data/docs/PeerInterface.md +26 -0
  89. data/docs/PlacementGroup.md +5 -1
  90. data/docs/PlacementGroupCreate.md +3 -1
  91. data/docs/PodData.md +6 -6
  92. data/docs/Route.md +40 -0
  93. data/docs/RouteCreate.md +34 -0
  94. data/docs/RouteFilter.md +36 -0
  95. data/docs/RouteFilterCreate.md +28 -0
  96. data/docs/RouteReport.md +18 -0
  97. data/docs/RouteReportRoute.md +20 -0
  98. data/docs/RouteUpdate.md +32 -0
  99. data/docs/Routes.md +18 -0
  100. data/docs/RoutesApi.md +383 -0
  101. data/docs/SAPCreate.md +15 -5
  102. data/docs/SAPProfile.md +7 -1
  103. data/docs/SAPProfileVpmemVolume.md +20 -0
  104. data/docs/SPPPlacementGroup.md +5 -1
  105. data/docs/SPPPlacementGroupCreate.md +3 -1
  106. data/docs/SSHKeysApi.md +321 -0
  107. data/docs/SharedProcessorPool.md +4 -2
  108. data/docs/SharedProcessorPoolCreate.md +1 -1
  109. data/docs/SharedProcessorPoolDetail.md +1 -1
  110. data/docs/SharedProcessorPoolDetailSharedProcessorPool.md +44 -0
  111. data/docs/Snapshot.md +1 -1
  112. data/docs/SnapshotCreate.md +1 -1
  113. data/docs/SnapshotCreateResponse.md +2 -2
  114. data/docs/SnapshotUpdate.md +1 -1
  115. data/docs/SnapshotsApi.md +9 -9
  116. data/docs/SoftwareLicenses.md +1 -1
  117. data/docs/{CloudConnectionSpeed.md → SoftwareTier.md} +2 -2
  118. data/docs/StorageController.md +2 -2
  119. data/docs/StoragePoolCapacity.md +3 -3
  120. data/docs/StoragePoolCombined.md +2 -2
  121. data/docs/StoragePoolsCapacity.md +1 -1
  122. data/docs/StoragePoolsCapacityMaximumStorageAllocation.md +22 -0
  123. data/docs/StorageTypeCapacity.md +1 -1
  124. data/docs/StorageTypesCapacity.md +1 -1
  125. data/docs/SupportedSoftwareTier.md +20 -0
  126. data/docs/System.md +1 -1
  127. data/docs/SystemPool.md +6 -6
  128. data/docs/SystemPoolCapacity.md +14 -8
  129. data/docs/SystemPoolSharedCoreRatio.md +22 -0
  130. data/docs/SystemResources.md +1 -1
  131. data/docs/TargetTrustedProfile.md +22 -0
  132. data/docs/TrustedProfile.md +20 -0
  133. data/docs/UpdateMetadataService.md +20 -0
  134. data/docs/UpdateServerVirtualSerialNumber.md +3 -1
  135. data/docs/UpdateTrustedProfile.md +20 -0
  136. data/docs/UpdateWorkspaceSSHKey.md +24 -0
  137. data/docs/VPMemVolumeAttach.md +20 -0
  138. data/docs/VPMemVolumeCreate.md +20 -0
  139. data/docs/VPMemVolumeReference.md +38 -0
  140. data/docs/VPMemVolumeUpdate.md +18 -0
  141. data/docs/VPMemVolumes.md +18 -0
  142. data/docs/VPNConnectionCreateResponse.md +4 -4
  143. data/docs/VirtualSerialNumber.md +3 -1
  144. data/docs/Volume.md +2 -2
  145. data/docs/VolumeGroup.md +1 -1
  146. data/docs/VolumeGroupDetails.md +1 -1
  147. data/docs/VolumeInfo.md +1 -1
  148. data/docs/VolumeOnboarding.md +7 -7
  149. data/docs/VolumeOnboardingAllOfResults.md +20 -0
  150. data/docs/VolumeOnboardingAllOfResultsVolumeOnboardingFailures.md +20 -0
  151. data/docs/VolumeOnboardingCreate.md +2 -2
  152. data/docs/VolumeOnboardingCreateVolumesInner.md +20 -0
  153. data/docs/VolumeReference.md +2 -2
  154. data/docs/VolumeRemoteCopyRelationship.md +5 -5
  155. data/docs/VolumesCloneAsyncRequest.md +1 -1
  156. data/docs/VolumesCloneExecute.md +1 -1
  157. data/docs/Workspace.md +2 -2
  158. data/docs/WorkspaceDetails.md +2 -2
  159. data/docs/WorkspaceSSHKey.md +30 -0
  160. data/docs/WorkspaceSSHKeys.md +18 -0
  161. data/docs/WorkspacesApi.md +10 -5
  162. data/ibm_cloud_power.gemspec +5 -4
  163. data/lib/ibm_cloud_power/api/datacenters_api.rb +9 -9
  164. data/lib/ibm_cloud_power/api/host_groups_api.rb +18 -18
  165. data/lib/ibm_cloud_power/api/network_address_groups_api.rb +15 -15
  166. data/lib/ibm_cloud_power/api/network_peers_api.rb +598 -0
  167. data/lib/ibm_cloud_power/api/network_security_groups_api.rb +24 -24
  168. data/lib/ibm_cloud_power/api/networks_api.rb +15 -15
  169. data/lib/ibm_cloud_power/api/p_cloud_cloud_connections_api.rb +19 -19
  170. data/lib/ibm_cloud_power/api/p_cloud_disaster_recovery_api.rb +6 -6
  171. data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +7 -7
  172. data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +28 -28
  173. data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +5 -5
  174. data/lib/ibm_cloud_power/api/p_cloud_jobs_api.rb +9 -9
  175. data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +23 -23
  176. data/lib/ibm_cloud_power/api/p_cloud_placement_groups_api.rb +15 -15
  177. data/lib/ibm_cloud_power/api/p_cloud_pod_capacity_api.rb +5 -5
  178. data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +45 -45
  179. data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +11 -11
  180. data/lib/ibm_cloud_power/api/p_cloud_shared_processor_pools_api.rb +13 -13
  181. data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +14 -14
  182. data/lib/ibm_cloud_power/api/p_cloud_spp_placement_groups_api.rb +15 -15
  183. data/lib/ibm_cloud_power/api/p_cloud_storage_capacity_api.rb +11 -11
  184. data/lib/ibm_cloud_power/api/p_cloud_storage_tiers_api.rb +5 -5
  185. data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +7 -7
  186. data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +7 -7
  187. data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +13 -13
  188. data/lib/ibm_cloud_power/api/p_cloud_virtual_serial_number_api.rb +73 -18
  189. data/lib/ibm_cloud_power/api/p_cloud_volume_groups_api.rb +25 -25
  190. data/lib/ibm_cloud_power/api/p_cloud_volume_onboarding_api.rb +9 -9
  191. data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +59 -59
  192. data/lib/ibm_cloud_power/api/p_cloud_vp_mem_volumes_api.rb +401 -0
  193. data/lib/ibm_cloud_power/api/p_cloud_vpn_connections_api.rb +27 -27
  194. data/lib/ibm_cloud_power/api/p_cloud_vpn_policies_api.rb +27 -27
  195. data/lib/ibm_cloud_power/api/routes_api.rb +388 -0
  196. data/lib/ibm_cloud_power/api/snapshots_api.rb +16 -16
  197. data/lib/ibm_cloud_power/api/ssh_keys_api.rb +337 -0
  198. data/lib/ibm_cloud_power/api/workspaces_api.rb +9 -6
  199. data/lib/ibm_cloud_power/api_client.rb +34 -27
  200. data/lib/ibm_cloud_power/api_error.rb +4 -3
  201. data/lib/ibm_cloud_power/api_model_base.rb +88 -0
  202. data/lib/ibm_cloud_power/configuration.rb +40 -10
  203. data/lib/ibm_cloud_power/models/access_config.rb +9 -6
  204. data/lib/ibm_cloud_power/models/add_host.rb +102 -99
  205. data/lib/ibm_cloud_power/models/add_server_virtual_serial_number.rb +37 -96
  206. data/lib/ibm_cloud_power/models/auxiliary_volume_for_onboarding.rb +43 -98
  207. data/lib/ibm_cloud_power/models/auxiliary_volumes_for_onboarding.rb +51 -98
  208. data/lib/ibm_cloud_power/models/auxiliary_volumes_for_onboarding_auxiliary_volumes_inner.rb +212 -0
  209. data/lib/ibm_cloud_power/models/available_host.rb +25 -97
  210. data/lib/ibm_cloud_power/models/available_host_capacity.rb +34 -100
  211. data/lib/ibm_cloud_power/models/available_host_capacity_cores.rb +171 -0
  212. data/lib/ibm_cloud_power/models/available_host_resource_capacity.rb +37 -96
  213. data/lib/ibm_cloud_power/models/capabilities_details.rb +61 -100
  214. data/lib/ibm_cloud_power/models/capabilities_details_disaster_recovery.rb +180 -0
  215. data/lib/ibm_cloud_power/models/capabilities_details_supported_systems.rb +203 -0
  216. data/lib/ibm_cloud_power/models/clone_task_reference.rb +51 -98
  217. data/lib/ibm_cloud_power/models/clone_task_status.rb +39 -96
  218. data/lib/ibm_cloud_power/models/cloned_volume.rb +25 -96
  219. data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +61 -100
  220. data/lib/ibm_cloud_power/models/cloned_volume_detail_clone.rb +175 -0
  221. data/lib/ibm_cloud_power/models/cloud_connection.rb +147 -100
  222. data/lib/ibm_cloud_power/models/cloud_connection_classic.rb +164 -0
  223. data/lib/ibm_cloud_power/models/cloud_connection_create.rb +41 -100
  224. data/lib/ibm_cloud_power/models/cloud_connection_create_classic.rb +164 -0
  225. data/lib/ibm_cloud_power/models/cloud_connection_create_response.rb +159 -112
  226. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic.rb +25 -97
  227. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic_update.rb +25 -97
  228. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_vpc.rb +25 -96
  229. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel.rb +49 -96
  230. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel_create.rb +49 -96
  231. data/lib/ibm_cloud_power/models/cloud_connection_update.rb +27 -100
  232. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds.rb +38 -97
  233. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner.rb +246 -0
  234. data/lib/ibm_cloud_power/models/cloud_connection_vpc.rb +49 -116
  235. data/lib/ibm_cloud_power/models/cloud_connections.rb +37 -96
  236. data/lib/ibm_cloud_power/models/cloud_instance.rb +157 -98
  237. data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +115 -97
  238. data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +89 -100
  239. data/lib/ibm_cloud_power/models/console_language.rb +37 -96
  240. data/lib/ibm_cloud_power/models/console_languages.rb +37 -96
  241. data/lib/ibm_cloud_power/models/create_cos_image_import_job.rb +85 -104
  242. data/lib/ibm_cloud_power/models/create_data_volume.rb +74 -100
  243. data/lib/ibm_cloud_power/models/create_image.rb +52 -100
  244. data/lib/ibm_cloud_power/models/create_server_virtual_serial_number.rb +72 -100
  245. data/lib/ibm_cloud_power/models/create_workspace_ssh_key.rb +268 -0
  246. data/lib/ibm_cloud_power/models/datacenter.rb +60 -98
  247. data/lib/ibm_cloud_power/models/datacenter_location.rb +73 -96
  248. data/lib/ibm_cloud_power/models/datacenters.rb +37 -96
  249. data/lib/ibm_cloud_power/models/dead_peer_detection.rb +27 -96
  250. data/lib/ibm_cloud_power/models/delete_server_virtual_serial_number.rb +25 -96
  251. data/lib/ibm_cloud_power/models/deployment_target.rb +39 -96
  252. data/lib/ibm_cloud_power/models/disaster_recovery.rb +44 -100
  253. data/lib/ibm_cloud_power/models/disaster_recovery_asynchronous_replication.rb +201 -0
  254. data/lib/ibm_cloud_power/models/disaster_recovery_location.rb +30 -99
  255. data/lib/ibm_cloud_power/models/disaster_recovery_locations.rb +37 -96
  256. data/lib/ibm_cloud_power/models/error.rb +25 -96
  257. data/lib/ibm_cloud_power/models/event.rb +99 -96
  258. data/lib/ibm_cloud_power/models/event_user.rb +37 -96
  259. data/lib/ibm_cloud_power/models/events.rb +37 -96
  260. data/lib/ibm_cloud_power/models/export_image.rb +49 -96
  261. data/lib/ibm_cloud_power/models/flash_copy_mapping.rb +37 -96
  262. data/lib/ibm_cloud_power/models/get_bulk_volume.rb +37 -96
  263. data/lib/ibm_cloud_power/models/get_server_virtual_serial_number.rb +84 -100
  264. data/lib/ibm_cloud_power/models/host.rb +51 -103
  265. data/lib/ibm_cloud_power/models/host_capacity.rb +34 -100
  266. data/lib/ibm_cloud_power/models/host_capacity_cores.rb +249 -0
  267. data/lib/ibm_cloud_power/models/host_create.rb +49 -96
  268. data/lib/ibm_cloud_power/models/host_group.rb +25 -96
  269. data/lib/ibm_cloud_power/models/host_group_create.rb +49 -96
  270. data/lib/ibm_cloud_power/models/host_group_share_op.rb +25 -96
  271. data/lib/ibm_cloud_power/models/host_group_summary.rb +25 -96
  272. data/lib/ibm_cloud_power/models/host_host_group.rb +175 -0
  273. data/lib/ibm_cloud_power/models/host_put.rb +66 -96
  274. data/lib/ibm_cloud_power/models/host_resource_capacity.rb +73 -96
  275. data/lib/ibm_cloud_power/models/ike_policies.rb +37 -96
  276. data/lib/ibm_cloud_power/models/ike_policy.rb +69 -96
  277. data/lib/ibm_cloud_power/models/ike_policy_authentication.rb +9 -6
  278. data/lib/ibm_cloud_power/models/ike_policy_create.rb +49 -98
  279. data/lib/ibm_cloud_power/models/ike_policy_ref.rb +49 -96
  280. data/lib/ibm_cloud_power/models/ike_policy_update.rb +39 -102
  281. data/lib/ibm_cloud_power/models/image.rb +147 -103
  282. data/lib/ibm_cloud_power/models/image_import_details.rb +31 -96
  283. data/lib/ibm_cloud_power/models/image_reference.rb +151 -98
  284. data/lib/ibm_cloud_power/models/image_specifications.rb +32 -96
  285. data/lib/ibm_cloud_power/models/image_taskref.rb +199 -0
  286. data/lib/ibm_cloud_power/models/image_volume.rb +73 -96
  287. data/lib/ibm_cloud_power/models/images.rb +37 -96
  288. data/lib/ibm_cloud_power/models/ip_address_range.rb +49 -96
  289. data/lib/ibm_cloud_power/models/ip_sec_policies.rb +37 -96
  290. data/lib/ibm_cloud_power/models/ip_sec_policy.rb +79 -96
  291. data/lib/ibm_cloud_power/models/ip_sec_policy_create.rb +47 -98
  292. data/lib/ibm_cloud_power/models/ip_sec_policy_ref.rb +49 -96
  293. data/lib/ibm_cloud_power/models/ip_sec_policy_update.rb +39 -102
  294. data/lib/ibm_cloud_power/models/ipsec_policy_authentication.rb +9 -6
  295. data/lib/ibm_cloud_power/models/job.rb +73 -100
  296. data/lib/ibm_cloud_power/models/job_action.rb +212 -0
  297. data/lib/ibm_cloud_power/models/job_operation.rb +226 -0
  298. data/lib/ibm_cloud_power/models/job_reference.rb +49 -96
  299. data/lib/ibm_cloud_power/models/job_resource_details.rb +202 -0
  300. data/lib/ibm_cloud_power/models/job_resources.rb +160 -0
  301. data/lib/ibm_cloud_power/models/job_status.rb +209 -0
  302. data/lib/ibm_cloud_power/models/job_workflow.rb +177 -0
  303. data/lib/ibm_cloud_power/models/jobs.rb +37 -96
  304. data/lib/ibm_cloud_power/models/maximum_storage_allocation.rb +62 -97
  305. data/lib/ibm_cloud_power/models/metadata_service.rb +166 -0
  306. data/lib/ibm_cloud_power/models/min_max_default.rb +61 -96
  307. data/lib/ibm_cloud_power/models/multi_volumes_create.rb +74 -100
  308. data/lib/ibm_cloud_power/models/network.rb +194 -102
  309. data/lib/ibm_cloud_power/models/network_address_group.rb +81 -97
  310. data/lib/ibm_cloud_power/models/network_address_group_add_member.rb +37 -96
  311. data/lib/ibm_cloud_power/models/network_address_group_create.rb +57 -97
  312. data/lib/ibm_cloud_power/models/network_address_group_member.rb +49 -96
  313. data/lib/ibm_cloud_power/models/network_address_group_update.rb +25 -96
  314. data/lib/ibm_cloud_power/models/network_address_groups.rb +25 -96
  315. data/lib/ibm_cloud_power/models/network_address_translation.rb +26 -97
  316. data/lib/ibm_cloud_power/models/network_cloud_connections_inner.rb +158 -0
  317. data/lib/ibm_cloud_power/models/network_create.rb +123 -107
  318. data/lib/ibm_cloud_power/models/network_id.rb +37 -96
  319. data/lib/ibm_cloud_power/models/network_ids.rb +25 -96
  320. data/lib/ibm_cloud_power/models/network_interface.rb +128 -98
  321. data/lib/ibm_cloud_power/models/network_interface_create.rb +45 -97
  322. data/lib/ibm_cloud_power/models/network_interface_instance.rb +25 -96
  323. data/lib/ibm_cloud_power/models/network_interface_update.rb +25 -96
  324. data/lib/ibm_cloud_power/models/network_interfaces.rb +37 -96
  325. data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +73 -96
  326. data/lib/ibm_cloud_power/models/network_peer.rb +631 -0
  327. data/lib/ibm_cloud_power/models/network_peer_create.rb +422 -0
  328. data/lib/ibm_cloud_power/models/network_peer_update.rb +310 -0
  329. data/lib/ibm_cloud_power/models/network_peers.rb +167 -0
  330. data/lib/ibm_cloud_power/models/network_port.rb +85 -96
  331. data/lib/ibm_cloud_power/models/network_port_create.rb +25 -96
  332. data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +25 -96
  333. data/lib/ibm_cloud_power/models/network_port_update.rb +25 -96
  334. data/lib/ibm_cloud_power/models/network_ports.rb +37 -96
  335. data/lib/ibm_cloud_power/models/network_reference.rb +126 -101
  336. data/lib/ibm_cloud_power/models/network_security_group.rb +81 -97
  337. data/lib/ibm_cloud_power/models/network_security_group_add_member.rb +39 -96
  338. data/lib/ibm_cloud_power/models/network_security_group_add_rule.rb +55 -100
  339. data/lib/ibm_cloud_power/models/network_security_group_clone.rb +37 -96
  340. data/lib/ibm_cloud_power/models/network_security_group_create.rb +57 -97
  341. data/lib/ibm_cloud_power/models/network_security_group_member.rb +51 -96
  342. data/lib/ibm_cloud_power/models/network_security_group_move_member.rb +49 -96
  343. data/lib/ibm_cloud_power/models/network_security_group_rule.rb +63 -96
  344. data/lib/ibm_cloud_power/models/network_security_group_rule_port.rb +35 -98
  345. data/lib/ibm_cloud_power/models/network_security_group_rule_protocol.rb +25 -96
  346. data/lib/ibm_cloud_power/models/network_security_group_rule_protocol_tcp_flag.rb +25 -96
  347. data/lib/ibm_cloud_power/models/network_security_group_rule_remote.rb +25 -96
  348. data/lib/ibm_cloud_power/models/network_security_group_update.rb +25 -96
  349. data/lib/ibm_cloud_power/models/network_security_groups.rb +25 -96
  350. data/lib/ibm_cloud_power/models/network_security_groups_action.rb +27 -96
  351. data/lib/ibm_cloud_power/models/network_update.rb +92 -97
  352. data/lib/ibm_cloud_power/models/networks.rb +37 -96
  353. data/lib/ibm_cloud_power/models/operation.rb +61 -96
  354. data/lib/ibm_cloud_power/models/operations.rb +27 -98
  355. data/lib/ibm_cloud_power/models/peer_interface.rb +297 -0
  356. data/lib/ibm_cloud_power/models/peer_subnet_update.rb +37 -96
  357. data/lib/ibm_cloud_power/models/peer_subnets.rb +25 -96
  358. data/lib/ibm_cloud_power/models/peering_network.rb +49 -96
  359. data/lib/ibm_cloud_power/models/pin_policy.rb +9 -6
  360. data/lib/ibm_cloud_power/models/placement_group.rb +108 -100
  361. data/lib/ibm_cloud_power/models/placement_group_create.rb +74 -100
  362. data/lib/ibm_cloud_power/models/placement_group_server.rb +37 -96
  363. data/lib/ibm_cloud_power/models/placement_groups.rb +37 -96
  364. data/lib/ibm_cloud_power/models/pod_capacity.rb +25 -96
  365. data/lib/ibm_cloud_power/models/pod_data.rb +151 -102
  366. data/lib/ibm_cloud_power/models/pvm_instance.rb +258 -114
  367. data/lib/ibm_cloud_power/models/pvm_instance_action.rb +30 -99
  368. data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +37 -96
  369. data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +61 -99
  370. data/lib/ibm_cloud_power/models/pvm_instance_configuration.rb +29 -100
  371. data/lib/ibm_cloud_power/models/pvm_instance_console.rb +37 -96
  372. data/lib/ibm_cloud_power/models/pvm_instance_cores.rb +37 -96
  373. data/lib/ibm_cloud_power/models/pvm_instance_create.rb +167 -111
  374. data/lib/ibm_cloud_power/models/pvm_instance_delete.rb +25 -96
  375. data/lib/ibm_cloud_power/models/pvm_instance_deployment.rb +25 -96
  376. data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +25 -96
  377. data/lib/ibm_cloud_power/models/pvm_instance_health.rb +25 -96
  378. data/lib/ibm_cloud_power/models/pvm_instance_host.rb +25 -96
  379. data/lib/ibm_cloud_power/models/pvm_instance_memory.rb +39 -98
  380. data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +25 -96
  381. data/lib/ibm_cloud_power/models/pvm_instance_network.rb +25 -96
  382. data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +37 -96
  383. data/lib/ibm_cloud_power/models/pvm_instance_operating_system.rb +37 -96
  384. data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +39 -96
  385. data/lib/ibm_cloud_power/models/pvm_instance_placement_group.rb +37 -96
  386. data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +212 -113
  387. data/lib/ibm_cloud_power/models/pvm_instance_reference_v2.rb +188 -109
  388. data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +25 -96
  389. data/lib/ibm_cloud_power/models/pvm_instance_update.rb +70 -101
  390. data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +70 -101
  391. data/lib/ibm_cloud_power/models/pvm_instance_v2_health.rb +37 -96
  392. data/lib/ibm_cloud_power/models/pvm_instance_v2_network_port.rb +25 -96
  393. data/lib/ibm_cloud_power/models/pvm_instance_virtual_cores.rb +27 -96
  394. data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +37 -96
  395. data/lib/ibm_cloud_power/models/pvm_instances.rb +37 -96
  396. data/lib/ibm_cloud_power/models/pvm_instances_v2.rb +37 -96
  397. data/lib/ibm_cloud_power/models/remote_copy_relationship.rb +49 -96
  398. data/lib/ibm_cloud_power/models/remove_virtual_serial_number.rb +37 -96
  399. data/lib/ibm_cloud_power/models/replication_service.rb +49 -96
  400. data/lib/ibm_cloud_power/models/replication_target_location.rb +25 -96
  401. data/lib/ibm_cloud_power/models/route.rb +518 -0
  402. data/lib/ibm_cloud_power/models/route_create.rb +400 -0
  403. data/lib/ibm_cloud_power/models/route_filter.rb +452 -0
  404. data/lib/ibm_cloud_power/models/route_filter_create.rb +361 -0
  405. data/lib/ibm_cloud_power/models/route_report.rb +167 -0
  406. data/lib/ibm_cloud_power/models/route_report_route.rb +216 -0
  407. data/lib/ibm_cloud_power/models/route_update.rb +318 -0
  408. data/lib/ibm_cloud_power/models/routes.rb +167 -0
  409. data/lib/ibm_cloud_power/models/sap_create.rb +170 -106
  410. data/lib/ibm_cloud_power/models/sap_profile.rb +104 -98
  411. data/lib/ibm_cloud_power/models/sap_profile_reference.rb +49 -96
  412. data/lib/ibm_cloud_power/models/sap_profile_vpmem_volume.rb +159 -0
  413. data/lib/ibm_cloud_power/models/sap_profiles.rb +37 -96
  414. data/lib/ibm_cloud_power/models/secondary.rb +37 -96
  415. data/lib/ibm_cloud_power/models/shared_processor_pool.rb +121 -101
  416. data/lib/ibm_cloud_power/models/shared_processor_pool_create.rb +75 -99
  417. data/lib/ibm_cloud_power/models/shared_processor_pool_detail.rb +55 -98
  418. data/lib/ibm_cloud_power/models/shared_processor_pool_detail_shared_processor_pool.rb +393 -0
  419. data/lib/ibm_cloud_power/models/shared_processor_pool_placement_group.rb +61 -96
  420. data/lib/ibm_cloud_power/models/shared_processor_pool_server.rb +25 -96
  421. data/lib/ibm_cloud_power/models/shared_processor_pool_update.rb +25 -96
  422. data/lib/ibm_cloud_power/models/shared_processor_pools.rb +25 -96
  423. data/lib/ibm_cloud_power/models/site.rb +25 -96
  424. data/lib/ibm_cloud_power/models/snapshot.rb +74 -97
  425. data/lib/ibm_cloud_power/models/snapshot_create.rb +70 -99
  426. data/lib/ibm_cloud_power/models/snapshot_create_response.rb +62 -100
  427. data/lib/ibm_cloud_power/models/snapshot_list.rb +37 -96
  428. data/lib/ibm_cloud_power/models/snapshot_restore.rb +25 -96
  429. data/lib/ibm_cloud_power/models/snapshot_update.rb +51 -99
  430. data/lib/ibm_cloud_power/models/snapshot_v1.rb +85 -96
  431. data/lib/ibm_cloud_power/models/snapshots.rb +37 -96
  432. data/lib/ibm_cloud_power/models/software_licenses.rb +26 -97
  433. data/lib/ibm_cloud_power/models/software_tier.rb +42 -0
  434. data/lib/ibm_cloud_power/models/spp_placement_group.rb +106 -100
  435. data/lib/ibm_cloud_power/models/spp_placement_group_create.rb +66 -102
  436. data/lib/ibm_cloud_power/models/spp_placement_groups.rb +25 -96
  437. data/lib/ibm_cloud_power/models/src.rb +25 -96
  438. data/lib/ibm_cloud_power/models/ssh_key.rb +49 -96
  439. data/lib/ibm_cloud_power/models/ssh_keys.rb +37 -96
  440. data/lib/ibm_cloud_power/models/status.rb +49 -96
  441. data/lib/ibm_cloud_power/models/status_description.rb +25 -96
  442. data/lib/ibm_cloud_power/models/status_description_error.rb +25 -96
  443. data/lib/ibm_cloud_power/models/stock_image.rb +25 -96
  444. data/lib/ibm_cloud_power/models/storage_affinity.rb +25 -96
  445. data/lib/ibm_cloud_power/models/storage_controller.rb +87 -98
  446. data/lib/ibm_cloud_power/models/storage_pool_capacity.rb +40 -99
  447. data/lib/ibm_cloud_power/models/storage_pool_combined.rb +63 -98
  448. data/lib/ibm_cloud_power/models/storage_pool_map.rb +25 -96
  449. data/lib/ibm_cloud_power/models/storage_pools_capacity.rb +26 -98
  450. data/lib/ibm_cloud_power/models/storage_pools_capacity_maximum_storage_allocation.rb +226 -0
  451. data/lib/ibm_cloud_power/models/storage_tier.rb +25 -96
  452. data/lib/ibm_cloud_power/models/storage_type_capacity.rb +26 -98
  453. data/lib/ibm_cloud_power/models/storage_types_capacity.rb +26 -98
  454. data/lib/ibm_cloud_power/models/supported_software_tier.rb +180 -0
  455. data/lib/ibm_cloud_power/models/supported_systems.rb +49 -96
  456. data/lib/ibm_cloud_power/models/system.rb +50 -97
  457. data/lib/ibm_cloud_power/models/system_pool.rb +31 -107
  458. data/lib/ibm_cloud_power/models/system_pool_capacity.rb +102 -135
  459. data/lib/ibm_cloud_power/models/system_pool_shared_core_ratio.rb +226 -0
  460. data/lib/ibm_cloud_power/models/system_resources.rb +110 -97
  461. data/lib/ibm_cloud_power/models/target_trusted_profile.rb +229 -0
  462. data/lib/ibm_cloud_power/models/task.rb +133 -96
  463. data/lib/ibm_cloud_power/models/task_reference.rb +49 -96
  464. data/lib/ibm_cloud_power/models/tenant.rb +73 -96
  465. data/lib/ibm_cloud_power/models/tenant_update.rb +25 -96
  466. data/lib/ibm_cloud_power/models/trusted_profile.rb +177 -0
  467. data/lib/ibm_cloud_power/models/update_metadata_service.rb +176 -0
  468. data/lib/ibm_cloud_power/models/update_server_virtual_serial_number.rb +60 -100
  469. data/lib/ibm_cloud_power/models/update_trusted_profile.rb +158 -0
  470. data/lib/ibm_cloud_power/models/update_virtual_serial_number.rb +37 -96
  471. data/lib/ibm_cloud_power/models/update_volume.rb +25 -96
  472. data/lib/ibm_cloud_power/models/update_workspace_ssh_key.rb +244 -0
  473. data/lib/ibm_cloud_power/models/virtual_cores.rb +27 -96
  474. data/lib/ibm_cloud_power/models/virtual_serial_number.rb +96 -100
  475. data/lib/ibm_cloud_power/models/volume.rb +110 -100
  476. data/lib/ibm_cloud_power/models/volume_action.rb +25 -96
  477. data/lib/ibm_cloud_power/models/volume_group.rb +50 -97
  478. data/lib/ibm_cloud_power/models/volume_group_action.rb +25 -96
  479. data/lib/ibm_cloud_power/models/volume_group_action_reset.rb +25 -96
  480. data/lib/ibm_cloud_power/models/volume_group_action_start.rb +25 -96
  481. data/lib/ibm_cloud_power/models/volume_group_action_stop.rb +37 -96
  482. data/lib/ibm_cloud_power/models/volume_group_create.rb +43 -98
  483. data/lib/ibm_cloud_power/models/volume_group_create_response.rb +61 -96
  484. data/lib/ibm_cloud_power/models/volume_group_details.rb +50 -97
  485. data/lib/ibm_cloud_power/models/volume_group_remote_copy_relationships.rb +25 -96
  486. data/lib/ibm_cloud_power/models/volume_group_storage_details.rb +37 -96
  487. data/lib/ibm_cloud_power/models/volume_group_update.rb +25 -96
  488. data/lib/ibm_cloud_power/models/volume_groups.rb +37 -96
  489. data/lib/ibm_cloud_power/models/volume_groups_details.rb +37 -96
  490. data/lib/ibm_cloud_power/models/volume_info.rb +26 -97
  491. data/lib/ibm_cloud_power/models/volume_onboarding.rb +70 -132
  492. data/lib/ibm_cloud_power/models/volume_onboarding_all_of_results.rb +161 -0
  493. data/lib/ibm_cloud_power/models/volume_onboarding_all_of_results_volume_onboarding_failures.rb +167 -0
  494. data/lib/ibm_cloud_power/models/volume_onboarding_common.rb +37 -96
  495. data/lib/ibm_cloud_power/models/volume_onboarding_create.rb +62 -100
  496. data/lib/ibm_cloud_power/models/volume_onboarding_create_response.rb +25 -96
  497. data/lib/ibm_cloud_power/models/volume_onboarding_create_volumes_inner.rb +200 -0
  498. data/lib/ibm_cloud_power/models/volume_onboarding_failure.rb +25 -96
  499. data/lib/ibm_cloud_power/models/volume_onboardings.rb +37 -96
  500. data/lib/ibm_cloud_power/models/volume_reference.rb +182 -100
  501. data/lib/ibm_cloud_power/models/volume_remote_copy_relationship.rb +73 -120
  502. data/lib/ibm_cloud_power/models/volume_snapshot_list.rb +25 -96
  503. data/lib/ibm_cloud_power/models/volumes.rb +37 -96
  504. data/lib/ibm_cloud_power/models/volumes_attach.rb +37 -96
  505. data/lib/ibm_cloud_power/models/volumes_attachment_response.rb +37 -96
  506. data/lib/ibm_cloud_power/models/volumes_clone.rb +37 -96
  507. data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +73 -99
  508. data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +25 -96
  509. data/lib/ibm_cloud_power/models/volumes_clone_create.rb +49 -96
  510. data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +37 -96
  511. data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +61 -99
  512. data/lib/ibm_cloud_power/models/volumes_clone_request.rb +49 -96
  513. data/lib/ibm_cloud_power/models/volumes_clone_response.rb +25 -96
  514. data/lib/ibm_cloud_power/models/volumes_clones.rb +25 -96
  515. data/lib/ibm_cloud_power/models/volumes_delete.rb +37 -96
  516. data/lib/ibm_cloud_power/models/volumes_delete_response.rb +25 -96
  517. data/lib/ibm_cloud_power/models/volumes_detach.rb +25 -96
  518. data/lib/ibm_cloud_power/models/volumes_detachment_response.rb +37 -96
  519. data/lib/ibm_cloud_power/models/vp_mem_volume_attach.rb +198 -0
  520. data/lib/ibm_cloud_power/models/vp_mem_volume_create.rb +230 -0
  521. data/lib/ibm_cloud_power/models/vp_mem_volume_reference.rb +367 -0
  522. data/lib/ibm_cloud_power/models/vp_mem_volume_update.rb +194 -0
  523. data/lib/ibm_cloud_power/models/vp_mem_volumes.rb +167 -0
  524. data/lib/ibm_cloud_power/models/vpn_connection.rb +149 -96
  525. data/lib/ibm_cloud_power/models/vpn_connection_create.rb +99 -96
  526. data/lib/ibm_cloud_power/models/vpn_connection_create_response.rb +162 -109
  527. data/lib/ibm_cloud_power/models/vpn_connection_update.rb +25 -96
  528. data/lib/ibm_cloud_power/models/vpn_connections.rb +25 -96
  529. data/lib/ibm_cloud_power/models/workspace.rb +111 -98
  530. data/lib/ibm_cloud_power/models/workspace_details.rb +51 -98
  531. data/lib/ibm_cloud_power/models/workspace_location.rb +37 -96
  532. data/lib/ibm_cloud_power/models/workspace_network_security_groups_details.rb +27 -96
  533. data/lib/ibm_cloud_power/models/workspace_power_edge_router_details.rb +29 -96
  534. data/lib/ibm_cloud_power/models/workspace_ssh_key.rb +332 -0
  535. data/lib/ibm_cloud_power/models/workspace_ssh_keys.rb +167 -0
  536. data/lib/ibm_cloud_power/models/workspaces.rb +37 -96
  537. data/lib/ibm_cloud_power/version.rb +4 -4
  538. data/lib/ibm_cloud_power.rb +63 -5
  539. data/spec/api/datacenters_api_spec.rb +7 -7
  540. data/spec/api/host_groups_api_spec.rb +13 -13
  541. data/spec/api/network_address_groups_api_spec.rb +10 -10
  542. data/spec/api/network_peers_api_spec.rb +136 -0
  543. data/spec/api/network_security_groups_api_spec.rb +15 -15
  544. data/spec/api/networks_api_spec.rb +9 -9
  545. data/spec/api/p_cloud_cloud_connections_api_spec.rb +11 -11
  546. data/spec/api/p_cloud_disaster_recovery_api_spec.rb +5 -5
  547. data/spec/api/p_cloud_events_api_spec.rb +5 -5
  548. data/spec/api/p_cloud_images_api_spec.rb +16 -16
  549. data/spec/api/p_cloud_instances_api_spec.rb +4 -4
  550. data/spec/api/p_cloud_jobs_api_spec.rb +6 -6
  551. data/spec/api/p_cloud_networks_api_spec.rb +13 -13
  552. data/spec/api/p_cloud_placement_groups_api_spec.rb +9 -9
  553. data/spec/api/p_cloud_pod_capacity_api_spec.rb +4 -4
  554. data/spec/api/p_cloud_pvm_instances_api_spec.rb +24 -24
  555. data/spec/api/p_cloud_sap_api_spec.rb +6 -6
  556. data/spec/api/p_cloud_shared_processor_pools_api_spec.rb +8 -8
  557. data/spec/api/p_cloud_snapshots_api_spec.rb +8 -8
  558. data/spec/api/p_cloud_spp_placement_groups_api_spec.rb +9 -9
  559. data/spec/api/p_cloud_storage_capacity_api_spec.rb +7 -7
  560. data/spec/api/p_cloud_storage_tiers_api_spec.rb +4 -4
  561. data/spec/api/p_cloud_tasks_api_spec.rb +5 -5
  562. data/spec/api/p_cloud_tenants_api_spec.rb +5 -5
  563. data/spec/api/p_cloud_tenants_ssh_keys_api_spec.rb +8 -8
  564. data/spec/api/p_cloud_virtual_serial_number_api_spec.rb +21 -11
  565. data/spec/api/p_cloud_volume_groups_api_spec.rb +13 -13
  566. data/spec/api/p_cloud_volume_onboarding_api_spec.rb +6 -6
  567. data/spec/api/p_cloud_volumes_api_spec.rb +31 -31
  568. data/spec/api/p_cloud_vp_mem_volumes_api_spec.rb +102 -0
  569. data/spec/api/p_cloud_vpn_connections_api_spec.rb +14 -14
  570. data/spec/api/p_cloud_vpn_policies_api_spec.rb +13 -13
  571. data/spec/api/routes_api_spec.rb +100 -0
  572. data/spec/api/snapshots_api_spec.rb +9 -9
  573. data/spec/api/ssh_keys_api_spec.rb +90 -0
  574. data/spec/api/workspaces_api_spec.rb +6 -5
  575. data/spec/models/access_config_spec.rb +7 -5
  576. data/spec/models/add_host_spec.rb +10 -8
  577. data/spec/models/add_server_virtual_serial_number_spec.rb +9 -7
  578. data/spec/models/auxiliary_volume_for_onboarding_spec.rb +9 -7
  579. data/spec/models/auxiliary_volumes_for_onboarding_auxiliary_volumes_inner_spec.rb +42 -0
  580. data/spec/models/auxiliary_volumes_for_onboarding_spec.rb +9 -7
  581. data/spec/models/available_host_capacity_cores_spec.rb +36 -0
  582. data/spec/models/available_host_capacity_spec.rb +9 -7
  583. data/spec/models/available_host_resource_capacity_spec.rb +8 -6
  584. data/spec/models/available_host_spec.rb +10 -8
  585. data/spec/models/capabilities_details_disaster_recovery_spec.rb +42 -0
  586. data/spec/models/capabilities_details_spec.rb +9 -7
  587. data/spec/models/capabilities_details_supported_systems_spec.rb +42 -0
  588. data/spec/models/clone_task_reference_spec.rb +9 -7
  589. data/spec/models/clone_task_status_spec.rb +11 -9
  590. data/spec/models/cloned_volume_detail_clone_spec.rb +48 -0
  591. data/spec/models/cloned_volume_detail_spec.rb +9 -7
  592. data/spec/models/cloned_volume_spec.rb +9 -7
  593. data/spec/models/cloud_connection_classic_spec.rb +42 -0
  594. data/spec/models/cloud_connection_create_classic_spec.rb +42 -0
  595. data/spec/models/cloud_connection_create_response_spec.rb +26 -24
  596. data/spec/models/cloud_connection_create_spec.rb +15 -13
  597. data/spec/models/cloud_connection_endpoint_classic_spec.rb +9 -7
  598. data/spec/models/cloud_connection_endpoint_classic_update_spec.rb +9 -7
  599. data/spec/models/cloud_connection_endpoint_vpc_spec.rb +9 -7
  600. data/spec/models/cloud_connection_gre_tunnel_create_spec.rb +9 -7
  601. data/spec/models/cloud_connection_gre_tunnel_spec.rb +9 -7
  602. data/spec/models/cloud_connection_spec.rb +21 -19
  603. data/spec/models/cloud_connection_update_spec.rb +13 -11
  604. data/spec/models/cloud_connection_virtual_private_clouds_spec.rb +8 -6
  605. data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner_spec.rb +54 -0
  606. data/spec/models/cloud_connection_vpc_spec.rb +11 -9
  607. data/spec/models/cloud_connections_spec.rb +8 -6
  608. data/spec/models/cloud_instance_reference_spec.rb +15 -13
  609. data/spec/models/cloud_instance_spec.rb +18 -16
  610. data/spec/models/cloud_instance_usage_limits_spec.rb +18 -16
  611. data/spec/models/console_language_spec.rb +9 -7
  612. data/spec/models/console_languages_spec.rb +8 -6
  613. data/spec/models/create_cos_image_import_job_spec.rb +20 -18
  614. data/spec/models/create_data_volume_spec.rb +19 -17
  615. data/spec/models/create_image_spec.rb +21 -19
  616. data/spec/models/create_server_virtual_serial_number_spec.rb +15 -7
  617. data/spec/models/create_workspace_ssh_key_spec.rb +58 -0
  618. data/spec/models/datacenter_location_spec.rb +11 -9
  619. data/spec/models/datacenter_spec.rb +13 -11
  620. data/spec/models/datacenters_spec.rb +8 -6
  621. data/spec/models/dead_peer_detection_spec.rb +10 -8
  622. data/spec/models/delete_server_virtual_serial_number_spec.rb +8 -6
  623. data/spec/models/deployment_target_spec.rb +9 -7
  624. data/spec/models/disaster_recovery_asynchronous_replication_spec.rb +42 -0
  625. data/spec/models/disaster_recovery_location_spec.rb +9 -7
  626. data/spec/models/disaster_recovery_locations_spec.rb +8 -6
  627. data/spec/models/disaster_recovery_spec.rb +9 -7
  628. data/spec/models/error_spec.rb +9 -7
  629. data/spec/models/event_spec.rb +16 -14
  630. data/spec/models/event_user_spec.rb +10 -8
  631. data/spec/models/events_spec.rb +8 -6
  632. data/spec/models/export_image_spec.rb +11 -9
  633. data/spec/models/flash_copy_mapping_spec.rb +14 -12
  634. data/spec/models/get_bulk_volume_spec.rb +8 -6
  635. data/spec/models/get_server_virtual_serial_number_spec.rb +15 -7
  636. data/spec/models/host_capacity_cores_spec.rb +54 -0
  637. data/spec/models/host_capacity_spec.rb +9 -7
  638. data/spec/models/host_create_spec.rb +9 -7
  639. data/spec/models/host_group_create_spec.rb +10 -8
  640. data/spec/models/host_group_share_op_spec.rb +9 -7
  641. data/spec/models/host_group_spec.rb +13 -11
  642. data/spec/models/host_group_summary_spec.rb +10 -8
  643. data/spec/models/host_host_group_spec.rb +48 -0
  644. data/spec/models/host_put_spec.rb +8 -6
  645. data/spec/models/host_resource_capacity_spec.rb +11 -9
  646. data/spec/models/host_spec.rb +16 -14
  647. data/spec/models/ike_policies_spec.rb +8 -6
  648. data/spec/models/ike_policy_authentication_spec.rb +7 -5
  649. data/spec/models/ike_policy_create_spec.rb +14 -12
  650. data/spec/models/ike_policy_ref_spec.rb +9 -7
  651. data/spec/models/ike_policy_spec.rb +14 -12
  652. data/spec/models/ike_policy_update_spec.rb +14 -12
  653. data/spec/models/image_import_details_spec.rb +10 -8
  654. data/spec/models/image_reference_spec.rb +18 -16
  655. data/spec/models/image_spec.rb +23 -21
  656. data/spec/models/image_specifications_spec.rb +14 -12
  657. data/spec/models/image_taskref_spec.rb +42 -0
  658. data/spec/models/image_volume_spec.rb +11 -9
  659. data/spec/models/images_spec.rb +8 -6
  660. data/spec/models/ip_address_range_spec.rb +9 -7
  661. data/spec/models/ip_sec_policies_spec.rb +8 -6
  662. data/spec/models/ip_sec_policy_create_spec.rb +13 -11
  663. data/spec/models/ip_sec_policy_ref_spec.rb +9 -7
  664. data/spec/models/ip_sec_policy_spec.rb +14 -12
  665. data/spec/models/ip_sec_policy_update_spec.rb +13 -11
  666. data/spec/models/ipsec_policy_authentication_spec.rb +7 -5
  667. data/spec/models/job_action_spec.rb +58 -0
  668. data/spec/models/job_operation_spec.rb +48 -0
  669. data/spec/models/job_reference_spec.rb +9 -7
  670. data/spec/models/job_resource_details_spec.rb +52 -0
  671. data/spec/models/job_resources_spec.rb +42 -0
  672. data/spec/models/job_spec.rb +11 -9
  673. data/spec/models/job_status_spec.rb +48 -0
  674. data/spec/models/job_workflow_spec.rb +42 -0
  675. data/spec/models/jobs_spec.rb +8 -6
  676. data/spec/models/maximum_storage_allocation_spec.rb +10 -8
  677. data/spec/models/metadata_service_spec.rb +36 -0
  678. data/spec/models/min_max_default_spec.rb +10 -8
  679. data/spec/models/multi_volumes_create_spec.rb +20 -18
  680. data/spec/models/network_address_group_add_member_spec.rb +8 -6
  681. data/spec/models/network_address_group_create_spec.rb +9 -7
  682. data/spec/models/network_address_group_member_spec.rb +9 -7
  683. data/spec/models/network_address_group_spec.rb +12 -10
  684. data/spec/models/network_address_group_update_spec.rb +8 -6
  685. data/spec/models/network_address_groups_spec.rb +8 -6
  686. data/spec/models/network_address_translation_spec.rb +8 -6
  687. data/spec/models/network_cloud_connections_inner_spec.rb +42 -0
  688. data/spec/models/network_create_spec.rb +43 -15
  689. data/spec/models/network_id_spec.rb +8 -6
  690. data/spec/models/network_ids_spec.rb +8 -6
  691. data/spec/models/network_interface_create_spec.rb +10 -8
  692. data/spec/models/network_interface_instance_spec.rb +9 -7
  693. data/spec/models/network_interface_spec.rb +23 -15
  694. data/spec/models/network_interface_update_spec.rb +9 -7
  695. data/spec/models/network_interfaces_spec.rb +8 -6
  696. data/spec/models/network_ip_address_metrics_spec.rb +11 -9
  697. data/spec/models/network_peer_create_spec.rb +102 -0
  698. data/spec/models/network_peer_spec.rb +148 -0
  699. data/spec/models/network_peer_update_spec.rb +102 -0
  700. data/spec/models/network_peers_spec.rb +36 -0
  701. data/spec/models/network_port_create_spec.rb +9 -7
  702. data/spec/models/network_port_pvm_instance_spec.rb +9 -7
  703. data/spec/models/network_port_spec.rb +15 -13
  704. data/spec/models/network_port_update_spec.rb +9 -7
  705. data/spec/models/network_ports_spec.rb +8 -6
  706. data/spec/models/network_reference_spec.rb +37 -15
  707. data/spec/models/network_security_group_add_member_spec.rb +9 -7
  708. data/spec/models/network_security_group_add_rule_spec.rb +14 -12
  709. data/spec/models/network_security_group_clone_spec.rb +8 -6
  710. data/spec/models/network_security_group_create_spec.rb +9 -7
  711. data/spec/models/network_security_group_member_spec.rb +12 -10
  712. data/spec/models/network_security_group_move_member_spec.rb +9 -7
  713. data/spec/models/network_security_group_rule_port_spec.rb +9 -7
  714. data/spec/models/network_security_group_rule_protocol_spec.rb +10 -8
  715. data/spec/models/network_security_group_rule_protocol_tcp_flag_spec.rb +8 -6
  716. data/spec/models/network_security_group_rule_remote_spec.rb +9 -7
  717. data/spec/models/network_security_group_rule_spec.rb +13 -11
  718. data/spec/models/network_security_group_spec.rb +14 -12
  719. data/spec/models/network_security_group_update_spec.rb +8 -6
  720. data/spec/models/network_security_groups_action_spec.rb +8 -6
  721. data/spec/models/network_security_groups_spec.rb +8 -6
  722. data/spec/models/network_spec.rb +49 -21
  723. data/spec/models/network_update_spec.rb +31 -9
  724. data/spec/models/networks_spec.rb +8 -6
  725. data/spec/models/operation_spec.rb +10 -8
  726. data/spec/models/operations_spec.rb +11 -9
  727. data/spec/models/peer_interface_spec.rb +64 -0
  728. data/spec/models/peer_subnet_update_spec.rb +8 -6
  729. data/spec/models/peer_subnets_spec.rb +8 -6
  730. data/spec/models/peering_network_spec.rb +10 -8
  731. data/spec/models/pin_policy_spec.rb +7 -5
  732. data/spec/models/placement_group_create_spec.rb +15 -7
  733. data/spec/models/placement_group_server_spec.rb +8 -6
  734. data/spec/models/placement_group_spec.rb +23 -9
  735. data/spec/models/placement_groups_spec.rb +8 -6
  736. data/spec/models/pod_capacity_spec.rb +10 -8
  737. data/spec/models/pod_data_spec.rb +17 -15
  738. data/spec/models/pvm_instance_action_spec.rb +9 -7
  739. data/spec/models/pvm_instance_add_network_spec.rb +10 -8
  740. data/spec/models/pvm_instance_capture_spec.rb +15 -13
  741. data/spec/models/pvm_instance_configuration_spec.rb +12 -10
  742. data/spec/models/pvm_instance_console_spec.rb +8 -6
  743. data/spec/models/pvm_instance_cores_spec.rb +10 -8
  744. data/spec/models/pvm_instance_create_spec.rb +67 -35
  745. data/spec/models/pvm_instance_delete_spec.rb +8 -6
  746. data/spec/models/pvm_instance_deployment_spec.rb +11 -9
  747. data/spec/models/pvm_instance_fault_spec.rb +11 -9
  748. data/spec/models/pvm_instance_health_spec.rb +10 -8
  749. data/spec/models/pvm_instance_host_spec.rb +9 -7
  750. data/spec/models/pvm_instance_memory_spec.rb +10 -8
  751. data/spec/models/pvm_instance_multi_create_spec.rb +10 -8
  752. data/spec/models/pvm_instance_network_spec.rb +19 -17
  753. data/spec/models/pvm_instance_networks_spec.rb +8 -6
  754. data/spec/models/pvm_instance_operating_system_spec.rb +9 -7
  755. data/spec/models/pvm_instance_operation_spec.rb +9 -7
  756. data/spec/models/pvm_instance_placement_group_spec.rb +8 -6
  757. data/spec/models/pvm_instance_reference_spec.rb +86 -48
  758. data/spec/models/pvm_instance_reference_v2_spec.rb +35 -21
  759. data/spec/models/pvm_instance_remove_network_spec.rb +8 -6
  760. data/spec/models/pvm_instance_spec.rb +89 -51
  761. data/spec/models/pvm_instance_update_response_spec.rb +40 -14
  762. data/spec/models/pvm_instance_update_spec.rb +42 -16
  763. data/spec/models/pvm_instance_v2_health_spec.rb +8 -6
  764. data/spec/models/pvm_instance_v2_network_port_spec.rb +12 -10
  765. data/spec/models/pvm_instance_virtual_cores_spec.rb +10 -8
  766. data/spec/models/pvm_instance_volume_update_spec.rb +8 -6
  767. data/spec/models/pvm_instances_spec.rb +8 -6
  768. data/spec/models/pvm_instances_v2_spec.rb +8 -6
  769. data/spec/models/remote_copy_relationship_spec.rb +21 -19
  770. data/spec/models/remove_virtual_serial_number_spec.rb +8 -6
  771. data/spec/models/replication_service_spec.rb +9 -7
  772. data/spec/models/replication_target_location_spec.rb +9 -7
  773. data/spec/models/route_create_spec.rb +100 -0
  774. data/spec/models/route_filter_create_spec.rb +74 -0
  775. data/spec/models/route_filter_spec.rb +102 -0
  776. data/spec/models/route_report_route_spec.rb +46 -0
  777. data/spec/models/route_report_spec.rb +36 -0
  778. data/spec/models/route_spec.rb +122 -0
  779. data/spec/models/route_update_spec.rb +94 -0
  780. data/spec/models/routes_spec.rb +36 -0
  781. data/spec/models/sap_create_spec.rb +55 -23
  782. data/spec/models/sap_profile_reference_spec.rb +9 -7
  783. data/spec/models/sap_profile_spec.rb +36 -16
  784. data/spec/models/sap_profile_vpmem_volume_spec.rb +42 -0
  785. data/spec/models/sap_profiles_spec.rb +8 -6
  786. data/spec/models/secondary_spec.rb +9 -7
  787. data/spec/models/shared_processor_pool_create_spec.rb +13 -11
  788. data/spec/models/shared_processor_pool_detail_shared_processor_pool_spec.rb +114 -0
  789. data/spec/models/shared_processor_pool_detail_spec.rb +9 -7
  790. data/spec/models/shared_processor_pool_placement_group_spec.rb +10 -8
  791. data/spec/models/shared_processor_pool_server_spec.rb +15 -13
  792. data/spec/models/shared_processor_pool_spec.rb +26 -18
  793. data/spec/models/shared_processor_pool_update_spec.rb +9 -7
  794. data/spec/models/shared_processor_pools_spec.rb +8 -6
  795. data/spec/models/site_spec.rb +9 -7
  796. data/spec/models/snapshot_create_response_spec.rb +10 -8
  797. data/spec/models/snapshot_create_spec.rb +11 -9
  798. data/spec/models/snapshot_list_spec.rb +8 -6
  799. data/spec/models/snapshot_restore_spec.rb +8 -6
  800. data/spec/models/snapshot_spec.rb +18 -16
  801. data/spec/models/snapshot_update_spec.rb +9 -7
  802. data/spec/models/snapshot_v1_spec.rb +14 -12
  803. data/spec/models/snapshots_spec.rb +8 -6
  804. data/spec/models/software_licenses_spec.rb +12 -10
  805. data/spec/models/software_tier_spec.rb +30 -0
  806. data/spec/models/spp_placement_group_create_spec.rb +15 -7
  807. data/spec/models/spp_placement_group_spec.rb +23 -9
  808. data/spec/models/spp_placement_groups_spec.rb +8 -6
  809. data/spec/models/src_spec.rb +9 -7
  810. data/spec/models/ssh_key_spec.rb +10 -8
  811. data/spec/models/ssh_keys_spec.rb +8 -6
  812. data/spec/models/status_description_error_spec.rb +10 -8
  813. data/spec/models/status_description_spec.rb +8 -6
  814. data/spec/models/status_spec.rb +10 -8
  815. data/spec/models/stock_image_spec.rb +10 -8
  816. data/spec/models/storage_affinity_spec.rb +12 -10
  817. data/spec/models/storage_controller_spec.rb +12 -10
  818. data/spec/models/storage_pool_capacity_spec.rb +14 -12
  819. data/spec/models/storage_pool_combined_spec.rb +10 -8
  820. data/spec/models/storage_pool_map_spec.rb +9 -7
  821. data/spec/models/storage_pools_capacity_maximum_storage_allocation_spec.rb +48 -0
  822. data/spec/models/storage_pools_capacity_spec.rb +9 -7
  823. data/spec/models/storage_tier_spec.rb +10 -8
  824. data/spec/models/storage_type_capacity_spec.rb +10 -8
  825. data/spec/models/storage_types_capacity_spec.rb +9 -7
  826. data/spec/models/supported_software_tier_spec.rb +42 -0
  827. data/spec/models/supported_systems_spec.rb +9 -7
  828. data/spec/models/system_pool_capacity_spec.rb +34 -14
  829. data/spec/models/system_pool_shared_core_ratio_spec.rb +48 -0
  830. data/spec/models/system_pool_spec.rb +16 -14
  831. data/spec/models/system_resources_spec.rb +15 -13
  832. data/spec/models/system_spec.rb +17 -15
  833. data/spec/models/target_trusted_profile_spec.rb +48 -0
  834. data/spec/models/task_reference_spec.rb +9 -7
  835. data/spec/models/task_spec.rb +16 -14
  836. data/spec/models/tenant_spec.rb +14 -12
  837. data/spec/models/tenant_update_spec.rb +9 -7
  838. data/spec/models/trusted_profile_spec.rb +42 -0
  839. data/spec/models/update_metadata_service_spec.rb +42 -0
  840. data/spec/models/update_server_virtual_serial_number_spec.rb +14 -6
  841. data/spec/models/update_trusted_profile_spec.rb +42 -0
  842. data/spec/models/update_virtual_serial_number_spec.rb +8 -6
  843. data/spec/models/update_volume_spec.rb +11 -9
  844. data/spec/models/update_workspace_ssh_key_spec.rb +58 -0
  845. data/spec/models/virtual_cores_spec.rb +10 -8
  846. data/spec/models/virtual_serial_number_spec.rb +16 -8
  847. data/spec/models/volume_action_spec.rb +9 -7
  848. data/spec/models/volume_group_action_reset_spec.rb +8 -6
  849. data/spec/models/volume_group_action_spec.rb +10 -8
  850. data/spec/models/volume_group_action_start_spec.rb +8 -6
  851. data/spec/models/volume_group_action_stop_spec.rb +8 -6
  852. data/spec/models/volume_group_create_response_spec.rb +11 -9
  853. data/spec/models/volume_group_create_spec.rb +10 -8
  854. data/spec/models/volume_group_details_spec.rb +17 -15
  855. data/spec/models/volume_group_remote_copy_relationships_spec.rb +9 -7
  856. data/spec/models/volume_group_spec.rb +16 -14
  857. data/spec/models/volume_group_storage_details_spec.rb +16 -14
  858. data/spec/models/volume_group_update_spec.rb +9 -7
  859. data/spec/models/volume_groups_details_spec.rb +8 -6
  860. data/spec/models/volume_groups_spec.rb +8 -6
  861. data/spec/models/volume_info_spec.rb +10 -8
  862. data/spec/models/volume_onboarding_all_of_results_spec.rb +42 -0
  863. data/spec/models/volume_onboarding_all_of_results_volume_onboarding_failures_spec.rb +42 -0
  864. data/spec/models/volume_onboarding_common_spec.rb +11 -9
  865. data/spec/models/volume_onboarding_create_response_spec.rb +9 -7
  866. data/spec/models/volume_onboarding_create_spec.rb +10 -8
  867. data/spec/models/volume_onboarding_create_volumes_inner_spec.rb +42 -0
  868. data/spec/models/volume_onboarding_failure_spec.rb +9 -7
  869. data/spec/models/volume_onboarding_spec.rb +21 -19
  870. data/spec/models/volume_onboardings_spec.rb +8 -6
  871. data/spec/models/volume_reference_spec.rb +38 -36
  872. data/spec/models/volume_remote_copy_relationship_spec.rb +32 -30
  873. data/spec/models/volume_snapshot_list_spec.rb +8 -6
  874. data/spec/models/volume_spec.rb +36 -34
  875. data/spec/models/volumes_attach_spec.rb +8 -6
  876. data/spec/models/volumes_attachment_response_spec.rb +8 -6
  877. data/spec/models/volumes_clone_async_request_spec.rb +12 -10
  878. data/spec/models/volumes_clone_cancel_spec.rb +8 -6
  879. data/spec/models/volumes_clone_create_spec.rb +9 -7
  880. data/spec/models/volumes_clone_detail_spec.rb +16 -14
  881. data/spec/models/volumes_clone_execute_spec.rb +12 -10
  882. data/spec/models/volumes_clone_request_spec.rb +9 -7
  883. data/spec/models/volumes_clone_response_spec.rb +9 -7
  884. data/spec/models/volumes_clone_spec.rb +15 -13
  885. data/spec/models/volumes_clones_spec.rb +8 -6
  886. data/spec/models/volumes_delete_response_spec.rb +8 -6
  887. data/spec/models/volumes_delete_spec.rb +8 -6
  888. data/spec/models/volumes_detach_spec.rb +10 -8
  889. data/spec/models/volumes_detachment_response_spec.rb +8 -6
  890. data/spec/models/volumes_spec.rb +8 -6
  891. data/spec/models/vp_mem_volume_attach_spec.rb +42 -0
  892. data/spec/models/vp_mem_volume_create_spec.rb +42 -0
  893. data/spec/models/vp_mem_volume_reference_spec.rb +96 -0
  894. data/spec/models/vp_mem_volume_update_spec.rb +36 -0
  895. data/spec/models/vp_mem_volumes_spec.rb +36 -0
  896. data/spec/models/vpn_connection_create_response_spec.rb +24 -22
  897. data/spec/models/vpn_connection_create_spec.rb +14 -12
  898. data/spec/models/vpn_connection_spec.rb +19 -17
  899. data/spec/models/vpn_connection_update_spec.rb +11 -9
  900. data/spec/models/vpn_connections_spec.rb +8 -6
  901. data/spec/models/workspace_details_spec.rb +12 -10
  902. data/spec/models/workspace_location_spec.rb +10 -8
  903. data/spec/models/workspace_network_security_groups_details_spec.rb +8 -6
  904. data/spec/models/workspace_power_edge_router_details_spec.rb +10 -8
  905. data/spec/models/workspace_spec.rb +14 -12
  906. data/spec/models/workspace_ssh_key_spec.rb +76 -0
  907. data/spec/models/workspace_ssh_keys_spec.rb +36 -0
  908. data/spec/models/workspaces_spec.rb +8 -6
  909. data/spec/spec_helper.rb +3 -3
  910. metadata +237 -28
  911. data/docs/CloudConnectionEndpointGRE.md +0 -20
  912. data/docs/CloudConnectionVPC.md +0 -20
  913. data/docs/CloudConnectionVirtualPrivateCloudsVirtualPrivateClouds.md +0 -24
  914. data/docs/CloudInstanceCreate.md +0 -30
  915. data/docs/CloudInstanceUpdate.md +0 -26
  916. data/docs/IKEPolicyOptions.md +0 -24
  917. data/docs/IKEPolicyTemplate.md +0 -26
  918. data/docs/IPSecPolicyOptions.md +0 -22
  919. data/docs/IPSecPolicyTemplate.md +0 -24
  920. data/docs/NetworkCloudConnections.md +0 -20
  921. data/docs/Options.md +0 -18
  922. data/docs/PCloudSystemPoolsApi.md +0 -70
  923. data/docs/PVMInstanceClone.md +0 -32
  924. data/docs/VPNaaSOptions.md +0 -26
  925. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds.rb +0 -269
  926. data/lib/ibm_cloud_power/models/network_cloud_connections.rb +0 -229
  927. data/lib/ibm_cloud_power/models/network_create.rb.orig +0 -393
  928. data/spec/api_client_spec.rb +0 -226
  929. data/spec/configuration_spec.rb +0 -42
  930. data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_spec.rb +0 -52
  931. data/spec/models/network_cloud_connections_spec.rb +0 -40
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Power Cloud API
3
3
 
4
- #IBM Power Cloud API for Power Hardware / Infrastructure
4
+ ### Introduction You can use the IBM® Power® Virtual Server to easily deploy and configure virtual servers that are running AIX, IBM i, or Linux (RHEL and SLES) workloads. To learn about using Power Virtual Server, see: - [Getting started with IBM Power Virtual Servers](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started) - [IBM Power Virtual Server CLI Reference](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference-v1) ## Endpoint URLs The Power Virtual Server service uses regional endpoints over both public and private network. Automatically generated regional API endpoints (service URL) will default to IBM Cloud Regions which may cause your request to fail. You should always use the Power Virtual Server regions in the service URL. The following table shows the IBM Cloud® regions and their corresponding Power Virtual Server region where the APIs are available: <!-- | Country | Power Virtual Server region | Location | Public endpoint (service URL) | | ------------- | ------------------------------------------ | -------- | ------------------------------------------- | | United States | Washington DC | us-south | `https://us-south.power-iaas.cloud.ibm.com` | | Washington DC, USA | us-east | us-east | `https://us-east.power-iaas.cloud.ibm.com` | | S----------------l | b-----o | s-----o | `----------------------------------------` | | Toronto, Canada | ca-tor | tor | `https://tor.power-iaas.cloud.ibm.com` | | Montreal, Canada | ca-mon | mon | `https://mon.power-iaas.cloud.ibm.com` | | Frankfurt, Germany | eu-de | eu-de | `https://eu-de.power-iaas.cloud.ibm.com` | | London, UK | eu-gb | lon | `https://lon.power-iaas.cloud.ibm.com` | | Sydney, Australia | au-syd | syd | `https://syd.power-iaas.cloud.ibm.com` | | Tokyo, Japan | jp-tok | tok | `https://tok.power-iaas.cloud.ibm.com` | | Osaka, Japan | jp-osa | osa | `https://osa.power-iaas.cloud.ibm.com` | --> | Country | Power Virtual Server region | Location | Public end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ----------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://lon.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://mad.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://us-south.power-iaas.cloud.ibm.com | | Country | Power Virtual Server region | Location | Private end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ------------------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://private.au-syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://private.br-sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://private.ca-mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://private.ca-tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://private.eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://private.eu-gb.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://private.in-che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://private.in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://private.jp-tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://private.jp-osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://private.eu-es.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://private.us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://private.us-south.power-iaas.cloud.ibm.com | ## Curl service URL intro To call the API, select the service URL that corresponds to the region of your choice and add a method path to form the complete request URL. For example, to list all the workspaces available in the `us-south` region, make a `GET` request to `https://us-south.iaas.cloud.ibm.com/v1/workspaces`. Example request to call the `us-south` service URL: ```codeblock curl -H \"Authorization: Bearer {token}\" -X {http_method} \"https://us-south.iaas.cloud.ibm.com/v1{path}\" ``` Replace `{token}`, `{http_method}`, and `{path}` in this example with the values for your particular request. ## Authentication The Power Virtual Server API uses Identity and Access Management ([IAM](https://cloud.ibm.com/docs/account?topic=account-iamoverview)) to authenticate requests. To call each API method, you must be assigned a role that includes the required IAM actions. Each method has an Authorization section that lists the required actions and, if applicable, the conditions under which each action is required. Check your access on the [IBM Cloud console](https://cloud.ibm.com/login) by navigating to **[Users](https://cloud.ibm.com/iam/users) > _User_ > Access**. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services) and [Managing IAM access for Power Virtual Server](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-managing-resources-and-users). Learn about obtaining an IAM token for an authenticated user or service ID in the [IAM Identity Services API](https://cloud.ibm.com/apidocs/iam-identity-token-api). If you first [create an API key](https://cloud.ibm.com/docs/account?topic=account-userapikey#create_user_key), you can [use it to generate an IAM token](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey). To use the API, add a valid IAM token to the HTTP `Authorization` request header. For example, `-H 'Authorization: Bearer {token}'`. For specific APIs you must need to include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your **Cloud Resource Name** (CRN), in each request. The first part of your CRN contains your **Tenant ID** and the second part contains your **Cloud Instance ID**. The following example shows a typical CRN: ```text crn:v1:staging:public:power-iaas:us-east:a/abcdefghijklmnopqrstuvwxyzabcdef:121d5ee5-b87d-4a0e-86b8-aaff422135478:: Tenant ID {tenant_id} = abcdefghijklmnopqrstuvwxyzabcdef Cloud Instance ID {cloud_instance_id} = 121d5ee5-b87d-4a0e-86b8-aaff422135478 ``` You can retrieve an access token by first creating an API key, and then exchanging your API key for a IBM Cloud IAM token. For more information, see [Retrieving an access token programmatically](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-access-token) and [Retrieving your instance ID](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-instance-ID). To retrieve your access token: ```sh curl -X POST \\ \"https://iam.cloud.ibm.com/identity/token\" \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --header 'Accept: application/json' \\ --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\ --data-urlencode 'apikey={api_key}' ``` To use the API, replace `{token}` with the token obtained above from IAM, replace `{http_method}` with an HTTP method such as `POST`, and replace `{url}` with a request URL such as `https://us-south.iaas.cloud.ibm.com/v1/workspaces/{workspace_id}`: ```sh curl -H \"Authorization: Bearer {token}\" -X {http_method} \"{url}\" -H \"CRN\" ``` ## Auditing Monitor API activity within your account by using the IBM Cloud Activity Tracker service. Each time you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about Power Virtual Server activity tracking, see [Activity Tracker events](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-at-events). ## Error handling This API uses standard HTTP response codes to indicate whether a method completed successfully. A `200` response indicates success. A `400` type response indicates a failure, and a `500` type response indicates an internal system error. | HTTP Error Code | Description | Recovery | | --------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `400` | Bad Request | The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request. | | `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions. | | `403` | Forbidden | The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied. If this error persists, contact the account owner to check your permissions. | | `404` | Not Found | The requested resource could not be found but may be available in the future. | | `405` | Method Not Allowed | The requested resource does not support the request method. | | `406` | Not Acceptable | The resource the client requested is not available in a format allowed by the `Accept` header supplied by the client. | | `408` | Request Timeout | The connection to the server timed out. Wait a few minutes, and try submitting the request again. | | `409` | Conflict | The request cannot be completed because of a conflict between the request and the current state of the resource. | | `412` | Precondition Failed | The client specified one or more preconditions in its headers, and the server cannot meet those preconditions. | | `426` | Upgrade Required | The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol. | | `500` | Internal Server Error | The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `501` | Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfill the request. | | `502` | Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. | | `503` | Service Unavailable | The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `504` | Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. | | `505` | HTTP Version Not Supported | The server does not support the HTTP protocol version that is used in the request. | ## Release notes Use the release notes to learn about the latest changes to the Power Virtual Server API. <!-- ## 2025 --> ### June 2026 Added the following APIs associated with vPMEM volumes: - [Update a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/docs/apis/power-cloud#pcloud-pvminstances-vpmem-volumes-put) ### December 2025 Added the following APIs associated with vPMEM volumes: - [List all vPMEM volumes attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-getall) - [Create a vPMEM volume to be attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-post) - [Delete a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-delete) - [Get information about a vPMEM volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-get) ### September 2025 Added the following APIs associated with network peers: - [Get the list of Network Peers for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-getall) - [Create a new Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-post) - [Get the list of Network Interfaces for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-interfaces-getall) - [Delete a Network Peer from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-delete) - [Get the details of a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-get) - [Update a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-put) - [Create a new Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-post) - [Delete a Route Filter from a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-delete) - [Get the details of a Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-get) ### July 2025 Added the following APIs associated with routes: - [Get all routes in the workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-getall) - [Perform a route creation](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-post) - [Get the route report for a workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-report-get) - [Delete a route](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-delete) - [Get a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-get) - [Update a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-put) Added the following APIs associated with ssh keys: - [List SSH Keys](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-getall) - [Add a new SSH key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-post) - [Delete ssh-key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-delete) - [Get ssh-key information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-get) - [Update the ssh key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-put) Added an API to list the supported IBM i software tiers: [List supported software tiers (IBMi licensing)](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#pcloud-virtualserialnumber-softwaretiers-getall) ### February 2025 Added the following APIs associated with network address groups: - [Get the list of Network Address Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-get) - [Create a new Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-post) - [Delete a Network Address Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-delete) - [Get the detail of a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-get) - [Update a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-put) - [Add a member to a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-post) - [Delete the member from a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-delete) Added the following APIs associated with network security groups: - [Get the list of Network Security Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-list) - [Create a new Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-post) - [Perform a Network Security Groups action (enable, disable) on a workspace.](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-action-post) - [Delete a Network Security Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-delete) - [Get the detail of a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-get) - [Clone a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-post) - [Update a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-put) - [Add a member to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-post) - [Delete the member from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-delete) - [Move a Network Security Group member to another Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-move-member-post) - [Add a rule to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-post) - [Delete the rule from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-delete) ### December 2023 The following APIs are availavle: - [Get all Datacenters information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-getall) - [Get a Datacenter's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-get) - [Get all Workspaces information and capabilities for a tenant](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-getall) - [Get a Workspace's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-get) ### November 2023 - New API [List all supported storage tiers for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-storagetiers-getall) is available. ### September 2023 - Added parameters `availableCapacity`, `maxAllocationSize`, `replicationEnabled`, `storageHost` in the [Storage capacity for a storage pool in a region (GET)](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get). ### December 2022 - You can now get new error messages for undefined response codes for new service endpoint response codes. ### September 2022 - Added the following APIs associated with shared processor pool: - [Get the list of Shared Processor Pools for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-getall) - [Create a new Shared Processor Pool](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-post) - [Get the detail of a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-get) - [Update a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-put) - [Delete a Shared Processor Pool from a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-delete) - Added the following APIs associated with global recovery service: - Disaster recovery - [Get the disaster recovery site details for the current location](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-get) - [Get all disaster recovery locations supported by Power Virtual Server](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-getall) - Volume - [Perform an action on a Volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-action-post) - [Get a list of flashcopy mappings of a given volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-flashcopymappings-ge) - [Get remote copy relationship of a volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-remotecopyrelationsh) - Volume onboarding - [List all volume onboardings for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-getall) - [Onboard auxiliary volumes to target site](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-post) - [Get the information of volume onboarding operation](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-get) - Volume groups - [Get all volume groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getall) - [Create a new volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-post) - [Get all volume groups with details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getalldetails) - [Get volume Group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-get) - [updates the volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-put) - [Delete a cloud instance volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-delete) - [Perform an action (start stop reset ) on a volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-action-post) - [Get volume Group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getdetails) - [Get remote copy relationships of the volume belonging to volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-remotecopyrelationships-get) - [Get storage details of volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-storagedetails-get) ### October 2021 - Added the following APIs associated with VPN connections: - [Get VPN connections](https://cloud.ibm.com/apidocs/power-cloud#pcloud-vpnconnections-getall) - [Add IKE policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ikepolicies-post) - [Add IPsec policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ipsecpolicies-post) ### September 2021 - Added the following APIs associated with Image Capture, Image Import, and Image Export: - [Capture a PVM instance and create a deployable image](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-pvminstances-capture-post) - [Add image export job to the jobs queue](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-images-export-post) - [Create a new image from available images in COS](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v1-cloudinstances-cosimages-post) - [List up to the last 5 jobs initiated by the cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-jobs-getall) - Added the following APIs associated with storage volumes: - [Create multiple data volumes from a single definition](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumes-post) - Added the following APIs associated with private endpoint: - [Endpoint URL](https://cloud.ibm.com/apidocs/power-cloud#endpoint) ### June 2021 - Added the following APIs associated with placement groups: - [Create a server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-post) - [Get all server placement groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-getall) - [Get server placement group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-get) - [Delete server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-delete) - [Add server to placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-post) - [Remove server from placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-delete) ### May 2021 - Added the following APIs associated with Cloud connections: - [Create a new Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-post) - [Get all Cloud connections in a specific cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-getall) - [Get a Cloud connection's state or information](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-get) - [Update a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-put) - [Delete a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-delete) - [Get information about a Cloud connections attached network](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-get) - [Add a network to the Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-put) - [Delete a network from a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-delete) ### February 2021 - Added the following APIs associated with volume clone requests: - [Create a new volumes clone request and initiate the Prepare action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-post) - [Get the list of volumes-clone request for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-getall) - [Get the details for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-get) - [Delete a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-delete) - [Initiate the Start action for a volume-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-start-post) - [Initiate the Execute action for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-execute-post) - [Cancel a volume-clone request and initiate the Cleanup action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-cancel-post) - Added the following APIs for requests related to storage capacity: - [Get storage capacity for all available storage types in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-getall) - [Get storage capacity for a storage type in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-get) - [Get storage capacity for all available storage pools in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-getall) - [Get storage capacity for a storage pool in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get)
5
5
 
6
- The version of the OpenAPI document: 2.3.1
6
+ The version of the OpenAPI document: 2.5.0
7
7
  Contact: ismirlia@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ Generator version: 7.23.0
10
10
 
11
11
  =end
12
12
 
@@ -17,6 +17,7 @@ require 'tempfile'
17
17
  require 'time'
18
18
  require 'typhoeus'
19
19
 
20
+
20
21
  module IbmCloudPower
21
22
  class ApiClient
22
23
  # The Configuration object holding settings to be used in the API client.
@@ -45,9 +46,11 @@ module IbmCloudPower
45
46
  # Call an API with given options.
46
47
  #
47
48
  # @return [Array<(Object, Integer, Hash)>] an array of 3 elements:
48
- # the data deserialized from response body (could be nil), response status code and response headers.
49
+ # the data deserialized from response body (may be a Tempfile or nil), response status code and response headers.
49
50
  def call_api(http_method, path, opts = {})
50
51
  request = build_request(http_method, path, opts)
52
+ tempfile = nil
53
+ (download_file(request) { tempfile = _1 }) if opts[:return_type] == 'File'
51
54
  response = request.run
52
55
 
53
56
  if @config.debugging
@@ -69,7 +72,9 @@ module IbmCloudPower
69
72
  end
70
73
  end
71
74
 
72
- if opts[:return_type]
75
+ if opts[:return_type] == 'File'
76
+ data = tempfile
77
+ elsif opts[:return_type]
73
78
  data = deserialize(response, opts[:return_type])
74
79
  else
75
80
  data = nil
@@ -93,6 +98,7 @@ module IbmCloudPower
93
98
  header_params = @default_headers.merge(opts[:header_params] || {})
94
99
  query_params = opts[:query_params] || {}
95
100
  form_params = opts[:form_params] || {}
101
+ follow_location = opts[:follow_location] || true
96
102
 
97
103
 
98
104
  # set ssl_verifyhosts option based on @config.verify_ssl_host (true/false)
@@ -108,7 +114,8 @@ module IbmCloudPower
108
114
  :ssl_verifyhost => _verify_ssl_host,
109
115
  :sslcert => @config.cert_file,
110
116
  :sslkey => @config.key_file,
111
- :verbose => @config.debugging
117
+ :verbose => @config.debugging,
118
+ :followlocation => follow_location
112
119
  }
113
120
 
114
121
  # set custom cert, if provided
@@ -122,9 +129,7 @@ module IbmCloudPower
122
129
  end
123
130
  end
124
131
 
125
- request = Typhoeus::Request.new(url, req_opts)
126
- download_file(request) if opts[:return_type] == 'File'
127
- request
132
+ Typhoeus::Request.new(url, req_opts)
128
133
  end
129
134
 
130
135
  # Builds the HTTP request body
@@ -162,6 +167,8 @@ module IbmCloudPower
162
167
  # process can use.
163
168
  #
164
169
  # @see Configuration#temp_folder_path
170
+ #
171
+ # @return [Tempfile] the tempfile generated
165
172
  def download_file(request)
166
173
  tempfile = nil
167
174
  encoding = nil
@@ -176,20 +183,21 @@ module IbmCloudPower
176
183
  prefix = prefix + '-' unless prefix.end_with?('-')
177
184
  encoding = response.body.encoding
178
185
  tempfile = Tempfile.open(prefix, @config.temp_folder_path, encoding: encoding)
179
- @tempfile = tempfile
180
186
  end
181
187
  request.on_body do |chunk|
182
188
  chunk.force_encoding(encoding)
183
189
  tempfile.write(chunk)
184
190
  end
185
- request.on_complete do |response|
186
- if tempfile
187
- tempfile.close
188
- @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
189
- "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
190
- "will be deleted automatically with GC. It's also recommended to delete the temp file "\
191
- "explicitly with `tempfile.delete`"
191
+ request.on_complete do
192
+ if !tempfile
193
+ fail ApiError.new("Failed to create the tempfile based on the HTTP response from the server: #{request.inspect}")
192
194
  end
195
+ tempfile.close
196
+ @config.logger.info "Temp file written to #{tempfile.path}, please copy the file to a proper folder "\
197
+ "with e.g. `FileUtils.cp(tempfile.path, '/new/file/path')` otherwise the temp file "\
198
+ "will be deleted automatically with GC. It's also recommended to delete the temp file "\
199
+ "explicitly with `tempfile.delete`"
200
+ yield tempfile if block_given?
193
201
  end
194
202
  end
195
203
 
@@ -202,7 +210,7 @@ module IbmCloudPower
202
210
  # @param [String] mime MIME
203
211
  # @return [Boolean] True if the MIME is application/json
204
212
  def json_mime?(mime)
205
- (mime == '*/*') || !(mime =~ /Application\/.*json(?!p)(;.*)?/i).nil?
213
+ (mime == '*/*') || !(mime =~ /^Application\/.*json(?!p)(;.*)?/i).nil?
206
214
  end
207
215
 
208
216
  # Deserialize the response to the given return type.
@@ -211,15 +219,10 @@ module IbmCloudPower
211
219
  # @param [String] return_type some examples: "User", "Array<User>", "Hash<String, Integer>"
212
220
  def deserialize(response, return_type)
213
221
  body = response.body
214
-
215
- # handle file downloading - return the File instance processed in request callbacks
216
- # note that response body is empty when the file is written in chunks in request on_body callback
217
- return @tempfile if return_type == 'File'
218
-
219
222
  return nil if body.nil? || body.empty?
220
223
 
221
224
  # return response body directly for String return type
222
- return body if return_type == 'String'
225
+ return body.to_s if return_type == 'String'
223
226
 
224
227
  # ensuring a default content type
225
228
  content_type = response.headers['Content-Type'] || 'application/json'
@@ -274,9 +277,13 @@ module IbmCloudPower
274
277
  data.each { |k, v| hash[k] = convert_to_type(v, sub_type) }
275
278
  end
276
279
  else
277
- # models (e.g. Pet) or oneOf
280
+ # models (e.g. Pet) or oneOf/anyOf
278
281
  klass = IbmCloudPower.const_get(return_type)
279
- klass.respond_to?(:openapi_one_of) ? klass.build(data) : klass.build_from_hash(data)
282
+ if klass.respond_to?(:openapi_one_of) || klass.respond_to?(:openapi_any_of)
283
+ klass.build(data)
284
+ else
285
+ klass.build_from_hash(data)
286
+ end
280
287
  end
281
288
  end
282
289
 
@@ -286,7 +293,7 @@ module IbmCloudPower
286
293
  # @param [String] filename the filename to be sanitized
287
294
  # @return [String] the sanitized filename
288
295
  def sanitize_filename(filename)
289
- filename.gsub(/.*[\/\\]/, '')
296
+ filename.split(/[\/\\]/).last
290
297
  end
291
298
 
292
299
  def build_request_url(path, opts = {})
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Power Cloud API
3
3
 
4
- #IBM Power Cloud API for Power Hardware / Infrastructure
4
+ ### Introduction You can use the IBM® Power® Virtual Server to easily deploy and configure virtual servers that are running AIX, IBM i, or Linux (RHEL and SLES) workloads. To learn about using Power Virtual Server, see: - [Getting started with IBM Power Virtual Servers](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started) - [IBM Power Virtual Server CLI Reference](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference-v1) ## Endpoint URLs The Power Virtual Server service uses regional endpoints over both public and private network. Automatically generated regional API endpoints (service URL) will default to IBM Cloud Regions which may cause your request to fail. You should always use the Power Virtual Server regions in the service URL. The following table shows the IBM Cloud® regions and their corresponding Power Virtual Server region where the APIs are available: <!-- | Country | Power Virtual Server region | Location | Public endpoint (service URL) | | ------------- | ------------------------------------------ | -------- | ------------------------------------------- | | United States | Washington DC | us-south | `https://us-south.power-iaas.cloud.ibm.com` | | Washington DC, USA | us-east | us-east | `https://us-east.power-iaas.cloud.ibm.com` | | S----------------l | b-----o | s-----o | `----------------------------------------` | | Toronto, Canada | ca-tor | tor | `https://tor.power-iaas.cloud.ibm.com` | | Montreal, Canada | ca-mon | mon | `https://mon.power-iaas.cloud.ibm.com` | | Frankfurt, Germany | eu-de | eu-de | `https://eu-de.power-iaas.cloud.ibm.com` | | London, UK | eu-gb | lon | `https://lon.power-iaas.cloud.ibm.com` | | Sydney, Australia | au-syd | syd | `https://syd.power-iaas.cloud.ibm.com` | | Tokyo, Japan | jp-tok | tok | `https://tok.power-iaas.cloud.ibm.com` | | Osaka, Japan | jp-osa | osa | `https://osa.power-iaas.cloud.ibm.com` | --> | Country | Power Virtual Server region | Location | Public end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ----------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://lon.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://mad.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://us-south.power-iaas.cloud.ibm.com | | Country | Power Virtual Server region | Location | Private end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ------------------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://private.au-syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://private.br-sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://private.ca-mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://private.ca-tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://private.eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://private.eu-gb.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://private.in-che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://private.in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://private.jp-tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://private.jp-osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://private.eu-es.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://private.us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://private.us-south.power-iaas.cloud.ibm.com | ## Curl service URL intro To call the API, select the service URL that corresponds to the region of your choice and add a method path to form the complete request URL. For example, to list all the workspaces available in the `us-south` region, make a `GET` request to `https://us-south.iaas.cloud.ibm.com/v1/workspaces`. Example request to call the `us-south` service URL: ```codeblock curl -H \"Authorization: Bearer {token}\" -X {http_method} \"https://us-south.iaas.cloud.ibm.com/v1{path}\" ``` Replace `{token}`, `{http_method}`, and `{path}` in this example with the values for your particular request. ## Authentication The Power Virtual Server API uses Identity and Access Management ([IAM](https://cloud.ibm.com/docs/account?topic=account-iamoverview)) to authenticate requests. To call each API method, you must be assigned a role that includes the required IAM actions. Each method has an Authorization section that lists the required actions and, if applicable, the conditions under which each action is required. Check your access on the [IBM Cloud console](https://cloud.ibm.com/login) by navigating to **[Users](https://cloud.ibm.com/iam/users) > _User_ > Access**. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services) and [Managing IAM access for Power Virtual Server](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-managing-resources-and-users). Learn about obtaining an IAM token for an authenticated user or service ID in the [IAM Identity Services API](https://cloud.ibm.com/apidocs/iam-identity-token-api). If you first [create an API key](https://cloud.ibm.com/docs/account?topic=account-userapikey#create_user_key), you can [use it to generate an IAM token](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey). To use the API, add a valid IAM token to the HTTP `Authorization` request header. For example, `-H 'Authorization: Bearer {token}'`. For specific APIs you must need to include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your **Cloud Resource Name** (CRN), in each request. The first part of your CRN contains your **Tenant ID** and the second part contains your **Cloud Instance ID**. The following example shows a typical CRN: ```text crn:v1:staging:public:power-iaas:us-east:a/abcdefghijklmnopqrstuvwxyzabcdef:121d5ee5-b87d-4a0e-86b8-aaff422135478:: Tenant ID {tenant_id} = abcdefghijklmnopqrstuvwxyzabcdef Cloud Instance ID {cloud_instance_id} = 121d5ee5-b87d-4a0e-86b8-aaff422135478 ``` You can retrieve an access token by first creating an API key, and then exchanging your API key for a IBM Cloud IAM token. For more information, see [Retrieving an access token programmatically](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-access-token) and [Retrieving your instance ID](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-instance-ID). To retrieve your access token: ```sh curl -X POST \\ \"https://iam.cloud.ibm.com/identity/token\" \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --header 'Accept: application/json' \\ --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\ --data-urlencode 'apikey={api_key}' ``` To use the API, replace `{token}` with the token obtained above from IAM, replace `{http_method}` with an HTTP method such as `POST`, and replace `{url}` with a request URL such as `https://us-south.iaas.cloud.ibm.com/v1/workspaces/{workspace_id}`: ```sh curl -H \"Authorization: Bearer {token}\" -X {http_method} \"{url}\" -H \"CRN\" ``` ## Auditing Monitor API activity within your account by using the IBM Cloud Activity Tracker service. Each time you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about Power Virtual Server activity tracking, see [Activity Tracker events](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-at-events). ## Error handling This API uses standard HTTP response codes to indicate whether a method completed successfully. A `200` response indicates success. A `400` type response indicates a failure, and a `500` type response indicates an internal system error. | HTTP Error Code | Description | Recovery | | --------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `400` | Bad Request | The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request. | | `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions. | | `403` | Forbidden | The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied. If this error persists, contact the account owner to check your permissions. | | `404` | Not Found | The requested resource could not be found but may be available in the future. | | `405` | Method Not Allowed | The requested resource does not support the request method. | | `406` | Not Acceptable | The resource the client requested is not available in a format allowed by the `Accept` header supplied by the client. | | `408` | Request Timeout | The connection to the server timed out. Wait a few minutes, and try submitting the request again. | | `409` | Conflict | The request cannot be completed because of a conflict between the request and the current state of the resource. | | `412` | Precondition Failed | The client specified one or more preconditions in its headers, and the server cannot meet those preconditions. | | `426` | Upgrade Required | The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol. | | `500` | Internal Server Error | The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `501` | Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfill the request. | | `502` | Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. | | `503` | Service Unavailable | The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `504` | Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. | | `505` | HTTP Version Not Supported | The server does not support the HTTP protocol version that is used in the request. | ## Release notes Use the release notes to learn about the latest changes to the Power Virtual Server API. <!-- ## 2025 --> ### June 2026 Added the following APIs associated with vPMEM volumes: - [Update a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/docs/apis/power-cloud#pcloud-pvminstances-vpmem-volumes-put) ### December 2025 Added the following APIs associated with vPMEM volumes: - [List all vPMEM volumes attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-getall) - [Create a vPMEM volume to be attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-post) - [Delete a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-delete) - [Get information about a vPMEM volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-get) ### September 2025 Added the following APIs associated with network peers: - [Get the list of Network Peers for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-getall) - [Create a new Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-post) - [Get the list of Network Interfaces for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-interfaces-getall) - [Delete a Network Peer from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-delete) - [Get the details of a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-get) - [Update a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-put) - [Create a new Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-post) - [Delete a Route Filter from a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-delete) - [Get the details of a Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-get) ### July 2025 Added the following APIs associated with routes: - [Get all routes in the workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-getall) - [Perform a route creation](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-post) - [Get the route report for a workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-report-get) - [Delete a route](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-delete) - [Get a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-get) - [Update a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-put) Added the following APIs associated with ssh keys: - [List SSH Keys](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-getall) - [Add a new SSH key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-post) - [Delete ssh-key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-delete) - [Get ssh-key information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-get) - [Update the ssh key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-put) Added an API to list the supported IBM i software tiers: [List supported software tiers (IBMi licensing)](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#pcloud-virtualserialnumber-softwaretiers-getall) ### February 2025 Added the following APIs associated with network address groups: - [Get the list of Network Address Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-get) - [Create a new Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-post) - [Delete a Network Address Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-delete) - [Get the detail of a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-get) - [Update a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-put) - [Add a member to a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-post) - [Delete the member from a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-delete) Added the following APIs associated with network security groups: - [Get the list of Network Security Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-list) - [Create a new Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-post) - [Perform a Network Security Groups action (enable, disable) on a workspace.](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-action-post) - [Delete a Network Security Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-delete) - [Get the detail of a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-get) - [Clone a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-post) - [Update a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-put) - [Add a member to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-post) - [Delete the member from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-delete) - [Move a Network Security Group member to another Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-move-member-post) - [Add a rule to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-post) - [Delete the rule from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-delete) ### December 2023 The following APIs are availavle: - [Get all Datacenters information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-getall) - [Get a Datacenter's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-get) - [Get all Workspaces information and capabilities for a tenant](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-getall) - [Get a Workspace's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-get) ### November 2023 - New API [List all supported storage tiers for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-storagetiers-getall) is available. ### September 2023 - Added parameters `availableCapacity`, `maxAllocationSize`, `replicationEnabled`, `storageHost` in the [Storage capacity for a storage pool in a region (GET)](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get). ### December 2022 - You can now get new error messages for undefined response codes for new service endpoint response codes. ### September 2022 - Added the following APIs associated with shared processor pool: - [Get the list of Shared Processor Pools for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-getall) - [Create a new Shared Processor Pool](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-post) - [Get the detail of a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-get) - [Update a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-put) - [Delete a Shared Processor Pool from a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-delete) - Added the following APIs associated with global recovery service: - Disaster recovery - [Get the disaster recovery site details for the current location](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-get) - [Get all disaster recovery locations supported by Power Virtual Server](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-getall) - Volume - [Perform an action on a Volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-action-post) - [Get a list of flashcopy mappings of a given volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-flashcopymappings-ge) - [Get remote copy relationship of a volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-remotecopyrelationsh) - Volume onboarding - [List all volume onboardings for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-getall) - [Onboard auxiliary volumes to target site](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-post) - [Get the information of volume onboarding operation](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-get) - Volume groups - [Get all volume groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getall) - [Create a new volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-post) - [Get all volume groups with details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getalldetails) - [Get volume Group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-get) - [updates the volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-put) - [Delete a cloud instance volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-delete) - [Perform an action (start stop reset ) on a volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-action-post) - [Get volume Group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getdetails) - [Get remote copy relationships of the volume belonging to volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-remotecopyrelationships-get) - [Get storage details of volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-storagedetails-get) ### October 2021 - Added the following APIs associated with VPN connections: - [Get VPN connections](https://cloud.ibm.com/apidocs/power-cloud#pcloud-vpnconnections-getall) - [Add IKE policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ikepolicies-post) - [Add IPsec policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ipsecpolicies-post) ### September 2021 - Added the following APIs associated with Image Capture, Image Import, and Image Export: - [Capture a PVM instance and create a deployable image](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-pvminstances-capture-post) - [Add image export job to the jobs queue](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-images-export-post) - [Create a new image from available images in COS](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v1-cloudinstances-cosimages-post) - [List up to the last 5 jobs initiated by the cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-jobs-getall) - Added the following APIs associated with storage volumes: - [Create multiple data volumes from a single definition](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumes-post) - Added the following APIs associated with private endpoint: - [Endpoint URL](https://cloud.ibm.com/apidocs/power-cloud#endpoint) ### June 2021 - Added the following APIs associated with placement groups: - [Create a server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-post) - [Get all server placement groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-getall) - [Get server placement group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-get) - [Delete server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-delete) - [Add server to placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-post) - [Remove server from placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-delete) ### May 2021 - Added the following APIs associated with Cloud connections: - [Create a new Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-post) - [Get all Cloud connections in a specific cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-getall) - [Get a Cloud connection's state or information](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-get) - [Update a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-put) - [Delete a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-delete) - [Get information about a Cloud connections attached network](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-get) - [Add a network to the Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-put) - [Delete a network from a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-delete) ### February 2021 - Added the following APIs associated with volume clone requests: - [Create a new volumes clone request and initiate the Prepare action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-post) - [Get the list of volumes-clone request for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-getall) - [Get the details for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-get) - [Delete a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-delete) - [Initiate the Start action for a volume-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-start-post) - [Initiate the Execute action for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-execute-post) - [Cancel a volume-clone request and initiate the Cleanup action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-cancel-post) - Added the following APIs for requests related to storage capacity: - [Get storage capacity for all available storage types in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-getall) - [Get storage capacity for a storage type in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-get) - [Get storage capacity for all available storage pools in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-getall) - [Get storage capacity for a storage pool in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get)
5
5
 
6
- The version of the OpenAPI document: 2.3.1
6
+ The version of the OpenAPI document: 2.5.0
7
7
  Contact: ismirlia@us.ibm.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.4.0
9
+ Generator version: 7.23.0
10
10
 
11
11
  =end
12
12
 
@@ -32,6 +32,7 @@ module IbmCloudPower
32
32
  end
33
33
  else
34
34
  super arg
35
+ @message = arg
35
36
  end
36
37
  end
37
38
 
@@ -0,0 +1,88 @@
1
+ =begin
2
+ #Power Cloud API
3
+
4
+ ### Introduction You can use the IBM® Power® Virtual Server to easily deploy and configure virtual servers that are running AIX, IBM i, or Linux (RHEL and SLES) workloads. To learn about using Power Virtual Server, see: - [Getting started with IBM Power Virtual Servers](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started) - [IBM Power Virtual Server CLI Reference](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference-v1) ## Endpoint URLs The Power Virtual Server service uses regional endpoints over both public and private network. Automatically generated regional API endpoints (service URL) will default to IBM Cloud Regions which may cause your request to fail. You should always use the Power Virtual Server regions in the service URL. The following table shows the IBM Cloud® regions and their corresponding Power Virtual Server region where the APIs are available: <!-- | Country | Power Virtual Server region | Location | Public endpoint (service URL) | | ------------- | ------------------------------------------ | -------- | ------------------------------------------- | | United States | Washington DC | us-south | `https://us-south.power-iaas.cloud.ibm.com` | | Washington DC, USA | us-east | us-east | `https://us-east.power-iaas.cloud.ibm.com` | | S----------------l | b-----o | s-----o | `----------------------------------------` | | Toronto, Canada | ca-tor | tor | `https://tor.power-iaas.cloud.ibm.com` | | Montreal, Canada | ca-mon | mon | `https://mon.power-iaas.cloud.ibm.com` | | Frankfurt, Germany | eu-de | eu-de | `https://eu-de.power-iaas.cloud.ibm.com` | | London, UK | eu-gb | lon | `https://lon.power-iaas.cloud.ibm.com` | | Sydney, Australia | au-syd | syd | `https://syd.power-iaas.cloud.ibm.com` | | Tokyo, Japan | jp-tok | tok | `https://tok.power-iaas.cloud.ibm.com` | | Osaka, Japan | jp-osa | osa | `https://osa.power-iaas.cloud.ibm.com` | --> | Country | Power Virtual Server region | Location | Public end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ----------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://lon.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://mad.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://us-south.power-iaas.cloud.ibm.com | | Country | Power Virtual Server region | Location | Private end-point (service URL) | | ---------------- | ------------------------------------------ | -------------------------- | ------------------------------------------------- | | Australia | Sydney | syd04 \\n syd05 | https://private.au-syd.power-iaas.cloud.ibm.com | | Brazil | Sao Paulo | sao01 \\n sao04 | https://private.br-sao.power-iaas.cloud.ibm.com | | Canada | Montreal | mon01 | https://private.ca-mon.power-iaas.cloud.ibm.com | | | Toronto | tor01 | https://private.ca-tor.power-iaas.cloud.ibm.com | | Germany | Frankfurt | eu-de-1 \\n eu-de-2 | https://private.eu-de.power-iaas.cloud.ibm.com | | UK/Great Britain | London | lon04 \\n lon06 | https://private.eu-gb.power-iaas.cloud.ibm.com | | India | Chennai | che01 \\n che02 \\n che03 | https://private.in-che.power-iaas.cloud.ibm.com | | | Mumbai | in-mum-1 \\n in-mum-2 | https://private.in-mum.power-iaas.cloud.ibm.com | | Japan | Tokyo | tok04 | https://private.jp-tok.power-iaas.cloud.ibm.com | | | Osaka | osa21 | https://private.jp-osa.power-iaas.cloud.ibm.com | | Spain | Madrid | mad02 \\n mad04 | https://private.eu-es.power-iaas.cloud.ibm.com | | United States | Washington DC | us-east \\n wdc06 \\n wdc07 | https://private.us-east.power-iaas.cloud.ibm.com | | | Dallas | dal10 \\n dal12 \\n us-south | https://private.us-south.power-iaas.cloud.ibm.com | ## Curl service URL intro To call the API, select the service URL that corresponds to the region of your choice and add a method path to form the complete request URL. For example, to list all the workspaces available in the `us-south` region, make a `GET` request to `https://us-south.iaas.cloud.ibm.com/v1/workspaces`. Example request to call the `us-south` service URL: ```codeblock curl -H \"Authorization: Bearer {token}\" -X {http_method} \"https://us-south.iaas.cloud.ibm.com/v1{path}\" ``` Replace `{token}`, `{http_method}`, and `{path}` in this example with the values for your particular request. ## Authentication The Power Virtual Server API uses Identity and Access Management ([IAM](https://cloud.ibm.com/docs/account?topic=account-iamoverview)) to authenticate requests. To call each API method, you must be assigned a role that includes the required IAM actions. Each method has an Authorization section that lists the required actions and, if applicable, the conditions under which each action is required. Check your access on the [IBM Cloud console](https://cloud.ibm.com/login) by navigating to **[Users](https://cloud.ibm.com/iam/users) > _User_ > Access**. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services) and [Managing IAM access for Power Virtual Server](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-managing-resources-and-users). Learn about obtaining an IAM token for an authenticated user or service ID in the [IAM Identity Services API](https://cloud.ibm.com/apidocs/iam-identity-token-api). If you first [create an API key](https://cloud.ibm.com/docs/account?topic=account-userapikey#create_user_key), you can [use it to generate an IAM token](https://cloud.ibm.com/docs/account?topic=account-iamtoken_from_apikey). To use the API, add a valid IAM token to the HTTP `Authorization` request header. For example, `-H 'Authorization: Bearer {token}'`. For specific APIs you must need to include your IBM Cloud IAM access token and the Power Virtual Server instance ID, also known as your **Cloud Resource Name** (CRN), in each request. The first part of your CRN contains your **Tenant ID** and the second part contains your **Cloud Instance ID**. The following example shows a typical CRN: ```text crn:v1:staging:public:power-iaas:us-east:a/abcdefghijklmnopqrstuvwxyzabcdef:121d5ee5-b87d-4a0e-86b8-aaff422135478:: Tenant ID {tenant_id} = abcdefghijklmnopqrstuvwxyzabcdef Cloud Instance ID {cloud_instance_id} = 121d5ee5-b87d-4a0e-86b8-aaff422135478 ``` You can retrieve an access token by first creating an API key, and then exchanging your API key for a IBM Cloud IAM token. For more information, see [Retrieving an access token programmatically](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-access-token) and [Retrieving your instance ID](https://cloud.ibm.com/docs/services/key-protect?topic=key-protect-retrieve-instance-ID). To retrieve your access token: ```sh curl -X POST \\ \"https://iam.cloud.ibm.com/identity/token\" \\ --header 'Content-Type: application/x-www-form-urlencoded' \\ --header 'Accept: application/json' \\ --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey' \\ --data-urlencode 'apikey={api_key}' ``` To use the API, replace `{token}` with the token obtained above from IAM, replace `{http_method}` with an HTTP method such as `POST`, and replace `{url}` with a request URL such as `https://us-south.iaas.cloud.ibm.com/v1/workspaces/{workspace_id}`: ```sh curl -H \"Authorization: Bearer {token}\" -X {http_method} \"{url}\" -H \"CRN\" ``` ## Auditing Monitor API activity within your account by using the IBM Cloud Activity Tracker service. Each time you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about Power Virtual Server activity tracking, see [Activity Tracker events](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-at-events). ## Error handling This API uses standard HTTP response codes to indicate whether a method completed successfully. A `200` response indicates success. A `400` type response indicates a failure, and a `500` type response indicates an internal system error. | HTTP Error Code | Description | Recovery | | --------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `400` | Bad Request | The input parameters in the request body are either incomplete, malformed, or too large. Be sure to include all required parameters in your request. | | `401` | Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try submitting the request again. If this error persists, contact the account owner to check your permissions. | | `403` | Forbidden | The supplied authentication is not authorized to perform the requested operation. Either you do not have valid access through IAM access policies or your request is denied. If this error persists, contact the account owner to check your permissions. | | `404` | Not Found | The requested resource could not be found but may be available in the future. | | `405` | Method Not Allowed | The requested resource does not support the request method. | | `406` | Not Acceptable | The resource the client requested is not available in a format allowed by the `Accept` header supplied by the client. | | `408` | Request Timeout | The connection to the server timed out. Wait a few minutes, and try submitting the request again. | | `409` | Conflict | The request cannot be completed because of a conflict between the request and the current state of the resource. | | `412` | Precondition Failed | The client specified one or more preconditions in its headers, and the server cannot meet those preconditions. | | `426` | Upgrade Required | The server refuses to perform the request using the current protocol but might perform the request after the client upgrades to a different protocol. | | `500` | Internal Server Error | The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `501` | Not Implemented | The server either does not recognize the request method, or it lacks the ability to fulfill the request. | | `502` | Bad Gateway | The server was acting as a gateway or proxy and received an invalid response from the upstream server. | | `503` | Service Unavailable | The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support. | | `504` | Gateway Timeout | The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. | | `505` | HTTP Version Not Supported | The server does not support the HTTP protocol version that is used in the request. | ## Release notes Use the release notes to learn about the latest changes to the Power Virtual Server API. <!-- ## 2025 --> ### June 2026 Added the following APIs associated with vPMEM volumes: - [Update a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/docs/apis/power-cloud#pcloud-pvminstances-vpmem-volumes-put) ### December 2025 Added the following APIs associated with vPMEM volumes: - [List all vPMEM volumes attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-getall) - [Create a vPMEM volume to be attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-post) - [Delete a vPMEM volume attached to this PVM Instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-delete) - [Get information about a vPMEM volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-pvminstances-vpmem-volumes-get) ### September 2025 Added the following APIs associated with network peers: - [Get the list of Network Peers for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-getall) - [Create a new Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-post) - [Get the list of Network Interfaces for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-interfaces-getall) - [Delete a Network Peer from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-delete) - [Get the details of a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-get) - [Update a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-id-put) - [Create a new Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-post) - [Delete a Route Filter from a Network Peer](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-delete) - [Get the details of a Route Filter](https://cloud.ibm.com/apidocs/power-cloud#v1-networkpeers-routefilter-id-get) ### July 2025 Added the following APIs associated with routes: - [Get all routes in the workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-getall) - [Perform a route creation](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-post) - [Get the route report for a workspace](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-report-get) - [Delete a route](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-delete) - [Get a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-get) - [Update a route's information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-routes-put) Added the following APIs associated with ssh keys: - [List SSH Keys](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-getall) - [Add a new SSH key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-post) - [Delete ssh-key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-delete) - [Get ssh-key information](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-get) - [Update the ssh key](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#v1-sshkeys-put) Added an API to list the supported IBM i software tiers: [List supported software tiers (IBMi licensing)](https://cloud.ibm.com/apidocs/power-cloud?loginMethod=federated#pcloud-virtualserialnumber-softwaretiers-getall) ### February 2025 Added the following APIs associated with network address groups: - [Get the list of Network Address Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-get) - [Create a new Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-post) - [Delete a Network Address Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-delete) - [Get the detail of a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-get) - [Update a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-id-put) - [Add a member to a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-post) - [Delete the member from a Network Address Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networkaddressgroups-members-delete) Added the following APIs associated with network security groups: - [Get the list of Network Security Groups for a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-list) - [Create a new Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-post) - [Perform a Network Security Groups action (enable, disable) on a workspace.](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-action-post) - [Delete a Network Security Group from a workspace](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-delete) - [Get the detail of a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-get) - [Clone a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-post) - [Update a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-id-put) - [Add a member to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-post) - [Delete the member from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-members-delete) - [Move a Network Security Group member to another Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-move-member-post) - [Add a rule to a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-post) - [Delete the rule from a Network Security Group](https://cloud.ibm.com/apidocs/power-cloud#v1-networksecuritygroups-rules-delete) ### December 2023 The following APIs are availavle: - [Get all Datacenters information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-getall) - [Get a Datacenter's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-datacenters-get) - [Get all Workspaces information and capabilities for a tenant](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-getall) - [Get a Workspace's information and capabilities](https://cloud.ibm.com/apidocs/power-cloud#v1-workspaces-get) ### November 2023 - New API [List all supported storage tiers for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-storagetiers-getall) is available. ### September 2023 - Added parameters `availableCapacity`, `maxAllocationSize`, `replicationEnabled`, `storageHost` in the [Storage capacity for a storage pool in a region (GET)](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get). ### December 2022 - You can now get new error messages for undefined response codes for new service endpoint response codes. ### September 2022 - Added the following APIs associated with shared processor pool: - [Get the list of Shared Processor Pools for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-getall) - [Create a new Shared Processor Pool](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-post) - [Get the detail of a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-get) - [Update a Shared Processor Pool for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-put) - [Delete a Shared Processor Pool from a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-sharedprocessorpools-delete) - Added the following APIs associated with global recovery service: - Disaster recovery - [Get the disaster recovery site details for the current location](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-get) - [Get all disaster recovery locations supported by Power Virtual Server](https://cloud.ibm.com/apidocs/power-cloud#pcloud-locations-disasterrecovery-getall) - Volume - [Perform an action on a Volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-action-post) - [Get a list of flashcopy mappings of a given volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-flashcopymappings-ge) - [Get remote copy relationship of a volume](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-volumes-remotecopyrelationsh) - Volume onboarding - [List all volume onboardings for this cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-getall) - [Onboard auxiliary volumes to target site](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-post) - [Get the information of volume onboarding operation](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volume-onboarding-get) - Volume groups - [Get all volume groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getall) - [Create a new volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-post) - [Get all volume groups with details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getalldetails) - [Get volume Group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-get) - [updates the volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-put) - [Delete a cloud instance volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-delete) - [Perform an action (start stop reset ) on a volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-action-post) - [Get volume Group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-getdetails) - [Get remote copy relationships of the volume belonging to volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-remotecopyrelationships-get) - [Get storage details of volume group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-volumegroups-storagedetails-get) ### October 2021 - Added the following APIs associated with VPN connections: - [Get VPN connections](https://cloud.ibm.com/apidocs/power-cloud#pcloud-vpnconnections-getall) - [Add IKE policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ikepolicies-post) - [Add IPsec policy](https://cloud.ibm.com/apidocs/power-cloud#pcloud-ipsecpolicies-post) ### September 2021 - Added the following APIs associated with Image Capture, Image Import, and Image Export: - [Capture a PVM instance and create a deployable image](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-pvminstances-capture-post) - [Add image export job to the jobs queue](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-images-export-post) - [Create a new image from available images in COS](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v1-cloudinstances-cosimages-post) - [List up to the last 5 jobs initiated by the cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudinstances-jobs-getall) - Added the following APIs associated with storage volumes: - [Create multiple data volumes from a single definition](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumes-post) - Added the following APIs associated with private endpoint: - [Endpoint URL](https://cloud.ibm.com/apidocs/power-cloud#endpoint) ### June 2021 - Added the following APIs associated with placement groups: - [Create a server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-post) - [Get all server placement groups](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-getall) - [Get server placement group details](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-get) - [Delete server placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-delete) - [Add server to placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-post) - [Remove server from placement group](https://cloud.ibm.com/apidocs/power-cloud#pcloud-placementgroups-members-delete) ### May 2021 - Added the following APIs associated with Cloud connections: - [Create a new Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-post) - [Get all Cloud connections in a specific cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-getall) - [Get a Cloud connection's state or information](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-get) - [Update a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-put) - [Delete a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-delete) - [Get information about a Cloud connections attached network](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-get) - [Add a network to the Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-put) - [Delete a network from a Cloud connection](https://cloud.ibm.com/apidocs/power-cloud#pcloud-cloudconnections-networks-delete) ### February 2021 - Added the following APIs associated with volume clone requests: - [Create a new volumes clone request and initiate the Prepare action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-post) - [Get the list of volumes-clone request for a cloud instance](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-getall) - [Get the details for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-get) - [Delete a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-delete) - [Initiate the Start action for a volume-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-start-post) - [Initiate the Execute action for a volumes-clone request](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-execute-post) - [Cancel a volume-clone request and initiate the Cleanup action](https://cloud.ibm.com/apidocs/power-cloud#pcloud-v2-volumesclone-cancel-post) - Added the following APIs for requests related to storage capacity: - [Get storage capacity for all available storage types in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-getall) - [Get storage capacity for a storage type in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-types-get) - [Get storage capacity for all available storage pools in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-getall) - [Get storage capacity for a storage pool in a region](https://cloud.ibm.com/apidocs/power-cloud#pcloud-storagecapacity-pools-get)
5
+
6
+ The version of the OpenAPI document: 2.5.0
7
+ Contact: ismirlia@us.ibm.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ module IbmCloudPower
14
+ class ApiModelBase
15
+ # Deserializes the data based on type
16
+ # @param string type Data type
17
+ # @param string value Value to be deserialized
18
+ # @return [Object] Deserialized data
19
+ def self._deserialize(type, value)
20
+ case type.to_sym
21
+ when :Time
22
+ Time.parse(value)
23
+ when :Date
24
+ Date.parse(value)
25
+ when :String
26
+ value.to_s
27
+ when :Integer
28
+ value.to_i
29
+ when :Float
30
+ value.to_f
31
+ when :Boolean
32
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
33
+ true
34
+ else
35
+ false
36
+ end
37
+ when :Object
38
+ # generic object (usually a Hash), return directly
39
+ value
40
+ when /\AArray<(?<inner_type>.+)>\z/
41
+ inner_type = Regexp.last_match[:inner_type]
42
+ value.map { |v| _deserialize(inner_type, v) }
43
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
44
+ k_type = Regexp.last_match[:k_type]
45
+ v_type = Regexp.last_match[:v_type]
46
+ {}.tap do |hash|
47
+ value.each do |k, v|
48
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
49
+ end
50
+ end
51
+ else # model
52
+ # models (e.g. Pet) or oneOf
53
+ klass = IbmCloudPower.const_get(type)
54
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
55
+ end
56
+ end
57
+
58
+ # Returns the string representation of the object
59
+ # @return [String] String presentation of the object
60
+ def to_s
61
+ to_hash.to_s
62
+ end
63
+
64
+ # to_body is an alias to to_hash (backward compatibility)
65
+ # @return [Hash] Returns the object in the form of hash
66
+ def to_body
67
+ to_hash
68
+ end
69
+
70
+ # Outputs non-array value in the form of hash
71
+ # For object, use to_hash. Otherwise, just return the value
72
+ # @param [Object] value Any valid value
73
+ # @return [Hash] Returns the value in the form of hash
74
+ def _to_hash(value)
75
+ if value.is_a?(Array)
76
+ value.compact.map { |v| _to_hash(v) }
77
+ elsif value.is_a?(Hash)
78
+ {}.tap do |hash|
79
+ value.each { |k, v| hash[k] = _to_hash(v) }
80
+ end
81
+ elsif value.respond_to? :to_hash
82
+ value.to_hash
83
+ else
84
+ value
85
+ end
86
+ end
87
+ end
88
+ end