ibm_cloud_power 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +255 -0
  4. data/Rakefile +10 -0
  5. data/docs/CloneTaskReference.md +19 -0
  6. data/docs/CloneTaskStatus.md +23 -0
  7. data/docs/ClonedVolume.md +19 -0
  8. data/docs/ClonedVolumeDetail.md +19 -0
  9. data/docs/CloudInstance.md +37 -0
  10. data/docs/CloudInstanceCreate.md +29 -0
  11. data/docs/CloudInstanceReference.md +31 -0
  12. data/docs/CloudInstanceUpdate.md +25 -0
  13. data/docs/CloudInstanceUsageLimits.md +37 -0
  14. data/docs/CreateDataVolume.md +29 -0
  15. data/docs/CreateImage.md +37 -0
  16. data/docs/Error.md +19 -0
  17. data/docs/Event.md +33 -0
  18. data/docs/EventUser.md +21 -0
  19. data/docs/Events.md +17 -0
  20. data/docs/ExportImage.md +23 -0
  21. data/docs/IPAddressRange.md +19 -0
  22. data/docs/Image.md +39 -0
  23. data/docs/ImageReference.md +33 -0
  24. data/docs/ImageSpecifications.md +29 -0
  25. data/docs/ImageVolume.md +23 -0
  26. data/docs/Images.md +17 -0
  27. data/docs/MinMaxDefault.md +21 -0
  28. data/docs/MultiVolumesCreate.md +29 -0
  29. data/docs/Network.md +37 -0
  30. data/docs/NetworkCreate.md +29 -0
  31. data/docs/NetworkIpAddressMetrics.md +23 -0
  32. data/docs/NetworkPort.md +29 -0
  33. data/docs/NetworkPortCreate.md +19 -0
  34. data/docs/NetworkPortPvmInstance.md +19 -0
  35. data/docs/NetworkPortUpdate.md +19 -0
  36. data/docs/NetworkPorts.md +17 -0
  37. data/docs/NetworkReference.md +27 -0
  38. data/docs/NetworkUpdate.md +23 -0
  39. data/docs/Networks.md +17 -0
  40. data/docs/Operations.md +21 -0
  41. data/docs/PCloudEventsApi.md +114 -0
  42. data/docs/PCloudImagesApi.md +342 -0
  43. data/docs/PCloudInstancesApi.md +148 -0
  44. data/docs/PCloudNetworksApi.md +504 -0
  45. data/docs/PCloudPVMInstancesApi.md +809 -0
  46. data/docs/PCloudSAPApi.md +150 -0
  47. data/docs/PCloudSnapshotsApi.md +200 -0
  48. data/docs/PCloudSystemPoolsApi.md +54 -0
  49. data/docs/PCloudTasksApi.md +100 -0
  50. data/docs/PCloudTenantsApi.md +102 -0
  51. data/docs/PCloudTenantsSSHKeysApi.md +248 -0
  52. data/docs/PCloudVolumesApi.md +746 -0
  53. data/docs/PVMInstance.md +77 -0
  54. data/docs/PVMInstanceAction.md +17 -0
  55. data/docs/PVMInstanceAddNetwork.md +19 -0
  56. data/docs/PVMInstanceCapture.md +29 -0
  57. data/docs/PVMInstanceClone.md +31 -0
  58. data/docs/PVMInstanceConsole.md +17 -0
  59. data/docs/PVMInstanceCreate.md +53 -0
  60. data/docs/PVMInstanceFault.md +23 -0
  61. data/docs/PVMInstanceHealth.md +21 -0
  62. data/docs/PVMInstanceMultiCreate.md +21 -0
  63. data/docs/PVMInstanceNetwork.md +33 -0
  64. data/docs/PVMInstanceNetworks.md +17 -0
  65. data/docs/PVMInstanceOperation.md +19 -0
  66. data/docs/PVMInstanceReference.md +71 -0
  67. data/docs/PVMInstanceRemoveNetwork.md +17 -0
  68. data/docs/PVMInstanceUpdate.md +33 -0
  69. data/docs/PVMInstanceUpdateResponse.md +27 -0
  70. data/docs/PVMInstanceVolumeUpdate.md +17 -0
  71. data/docs/PVMInstances.md +17 -0
  72. data/docs/PeeringNetwork.md +21 -0
  73. data/docs/PinPolicy.md +16 -0
  74. data/docs/SAPCreate.md +33 -0
  75. data/docs/SAPProfile.md +25 -0
  76. data/docs/SAPProfileReference.md +19 -0
  77. data/docs/SAPProfiles.md +17 -0
  78. data/docs/SRC.md +19 -0
  79. data/docs/SSHKey.md +21 -0
  80. data/docs/SSHKeys.md +17 -0
  81. data/docs/Snapshot.md +35 -0
  82. data/docs/SnapshotCreate.md +21 -0
  83. data/docs/SnapshotCreateResponse.md +17 -0
  84. data/docs/SnapshotRestore.md +17 -0
  85. data/docs/SnapshotUpdate.md +19 -0
  86. data/docs/Snapshots.md +17 -0
  87. data/docs/SoftwareLicenses.md +25 -0
  88. data/docs/StockImage.md +21 -0
  89. data/docs/System.md +21 -0
  90. data/docs/SystemPool.md +31 -0
  91. data/docs/Task.md +33 -0
  92. data/docs/TaskReference.md +19 -0
  93. data/docs/Tenant.md +29 -0
  94. data/docs/TenantUpdate.md +19 -0
  95. data/docs/UpdateVolume.md +23 -0
  96. data/docs/VirtualCores.md +21 -0
  97. data/docs/Volume.md +41 -0
  98. data/docs/VolumeInfo.md +19 -0
  99. data/docs/VolumeReference.md +43 -0
  100. data/docs/Volumes.md +17 -0
  101. data/docs/VolumesClone.md +31 -0
  102. data/docs/VolumesCloneAsyncRequest.md +19 -0
  103. data/docs/VolumesCloneCancel.md +17 -0
  104. data/docs/VolumesCloneCreate.md +19 -0
  105. data/docs/VolumesCloneDetail.md +33 -0
  106. data/docs/VolumesCloneExecute.md +19 -0
  107. data/docs/VolumesCloneRequest.md +19 -0
  108. data/docs/VolumesCloneResponse.md +17 -0
  109. data/docs/VolumesClones.md +17 -0
  110. data/git_push.sh +58 -0
  111. data/ibm_cloud_power.gemspec +38 -0
  112. data/lib/ibm_cloud_power.rb +144 -0
  113. data/lib/ibm_cloud_power/api/p_cloud_events_api.rb +163 -0
  114. data/lib/ibm_cloud_power/api/p_cloud_images_api.rb +473 -0
  115. data/lib/ibm_cloud_power/api/p_cloud_instances_api.rb +210 -0
  116. data/lib/ibm_cloud_power/api/p_cloud_networks_api.rb +719 -0
  117. data/lib/ibm_cloud_power/api/p_cloud_pvm_instances_api.rb +1166 -0
  118. data/lib/ibm_cloud_power/api/p_cloud_sap_api.rb +216 -0
  119. data/lib/ibm_cloud_power/api/p_cloud_snapshots_api.rb +288 -0
  120. data/lib/ibm_cloud_power/api/p_cloud_system_pools_api.rb +82 -0
  121. data/lib/ibm_cloud_power/api/p_cloud_tasks_api.rb +142 -0
  122. data/lib/ibm_cloud_power/api/p_cloud_tenants_api.rb +150 -0
  123. data/lib/ibm_cloud_power/api/p_cloud_tenants_ssh_keys_api.rb +356 -0
  124. data/lib/ibm_cloud_power/api/p_cloud_volumes_api.rb +1065 -0
  125. data/lib/ibm_cloud_power/api_client.rb +387 -0
  126. data/lib/ibm_cloud_power/api_error.rb +57 -0
  127. data/lib/ibm_cloud_power/configuration.rb +241 -0
  128. data/lib/ibm_cloud_power/models/clone_task_reference.rb +229 -0
  129. data/lib/ibm_cloud_power/models/clone_task_status.rb +285 -0
  130. data/lib/ibm_cloud_power/models/cloned_volume.rb +219 -0
  131. data/lib/ibm_cloud_power/models/cloned_volume_detail.rb +227 -0
  132. data/lib/ibm_cloud_power/models/cloud_instance.rb +361 -0
  133. data/lib/ibm_cloud_power/models/cloud_instance_create.rb +294 -0
  134. data/lib/ibm_cloud_power/models/cloud_instance_reference.rb +315 -0
  135. data/lib/ibm_cloud_power/models/cloud_instance_update.rb +249 -0
  136. data/lib/ibm_cloud_power/models/cloud_instance_usage_limits.rb +334 -0
  137. data/lib/ibm_cloud_power/models/create_data_volume.rb +313 -0
  138. data/lib/ibm_cloud_power/models/create_image.rb +360 -0
  139. data/lib/ibm_cloud_power/models/error.rb +217 -0
  140. data/lib/ibm_cloud_power/models/event.rb +357 -0
  141. data/lib/ibm_cloud_power/models/event_user.rb +234 -0
  142. data/lib/ibm_cloud_power/models/events.rb +216 -0
  143. data/lib/ibm_cloud_power/models/export_image.rb +249 -0
  144. data/lib/ibm_cloud_power/models/image.rb +351 -0
  145. data/lib/ibm_cloud_power/models/image_reference.rb +333 -0
  146. data/lib/ibm_cloud_power/models/image_specifications.rb +269 -0
  147. data/lib/ibm_cloud_power/models/image_volume.rb +259 -0
  148. data/lib/ibm_cloud_power/models/images.rb +216 -0
  149. data/lib/ibm_cloud_power/models/ip_address_range.rb +229 -0
  150. data/lib/ibm_cloud_power/models/min_max_default.rb +244 -0
  151. data/lib/ibm_cloud_power/models/multi_volumes_create.rb +313 -0
  152. data/lib/ibm_cloud_power/models/network.rb +395 -0
  153. data/lib/ibm_cloud_power/models/network_create.rb +314 -0
  154. data/lib/ibm_cloud_power/models/network_ip_address_metrics.rb +260 -0
  155. data/lib/ibm_cloud_power/models/network_port.rb +293 -0
  156. data/lib/ibm_cloud_power/models/network_port_create.rb +219 -0
  157. data/lib/ibm_cloud_power/models/network_port_pvm_instance.rb +220 -0
  158. data/lib/ibm_cloud_power/models/network_port_update.rb +219 -0
  159. data/lib/ibm_cloud_power/models/network_ports.rb +216 -0
  160. data/lib/ibm_cloud_power/models/network_reference.rb +325 -0
  161. data/lib/ibm_cloud_power/models/network_update.rb +243 -0
  162. data/lib/ibm_cloud_power/models/networks.rb +216 -0
  163. data/lib/ibm_cloud_power/models/operations.rb +287 -0
  164. data/lib/ibm_cloud_power/models/peering_network.rb +241 -0
  165. data/lib/ibm_cloud_power/models/pin_policy.rb +37 -0
  166. data/lib/ibm_cloud_power/models/pvm_instance.rb +612 -0
  167. data/lib/ibm_cloud_power/models/pvm_instance_action.rb +248 -0
  168. data/lib/ibm_cloud_power/models/pvm_instance_add_network.rb +224 -0
  169. data/lib/ibm_cloud_power/models/pvm_instance_capture.rb +317 -0
  170. data/lib/ibm_cloud_power/models/pvm_instance_clone.rb +328 -0
  171. data/lib/ibm_cloud_power/models/pvm_instance_console.rb +214 -0
  172. data/lib/ibm_cloud_power/models/pvm_instance_create.rb +483 -0
  173. data/lib/ibm_cloud_power/models/pvm_instance_fault.rb +240 -0
  174. data/lib/ibm_cloud_power/models/pvm_instance_health.rb +230 -0
  175. data/lib/ibm_cloud_power/models/pvm_instance_multi_create.rb +279 -0
  176. data/lib/ibm_cloud_power/models/pvm_instance_network.rb +290 -0
  177. data/lib/ibm_cloud_power/models/pvm_instance_networks.rb +216 -0
  178. data/lib/ibm_cloud_power/models/pvm_instance_operation.rb +262 -0
  179. data/lib/ibm_cloud_power/models/pvm_instance_reference.rb +566 -0
  180. data/lib/ibm_cloud_power/models/pvm_instance_remove_network.rb +209 -0
  181. data/lib/ibm_cloud_power/models/pvm_instance_update.rb +322 -0
  182. data/lib/ibm_cloud_power/models/pvm_instance_update_response.rb +292 -0
  183. data/lib/ibm_cloud_power/models/pvm_instance_volume_update.rb +214 -0
  184. data/lib/ibm_cloud_power/models/pvm_instances.rb +216 -0
  185. data/lib/ibm_cloud_power/models/sap_create.rb +311 -0
  186. data/lib/ibm_cloud_power/models/sap_profile.rb +310 -0
  187. data/lib/ibm_cloud_power/models/sap_profile_reference.rb +229 -0
  188. data/lib/ibm_cloud_power/models/sap_profiles.rb +216 -0
  189. data/lib/ibm_cloud_power/models/snapshot.rb +321 -0
  190. data/lib/ibm_cloud_power/models/snapshot_create.rb +236 -0
  191. data/lib/ibm_cloud_power/models/snapshot_create_response.rb +214 -0
  192. data/lib/ibm_cloud_power/models/snapshot_restore.rb +211 -0
  193. data/lib/ibm_cloud_power/models/snapshot_update.rb +219 -0
  194. data/lib/ibm_cloud_power/models/snapshots.rb +216 -0
  195. data/lib/ibm_cloud_power/models/software_licenses.rb +257 -0
  196. data/lib/ibm_cloud_power/models/src.rb +219 -0
  197. data/lib/ibm_cloud_power/models/ssh_key.rb +239 -0
  198. data/lib/ibm_cloud_power/models/ssh_keys.rb +216 -0
  199. data/lib/ibm_cloud_power/models/stock_image.rb +230 -0
  200. data/lib/ibm_cloud_power/models/system.rb +239 -0
  201. data/lib/ibm_cloud_power/models/system_pool.rb +277 -0
  202. data/lib/ibm_cloud_power/models/task.rb +334 -0
  203. data/lib/ibm_cloud_power/models/task_reference.rb +229 -0
  204. data/lib/ibm_cloud_power/models/tenant.rb +295 -0
  205. data/lib/ibm_cloud_power/models/tenant_update.rb +221 -0
  206. data/lib/ibm_cloud_power/models/update_volume.rb +239 -0
  207. data/lib/ibm_cloud_power/models/virtual_cores.rb +253 -0
  208. data/lib/ibm_cloud_power/models/volume.rb +356 -0
  209. data/lib/ibm_cloud_power/models/volume_info.rb +219 -0
  210. data/lib/ibm_cloud_power/models/volume_reference.rb +396 -0
  211. data/lib/ibm_cloud_power/models/volumes.rb +216 -0
  212. data/lib/ibm_cloud_power/models/volumes_clone.rb +284 -0
  213. data/lib/ibm_cloud_power/models/volumes_clone_async_request.rb +231 -0
  214. data/lib/ibm_cloud_power/models/volumes_clone_cancel.rb +209 -0
  215. data/lib/ibm_cloud_power/models/volumes_clone_create.rb +231 -0
  216. data/lib/ibm_cloud_power/models/volumes_clone_detail.rb +296 -0
  217. data/lib/ibm_cloud_power/models/volumes_clone_execute.rb +224 -0
  218. data/lib/ibm_cloud_power/models/volumes_clone_request.rb +231 -0
  219. data/lib/ibm_cloud_power/models/volumes_clone_response.rb +211 -0
  220. data/lib/ibm_cloud_power/models/volumes_clones.rb +211 -0
  221. data/lib/ibm_cloud_power/version.rb +15 -0
  222. data/spec/api/p_cloud_events_api_spec.rb +62 -0
  223. data/spec/api/p_cloud_images_api_spec.rb +117 -0
  224. data/spec/api/p_cloud_instances_api_spec.rb +69 -0
  225. data/spec/api/p_cloud_networks_api_spec.rb +161 -0
  226. data/spec/api/p_cloud_pvm_instances_api_spec.rb +240 -0
  227. data/spec/api/p_cloud_sap_api_spec.rb +70 -0
  228. data/spec/api/p_cloud_snapshots_api_spec.rb +83 -0
  229. data/spec/api/p_cloud_system_pools_api_spec.rb +46 -0
  230. data/spec/api/p_cloud_tasks_api_spec.rb +57 -0
  231. data/spec/api/p_cloud_tenants_api_spec.rb +58 -0
  232. data/spec/api/p_cloud_tenants_ssh_keys_api_spec.rb +95 -0
  233. data/spec/api/p_cloud_volumes_api_spec.rb +223 -0
  234. data/spec/api_client_spec.rb +226 -0
  235. data/spec/configuration_spec.rb +42 -0
  236. data/spec/models/clone_task_reference_spec.rb +47 -0
  237. data/spec/models/clone_task_status_spec.rb +63 -0
  238. data/spec/models/cloned_volume_detail_spec.rb +47 -0
  239. data/spec/models/cloned_volume_spec.rb +47 -0
  240. data/spec/models/cloud_instance_create_spec.rb +77 -0
  241. data/spec/models/cloud_instance_reference_spec.rb +83 -0
  242. data/spec/models/cloud_instance_spec.rb +101 -0
  243. data/spec/models/cloud_instance_update_spec.rb +65 -0
  244. data/spec/models/cloud_instance_usage_limits_spec.rb +101 -0
  245. data/spec/models/create_data_volume_spec.rb +81 -0
  246. data/spec/models/create_image_spec.rb +109 -0
  247. data/spec/models/error_spec.rb +47 -0
  248. data/spec/models/event_spec.rb +93 -0
  249. data/spec/models/event_user_spec.rb +53 -0
  250. data/spec/models/events_spec.rb +41 -0
  251. data/spec/models/export_image_spec.rb +59 -0
  252. data/spec/models/image_reference_spec.rb +89 -0
  253. data/spec/models/image_spec.rb +107 -0
  254. data/spec/models/image_specifications_spec.rb +77 -0
  255. data/spec/models/image_volume_spec.rb +59 -0
  256. data/spec/models/images_spec.rb +41 -0
  257. data/spec/models/ip_address_range_spec.rb +47 -0
  258. data/spec/models/min_max_default_spec.rb +53 -0
  259. data/spec/models/multi_volumes_create_spec.rb +81 -0
  260. data/spec/models/network_create_spec.rb +81 -0
  261. data/spec/models/network_ip_address_metrics_spec.rb +59 -0
  262. data/spec/models/network_port_create_spec.rb +47 -0
  263. data/spec/models/network_port_pvm_instance_spec.rb +47 -0
  264. data/spec/models/network_port_spec.rb +77 -0
  265. data/spec/models/network_port_update_spec.rb +47 -0
  266. data/spec/models/network_ports_spec.rb +41 -0
  267. data/spec/models/network_reference_spec.rb +75 -0
  268. data/spec/models/network_spec.rb +105 -0
  269. data/spec/models/network_update_spec.rb +59 -0
  270. data/spec/models/networks_spec.rb +41 -0
  271. data/spec/models/operations_spec.rb +65 -0
  272. data/spec/models/peering_network_spec.rb +53 -0
  273. data/spec/models/pin_policy_spec.rb +35 -0
  274. data/spec/models/pvm_instance_action_spec.rb +45 -0
  275. data/spec/models/pvm_instance_add_network_spec.rb +47 -0
  276. data/spec/models/pvm_instance_capture_spec.rb +81 -0
  277. data/spec/models/pvm_instance_clone_spec.rb +87 -0
  278. data/spec/models/pvm_instance_console_spec.rb +41 -0
  279. data/spec/models/pvm_instance_create_spec.rb +161 -0
  280. data/spec/models/pvm_instance_fault_spec.rb +59 -0
  281. data/spec/models/pvm_instance_health_spec.rb +53 -0
  282. data/spec/models/pvm_instance_multi_create_spec.rb +61 -0
  283. data/spec/models/pvm_instance_network_spec.rb +89 -0
  284. data/spec/models/pvm_instance_networks_spec.rb +41 -0
  285. data/spec/models/pvm_instance_operation_spec.rb +51 -0
  286. data/spec/models/pvm_instance_reference_spec.rb +207 -0
  287. data/spec/models/pvm_instance_remove_network_spec.rb +41 -0
  288. data/spec/models/pvm_instance_spec.rb +225 -0
  289. data/spec/models/pvm_instance_update_response_spec.rb +75 -0
  290. data/spec/models/pvm_instance_update_spec.rb +93 -0
  291. data/spec/models/pvm_instance_volume_update_spec.rb +41 -0
  292. data/spec/models/pvm_instances_spec.rb +41 -0
  293. data/spec/models/sap_create_spec.rb +89 -0
  294. data/spec/models/sap_profile_reference_spec.rb +47 -0
  295. data/spec/models/sap_profile_spec.rb +69 -0
  296. data/spec/models/sap_profiles_spec.rb +41 -0
  297. data/spec/models/snapshot_create_response_spec.rb +41 -0
  298. data/spec/models/snapshot_create_spec.rb +53 -0
  299. data/spec/models/snapshot_restore_spec.rb +41 -0
  300. data/spec/models/snapshot_spec.rb +95 -0
  301. data/spec/models/snapshot_update_spec.rb +47 -0
  302. data/spec/models/snapshots_spec.rb +41 -0
  303. data/spec/models/software_licenses_spec.rb +65 -0
  304. data/spec/models/src_spec.rb +47 -0
  305. data/spec/models/ssh_key_spec.rb +53 -0
  306. data/spec/models/ssh_keys_spec.rb +41 -0
  307. data/spec/models/stock_image_spec.rb +53 -0
  308. data/spec/models/system_pool_spec.rb +83 -0
  309. data/spec/models/system_spec.rb +53 -0
  310. data/spec/models/task_reference_spec.rb +47 -0
  311. data/spec/models/task_spec.rb +89 -0
  312. data/spec/models/tenant_spec.rb +77 -0
  313. data/spec/models/tenant_update_spec.rb +47 -0
  314. data/spec/models/update_volume_spec.rb +59 -0
  315. data/spec/models/virtual_cores_spec.rb +53 -0
  316. data/spec/models/volume_info_spec.rb +47 -0
  317. data/spec/models/volume_reference_spec.rb +119 -0
  318. data/spec/models/volume_spec.rb +113 -0
  319. data/spec/models/volumes_clone_async_request_spec.rb +47 -0
  320. data/spec/models/volumes_clone_cancel_spec.rb +41 -0
  321. data/spec/models/volumes_clone_create_spec.rb +47 -0
  322. data/spec/models/volumes_clone_detail_spec.rb +89 -0
  323. data/spec/models/volumes_clone_execute_spec.rb +47 -0
  324. data/spec/models/volumes_clone_request_spec.rb +47 -0
  325. data/spec/models/volumes_clone_response_spec.rb +47 -0
  326. data/spec/models/volumes_clone_spec.rb +83 -0
  327. data/spec/models/volumes_clones_spec.rb +41 -0
  328. data/spec/models/volumes_spec.rb +41 -0
  329. data/spec/spec_helper.rb +111 -0
  330. metadata +519 -0
@@ -0,0 +1,210 @@
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: 5.0.0-beta2
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IbmCloudPower
16
+ class PCloudInstancesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete a Power Cloud instance
23
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Object]
26
+ def pcloud_cloudinstances_delete(cloud_instance_id, opts = {})
27
+ data, _status_code, _headers = pcloud_cloudinstances_delete_with_http_info(cloud_instance_id, opts)
28
+ data
29
+ end
30
+
31
+ # Delete a Power Cloud instance
32
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
+ def pcloud_cloudinstances_delete_with_http_info(cloud_instance_id, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: PCloudInstancesApi.pcloud_cloudinstances_delete ...'
38
+ end
39
+ # verify the required parameter 'cloud_instance_id' is set
40
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
41
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudInstancesApi.pcloud_cloudinstances_delete"
42
+ end
43
+ # resource path
44
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
53
+
54
+ # form parameters
55
+ form_params = opts[:form_params] || {}
56
+
57
+ # http body (model)
58
+ post_body = opts[:body]
59
+
60
+ # return_type
61
+ return_type = opts[:return_type] || 'Object'
62
+
63
+ # auth_names
64
+ auth_names = opts[:auth_names] || []
65
+
66
+ new_options = opts.merge(
67
+ :header_params => header_params,
68
+ :query_params => query_params,
69
+ :form_params => form_params,
70
+ :body => post_body,
71
+ :auth_names => auth_names,
72
+ :return_type => return_type
73
+ )
74
+
75
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
76
+ if @api_client.config.debugging
77
+ @api_client.config.logger.debug "API called: PCloudInstancesApi#pcloud_cloudinstances_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
78
+ end
79
+ return data, status_code, headers
80
+ end
81
+
82
+ # Get a cloud instance's current state or information
83
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
84
+ # @param [Hash] opts the optional parameters
85
+ # @return [CloudInstance]
86
+ def pcloud_cloudinstances_get(cloud_instance_id, opts = {})
87
+ data, _status_code, _headers = pcloud_cloudinstances_get_with_http_info(cloud_instance_id, opts)
88
+ data
89
+ end
90
+
91
+ # Get a cloud instance&#39;s current state or information
92
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Array<(CloudInstance, Integer, Hash)>] CloudInstance data, response status code and response headers
95
+ def pcloud_cloudinstances_get_with_http_info(cloud_instance_id, opts = {})
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug 'Calling API: PCloudInstancesApi.pcloud_cloudinstances_get ...'
98
+ end
99
+ # verify the required parameter 'cloud_instance_id' is set
100
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
101
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudInstancesApi.pcloud_cloudinstances_get"
102
+ end
103
+ # resource path
104
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
105
+
106
+ # query parameters
107
+ query_params = opts[:query_params] || {}
108
+
109
+ # header parameters
110
+ header_params = opts[:header_params] || {}
111
+ # HTTP header 'Accept' (if needed)
112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
113
+
114
+ # form parameters
115
+ form_params = opts[:form_params] || {}
116
+
117
+ # http body (model)
118
+ post_body = opts[:body]
119
+
120
+ # return_type
121
+ return_type = opts[:return_type] || 'CloudInstance'
122
+
123
+ # auth_names
124
+ auth_names = opts[:auth_names] || []
125
+
126
+ new_options = opts.merge(
127
+ :header_params => header_params,
128
+ :query_params => query_params,
129
+ :form_params => form_params,
130
+ :body => post_body,
131
+ :auth_names => auth_names,
132
+ :return_type => return_type
133
+ )
134
+
135
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
136
+ if @api_client.config.debugging
137
+ @api_client.config.logger.debug "API called: PCloudInstancesApi#pcloud_cloudinstances_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
138
+ end
139
+ return data, status_code, headers
140
+ end
141
+
142
+ # Update or upgrade a cloud instance
143
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
144
+ # @param body [CloudInstanceUpdate] Parameters for updating a Power Cloud instance
145
+ # @param [Hash] opts the optional parameters
146
+ # @return [CloudInstance]
147
+ def pcloud_cloudinstances_put(cloud_instance_id, body, opts = {})
148
+ data, _status_code, _headers = pcloud_cloudinstances_put_with_http_info(cloud_instance_id, body, opts)
149
+ data
150
+ end
151
+
152
+ # Update or upgrade a cloud instance
153
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
154
+ # @param body [CloudInstanceUpdate] Parameters for updating a Power Cloud instance
155
+ # @param [Hash] opts the optional parameters
156
+ # @return [Array<(CloudInstance, Integer, Hash)>] CloudInstance data, response status code and response headers
157
+ def pcloud_cloudinstances_put_with_http_info(cloud_instance_id, body, opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: PCloudInstancesApi.pcloud_cloudinstances_put ...'
160
+ end
161
+ # verify the required parameter 'cloud_instance_id' is set
162
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
163
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudInstancesApi.pcloud_cloudinstances_put"
164
+ end
165
+ # verify the required parameter 'body' is set
166
+ if @api_client.config.client_side_validation && body.nil?
167
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudInstancesApi.pcloud_cloudinstances_put"
168
+ end
169
+ # resource path
170
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
171
+
172
+ # query parameters
173
+ query_params = opts[:query_params] || {}
174
+
175
+ # header parameters
176
+ header_params = opts[:header_params] || {}
177
+ # HTTP header 'Accept' (if needed)
178
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
179
+ # HTTP header 'Content-Type'
180
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
181
+
182
+ # form parameters
183
+ form_params = opts[:form_params] || {}
184
+
185
+ # http body (model)
186
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
187
+
188
+ # return_type
189
+ return_type = opts[:return_type] || 'CloudInstance'
190
+
191
+ # auth_names
192
+ auth_names = opts[:auth_names] || []
193
+
194
+ new_options = opts.merge(
195
+ :header_params => header_params,
196
+ :query_params => query_params,
197
+ :form_params => form_params,
198
+ :body => post_body,
199
+ :auth_names => auth_names,
200
+ :return_type => return_type
201
+ )
202
+
203
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: PCloudInstancesApi#pcloud_cloudinstances_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,719 @@
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: 5.0.0-beta2
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module IbmCloudPower
16
+ class PCloudNetworksApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete a network
23
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
24
+ # @param network_id [String] Network ID
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
27
+ def pcloud_networks_delete(cloud_instance_id, network_id, opts = {})
28
+ data, _status_code, _headers = pcloud_networks_delete_with_http_info(cloud_instance_id, network_id, opts)
29
+ data
30
+ end
31
+
32
+ # Delete a network
33
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
34
+ # @param network_id [String] Network ID
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
+ def pcloud_networks_delete_with_http_info(cloud_instance_id, network_id, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_delete ...'
40
+ end
41
+ # verify the required parameter 'cloud_instance_id' is set
42
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_delete"
44
+ end
45
+ # verify the required parameter 'network_id' is set
46
+ if @api_client.config.client_side_validation && network_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_delete"
48
+ end
49
+ # resource path
50
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
59
+
60
+ # form parameters
61
+ form_params = opts[:form_params] || {}
62
+
63
+ # http body (model)
64
+ post_body = opts[:body]
65
+
66
+ # return_type
67
+ return_type = opts[:return_type] || 'Object'
68
+
69
+ # auth_names
70
+ auth_names = opts[:auth_names] || []
71
+
72
+ new_options = opts.merge(
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Get a network's current state or information
89
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
90
+ # @param network_id [String] Network ID
91
+ # @param [Hash] opts the optional parameters
92
+ # @return [Network]
93
+ def pcloud_networks_get(cloud_instance_id, network_id, opts = {})
94
+ data, _status_code, _headers = pcloud_networks_get_with_http_info(cloud_instance_id, network_id, opts)
95
+ data
96
+ end
97
+
98
+ # Get a network&#39;s current state or information
99
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
100
+ # @param network_id [String] Network ID
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(Network, Integer, Hash)>] Network data, response status code and response headers
103
+ def pcloud_networks_get_with_http_info(cloud_instance_id, network_id, opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_get ...'
106
+ end
107
+ # verify the required parameter 'cloud_instance_id' is set
108
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
109
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_get"
110
+ end
111
+ # verify the required parameter 'network_id' is set
112
+ if @api_client.config.client_side_validation && network_id.nil?
113
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_get"
114
+ end
115
+ # resource path
116
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
117
+
118
+ # query parameters
119
+ query_params = opts[:query_params] || {}
120
+
121
+ # header parameters
122
+ header_params = opts[:header_params] || {}
123
+ # HTTP header 'Accept' (if needed)
124
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
125
+
126
+ # form parameters
127
+ form_params = opts[:form_params] || {}
128
+
129
+ # http body (model)
130
+ post_body = opts[:body]
131
+
132
+ # return_type
133
+ return_type = opts[:return_type] || 'Network'
134
+
135
+ # auth_names
136
+ auth_names = opts[:auth_names] || []
137
+
138
+ new_options = opts.merge(
139
+ :header_params => header_params,
140
+ :query_params => query_params,
141
+ :form_params => form_params,
142
+ :body => post_body,
143
+ :auth_names => auth_names,
144
+ :return_type => return_type
145
+ )
146
+
147
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
148
+ if @api_client.config.debugging
149
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
150
+ end
151
+ return data, status_code, headers
152
+ end
153
+
154
+ # Get all networks in this cloud instance
155
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
156
+ # @param [Hash] opts the optional parameters
157
+ # @option opts [String] :filter A filter expression that filters resources listed in the response
158
+ # @return [Networks]
159
+ def pcloud_networks_getall(cloud_instance_id, opts = {})
160
+ data, _status_code, _headers = pcloud_networks_getall_with_http_info(cloud_instance_id, opts)
161
+ data
162
+ end
163
+
164
+ # Get all networks in this cloud instance
165
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
166
+ # @param [Hash] opts the optional parameters
167
+ # @option opts [String] :filter A filter expression that filters resources listed in the response
168
+ # @return [Array<(Networks, Integer, Hash)>] Networks data, response status code and response headers
169
+ def pcloud_networks_getall_with_http_info(cloud_instance_id, opts = {})
170
+ if @api_client.config.debugging
171
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_getall ...'
172
+ end
173
+ # verify the required parameter 'cloud_instance_id' is set
174
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
175
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_getall"
176
+ end
177
+ # resource path
178
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
179
+
180
+ # query parameters
181
+ query_params = opts[:query_params] || {}
182
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
183
+
184
+ # header parameters
185
+ header_params = opts[:header_params] || {}
186
+ # HTTP header 'Accept' (if needed)
187
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
188
+
189
+ # form parameters
190
+ form_params = opts[:form_params] || {}
191
+
192
+ # http body (model)
193
+ post_body = opts[:body]
194
+
195
+ # return_type
196
+ return_type = opts[:return_type] || 'Networks'
197
+
198
+ # auth_names
199
+ auth_names = opts[:auth_names] || []
200
+
201
+ new_options = opts.merge(
202
+ :header_params => header_params,
203
+ :query_params => query_params,
204
+ :form_params => form_params,
205
+ :body => post_body,
206
+ :auth_names => auth_names,
207
+ :return_type => return_type
208
+ )
209
+
210
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
213
+ end
214
+ return data, status_code, headers
215
+ end
216
+
217
+ # Delete a network port
218
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
219
+ # @param network_id [String] Network ID
220
+ # @param port_id [String] Port ID
221
+ # @param [Hash] opts the optional parameters
222
+ # @return [Object]
223
+ def pcloud_networks_ports_delete(cloud_instance_id, network_id, port_id, opts = {})
224
+ data, _status_code, _headers = pcloud_networks_ports_delete_with_http_info(cloud_instance_id, network_id, port_id, opts)
225
+ data
226
+ end
227
+
228
+ # Delete a network port
229
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
230
+ # @param network_id [String] Network ID
231
+ # @param port_id [String] Port ID
232
+ # @param [Hash] opts the optional parameters
233
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
234
+ def pcloud_networks_ports_delete_with_http_info(cloud_instance_id, network_id, port_id, opts = {})
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_ports_delete ...'
237
+ end
238
+ # verify the required parameter 'cloud_instance_id' is set
239
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
240
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_ports_delete"
241
+ end
242
+ # verify the required parameter 'network_id' is set
243
+ if @api_client.config.client_side_validation && network_id.nil?
244
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_ports_delete"
245
+ end
246
+ # verify the required parameter 'port_id' is set
247
+ if @api_client.config.client_side_validation && port_id.nil?
248
+ fail ArgumentError, "Missing the required parameter 'port_id' when calling PCloudNetworksApi.pcloud_networks_ports_delete"
249
+ end
250
+ # resource path
251
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'port_id' + '}', CGI.escape(port_id.to_s))
252
+
253
+ # query parameters
254
+ query_params = opts[:query_params] || {}
255
+
256
+ # header parameters
257
+ header_params = opts[:header_params] || {}
258
+ # HTTP header 'Accept' (if needed)
259
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
260
+
261
+ # form parameters
262
+ form_params = opts[:form_params] || {}
263
+
264
+ # http body (model)
265
+ post_body = opts[:body]
266
+
267
+ # return_type
268
+ return_type = opts[:return_type] || 'Object'
269
+
270
+ # auth_names
271
+ auth_names = opts[:auth_names] || []
272
+
273
+ new_options = opts.merge(
274
+ :header_params => header_params,
275
+ :query_params => query_params,
276
+ :form_params => form_params,
277
+ :body => post_body,
278
+ :auth_names => auth_names,
279
+ :return_type => return_type
280
+ )
281
+
282
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
283
+ if @api_client.config.debugging
284
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_ports_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
285
+ end
286
+ return data, status_code, headers
287
+ end
288
+
289
+ # Get a port's information
290
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
291
+ # @param network_id [String] Network ID
292
+ # @param port_id [String] Port ID
293
+ # @param [Hash] opts the optional parameters
294
+ # @return [NetworkPort]
295
+ def pcloud_networks_ports_get(cloud_instance_id, network_id, port_id, opts = {})
296
+ data, _status_code, _headers = pcloud_networks_ports_get_with_http_info(cloud_instance_id, network_id, port_id, opts)
297
+ data
298
+ end
299
+
300
+ # Get a port&#39;s information
301
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
302
+ # @param network_id [String] Network ID
303
+ # @param port_id [String] Port ID
304
+ # @param [Hash] opts the optional parameters
305
+ # @return [Array<(NetworkPort, Integer, Hash)>] NetworkPort data, response status code and response headers
306
+ def pcloud_networks_ports_get_with_http_info(cloud_instance_id, network_id, port_id, opts = {})
307
+ if @api_client.config.debugging
308
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_ports_get ...'
309
+ end
310
+ # verify the required parameter 'cloud_instance_id' is set
311
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
312
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_ports_get"
313
+ end
314
+ # verify the required parameter 'network_id' is set
315
+ if @api_client.config.client_side_validation && network_id.nil?
316
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_ports_get"
317
+ end
318
+ # verify the required parameter 'port_id' is set
319
+ if @api_client.config.client_side_validation && port_id.nil?
320
+ fail ArgumentError, "Missing the required parameter 'port_id' when calling PCloudNetworksApi.pcloud_networks_ports_get"
321
+ end
322
+ # resource path
323
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'port_id' + '}', CGI.escape(port_id.to_s))
324
+
325
+ # query parameters
326
+ query_params = opts[:query_params] || {}
327
+
328
+ # header parameters
329
+ header_params = opts[:header_params] || {}
330
+ # HTTP header 'Accept' (if needed)
331
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'applicaton/json'])
332
+
333
+ # form parameters
334
+ form_params = opts[:form_params] || {}
335
+
336
+ # http body (model)
337
+ post_body = opts[:body]
338
+
339
+ # return_type
340
+ return_type = opts[:return_type] || 'NetworkPort'
341
+
342
+ # auth_names
343
+ auth_names = opts[:auth_names] || []
344
+
345
+ new_options = opts.merge(
346
+ :header_params => header_params,
347
+ :query_params => query_params,
348
+ :form_params => form_params,
349
+ :body => post_body,
350
+ :auth_names => auth_names,
351
+ :return_type => return_type
352
+ )
353
+
354
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
355
+ if @api_client.config.debugging
356
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_ports_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
357
+ end
358
+ return data, status_code, headers
359
+ end
360
+
361
+ # Get all ports for this network
362
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
363
+ # @param network_id [String] Network ID
364
+ # @param [Hash] opts the optional parameters
365
+ # @return [NetworkPorts]
366
+ def pcloud_networks_ports_getall(cloud_instance_id, network_id, opts = {})
367
+ data, _status_code, _headers = pcloud_networks_ports_getall_with_http_info(cloud_instance_id, network_id, opts)
368
+ data
369
+ end
370
+
371
+ # Get all ports for this network
372
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
373
+ # @param network_id [String] Network ID
374
+ # @param [Hash] opts the optional parameters
375
+ # @return [Array<(NetworkPorts, Integer, Hash)>] NetworkPorts data, response status code and response headers
376
+ def pcloud_networks_ports_getall_with_http_info(cloud_instance_id, network_id, opts = {})
377
+ if @api_client.config.debugging
378
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_ports_getall ...'
379
+ end
380
+ # verify the required parameter 'cloud_instance_id' is set
381
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
382
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_ports_getall"
383
+ end
384
+ # verify the required parameter 'network_id' is set
385
+ if @api_client.config.client_side_validation && network_id.nil?
386
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_ports_getall"
387
+ end
388
+ # resource path
389
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
390
+
391
+ # query parameters
392
+ query_params = opts[:query_params] || {}
393
+
394
+ # header parameters
395
+ header_params = opts[:header_params] || {}
396
+ # HTTP header 'Accept' (if needed)
397
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
398
+
399
+ # form parameters
400
+ form_params = opts[:form_params] || {}
401
+
402
+ # http body (model)
403
+ post_body = opts[:body]
404
+
405
+ # return_type
406
+ return_type = opts[:return_type] || 'NetworkPorts'
407
+
408
+ # auth_names
409
+ auth_names = opts[:auth_names] || []
410
+
411
+ new_options = opts.merge(
412
+ :header_params => header_params,
413
+ :query_params => query_params,
414
+ :form_params => form_params,
415
+ :body => post_body,
416
+ :auth_names => auth_names,
417
+ :return_type => return_type
418
+ )
419
+
420
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
421
+ if @api_client.config.debugging
422
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_ports_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
423
+ end
424
+ return data, status_code, headers
425
+ end
426
+
427
+ # Perform port addition, deletion, and listing
428
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
429
+ # @param network_id [String] Network ID
430
+ # @param [Hash] opts the optional parameters
431
+ # @option opts [NetworkPortCreate] :body Create a Network Port
432
+ # @return [NetworkPort]
433
+ def pcloud_networks_ports_post(cloud_instance_id, network_id, opts = {})
434
+ data, _status_code, _headers = pcloud_networks_ports_post_with_http_info(cloud_instance_id, network_id, opts)
435
+ data
436
+ end
437
+
438
+ # Perform port addition, deletion, and listing
439
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
440
+ # @param network_id [String] Network ID
441
+ # @param [Hash] opts the optional parameters
442
+ # @option opts [NetworkPortCreate] :body Create a Network Port
443
+ # @return [Array<(NetworkPort, Integer, Hash)>] NetworkPort data, response status code and response headers
444
+ def pcloud_networks_ports_post_with_http_info(cloud_instance_id, network_id, opts = {})
445
+ if @api_client.config.debugging
446
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_ports_post ...'
447
+ end
448
+ # verify the required parameter 'cloud_instance_id' is set
449
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
450
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_ports_post"
451
+ end
452
+ # verify the required parameter 'network_id' is set
453
+ if @api_client.config.client_side_validation && network_id.nil?
454
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_ports_post"
455
+ end
456
+ # resource path
457
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
458
+
459
+ # query parameters
460
+ query_params = opts[:query_params] || {}
461
+
462
+ # header parameters
463
+ header_params = opts[:header_params] || {}
464
+ # HTTP header 'Accept' (if needed)
465
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
466
+ # HTTP header 'Content-Type'
467
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
468
+
469
+ # form parameters
470
+ form_params = opts[:form_params] || {}
471
+
472
+ # http body (model)
473
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
474
+
475
+ # return_type
476
+ return_type = opts[:return_type] || 'NetworkPort'
477
+
478
+ # auth_names
479
+ auth_names = opts[:auth_names] || []
480
+
481
+ new_options = opts.merge(
482
+ :header_params => header_params,
483
+ :query_params => query_params,
484
+ :form_params => form_params,
485
+ :body => post_body,
486
+ :auth_names => auth_names,
487
+ :return_type => return_type
488
+ )
489
+
490
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
491
+ if @api_client.config.debugging
492
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_ports_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
493
+ end
494
+ return data, status_code, headers
495
+ end
496
+
497
+ # Update a port's information
498
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
499
+ # @param network_id [String] Network ID
500
+ # @param port_id [String] Port ID
501
+ # @param body [NetworkPortUpdate] Parameters for updating a Port
502
+ # @param [Hash] opts the optional parameters
503
+ # @return [NetworkPort]
504
+ def pcloud_networks_ports_put(cloud_instance_id, network_id, port_id, body, opts = {})
505
+ data, _status_code, _headers = pcloud_networks_ports_put_with_http_info(cloud_instance_id, network_id, port_id, body, opts)
506
+ data
507
+ end
508
+
509
+ # Update a port&#39;s information
510
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
511
+ # @param network_id [String] Network ID
512
+ # @param port_id [String] Port ID
513
+ # @param body [NetworkPortUpdate] Parameters for updating a Port
514
+ # @param [Hash] opts the optional parameters
515
+ # @return [Array<(NetworkPort, Integer, Hash)>] NetworkPort data, response status code and response headers
516
+ def pcloud_networks_ports_put_with_http_info(cloud_instance_id, network_id, port_id, body, opts = {})
517
+ if @api_client.config.debugging
518
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_ports_put ...'
519
+ end
520
+ # verify the required parameter 'cloud_instance_id' is set
521
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
522
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_ports_put"
523
+ end
524
+ # verify the required parameter 'network_id' is set
525
+ if @api_client.config.client_side_validation && network_id.nil?
526
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_ports_put"
527
+ end
528
+ # verify the required parameter 'port_id' is set
529
+ if @api_client.config.client_side_validation && port_id.nil?
530
+ fail ArgumentError, "Missing the required parameter 'port_id' when calling PCloudNetworksApi.pcloud_networks_ports_put"
531
+ end
532
+ # verify the required parameter 'body' is set
533
+ if @api_client.config.client_side_validation && body.nil?
534
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudNetworksApi.pcloud_networks_ports_put"
535
+ end
536
+ # resource path
537
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}/ports/{port_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s)).sub('{' + 'port_id' + '}', CGI.escape(port_id.to_s))
538
+
539
+ # query parameters
540
+ query_params = opts[:query_params] || {}
541
+
542
+ # header parameters
543
+ header_params = opts[:header_params] || {}
544
+ # HTTP header 'Accept' (if needed)
545
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
546
+ # HTTP header 'Content-Type'
547
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
548
+
549
+ # form parameters
550
+ form_params = opts[:form_params] || {}
551
+
552
+ # http body (model)
553
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
554
+
555
+ # return_type
556
+ return_type = opts[:return_type] || 'NetworkPort'
557
+
558
+ # auth_names
559
+ auth_names = opts[:auth_names] || []
560
+
561
+ new_options = opts.merge(
562
+ :header_params => header_params,
563
+ :query_params => query_params,
564
+ :form_params => form_params,
565
+ :body => post_body,
566
+ :auth_names => auth_names,
567
+ :return_type => return_type
568
+ )
569
+
570
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
571
+ if @api_client.config.debugging
572
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_ports_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
573
+ end
574
+ return data, status_code, headers
575
+ end
576
+
577
+ # Create a new network
578
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
579
+ # @param body [NetworkCreate] Parameters for the creation of a new network
580
+ # @param [Hash] opts the optional parameters
581
+ # @return [Network]
582
+ def pcloud_networks_post(cloud_instance_id, body, opts = {})
583
+ data, _status_code, _headers = pcloud_networks_post_with_http_info(cloud_instance_id, body, opts)
584
+ data
585
+ end
586
+
587
+ # Create a new network
588
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
589
+ # @param body [NetworkCreate] Parameters for the creation of a new network
590
+ # @param [Hash] opts the optional parameters
591
+ # @return [Array<(Network, Integer, Hash)>] Network data, response status code and response headers
592
+ def pcloud_networks_post_with_http_info(cloud_instance_id, body, opts = {})
593
+ if @api_client.config.debugging
594
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_post ...'
595
+ end
596
+ # verify the required parameter 'cloud_instance_id' is set
597
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
598
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_post"
599
+ end
600
+ # verify the required parameter 'body' is set
601
+ if @api_client.config.client_side_validation && body.nil?
602
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudNetworksApi.pcloud_networks_post"
603
+ end
604
+ # resource path
605
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
606
+
607
+ # query parameters
608
+ query_params = opts[:query_params] || {}
609
+
610
+ # header parameters
611
+ header_params = opts[:header_params] || {}
612
+ # HTTP header 'Accept' (if needed)
613
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
614
+ # HTTP header 'Content-Type'
615
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
616
+
617
+ # form parameters
618
+ form_params = opts[:form_params] || {}
619
+
620
+ # http body (model)
621
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
622
+
623
+ # return_type
624
+ return_type = opts[:return_type] || 'Network'
625
+
626
+ # auth_names
627
+ auth_names = opts[:auth_names] || []
628
+
629
+ new_options = opts.merge(
630
+ :header_params => header_params,
631
+ :query_params => query_params,
632
+ :form_params => form_params,
633
+ :body => post_body,
634
+ :auth_names => auth_names,
635
+ :return_type => return_type
636
+ )
637
+
638
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
639
+ if @api_client.config.debugging
640
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
641
+ end
642
+ return data, status_code, headers
643
+ end
644
+
645
+ # Update a network
646
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
647
+ # @param network_id [String] Network ID
648
+ # @param body [NetworkUpdate] Parameters to update a Network
649
+ # @param [Hash] opts the optional parameters
650
+ # @return [Network]
651
+ def pcloud_networks_put(cloud_instance_id, network_id, body, opts = {})
652
+ data, _status_code, _headers = pcloud_networks_put_with_http_info(cloud_instance_id, network_id, body, opts)
653
+ data
654
+ end
655
+
656
+ # Update a network
657
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
658
+ # @param network_id [String] Network ID
659
+ # @param body [NetworkUpdate] Parameters to update a Network
660
+ # @param [Hash] opts the optional parameters
661
+ # @return [Array<(Network, Integer, Hash)>] Network data, response status code and response headers
662
+ def pcloud_networks_put_with_http_info(cloud_instance_id, network_id, body, opts = {})
663
+ if @api_client.config.debugging
664
+ @api_client.config.logger.debug 'Calling API: PCloudNetworksApi.pcloud_networks_put ...'
665
+ end
666
+ # verify the required parameter 'cloud_instance_id' is set
667
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
668
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudNetworksApi.pcloud_networks_put"
669
+ end
670
+ # verify the required parameter 'network_id' is set
671
+ if @api_client.config.client_side_validation && network_id.nil?
672
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudNetworksApi.pcloud_networks_put"
673
+ end
674
+ # verify the required parameter 'body' is set
675
+ if @api_client.config.client_side_validation && body.nil?
676
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudNetworksApi.pcloud_networks_put"
677
+ end
678
+ # resource path
679
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/networks/{network_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
680
+
681
+ # query parameters
682
+ query_params = opts[:query_params] || {}
683
+
684
+ # header parameters
685
+ header_params = opts[:header_params] || {}
686
+ # HTTP header 'Accept' (if needed)
687
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
688
+ # HTTP header 'Content-Type'
689
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
690
+
691
+ # form parameters
692
+ form_params = opts[:form_params] || {}
693
+
694
+ # http body (model)
695
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
696
+
697
+ # return_type
698
+ return_type = opts[:return_type] || 'Network'
699
+
700
+ # auth_names
701
+ auth_names = opts[:auth_names] || []
702
+
703
+ new_options = opts.merge(
704
+ :header_params => header_params,
705
+ :query_params => query_params,
706
+ :form_params => form_params,
707
+ :body => post_body,
708
+ :auth_names => auth_names,
709
+ :return_type => return_type
710
+ )
711
+
712
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
713
+ if @api_client.config.debugging
714
+ @api_client.config.logger.debug "API called: PCloudNetworksApi#pcloud_networks_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
715
+ end
716
+ return data, status_code, headers
717
+ end
718
+ end
719
+ end