ibm_cloud_power 1.1.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +68 -3
  3. data/docs/CloneTaskReference.md +10 -9
  4. data/docs/CloneTaskStatus.md +14 -13
  5. data/docs/ClonedVolume.md +10 -9
  6. data/docs/ClonedVolumeDetail.md +10 -9
  7. data/docs/CloudConnection.md +32 -31
  8. data/docs/CloudConnectionCreate.md +14 -13
  9. data/docs/CloudConnectionCreateResponse.md +44 -0
  10. data/docs/CloudConnectionEndpointClassic.md +10 -9
  11. data/docs/CloudConnectionEndpointGRE.md +10 -9
  12. data/docs/CloudConnectionEndpointVPC.md +10 -9
  13. data/docs/CloudConnectionGRETunnel.md +12 -11
  14. data/docs/CloudConnectionSpeed.md +4 -5
  15. data/docs/CloudConnectionUpdate.md +18 -17
  16. data/docs/CloudConnectionVPC.md +10 -9
  17. data/docs/CloudConnectionVirtualPrivateClouds.md +8 -7
  18. data/docs/CloudConnectionVirtualPrivateCloudsVirtualPrivateCloudsInner.md +24 -0
  19. data/docs/CloudConnections.md +8 -7
  20. data/docs/CloudInstance.md +28 -27
  21. data/docs/CloudInstanceCreate.md +20 -19
  22. data/docs/CloudInstanceReference.md +22 -21
  23. data/docs/CloudInstanceUpdate.md +16 -15
  24. data/docs/CloudInstanceUsageLimits.md +28 -27
  25. data/docs/CreateCosImageImportJob.md +38 -0
  26. data/docs/CreateDataVolume.md +26 -19
  27. data/docs/CreateImage.md +32 -27
  28. data/docs/DeadPeerDetection.md +22 -0
  29. data/docs/Error.md +10 -9
  30. data/docs/Event.md +24 -23
  31. data/docs/EventUser.md +12 -11
  32. data/docs/Events.md +8 -7
  33. data/docs/ExportImage.md +14 -13
  34. data/docs/IKEPolicies.md +18 -0
  35. data/docs/IKEPolicy.md +30 -0
  36. data/docs/IKEPolicyCreate.md +30 -0
  37. data/docs/IKEPolicyOptions.md +24 -0
  38. data/docs/IKEPolicyRef.md +20 -0
  39. data/docs/IKEPolicyTemplate.md +26 -0
  40. data/docs/IKEPolicyUpdate.md +30 -0
  41. data/docs/IPAddressRange.md +10 -9
  42. data/docs/IPSecPolicies.md +18 -0
  43. data/docs/IPSecPolicy.md +30 -0
  44. data/docs/IPSecPolicyCreate.md +28 -0
  45. data/docs/IPSecPolicyOptions.md +22 -0
  46. data/docs/IPSecPolicyRef.md +20 -0
  47. data/docs/IPSecPolicyTemplate.md +24 -0
  48. data/docs/IPSecPolicyUpdate.md +28 -0
  49. data/docs/Image.md +32 -31
  50. data/docs/ImageReference.md +26 -25
  51. data/docs/ImageSpecifications.md +20 -19
  52. data/docs/ImageVolume.md +14 -13
  53. data/docs/Images.md +8 -7
  54. data/docs/Job.md +24 -0
  55. data/docs/JobReference.md +20 -0
  56. data/docs/Jobs.md +18 -0
  57. data/docs/MaximumStorageAllocation.md +12 -11
  58. data/docs/MinMaxDefault.md +12 -11
  59. data/docs/MultiVolumesCreate.md +28 -21
  60. data/docs/Network.md +28 -27
  61. data/docs/NetworkCreate.md +20 -19
  62. data/docs/NetworkID.md +18 -0
  63. data/docs/NetworkIDs.md +18 -0
  64. data/docs/NetworkIpAddressMetrics.md +14 -13
  65. data/docs/NetworkPort.md +22 -21
  66. data/docs/NetworkPortCreate.md +10 -9
  67. data/docs/NetworkPortPvmInstance.md +10 -9
  68. data/docs/NetworkPortUpdate.md +10 -9
  69. data/docs/NetworkPorts.md +8 -7
  70. data/docs/NetworkReference.md +18 -17
  71. data/docs/NetworkUpdate.md +14 -13
  72. data/docs/Networks.md +8 -7
  73. data/docs/Operation.md +22 -0
  74. data/docs/Operations.md +12 -11
  75. data/docs/Options.md +18 -0
  76. data/docs/PCloudCloudConnectionsApi.md +229 -94
  77. data/docs/PCloudEventsApi.md +60 -27
  78. data/docs/PCloudImagesApi.md +513 -101
  79. data/docs/PCloudInstancesApi.md +83 -33
  80. data/docs/PCloudJobsApi.md +208 -0
  81. data/docs/PCloudNetworksApi.md +287 -118
  82. data/docs/PCloudPVMInstancesApi.md +628 -208
  83. data/docs/PCloudPlacementGroupsApi.md +177 -76
  84. data/docs/PCloudSAPApi.md +86 -36
  85. data/docs/PCloudSnapshotsApi.md +112 -45
  86. data/docs/PCloudStorageCapacityApi.md +112 -45
  87. data/docs/PCloudSystemPoolsApi.md +29 -13
  88. data/docs/PCloudTasksApi.md +55 -22
  89. data/docs/PCloudTenantsApi.md +57 -24
  90. data/docs/PCloudTenantsSSHKeysApi.md +143 -59
  91. data/docs/PCloudVPNConnectionsApi.md +817 -0
  92. data/docs/PCloudVPNPoliciesApi.md +677 -0
  93. data/docs/PCloudVolumesApi.md +629 -256
  94. data/docs/PVMInstance.md +72 -69
  95. data/docs/PVMInstanceAction.md +8 -7
  96. data/docs/PVMInstanceAddNetwork.md +10 -9
  97. data/docs/PVMInstanceCapture.md +20 -19
  98. data/docs/PVMInstanceClone.md +22 -21
  99. data/docs/PVMInstanceConsole.md +8 -7
  100. data/docs/PVMInstanceCreate.md +50 -45
  101. data/docs/PVMInstanceFault.md +14 -13
  102. data/docs/PVMInstanceHealth.md +12 -11
  103. data/docs/PVMInstanceMultiCreate.md +12 -11
  104. data/docs/PVMInstanceNetwork.md +24 -23
  105. data/docs/PVMInstanceNetworks.md +8 -7
  106. data/docs/PVMInstanceOperation.md +10 -9
  107. data/docs/PVMInstanceReference.md +68 -61
  108. data/docs/PVMInstanceRemoveNetwork.md +8 -7
  109. data/docs/PVMInstanceUpdate.md +26 -23
  110. data/docs/PVMInstanceUpdateResponse.md +18 -17
  111. data/docs/PVMInstanceVolumeUpdate.md +8 -7
  112. data/docs/PVMInstances.md +8 -7
  113. data/docs/PeerSubnetUpdate.md +18 -0
  114. data/docs/PeerSubnets.md +18 -0
  115. data/docs/PeeringNetwork.md +12 -11
  116. data/docs/PinPolicy.md +4 -5
  117. data/docs/PlacementGroup.md +14 -13
  118. data/docs/PlacementGroupCreate.md +10 -9
  119. data/docs/PlacementGroupServer.md +8 -7
  120. data/docs/PlacementGroups.md +8 -7
  121. data/docs/SAPCreate.md +30 -23
  122. data/docs/SAPProfile.md +16 -15
  123. data/docs/SAPProfileReference.md +10 -9
  124. data/docs/SAPProfiles.md +8 -7
  125. data/docs/SRC.md +10 -9
  126. data/docs/SSHKey.md +12 -11
  127. data/docs/SSHKeys.md +8 -7
  128. data/docs/Snapshot.md +26 -25
  129. data/docs/SnapshotCreate.md +12 -11
  130. data/docs/SnapshotCreateResponse.md +8 -7
  131. data/docs/SnapshotRestore.md +8 -7
  132. data/docs/SnapshotUpdate.md +10 -9
  133. data/docs/Snapshots.md +8 -7
  134. data/docs/SoftwareLicenses.md +16 -15
  135. data/docs/Status.md +22 -0
  136. data/docs/StockImage.md +12 -11
  137. data/docs/StorageAffinity.md +26 -0
  138. data/docs/StoragePoolCapacity.md +14 -13
  139. data/docs/StoragePoolsCapacity.md +10 -9
  140. data/docs/StorageTypeCapacity.md +12 -11
  141. data/docs/StorageTypesCapacity.md +10 -9
  142. data/docs/System.md +12 -11
  143. data/docs/SystemPool.md +22 -21
  144. data/docs/Task.md +24 -23
  145. data/docs/TaskReference.md +10 -9
  146. data/docs/Tenant.md +20 -19
  147. data/docs/TenantUpdate.md +10 -9
  148. data/docs/UpdateVolume.md +14 -13
  149. data/docs/VPNConnection.md +40 -0
  150. data/docs/VPNConnectionCreate.md +30 -0
  151. data/docs/VPNConnectionCreateResponse.md +42 -0
  152. data/docs/VPNConnectionUpdate.md +24 -0
  153. data/docs/VPNConnections.md +18 -0
  154. data/docs/VPNaaSOptions.md +26 -0
  155. data/docs/VirtualCores.md +12 -11
  156. data/docs/Volume.md +36 -33
  157. data/docs/VolumeInfo.md +10 -9
  158. data/docs/VolumeReference.md +38 -35
  159. data/docs/Volumes.md +8 -7
  160. data/docs/VolumesClone.md +22 -21
  161. data/docs/VolumesCloneAsyncRequest.md +10 -9
  162. data/docs/VolumesCloneCancel.md +8 -7
  163. data/docs/VolumesCloneCreate.md +10 -9
  164. data/docs/VolumesCloneDetail.md +24 -23
  165. data/docs/VolumesCloneExecute.md +10 -9
  166. data/docs/VolumesCloneRequest.md +10 -9
  167. data/docs/VolumesCloneResponse.md +8 -7
  168. data/docs/VolumesClones.md +8 -7
  169. data/git_push.sh +3 -4
  170. data/ibm_cloud_power.gemspec +3 -3
  171. data/lib/ibm_cloud_power/api/p_cloud_cloud_connections_api.rb +43 -29
  172. data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +9 -7
  173. data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +325 -32
  174. data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +17 -11
  175. data/lib/ibm_cloud_power/api/p_cloud_jobs_api.rb +234 -0
  176. data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +57 -35
  177. data/lib/ibm_cloud_power/api/p_cloud_placement_groups_api.rb +45 -30
  178. data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +256 -64
  179. data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +17 -11
  180. data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +21 -14
  181. data/lib/ibm_cloud_power/api/p_cloud_storage_capacity_api.rb +17 -13
  182. data/lib/ibm_cloud_power/api/p_cloud_system_pools_api.rb +5 -4
  183. data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +9 -7
  184. data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +13 -8
  185. data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +29 -18
  186. data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +125 -76
  187. data/lib/ibm_cloud_power/api/p_cloud_vpn_connections_api.rb +898 -0
  188. data/lib/ibm_cloud_power/api/p_cloud_vpn_policies_api.rb +732 -0
  189. data/lib/ibm_cloud_power/api_client.rb +56 -52
  190. data/lib/ibm_cloud_power/api_error.rb +1 -1
  191. data/lib/ibm_cloud_power/configuration.rb +43 -12
  192. data/lib/ibm_cloud_power/models/clone_task_reference.rb +19 -8
  193. data/lib/ibm_cloud_power/models/clone_task_status.rb +19 -8
  194. data/lib/ibm_cloud_power/models/cloned_volume.rb +19 -8
  195. data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +19 -8
  196. data/lib/ibm_cloud_power/models/cloud_connection.rb +20 -9
  197. data/lib/ibm_cloud_power/models/cloud_connection_create.rb +53 -8
  198. data/lib/ibm_cloud_power/models/cloud_connection_create_response.rb +406 -0
  199. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_classic.rb +19 -8
  200. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_gre.rb +19 -8
  201. data/lib/ibm_cloud_power/models/cloud_connection_endpoint_vpc.rb +19 -8
  202. data/lib/ibm_cloud_power/models/cloud_connection_gre_tunnel.rb +19 -8
  203. data/lib/ibm_cloud_power/models/cloud_connection_speed.rb +2 -1
  204. data/lib/ibm_cloud_power/models/cloud_connection_update.rb +53 -8
  205. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds.rb +20 -9
  206. data/lib/ibm_cloud_power/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner.rb +270 -0
  207. data/lib/ibm_cloud_power/models/cloud_connection_vpc.rb +19 -8
  208. data/lib/ibm_cloud_power/models/cloud_connections.rb +19 -8
  209. data/lib/ibm_cloud_power/models/cloud_instance.rb +19 -8
  210. data/lib/ibm_cloud_power/models/cloud_instance_create.rb +19 -8
  211. data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +19 -8
  212. data/lib/ibm_cloud_power/models/cloud_instance_update.rb +19 -8
  213. data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +19 -8
  214. data/lib/ibm_cloud_power/models/create_cos_image_import_job.rb +387 -0
  215. data/lib/ibm_cloud_power/models/create_data_volume.rb +59 -14
  216. data/lib/ibm_cloud_power/models/create_image.rb +39 -9
  217. data/lib/ibm_cloud_power/models/dead_peer_detection.rb +350 -0
  218. data/lib/ibm_cloud_power/models/error.rb +32 -21
  219. data/lib/ibm_cloud_power/models/event.rb +20 -9
  220. data/lib/ibm_cloud_power/models/event_user.rb +19 -8
  221. data/lib/ibm_cloud_power/models/events.rb +19 -8
  222. data/lib/ibm_cloud_power/models/export_image.rb +19 -8
  223. data/lib/ibm_cloud_power/models/ike_policies.rb +227 -0
  224. data/lib/ibm_cloud_power/models/ike_policy.rb +414 -0
  225. data/lib/ibm_cloud_power/models/ike_policy_create.rb +414 -0
  226. data/lib/ibm_cloud_power/models/ike_policy_options.rb +274 -0
  227. data/lib/ibm_cloud_power/models/ike_policy_ref.rb +241 -0
  228. data/lib/ibm_cloud_power/models/ike_policy_template.rb +313 -0
  229. data/lib/ibm_cloud_power/models/ike_policy_update.rb +375 -0
  230. data/lib/ibm_cloud_power/models/image.rb +21 -10
  231. data/lib/ibm_cloud_power/models/image_reference.rb +21 -10
  232. data/lib/ibm_cloud_power/models/image_specifications.rb +19 -8
  233. data/lib/ibm_cloud_power/models/image_volume.rb +19 -8
  234. data/lib/ibm_cloud_power/models/images.rb +19 -8
  235. data/lib/ibm_cloud_power/models/ip_address_range.rb +19 -8
  236. data/lib/ibm_cloud_power/models/ip_sec_policies.rb +227 -0
  237. data/lib/ibm_cloud_power/models/ip_sec_policy.rb +402 -0
  238. data/lib/ibm_cloud_power/models/ip_sec_policy_create.rb +387 -0
  239. data/lib/ibm_cloud_power/models/ip_sec_policy_options.rb +258 -0
  240. data/lib/ibm_cloud_power/models/ip_sec_policy_ref.rb +241 -0
  241. data/lib/ibm_cloud_power/models/ip_sec_policy_template.rb +298 -0
  242. data/lib/ibm_cloud_power/models/ip_sec_policy_update.rb +353 -0
  243. data/lib/ibm_cloud_power/models/job.rb +263 -0
  244. data/lib/ibm_cloud_power/models/job_reference.rb +240 -0
  245. data/lib/ibm_cloud_power/models/jobs.rb +227 -0
  246. data/lib/ibm_cloud_power/models/maximum_storage_allocation.rb +20 -9
  247. data/lib/ibm_cloud_power/models/min_max_default.rb +19 -8
  248. data/lib/ibm_cloud_power/models/multi_volumes_create.rb +57 -12
  249. data/lib/ibm_cloud_power/models/network.rb +19 -8
  250. data/lib/ibm_cloud_power/models/network_create.rb +19 -8
  251. data/lib/ibm_cloud_power/models/network_id.rb +225 -0
  252. data/lib/ibm_cloud_power/models/network_ids.rb +222 -0
  253. data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +19 -8
  254. data/lib/ibm_cloud_power/models/network_port.rb +19 -8
  255. data/lib/ibm_cloud_power/models/network_port_create.rb +19 -8
  256. data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +19 -8
  257. data/lib/ibm_cloud_power/models/network_port_update.rb +19 -8
  258. data/lib/ibm_cloud_power/models/network_ports.rb +19 -8
  259. data/lib/ibm_cloud_power/models/network_reference.rb +19 -8
  260. data/lib/ibm_cloud_power/models/network_update.rb +19 -8
  261. data/lib/ibm_cloud_power/models/networks.rb +19 -8
  262. data/lib/ibm_cloud_power/models/operation.rb +255 -0
  263. data/lib/ibm_cloud_power/models/operations.rb +19 -8
  264. data/lib/ibm_cloud_power/models/options.rb +224 -0
  265. data/lib/ibm_cloud_power/models/peer_subnet_update.rb +225 -0
  266. data/lib/ibm_cloud_power/models/peer_subnets.rb +222 -0
  267. data/lib/ibm_cloud_power/models/peering_network.rb +19 -8
  268. data/lib/ibm_cloud_power/models/pin_policy.rb +2 -1
  269. data/lib/ibm_cloud_power/models/placement_group.rb +19 -8
  270. data/lib/ibm_cloud_power/models/placement_group_create.rb +19 -8
  271. data/lib/ibm_cloud_power/models/placement_group_server.rb +19 -8
  272. data/lib/ibm_cloud_power/models/placement_groups.rb +19 -8
  273. data/lib/ibm_cloud_power/models/pvm_instance.rb +57 -34
  274. data/lib/ibm_cloud_power/models/pvm_instance_action.rb +19 -8
  275. data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +19 -8
  276. data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +27 -16
  277. data/lib/ibm_cloud_power/models/pvm_instance_clone.rb +28 -17
  278. data/lib/ibm_cloud_power/models/pvm_instance_console.rb +19 -8
  279. data/lib/ibm_cloud_power/models/pvm_instance_create.rb +54 -24
  280. data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +20 -9
  281. data/lib/ibm_cloud_power/models/pvm_instance_health.rb +19 -8
  282. data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +19 -8
  283. data/lib/ibm_cloud_power/models/pvm_instance_network.rb +19 -8
  284. data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +19 -8
  285. data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +19 -8
  286. data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +55 -12
  287. data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +19 -8
  288. data/lib/ibm_cloud_power/models/pvm_instance_update.rb +32 -9
  289. data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +19 -8
  290. data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +19 -8
  291. data/lib/ibm_cloud_power/models/pvm_instances.rb +19 -8
  292. data/lib/ibm_cloud_power/models/sap_create.rb +56 -16
  293. data/lib/ibm_cloud_power/models/sap_profile.rb +18 -7
  294. data/lib/ibm_cloud_power/models/sap_profile_reference.rb +19 -8
  295. data/lib/ibm_cloud_power/models/sap_profiles.rb +19 -8
  296. data/lib/ibm_cloud_power/models/snapshot.rb +21 -10
  297. data/lib/ibm_cloud_power/models/snapshot_create.rb +27 -16
  298. data/lib/ibm_cloud_power/models/snapshot_create_response.rb +19 -8
  299. data/lib/ibm_cloud_power/models/snapshot_restore.rb +19 -8
  300. data/lib/ibm_cloud_power/models/snapshot_update.rb +19 -8
  301. data/lib/ibm_cloud_power/models/snapshots.rb +19 -8
  302. data/lib/ibm_cloud_power/models/software_licenses.rb +19 -8
  303. data/lib/ibm_cloud_power/models/src.rb +19 -8
  304. data/lib/ibm_cloud_power/models/ssh_key.rb +20 -9
  305. data/lib/ibm_cloud_power/models/ssh_keys.rb +19 -8
  306. data/lib/ibm_cloud_power/models/status.rb +250 -0
  307. data/lib/ibm_cloud_power/models/stock_image.rb +19 -8
  308. data/lib/ibm_cloud_power/models/storage_affinity.rb +298 -0
  309. data/lib/ibm_cloud_power/models/storage_pool_capacity.rb +20 -9
  310. data/lib/ibm_cloud_power/models/storage_pools_capacity.rb +19 -8
  311. data/lib/ibm_cloud_power/models/storage_type_capacity.rb +19 -8
  312. data/lib/ibm_cloud_power/models/storage_types_capacity.rb +19 -8
  313. data/lib/ibm_cloud_power/models/system.rb +19 -8
  314. data/lib/ibm_cloud_power/models/system_pool.rb +19 -8
  315. data/lib/ibm_cloud_power/models/task.rb +21 -10
  316. data/lib/ibm_cloud_power/models/task_reference.rb +19 -8
  317. data/lib/ibm_cloud_power/models/tenant.rb +20 -9
  318. data/lib/ibm_cloud_power/models/tenant_update.rb +19 -8
  319. data/lib/ibm_cloud_power/models/update_volume.rb +19 -8
  320. data/lib/ibm_cloud_power/models/virtual_cores.rb +19 -8
  321. data/lib/ibm_cloud_power/models/volume.rb +39 -18
  322. data/lib/ibm_cloud_power/models/volume_info.rb +19 -8
  323. data/lib/ibm_cloud_power/models/volume_reference.rb +39 -18
  324. data/lib/ibm_cloud_power/models/volumes.rb +19 -8
  325. data/lib/ibm_cloud_power/models/volumes_clone.rb +21 -10
  326. data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +30 -19
  327. data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +19 -8
  328. data/lib/ibm_cloud_power/models/volumes_clone_create.rb +30 -19
  329. data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +21 -10
  330. data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +19 -8
  331. data/lib/ibm_cloud_power/models/volumes_clone_request.rb +30 -19
  332. data/lib/ibm_cloud_power/models/volumes_clone_response.rb +19 -8
  333. data/lib/ibm_cloud_power/models/volumes_clones.rb +19 -8
  334. data/lib/ibm_cloud_power/models/vp_naa_s_options.rb +280 -0
  335. data/lib/ibm_cloud_power/models/vpn_connection.rb +437 -0
  336. data/lib/ibm_cloud_power/models/vpn_connection_create.rb +353 -0
  337. data/lib/ibm_cloud_power/models/vpn_connection_create_response.rb +453 -0
  338. data/lib/ibm_cloud_power/models/vpn_connection_update.rb +251 -0
  339. data/lib/ibm_cloud_power/models/vpn_connections.rb +222 -0
  340. data/lib/ibm_cloud_power/version.rb +2 -2
  341. data/lib/ibm_cloud_power.rb +39 -2
  342. data/spec/api/p_cloud_jobs_api_spec.rb +73 -0
  343. data/spec/api/p_cloud_vpn_connections_api_spec.rb +194 -0
  344. data/spec/api/p_cloud_vpn_policies_api_spec.rb +165 -0
  345. data/spec/api_client_spec.rb +3 -3
  346. data/spec/configuration_spec.rb +1 -1
  347. data/spec/models/cloud_connection_create_response_spec.rb +112 -0
  348. data/spec/models/cloud_connection_virtual_private_clouds_virtual_private_clouds_inner_spec.rb +52 -0
  349. data/spec/models/create_cos_image_import_job_spec.rb +102 -0
  350. data/spec/models/dead_peer_detection_spec.rb +50 -0
  351. data/spec/models/ike_policies_spec.rb +34 -0
  352. data/spec/models/ike_policy_create_spec.rb +86 -0
  353. data/spec/models/ike_policy_options_spec.rb +52 -0
  354. data/spec/models/ike_policy_ref_spec.rb +40 -0
  355. data/spec/models/ike_policy_spec.rb +86 -0
  356. data/spec/models/ike_policy_template_spec.rb +58 -0
  357. data/spec/models/ike_policy_update_spec.rb +86 -0
  358. data/spec/models/ip_sec_policies_spec.rb +34 -0
  359. data/spec/models/ip_sec_policy_create_spec.rb +76 -0
  360. data/spec/models/ip_sec_policy_options_spec.rb +46 -0
  361. data/spec/models/ip_sec_policy_ref_spec.rb +40 -0
  362. data/spec/models/ip_sec_policy_spec.rb +82 -0
  363. data/spec/models/ip_sec_policy_template_spec.rb +52 -0
  364. data/spec/models/ip_sec_policy_update_spec.rb +76 -0
  365. data/spec/models/job_reference_spec.rb +40 -0
  366. data/spec/models/job_spec.rb +52 -0
  367. data/spec/models/jobs_spec.rb +34 -0
  368. data/spec/models/network_id_spec.rb +34 -0
  369. data/spec/models/network_ids_spec.rb +34 -0
  370. data/spec/models/operation_spec.rb +46 -0
  371. data/spec/models/options_spec.rb +34 -0
  372. data/spec/models/peer_subnet_update_spec.rb +34 -0
  373. data/spec/models/peer_subnets_spec.rb +34 -0
  374. data/spec/models/status_spec.rb +46 -0
  375. data/spec/models/storage_affinity_spec.rb +62 -0
  376. data/spec/models/vp_naa_s_options_spec.rb +58 -0
  377. data/spec/models/vpn_connection_create_response_spec.rb +114 -0
  378. data/spec/models/vpn_connection_create_spec.rb +74 -0
  379. data/spec/models/vpn_connection_spec.rb +108 -0
  380. data/spec/models/vpn_connection_update_spec.rb +52 -0
  381. data/spec/models/vpn_connections_spec.rb +34 -0
  382. data/spec/spec_helper.rb +1 -1
  383. metadata +259 -107
@@ -0,0 +1,732 @@
1
+ =begin
2
+ #Power Cloud API
3
+
4
+ #IBM Power Cloud API for Power Hardware / Infrastructure
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: kylej@us.ibm.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IbmCloudPower
16
+ class PCloudVPNPoliciesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete IKE Policy
23
+ # Delete an IKE Policy (by its unique identifier)
24
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
25
+ # @param ike_policy_id [String] ID of a IKE Policy
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Object]
28
+ def pcloud_ikepolicies_delete(cloud_instance_id, ike_policy_id, opts = {})
29
+ data, _status_code, _headers = pcloud_ikepolicies_delete_with_http_info(cloud_instance_id, ike_policy_id, opts)
30
+ data
31
+ end
32
+
33
+ # Delete IKE Policy
34
+ # Delete an IKE Policy (by its unique identifier)
35
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
36
+ # @param ike_policy_id [String] ID of a IKE Policy
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
39
+ def pcloud_ikepolicies_delete_with_http_info(cloud_instance_id, ike_policy_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ikepolicies_delete ...'
42
+ end
43
+ # verify the required parameter 'cloud_instance_id' is set
44
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_delete"
46
+ end
47
+ # verify the required parameter 'ike_policy_id' is set
48
+ if @api_client.config.client_side_validation && ike_policy_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'ike_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_delete"
50
+ end
51
+ # resource path
52
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ike_policy_id' + '}', CGI.escape(ike_policy_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+
62
+ # form parameters
63
+ form_params = opts[:form_params] || {}
64
+
65
+ # http body (model)
66
+ post_body = opts[:debug_body]
67
+
68
+ # return_type
69
+ return_type = opts[:debug_return_type] || 'Object'
70
+
71
+ # auth_names
72
+ auth_names = opts[:debug_auth_names] || []
73
+
74
+ new_options = opts.merge(
75
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ikepolicies_delete",
76
+ :header_params => header_params,
77
+ :query_params => query_params,
78
+ :form_params => form_params,
79
+ :body => post_body,
80
+ :auth_names => auth_names,
81
+ :return_type => return_type
82
+ )
83
+
84
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
85
+ if @api_client.config.debugging
86
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ikepolicies_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
87
+ end
88
+ return data, status_code, headers
89
+ end
90
+
91
+ # Get the specified IKE Policy
92
+ # Get an IKE Policy (by its unique identifier)
93
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
94
+ # @param ike_policy_id [String] ID of a IKE Policy
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [IKEPolicy]
97
+ def pcloud_ikepolicies_get(cloud_instance_id, ike_policy_id, opts = {})
98
+ data, _status_code, _headers = pcloud_ikepolicies_get_with_http_info(cloud_instance_id, ike_policy_id, opts)
99
+ data
100
+ end
101
+
102
+ # Get the specified IKE Policy
103
+ # Get an IKE Policy (by its unique identifier)
104
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
105
+ # @param ike_policy_id [String] ID of a IKE Policy
106
+ # @param [Hash] opts the optional parameters
107
+ # @return [Array<(IKEPolicy, Integer, Hash)>] IKEPolicy data, response status code and response headers
108
+ def pcloud_ikepolicies_get_with_http_info(cloud_instance_id, ike_policy_id, opts = {})
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ikepolicies_get ...'
111
+ end
112
+ # verify the required parameter 'cloud_instance_id' is set
113
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
114
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_get"
115
+ end
116
+ # verify the required parameter 'ike_policy_id' is set
117
+ if @api_client.config.client_side_validation && ike_policy_id.nil?
118
+ fail ArgumentError, "Missing the required parameter 'ike_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_get"
119
+ end
120
+ # resource path
121
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ike_policy_id' + '}', CGI.escape(ike_policy_id.to_s))
122
+
123
+ # query parameters
124
+ query_params = opts[:query_params] || {}
125
+
126
+ # header parameters
127
+ header_params = opts[:header_params] || {}
128
+ # HTTP header 'Accept' (if needed)
129
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
130
+
131
+ # form parameters
132
+ form_params = opts[:form_params] || {}
133
+
134
+ # http body (model)
135
+ post_body = opts[:debug_body]
136
+
137
+ # return_type
138
+ return_type = opts[:debug_return_type] || 'IKEPolicy'
139
+
140
+ # auth_names
141
+ auth_names = opts[:debug_auth_names] || []
142
+
143
+ new_options = opts.merge(
144
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ikepolicies_get",
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names,
150
+ :return_type => return_type
151
+ )
152
+
153
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ikepolicies_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
156
+ end
157
+ return data, status_code, headers
158
+ end
159
+
160
+ # Get all IKE Policies
161
+ # List all IKE Policies with all attributes
162
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
163
+ # @param [Hash] opts the optional parameters
164
+ # @return [IKEPolicies]
165
+ def pcloud_ikepolicies_getall(cloud_instance_id, opts = {})
166
+ data, _status_code, _headers = pcloud_ikepolicies_getall_with_http_info(cloud_instance_id, opts)
167
+ data
168
+ end
169
+
170
+ # Get all IKE Policies
171
+ # List all IKE Policies with all attributes
172
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [Array<(IKEPolicies, Integer, Hash)>] IKEPolicies data, response status code and response headers
175
+ def pcloud_ikepolicies_getall_with_http_info(cloud_instance_id, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ikepolicies_getall ...'
178
+ end
179
+ # verify the required parameter 'cloud_instance_id' is set
180
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
181
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_getall"
182
+ end
183
+ # resource path
184
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
185
+
186
+ # query parameters
187
+ query_params = opts[:query_params] || {}
188
+
189
+ # header parameters
190
+ header_params = opts[:header_params] || {}
191
+ # HTTP header 'Accept' (if needed)
192
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body]
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'IKEPolicies'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || []
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ikepolicies_getall",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ikepolicies_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # Add IKE Policy
224
+ # Add a new IKE Policy
225
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
226
+ # @param body [IKEPolicyCreate] Parameters for the creation of a new IKE Policy
227
+ # @param [Hash] opts the optional parameters
228
+ # @return [IKEPolicy]
229
+ def pcloud_ikepolicies_post(cloud_instance_id, body, opts = {})
230
+ data, _status_code, _headers = pcloud_ikepolicies_post_with_http_info(cloud_instance_id, body, opts)
231
+ data
232
+ end
233
+
234
+ # Add IKE Policy
235
+ # Add a new IKE Policy
236
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
237
+ # @param body [IKEPolicyCreate] Parameters for the creation of a new IKE Policy
238
+ # @param [Hash] opts the optional parameters
239
+ # @return [Array<(IKEPolicy, Integer, Hash)>] IKEPolicy data, response status code and response headers
240
+ def pcloud_ikepolicies_post_with_http_info(cloud_instance_id, body, opts = {})
241
+ if @api_client.config.debugging
242
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ikepolicies_post ...'
243
+ end
244
+ # verify the required parameter 'cloud_instance_id' is set
245
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
246
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_post"
247
+ end
248
+ # verify the required parameter 'body' is set
249
+ if @api_client.config.client_side_validation && body.nil?
250
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_post"
251
+ end
252
+ # resource path
253
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
254
+
255
+ # query parameters
256
+ query_params = opts[:query_params] || {}
257
+
258
+ # header parameters
259
+ header_params = opts[:header_params] || {}
260
+ # HTTP header 'Accept' (if needed)
261
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
262
+ # HTTP header 'Content-Type'
263
+ content_type = @api_client.select_header_content_type(['application/json'])
264
+ if !content_type.nil?
265
+ header_params['Content-Type'] = content_type
266
+ end
267
+
268
+ # form parameters
269
+ form_params = opts[:form_params] || {}
270
+
271
+ # http body (model)
272
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
273
+
274
+ # return_type
275
+ return_type = opts[:debug_return_type] || 'IKEPolicy'
276
+
277
+ # auth_names
278
+ auth_names = opts[:debug_auth_names] || []
279
+
280
+ new_options = opts.merge(
281
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ikepolicies_post",
282
+ :header_params => header_params,
283
+ :query_params => query_params,
284
+ :form_params => form_params,
285
+ :body => post_body,
286
+ :auth_names => auth_names,
287
+ :return_type => return_type
288
+ )
289
+
290
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
291
+ if @api_client.config.debugging
292
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ikepolicies_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
293
+ end
294
+ return data, status_code, headers
295
+ end
296
+
297
+ # Update IKE Policy
298
+ # update an IKE Policy (by its unique identifier)
299
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
300
+ # @param ike_policy_id [String] ID of a IKE Policy
301
+ # @param body [IKEPolicyUpdate] Parameters for updating IKE Policy
302
+ # @param [Hash] opts the optional parameters
303
+ # @return [IKEPolicy]
304
+ def pcloud_ikepolicies_put(cloud_instance_id, ike_policy_id, body, opts = {})
305
+ data, _status_code, _headers = pcloud_ikepolicies_put_with_http_info(cloud_instance_id, ike_policy_id, body, opts)
306
+ data
307
+ end
308
+
309
+ # Update IKE Policy
310
+ # update an IKE Policy (by its unique identifier)
311
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
312
+ # @param ike_policy_id [String] ID of a IKE Policy
313
+ # @param body [IKEPolicyUpdate] Parameters for updating IKE Policy
314
+ # @param [Hash] opts the optional parameters
315
+ # @return [Array<(IKEPolicy, Integer, Hash)>] IKEPolicy data, response status code and response headers
316
+ def pcloud_ikepolicies_put_with_http_info(cloud_instance_id, ike_policy_id, body, opts = {})
317
+ if @api_client.config.debugging
318
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ikepolicies_put ...'
319
+ end
320
+ # verify the required parameter 'cloud_instance_id' is set
321
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
322
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_put"
323
+ end
324
+ # verify the required parameter 'ike_policy_id' is set
325
+ if @api_client.config.client_side_validation && ike_policy_id.nil?
326
+ fail ArgumentError, "Missing the required parameter 'ike_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_put"
327
+ end
328
+ # verify the required parameter 'body' is set
329
+ if @api_client.config.client_side_validation && body.nil?
330
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudVPNPoliciesApi.pcloud_ikepolicies_put"
331
+ end
332
+ # resource path
333
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ike-policies/{ike_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ike_policy_id' + '}', CGI.escape(ike_policy_id.to_s))
334
+
335
+ # query parameters
336
+ query_params = opts[:query_params] || {}
337
+
338
+ # header parameters
339
+ header_params = opts[:header_params] || {}
340
+ # HTTP header 'Accept' (if needed)
341
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
342
+ # HTTP header 'Content-Type'
343
+ content_type = @api_client.select_header_content_type(['application/json'])
344
+ if !content_type.nil?
345
+ header_params['Content-Type'] = content_type
346
+ end
347
+
348
+ # form parameters
349
+ form_params = opts[:form_params] || {}
350
+
351
+ # http body (model)
352
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
353
+
354
+ # return_type
355
+ return_type = opts[:debug_return_type] || 'IKEPolicy'
356
+
357
+ # auth_names
358
+ auth_names = opts[:debug_auth_names] || []
359
+
360
+ new_options = opts.merge(
361
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ikepolicies_put",
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :form_params => form_params,
365
+ :body => post_body,
366
+ :auth_names => auth_names,
367
+ :return_type => return_type
368
+ )
369
+
370
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
371
+ if @api_client.config.debugging
372
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ikepolicies_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
373
+ end
374
+ return data, status_code, headers
375
+ end
376
+
377
+ # Delete IPSec Policy
378
+ # Delete an IPSec Policy (by its unique identifier)
379
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
380
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
381
+ # @param [Hash] opts the optional parameters
382
+ # @return [Object]
383
+ def pcloud_ipsecpolicies_delete(cloud_instance_id, ipsec_policy_id, opts = {})
384
+ data, _status_code, _headers = pcloud_ipsecpolicies_delete_with_http_info(cloud_instance_id, ipsec_policy_id, opts)
385
+ data
386
+ end
387
+
388
+ # Delete IPSec Policy
389
+ # Delete an IPSec Policy (by its unique identifier)
390
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
391
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
392
+ # @param [Hash] opts the optional parameters
393
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
394
+ def pcloud_ipsecpolicies_delete_with_http_info(cloud_instance_id, ipsec_policy_id, opts = {})
395
+ if @api_client.config.debugging
396
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ipsecpolicies_delete ...'
397
+ end
398
+ # verify the required parameter 'cloud_instance_id' is set
399
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
400
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_delete"
401
+ end
402
+ # verify the required parameter 'ipsec_policy_id' is set
403
+ if @api_client.config.client_side_validation && ipsec_policy_id.nil?
404
+ fail ArgumentError, "Missing the required parameter 'ipsec_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_delete"
405
+ end
406
+ # resource path
407
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ipsec_policy_id' + '}', CGI.escape(ipsec_policy_id.to_s))
408
+
409
+ # query parameters
410
+ query_params = opts[:query_params] || {}
411
+
412
+ # header parameters
413
+ header_params = opts[:header_params] || {}
414
+ # HTTP header 'Accept' (if needed)
415
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
416
+
417
+ # form parameters
418
+ form_params = opts[:form_params] || {}
419
+
420
+ # http body (model)
421
+ post_body = opts[:debug_body]
422
+
423
+ # return_type
424
+ return_type = opts[:debug_return_type] || 'Object'
425
+
426
+ # auth_names
427
+ auth_names = opts[:debug_auth_names] || []
428
+
429
+ new_options = opts.merge(
430
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ipsecpolicies_delete",
431
+ :header_params => header_params,
432
+ :query_params => query_params,
433
+ :form_params => form_params,
434
+ :body => post_body,
435
+ :auth_names => auth_names,
436
+ :return_type => return_type
437
+ )
438
+
439
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
440
+ if @api_client.config.debugging
441
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ipsecpolicies_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
442
+ end
443
+ return data, status_code, headers
444
+ end
445
+
446
+ # Get the specified IPSec Policy
447
+ # Get an IPSec Policy (by its unique identifier)
448
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
449
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
450
+ # @param [Hash] opts the optional parameters
451
+ # @return [IPSecPolicy]
452
+ def pcloud_ipsecpolicies_get(cloud_instance_id, ipsec_policy_id, opts = {})
453
+ data, _status_code, _headers = pcloud_ipsecpolicies_get_with_http_info(cloud_instance_id, ipsec_policy_id, opts)
454
+ data
455
+ end
456
+
457
+ # Get the specified IPSec Policy
458
+ # Get an IPSec Policy (by its unique identifier)
459
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
460
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
461
+ # @param [Hash] opts the optional parameters
462
+ # @return [Array<(IPSecPolicy, Integer, Hash)>] IPSecPolicy data, response status code and response headers
463
+ def pcloud_ipsecpolicies_get_with_http_info(cloud_instance_id, ipsec_policy_id, opts = {})
464
+ if @api_client.config.debugging
465
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ipsecpolicies_get ...'
466
+ end
467
+ # verify the required parameter 'cloud_instance_id' is set
468
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
469
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_get"
470
+ end
471
+ # verify the required parameter 'ipsec_policy_id' is set
472
+ if @api_client.config.client_side_validation && ipsec_policy_id.nil?
473
+ fail ArgumentError, "Missing the required parameter 'ipsec_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_get"
474
+ end
475
+ # resource path
476
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ipsec_policy_id' + '}', CGI.escape(ipsec_policy_id.to_s))
477
+
478
+ # query parameters
479
+ query_params = opts[:query_params] || {}
480
+
481
+ # header parameters
482
+ header_params = opts[:header_params] || {}
483
+ # HTTP header 'Accept' (if needed)
484
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
485
+
486
+ # form parameters
487
+ form_params = opts[:form_params] || {}
488
+
489
+ # http body (model)
490
+ post_body = opts[:debug_body]
491
+
492
+ # return_type
493
+ return_type = opts[:debug_return_type] || 'IPSecPolicy'
494
+
495
+ # auth_names
496
+ auth_names = opts[:debug_auth_names] || []
497
+
498
+ new_options = opts.merge(
499
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ipsecpolicies_get",
500
+ :header_params => header_params,
501
+ :query_params => query_params,
502
+ :form_params => form_params,
503
+ :body => post_body,
504
+ :auth_names => auth_names,
505
+ :return_type => return_type
506
+ )
507
+
508
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
509
+ if @api_client.config.debugging
510
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ipsecpolicies_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
511
+ end
512
+ return data, status_code, headers
513
+ end
514
+
515
+ # Get all IPSec Policies
516
+ # Get all IPSec Policies with all their attributes
517
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
518
+ # @param [Hash] opts the optional parameters
519
+ # @return [IPSecPolicies]
520
+ def pcloud_ipsecpolicies_getall(cloud_instance_id, opts = {})
521
+ data, _status_code, _headers = pcloud_ipsecpolicies_getall_with_http_info(cloud_instance_id, opts)
522
+ data
523
+ end
524
+
525
+ # Get all IPSec Policies
526
+ # Get all IPSec Policies with all their attributes
527
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
528
+ # @param [Hash] opts the optional parameters
529
+ # @return [Array<(IPSecPolicies, Integer, Hash)>] IPSecPolicies data, response status code and response headers
530
+ def pcloud_ipsecpolicies_getall_with_http_info(cloud_instance_id, opts = {})
531
+ if @api_client.config.debugging
532
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ipsecpolicies_getall ...'
533
+ end
534
+ # verify the required parameter 'cloud_instance_id' is set
535
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
536
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_getall"
537
+ end
538
+ # resource path
539
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
540
+
541
+ # query parameters
542
+ query_params = opts[:query_params] || {}
543
+
544
+ # header parameters
545
+ header_params = opts[:header_params] || {}
546
+ # HTTP header 'Accept' (if needed)
547
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
548
+
549
+ # form parameters
550
+ form_params = opts[:form_params] || {}
551
+
552
+ # http body (model)
553
+ post_body = opts[:debug_body]
554
+
555
+ # return_type
556
+ return_type = opts[:debug_return_type] || 'IPSecPolicies'
557
+
558
+ # auth_names
559
+ auth_names = opts[:debug_auth_names] || []
560
+
561
+ new_options = opts.merge(
562
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ipsecpolicies_getall",
563
+ :header_params => header_params,
564
+ :query_params => query_params,
565
+ :form_params => form_params,
566
+ :body => post_body,
567
+ :auth_names => auth_names,
568
+ :return_type => return_type
569
+ )
570
+
571
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
572
+ if @api_client.config.debugging
573
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ipsecpolicies_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
574
+ end
575
+ return data, status_code, headers
576
+ end
577
+
578
+ # Add IPSec Policy
579
+ # Add a new IPSec Policy
580
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
581
+ # @param body [IPSecPolicyCreate] Parameters for the creation of a new IPSec Policy
582
+ # @param [Hash] opts the optional parameters
583
+ # @return [IPSecPolicy]
584
+ def pcloud_ipsecpolicies_post(cloud_instance_id, body, opts = {})
585
+ data, _status_code, _headers = pcloud_ipsecpolicies_post_with_http_info(cloud_instance_id, body, opts)
586
+ data
587
+ end
588
+
589
+ # Add IPSec Policy
590
+ # Add a new IPSec Policy
591
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
592
+ # @param body [IPSecPolicyCreate] Parameters for the creation of a new IPSec Policy
593
+ # @param [Hash] opts the optional parameters
594
+ # @return [Array<(IPSecPolicy, Integer, Hash)>] IPSecPolicy data, response status code and response headers
595
+ def pcloud_ipsecpolicies_post_with_http_info(cloud_instance_id, body, opts = {})
596
+ if @api_client.config.debugging
597
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ipsecpolicies_post ...'
598
+ end
599
+ # verify the required parameter 'cloud_instance_id' is set
600
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
601
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_post"
602
+ end
603
+ # verify the required parameter 'body' is set
604
+ if @api_client.config.client_side_validation && body.nil?
605
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_post"
606
+ end
607
+ # resource path
608
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
609
+
610
+ # query parameters
611
+ query_params = opts[:query_params] || {}
612
+
613
+ # header parameters
614
+ header_params = opts[:header_params] || {}
615
+ # HTTP header 'Accept' (if needed)
616
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
617
+ # HTTP header 'Content-Type'
618
+ content_type = @api_client.select_header_content_type(['application/json'])
619
+ if !content_type.nil?
620
+ header_params['Content-Type'] = content_type
621
+ end
622
+
623
+ # form parameters
624
+ form_params = opts[:form_params] || {}
625
+
626
+ # http body (model)
627
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
628
+
629
+ # return_type
630
+ return_type = opts[:debug_return_type] || 'IPSecPolicy'
631
+
632
+ # auth_names
633
+ auth_names = opts[:debug_auth_names] || []
634
+
635
+ new_options = opts.merge(
636
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ipsecpolicies_post",
637
+ :header_params => header_params,
638
+ :query_params => query_params,
639
+ :form_params => form_params,
640
+ :body => post_body,
641
+ :auth_names => auth_names,
642
+ :return_type => return_type
643
+ )
644
+
645
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
646
+ if @api_client.config.debugging
647
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ipsecpolicies_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
648
+ end
649
+ return data, status_code, headers
650
+ end
651
+
652
+ # Update IPSec Policy
653
+ # update an IPSec Policy
654
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
655
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
656
+ # @param body [IPSecPolicyUpdate] Parameters for the update of an IPSec Policy
657
+ # @param [Hash] opts the optional parameters
658
+ # @return [IPSecPolicy]
659
+ def pcloud_ipsecpolicies_put(cloud_instance_id, ipsec_policy_id, body, opts = {})
660
+ data, _status_code, _headers = pcloud_ipsecpolicies_put_with_http_info(cloud_instance_id, ipsec_policy_id, body, opts)
661
+ data
662
+ end
663
+
664
+ # Update IPSec Policy
665
+ # update an IPSec Policy
666
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
667
+ # @param ipsec_policy_id [String] ID of a IPSec Policy
668
+ # @param body [IPSecPolicyUpdate] Parameters for the update of an IPSec Policy
669
+ # @param [Hash] opts the optional parameters
670
+ # @return [Array<(IPSecPolicy, Integer, Hash)>] IPSecPolicy data, response status code and response headers
671
+ def pcloud_ipsecpolicies_put_with_http_info(cloud_instance_id, ipsec_policy_id, body, opts = {})
672
+ if @api_client.config.debugging
673
+ @api_client.config.logger.debug 'Calling API: PCloudVPNPoliciesApi.pcloud_ipsecpolicies_put ...'
674
+ end
675
+ # verify the required parameter 'cloud_instance_id' is set
676
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
677
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_put"
678
+ end
679
+ # verify the required parameter 'ipsec_policy_id' is set
680
+ if @api_client.config.client_side_validation && ipsec_policy_id.nil?
681
+ fail ArgumentError, "Missing the required parameter 'ipsec_policy_id' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_put"
682
+ end
683
+ # verify the required parameter 'body' is set
684
+ if @api_client.config.client_side_validation && body.nil?
685
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudVPNPoliciesApi.pcloud_ipsecpolicies_put"
686
+ end
687
+ # resource path
688
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/vpn/ipsec-policies/{ipsec_policy_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'ipsec_policy_id' + '}', CGI.escape(ipsec_policy_id.to_s))
689
+
690
+ # query parameters
691
+ query_params = opts[:query_params] || {}
692
+
693
+ # header parameters
694
+ header_params = opts[:header_params] || {}
695
+ # HTTP header 'Accept' (if needed)
696
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
697
+ # HTTP header 'Content-Type'
698
+ content_type = @api_client.select_header_content_type(['application/json'])
699
+ if !content_type.nil?
700
+ header_params['Content-Type'] = content_type
701
+ end
702
+
703
+ # form parameters
704
+ form_params = opts[:form_params] || {}
705
+
706
+ # http body (model)
707
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
708
+
709
+ # return_type
710
+ return_type = opts[:debug_return_type] || 'IPSecPolicy'
711
+
712
+ # auth_names
713
+ auth_names = opts[:debug_auth_names] || []
714
+
715
+ new_options = opts.merge(
716
+ :operation => :"PCloudVPNPoliciesApi.pcloud_ipsecpolicies_put",
717
+ :header_params => header_params,
718
+ :query_params => query_params,
719
+ :form_params => form_params,
720
+ :body => post_body,
721
+ :auth_names => auth_names,
722
+ :return_type => return_type
723
+ )
724
+
725
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
726
+ if @api_client.config.debugging
727
+ @api_client.config.logger.debug "API called: PCloudVPNPoliciesApi#pcloud_ipsecpolicies_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
728
+ end
729
+ return data, status_code, headers
730
+ end
731
+ end
732
+ end