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,1166 @@
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 PCloudPVMInstancesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Perform an action (start stop reboot immediate-shutdown reset) on a PVMInstance
23
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
24
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
25
+ # @param body [PVMInstanceAction] Parameters for the desired action
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Object]
28
+ def pcloud_pvminstances_action_post(cloud_instance_id, pvm_instance_id, body, opts = {})
29
+ data, _status_code, _headers = pcloud_pvminstances_action_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
30
+ data
31
+ end
32
+
33
+ # Perform an action (start stop reboot immediate-shutdown reset) on a PVMInstance
34
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
35
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
36
+ # @param body [PVMInstanceAction] Parameters for the desired action
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
39
+ def pcloud_pvminstances_action_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_action_post ...'
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 PCloudPVMInstancesApi.pcloud_pvminstances_action_post"
46
+ end
47
+ # verify the required parameter 'pvm_instance_id' is set
48
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_action_post"
50
+ end
51
+ # verify the required parameter 'body' is set
52
+ if @api_client.config.client_side_validation && body.nil?
53
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_action_post"
54
+ end
55
+ # resource path
56
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/action'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
57
+
58
+ # query parameters
59
+ query_params = opts[:query_params] || {}
60
+
61
+ # header parameters
62
+ header_params = opts[:header_params] || {}
63
+ # HTTP header 'Accept' (if needed)
64
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
65
+ # HTTP header 'Content-Type'
66
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
67
+
68
+ # form parameters
69
+ form_params = opts[:form_params] || {}
70
+
71
+ # http body (model)
72
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
73
+
74
+ # return_type
75
+ return_type = opts[:return_type] || 'Object'
76
+
77
+ # auth_names
78
+ auth_names = opts[:auth_names] || []
79
+
80
+ new_options = opts.merge(
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_action_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Capture a PVM instance and create a deployable image
97
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
98
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
99
+ # @param body [PVMInstanceCapture] Parameters for the capture PVMInstance
100
+ # @param [Hash] opts the optional parameters
101
+ # @return [Object]
102
+ def pcloud_pvminstances_capture_post(cloud_instance_id, pvm_instance_id, body, opts = {})
103
+ data, _status_code, _headers = pcloud_pvminstances_capture_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
104
+ data
105
+ end
106
+
107
+ # Capture a PVM instance and create a deployable image
108
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
109
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
110
+ # @param body [PVMInstanceCapture] Parameters for the capture PVMInstance
111
+ # @param [Hash] opts the optional parameters
112
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
113
+ def pcloud_pvminstances_capture_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
114
+ if @api_client.config.debugging
115
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_capture_post ...'
116
+ end
117
+ # verify the required parameter 'cloud_instance_id' is set
118
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
119
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_capture_post"
120
+ end
121
+ # verify the required parameter 'pvm_instance_id' is set
122
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
123
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_capture_post"
124
+ end
125
+ # verify the required parameter 'body' is set
126
+ if @api_client.config.client_side_validation && body.nil?
127
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_capture_post"
128
+ end
129
+ # resource path
130
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/capture'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
131
+
132
+ # query parameters
133
+ query_params = opts[:query_params] || {}
134
+
135
+ # header parameters
136
+ header_params = opts[:header_params] || {}
137
+ # HTTP header 'Accept' (if needed)
138
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
139
+ # HTTP header 'Content-Type'
140
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
141
+
142
+ # form parameters
143
+ form_params = opts[:form_params] || {}
144
+
145
+ # http body (model)
146
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
147
+
148
+ # return_type
149
+ return_type = opts[:return_type] || 'Object'
150
+
151
+ # auth_names
152
+ auth_names = opts[:auth_names] || []
153
+
154
+ new_options = opts.merge(
155
+ :header_params => header_params,
156
+ :query_params => query_params,
157
+ :form_params => form_params,
158
+ :body => post_body,
159
+ :auth_names => auth_names,
160
+ :return_type => return_type
161
+ )
162
+
163
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_capture_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
166
+ end
167
+ return data, status_code, headers
168
+ end
169
+
170
+ # Generate the noVNC console URL
171
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
172
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [PVMInstanceConsole]
175
+ def pcloud_pvminstances_console_post(cloud_instance_id, pvm_instance_id, opts = {})
176
+ data, _status_code, _headers = pcloud_pvminstances_console_post_with_http_info(cloud_instance_id, pvm_instance_id, opts)
177
+ data
178
+ end
179
+
180
+ # Generate the noVNC console URL
181
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
182
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
183
+ # @param [Hash] opts the optional parameters
184
+ # @return [Array<(PVMInstanceConsole, Integer, Hash)>] PVMInstanceConsole data, response status code and response headers
185
+ def pcloud_pvminstances_console_post_with_http_info(cloud_instance_id, pvm_instance_id, opts = {})
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_console_post ...'
188
+ end
189
+ # verify the required parameter 'cloud_instance_id' is set
190
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
191
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_console_post"
192
+ end
193
+ # verify the required parameter 'pvm_instance_id' is set
194
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
195
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_console_post"
196
+ end
197
+ # resource path
198
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/console'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
199
+
200
+ # query parameters
201
+ query_params = opts[:query_params] || {}
202
+
203
+ # header parameters
204
+ header_params = opts[:header_params] || {}
205
+ # HTTP header 'Accept' (if needed)
206
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
207
+
208
+ # form parameters
209
+ form_params = opts[:form_params] || {}
210
+
211
+ # http body (model)
212
+ post_body = opts[:body]
213
+
214
+ # return_type
215
+ return_type = opts[:return_type] || 'PVMInstanceConsole'
216
+
217
+ # auth_names
218
+ auth_names = opts[:auth_names] || []
219
+
220
+ new_options = opts.merge(
221
+ :header_params => header_params,
222
+ :query_params => query_params,
223
+ :form_params => form_params,
224
+ :body => post_body,
225
+ :auth_names => auth_names,
226
+ :return_type => return_type
227
+ )
228
+
229
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
230
+ if @api_client.config.debugging
231
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_console_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
232
+ end
233
+ return data, status_code, headers
234
+ end
235
+
236
+ # Delete a PCloud PVM instance
237
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
238
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
239
+ # @param [Hash] opts the optional parameters
240
+ # @return [Object]
241
+ def pcloud_pvminstances_delete(cloud_instance_id, pvm_instance_id, opts = {})
242
+ data, _status_code, _headers = pcloud_pvminstances_delete_with_http_info(cloud_instance_id, pvm_instance_id, opts)
243
+ data
244
+ end
245
+
246
+ # Delete a PCloud PVM instance
247
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
248
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
249
+ # @param [Hash] opts the optional parameters
250
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
251
+ def pcloud_pvminstances_delete_with_http_info(cloud_instance_id, pvm_instance_id, opts = {})
252
+ if @api_client.config.debugging
253
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_delete ...'
254
+ end
255
+ # verify the required parameter 'cloud_instance_id' is set
256
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
257
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_delete"
258
+ end
259
+ # verify the required parameter 'pvm_instance_id' is set
260
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
261
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_delete"
262
+ end
263
+ # resource path
264
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
265
+
266
+ # query parameters
267
+ query_params = opts[:query_params] || {}
268
+
269
+ # header parameters
270
+ header_params = opts[:header_params] || {}
271
+ # HTTP header 'Accept' (if needed)
272
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
273
+
274
+ # form parameters
275
+ form_params = opts[:form_params] || {}
276
+
277
+ # http body (model)
278
+ post_body = opts[:body]
279
+
280
+ # return_type
281
+ return_type = opts[:return_type] || 'Object'
282
+
283
+ # auth_names
284
+ auth_names = opts[:auth_names] || []
285
+
286
+ new_options = opts.merge(
287
+ :header_params => header_params,
288
+ :query_params => query_params,
289
+ :form_params => form_params,
290
+ :body => post_body,
291
+ :auth_names => auth_names,
292
+ :return_type => return_type
293
+ )
294
+
295
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
296
+ if @api_client.config.debugging
297
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
298
+ end
299
+ return data, status_code, headers
300
+ end
301
+
302
+ # Get a PVM instance's current state or information
303
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
304
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
305
+ # @param [Hash] opts the optional parameters
306
+ # @return [PVMInstance]
307
+ def pcloud_pvminstances_get(cloud_instance_id, pvm_instance_id, opts = {})
308
+ data, _status_code, _headers = pcloud_pvminstances_get_with_http_info(cloud_instance_id, pvm_instance_id, opts)
309
+ data
310
+ end
311
+
312
+ # Get a PVM instance&#39;s current state or information
313
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
314
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
315
+ # @param [Hash] opts the optional parameters
316
+ # @return [Array<(PVMInstance, Integer, Hash)>] PVMInstance data, response status code and response headers
317
+ def pcloud_pvminstances_get_with_http_info(cloud_instance_id, pvm_instance_id, opts = {})
318
+ if @api_client.config.debugging
319
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_get ...'
320
+ end
321
+ # verify the required parameter 'cloud_instance_id' is set
322
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
323
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_get"
324
+ end
325
+ # verify the required parameter 'pvm_instance_id' is set
326
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
327
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_get"
328
+ end
329
+ # resource path
330
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
331
+
332
+ # query parameters
333
+ query_params = opts[:query_params] || {}
334
+
335
+ # header parameters
336
+ header_params = opts[:header_params] || {}
337
+ # HTTP header 'Accept' (if needed)
338
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
339
+
340
+ # form parameters
341
+ form_params = opts[:form_params] || {}
342
+
343
+ # http body (model)
344
+ post_body = opts[:body]
345
+
346
+ # return_type
347
+ return_type = opts[:return_type] || 'PVMInstance'
348
+
349
+ # auth_names
350
+ auth_names = opts[:auth_names] || []
351
+
352
+ new_options = opts.merge(
353
+ :header_params => header_params,
354
+ :query_params => query_params,
355
+ :form_params => form_params,
356
+ :body => post_body,
357
+ :auth_names => auth_names,
358
+ :return_type => return_type
359
+ )
360
+
361
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
362
+ if @api_client.config.debugging
363
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
364
+ end
365
+ return data, status_code, headers
366
+ end
367
+
368
+ # Get all the PVM instances for this cloud instance
369
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
370
+ # @param [Hash] opts the optional parameters
371
+ # @return [PVMInstances]
372
+ def pcloud_pvminstances_getall(cloud_instance_id, opts = {})
373
+ data, _status_code, _headers = pcloud_pvminstances_getall_with_http_info(cloud_instance_id, opts)
374
+ data
375
+ end
376
+
377
+ # Get all the PVM instances for this cloud instance
378
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
379
+ # @param [Hash] opts the optional parameters
380
+ # @return [Array<(PVMInstances, Integer, Hash)>] PVMInstances data, response status code and response headers
381
+ def pcloud_pvminstances_getall_with_http_info(cloud_instance_id, opts = {})
382
+ if @api_client.config.debugging
383
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_getall ...'
384
+ end
385
+ # verify the required parameter 'cloud_instance_id' is set
386
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
387
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_getall"
388
+ end
389
+ # resource path
390
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
391
+
392
+ # query parameters
393
+ query_params = opts[:query_params] || {}
394
+
395
+ # header parameters
396
+ header_params = opts[:header_params] || {}
397
+ # HTTP header 'Accept' (if needed)
398
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
399
+
400
+ # form parameters
401
+ form_params = opts[:form_params] || {}
402
+
403
+ # http body (model)
404
+ post_body = opts[:body]
405
+
406
+ # return_type
407
+ return_type = opts[:return_type] || 'PVMInstances'
408
+
409
+ # auth_names
410
+ auth_names = opts[:auth_names] || []
411
+
412
+ new_options = opts.merge(
413
+ :header_params => header_params,
414
+ :query_params => query_params,
415
+ :form_params => form_params,
416
+ :body => post_body,
417
+ :auth_names => auth_names,
418
+ :return_type => return_type
419
+ )
420
+
421
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
422
+ if @api_client.config.debugging
423
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
424
+ end
425
+ return data, status_code, headers
426
+ end
427
+
428
+ # Remove all addresses of network from a PVM instance
429
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
430
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
431
+ # @param network_id [String] Network ID
432
+ # @param [Hash] opts the optional parameters
433
+ # @option opts [PVMInstanceRemoveNetwork] :body Remove a network from PVM Instance parameters
434
+ # @return [Object]
435
+ def pcloud_pvminstances_networks_delete(cloud_instance_id, pvm_instance_id, network_id, opts = {})
436
+ data, _status_code, _headers = pcloud_pvminstances_networks_delete_with_http_info(cloud_instance_id, pvm_instance_id, network_id, opts)
437
+ data
438
+ end
439
+
440
+ # Remove all addresses of network from a PVM instance
441
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
442
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
443
+ # @param network_id [String] Network ID
444
+ # @param [Hash] opts the optional parameters
445
+ # @option opts [PVMInstanceRemoveNetwork] :body Remove a network from PVM Instance parameters
446
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
447
+ def pcloud_pvminstances_networks_delete_with_http_info(cloud_instance_id, pvm_instance_id, network_id, opts = {})
448
+ if @api_client.config.debugging
449
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_networks_delete ...'
450
+ end
451
+ # verify the required parameter 'cloud_instance_id' is set
452
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
453
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_delete"
454
+ end
455
+ # verify the required parameter 'pvm_instance_id' is set
456
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
457
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_delete"
458
+ end
459
+ # verify the required parameter 'network_id' is set
460
+ if @api_client.config.client_side_validation && network_id.nil?
461
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_delete"
462
+ end
463
+ # resource path
464
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
465
+
466
+ # query parameters
467
+ query_params = opts[:query_params] || {}
468
+
469
+ # header parameters
470
+ header_params = opts[:header_params] || {}
471
+ # HTTP header 'Accept' (if needed)
472
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
473
+ # HTTP header 'Content-Type'
474
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
475
+
476
+ # form parameters
477
+ form_params = opts[:form_params] || {}
478
+
479
+ # http body (model)
480
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'body'])
481
+
482
+ # return_type
483
+ return_type = opts[:return_type] || 'Object'
484
+
485
+ # auth_names
486
+ auth_names = opts[:auth_names] || []
487
+
488
+ new_options = opts.merge(
489
+ :header_params => header_params,
490
+ :query_params => query_params,
491
+ :form_params => form_params,
492
+ :body => post_body,
493
+ :auth_names => auth_names,
494
+ :return_type => return_type
495
+ )
496
+
497
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
498
+ if @api_client.config.debugging
499
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_networks_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
500
+ end
501
+ return data, status_code, headers
502
+ end
503
+
504
+ # Get a PVM instance's network information
505
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
506
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
507
+ # @param network_id [String] Network ID
508
+ # @param [Hash] opts the optional parameters
509
+ # @return [PVMInstanceNetworks]
510
+ def pcloud_pvminstances_networks_get(cloud_instance_id, pvm_instance_id, network_id, opts = {})
511
+ data, _status_code, _headers = pcloud_pvminstances_networks_get_with_http_info(cloud_instance_id, pvm_instance_id, network_id, opts)
512
+ data
513
+ end
514
+
515
+ # Get a PVM instance&#39;s network information
516
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
517
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
518
+ # @param network_id [String] Network ID
519
+ # @param [Hash] opts the optional parameters
520
+ # @return [Array<(PVMInstanceNetworks, Integer, Hash)>] PVMInstanceNetworks data, response status code and response headers
521
+ def pcloud_pvminstances_networks_get_with_http_info(cloud_instance_id, pvm_instance_id, network_id, opts = {})
522
+ if @api_client.config.debugging
523
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_networks_get ...'
524
+ end
525
+ # verify the required parameter 'cloud_instance_id' is set
526
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
527
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_get"
528
+ end
529
+ # verify the required parameter 'pvm_instance_id' is set
530
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
531
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_get"
532
+ end
533
+ # verify the required parameter 'network_id' is set
534
+ if @api_client.config.client_side_validation && network_id.nil?
535
+ fail ArgumentError, "Missing the required parameter 'network_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_get"
536
+ end
537
+ # resource path
538
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks/{network_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s)).sub('{' + 'network_id' + '}', CGI.escape(network_id.to_s))
539
+
540
+ # query parameters
541
+ query_params = opts[:query_params] || {}
542
+
543
+ # header parameters
544
+ header_params = opts[:header_params] || {}
545
+ # HTTP header 'Accept' (if needed)
546
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
547
+
548
+ # form parameters
549
+ form_params = opts[:form_params] || {}
550
+
551
+ # http body (model)
552
+ post_body = opts[:body]
553
+
554
+ # return_type
555
+ return_type = opts[:return_type] || 'PVMInstanceNetworks'
556
+
557
+ # auth_names
558
+ auth_names = opts[:auth_names] || []
559
+
560
+ new_options = opts.merge(
561
+ :header_params => header_params,
562
+ :query_params => query_params,
563
+ :form_params => form_params,
564
+ :body => post_body,
565
+ :auth_names => auth_names,
566
+ :return_type => return_type
567
+ )
568
+
569
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
570
+ if @api_client.config.debugging
571
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_networks_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
572
+ end
573
+ return data, status_code, headers
574
+ end
575
+
576
+ # Get all networks for this PVM instance
577
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
578
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
579
+ # @param [Hash] opts the optional parameters
580
+ # @return [PVMInstanceNetworks]
581
+ def pcloud_pvminstances_networks_getall(cloud_instance_id, pvm_instance_id, opts = {})
582
+ data, _status_code, _headers = pcloud_pvminstances_networks_getall_with_http_info(cloud_instance_id, pvm_instance_id, opts)
583
+ data
584
+ end
585
+
586
+ # Get all networks for this PVM instance
587
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
588
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
589
+ # @param [Hash] opts the optional parameters
590
+ # @return [Array<(PVMInstanceNetworks, Integer, Hash)>] PVMInstanceNetworks data, response status code and response headers
591
+ def pcloud_pvminstances_networks_getall_with_http_info(cloud_instance_id, pvm_instance_id, opts = {})
592
+ if @api_client.config.debugging
593
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_networks_getall ...'
594
+ end
595
+ # verify the required parameter 'cloud_instance_id' is set
596
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
597
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_getall"
598
+ end
599
+ # verify the required parameter 'pvm_instance_id' is set
600
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
601
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_getall"
602
+ end
603
+ # resource path
604
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
605
+
606
+ # query parameters
607
+ query_params = opts[:query_params] || {}
608
+
609
+ # header parameters
610
+ header_params = opts[:header_params] || {}
611
+ # HTTP header 'Accept' (if needed)
612
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
613
+
614
+ # form parameters
615
+ form_params = opts[:form_params] || {}
616
+
617
+ # http body (model)
618
+ post_body = opts[:body]
619
+
620
+ # return_type
621
+ return_type = opts[:return_type] || 'PVMInstanceNetworks'
622
+
623
+ # auth_names
624
+ auth_names = opts[:auth_names] || []
625
+
626
+ new_options = opts.merge(
627
+ :header_params => header_params,
628
+ :query_params => query_params,
629
+ :form_params => form_params,
630
+ :body => post_body,
631
+ :auth_names => auth_names,
632
+ :return_type => return_type
633
+ )
634
+
635
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
636
+ if @api_client.config.debugging
637
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_networks_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
638
+ end
639
+ return data, status_code, headers
640
+ end
641
+
642
+ # Perform network addition, deletion, and listing
643
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
644
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
645
+ # @param body [PVMInstanceAddNetwork] Add network to PVM Instance parameters
646
+ # @param [Hash] opts the optional parameters
647
+ # @return [PVMInstanceNetwork]
648
+ def pcloud_pvminstances_networks_post(cloud_instance_id, pvm_instance_id, body, opts = {})
649
+ data, _status_code, _headers = pcloud_pvminstances_networks_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
650
+ data
651
+ end
652
+
653
+ # Perform network addition, deletion, and listing
654
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
655
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
656
+ # @param body [PVMInstanceAddNetwork] Add network to PVM Instance parameters
657
+ # @param [Hash] opts the optional parameters
658
+ # @return [Array<(PVMInstanceNetwork, Integer, Hash)>] PVMInstanceNetwork data, response status code and response headers
659
+ def pcloud_pvminstances_networks_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
660
+ if @api_client.config.debugging
661
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_networks_post ...'
662
+ end
663
+ # verify the required parameter 'cloud_instance_id' is set
664
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
665
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_post"
666
+ end
667
+ # verify the required parameter 'pvm_instance_id' is set
668
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
669
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_post"
670
+ end
671
+ # verify the required parameter 'body' is set
672
+ if @api_client.config.client_side_validation && body.nil?
673
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_networks_post"
674
+ end
675
+ # resource path
676
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/networks'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
677
+
678
+ # query parameters
679
+ query_params = opts[:query_params] || {}
680
+
681
+ # header parameters
682
+ header_params = opts[:header_params] || {}
683
+ # HTTP header 'Accept' (if needed)
684
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
685
+ # HTTP header 'Content-Type'
686
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
687
+
688
+ # form parameters
689
+ form_params = opts[:form_params] || {}
690
+
691
+ # http body (model)
692
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
693
+
694
+ # return_type
695
+ return_type = opts[:return_type] || 'PVMInstanceNetwork'
696
+
697
+ # auth_names
698
+ auth_names = opts[:auth_names] || []
699
+
700
+ new_options = opts.merge(
701
+ :header_params => header_params,
702
+ :query_params => query_params,
703
+ :form_params => form_params,
704
+ :body => post_body,
705
+ :auth_names => auth_names,
706
+ :return_type => return_type
707
+ )
708
+
709
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
710
+ if @api_client.config.debugging
711
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_networks_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
712
+ end
713
+ return data, status_code, headers
714
+ end
715
+
716
+ # Perform an operation on a PVMInstance
717
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
718
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
719
+ # @param body [PVMInstanceOperation] Parameters for the desired operations
720
+ # @param [Hash] opts the optional parameters
721
+ # @return [Object]
722
+ def pcloud_pvminstances_operations_post(cloud_instance_id, pvm_instance_id, body, opts = {})
723
+ data, _status_code, _headers = pcloud_pvminstances_operations_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
724
+ data
725
+ end
726
+
727
+ # Perform an operation on a PVMInstance
728
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
729
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
730
+ # @param body [PVMInstanceOperation] Parameters for the desired operations
731
+ # @param [Hash] opts the optional parameters
732
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
733
+ def pcloud_pvminstances_operations_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
734
+ if @api_client.config.debugging
735
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_operations_post ...'
736
+ end
737
+ # verify the required parameter 'cloud_instance_id' is set
738
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
739
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_operations_post"
740
+ end
741
+ # verify the required parameter 'pvm_instance_id' is set
742
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
743
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_operations_post"
744
+ end
745
+ # verify the required parameter 'body' is set
746
+ if @api_client.config.client_side_validation && body.nil?
747
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_operations_post"
748
+ end
749
+ # resource path
750
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/operations'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
751
+
752
+ # query parameters
753
+ query_params = opts[:query_params] || {}
754
+
755
+ # header parameters
756
+ header_params = opts[:header_params] || {}
757
+ # HTTP header 'Accept' (if needed)
758
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
759
+ # HTTP header 'Content-Type'
760
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
761
+
762
+ # form parameters
763
+ form_params = opts[:form_params] || {}
764
+
765
+ # http body (model)
766
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
767
+
768
+ # return_type
769
+ return_type = opts[:return_type] || 'Object'
770
+
771
+ # auth_names
772
+ auth_names = opts[:auth_names] || []
773
+
774
+ new_options = opts.merge(
775
+ :header_params => header_params,
776
+ :query_params => query_params,
777
+ :form_params => form_params,
778
+ :body => post_body,
779
+ :auth_names => auth_names,
780
+ :return_type => return_type
781
+ )
782
+
783
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
784
+ if @api_client.config.debugging
785
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_operations_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
786
+ end
787
+ return data, status_code, headers
788
+ end
789
+
790
+ # Create a new PVM instance
791
+ # The order of network IDs passed in will be the order of interfaces defined to the VM.
792
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
793
+ # @param body [PVMInstanceCreate] Parameters for the creation of a new tenant
794
+ # @param [Hash] opts the optional parameters
795
+ # @option opts [Boolean] :skip_host_validation Option to skip host validation on PVMInstance Create API
796
+ # @return [Array<PVMInstance>]
797
+ def pcloud_pvminstances_post(cloud_instance_id, body, opts = {})
798
+ data, _status_code, _headers = pcloud_pvminstances_post_with_http_info(cloud_instance_id, body, opts)
799
+ data
800
+ end
801
+
802
+ # Create a new PVM instance
803
+ # The order of network IDs passed in will be the order of interfaces defined to the VM.
804
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
805
+ # @param body [PVMInstanceCreate] Parameters for the creation of a new tenant
806
+ # @param [Hash] opts the optional parameters
807
+ # @option opts [Boolean] :skip_host_validation Option to skip host validation on PVMInstance Create API
808
+ # @return [Array<(Array<PVMInstance>, Integer, Hash)>] Array<PVMInstance> data, response status code and response headers
809
+ def pcloud_pvminstances_post_with_http_info(cloud_instance_id, body, opts = {})
810
+ if @api_client.config.debugging
811
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_post ...'
812
+ end
813
+ # verify the required parameter 'cloud_instance_id' is set
814
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
815
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_post"
816
+ end
817
+ # verify the required parameter 'body' is set
818
+ if @api_client.config.client_side_validation && body.nil?
819
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_post"
820
+ end
821
+ # resource path
822
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s))
823
+
824
+ # query parameters
825
+ query_params = opts[:query_params] || {}
826
+ query_params[:'skipHostValidation'] = opts[:'skip_host_validation'] if !opts[:'skip_host_validation'].nil?
827
+
828
+ # header parameters
829
+ header_params = opts[:header_params] || {}
830
+ # HTTP header 'Accept' (if needed)
831
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
832
+ # HTTP header 'Content-Type'
833
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
834
+
835
+ # form parameters
836
+ form_params = opts[:form_params] || {}
837
+
838
+ # http body (model)
839
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
840
+
841
+ # return_type
842
+ return_type = opts[:return_type] || 'Array<PVMInstance>'
843
+
844
+ # auth_names
845
+ auth_names = opts[:auth_names] || []
846
+
847
+ new_options = opts.merge(
848
+ :header_params => header_params,
849
+ :query_params => query_params,
850
+ :form_params => form_params,
851
+ :body => post_body,
852
+ :auth_names => auth_names,
853
+ :return_type => return_type
854
+ )
855
+
856
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
857
+ if @api_client.config.debugging
858
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
859
+ end
860
+ return data, status_code, headers
861
+ end
862
+
863
+ # Update a PCloud PVM instance
864
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
865
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
866
+ # @param body [PVMInstanceUpdate] Parameters to update a PCloud PVM instance
867
+ # @param [Hash] opts the optional parameters
868
+ # @return [PVMInstanceUpdateResponse]
869
+ def pcloud_pvminstances_put(cloud_instance_id, pvm_instance_id, body, opts = {})
870
+ data, _status_code, _headers = pcloud_pvminstances_put_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
871
+ data
872
+ end
873
+
874
+ # Update a PCloud PVM instance
875
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
876
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
877
+ # @param body [PVMInstanceUpdate] Parameters to update a PCloud PVM instance
878
+ # @param [Hash] opts the optional parameters
879
+ # @return [Array<(PVMInstanceUpdateResponse, Integer, Hash)>] PVMInstanceUpdateResponse data, response status code and response headers
880
+ def pcloud_pvminstances_put_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
881
+ if @api_client.config.debugging
882
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_put ...'
883
+ end
884
+ # verify the required parameter 'cloud_instance_id' is set
885
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
886
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_put"
887
+ end
888
+ # verify the required parameter 'pvm_instance_id' is set
889
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
890
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_put"
891
+ end
892
+ # verify the required parameter 'body' is set
893
+ if @api_client.config.client_side_validation && body.nil?
894
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_put"
895
+ end
896
+ # resource path
897
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
898
+
899
+ # query parameters
900
+ query_params = opts[:query_params] || {}
901
+
902
+ # header parameters
903
+ header_params = opts[:header_params] || {}
904
+ # HTTP header 'Accept' (if needed)
905
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
906
+ # HTTP header 'Content-Type'
907
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
908
+
909
+ # form parameters
910
+ form_params = opts[:form_params] || {}
911
+
912
+ # http body (model)
913
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
914
+
915
+ # return_type
916
+ return_type = opts[:return_type] || 'PVMInstanceUpdateResponse'
917
+
918
+ # auth_names
919
+ auth_names = opts[:auth_names] || []
920
+
921
+ new_options = opts.merge(
922
+ :header_params => header_params,
923
+ :query_params => query_params,
924
+ :form_params => form_params,
925
+ :body => post_body,
926
+ :auth_names => auth_names,
927
+ :return_type => return_type
928
+ )
929
+
930
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
931
+ if @api_client.config.debugging
932
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
933
+ end
934
+ return data, status_code, headers
935
+ end
936
+
937
+ # Get all snapshots for this PVM instance
938
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
939
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
940
+ # @param [Hash] opts the optional parameters
941
+ # @return [Snapshots]
942
+ def pcloud_pvminstances_snapshots_getall(cloud_instance_id, pvm_instance_id, opts = {})
943
+ data, _status_code, _headers = pcloud_pvminstances_snapshots_getall_with_http_info(cloud_instance_id, pvm_instance_id, opts)
944
+ data
945
+ end
946
+
947
+ # Get all snapshots for this PVM instance
948
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
949
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
950
+ # @param [Hash] opts the optional parameters
951
+ # @return [Array<(Snapshots, Integer, Hash)>] Snapshots data, response status code and response headers
952
+ def pcloud_pvminstances_snapshots_getall_with_http_info(cloud_instance_id, pvm_instance_id, opts = {})
953
+ if @api_client.config.debugging
954
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_getall ...'
955
+ end
956
+ # verify the required parameter 'cloud_instance_id' is set
957
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
958
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_getall"
959
+ end
960
+ # verify the required parameter 'pvm_instance_id' is set
961
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
962
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_getall"
963
+ end
964
+ # resource path
965
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
966
+
967
+ # query parameters
968
+ query_params = opts[:query_params] || {}
969
+
970
+ # header parameters
971
+ header_params = opts[:header_params] || {}
972
+ # HTTP header 'Accept' (if needed)
973
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
974
+
975
+ # form parameters
976
+ form_params = opts[:form_params] || {}
977
+
978
+ # http body (model)
979
+ post_body = opts[:body]
980
+
981
+ # return_type
982
+ return_type = opts[:return_type] || 'Snapshots'
983
+
984
+ # auth_names
985
+ auth_names = opts[:auth_names] || []
986
+
987
+ new_options = opts.merge(
988
+ :header_params => header_params,
989
+ :query_params => query_params,
990
+ :form_params => form_params,
991
+ :body => post_body,
992
+ :auth_names => auth_names,
993
+ :return_type => return_type
994
+ )
995
+
996
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
997
+ if @api_client.config.debugging
998
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_snapshots_getall\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
999
+ end
1000
+ return data, status_code, headers
1001
+ end
1002
+
1003
+ # Create a PVM instance snapshot
1004
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
1005
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
1006
+ # @param body [SnapshotCreate] PVM Instance snapshot create parameters
1007
+ # @param [Hash] opts the optional parameters
1008
+ # @return [SnapshotCreateResponse]
1009
+ def pcloud_pvminstances_snapshots_post(cloud_instance_id, pvm_instance_id, body, opts = {})
1010
+ data, _status_code, _headers = pcloud_pvminstances_snapshots_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts)
1011
+ data
1012
+ end
1013
+
1014
+ # Create a PVM instance snapshot
1015
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
1016
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
1017
+ # @param body [SnapshotCreate] PVM Instance snapshot create parameters
1018
+ # @param [Hash] opts the optional parameters
1019
+ # @return [Array<(SnapshotCreateResponse, Integer, Hash)>] SnapshotCreateResponse data, response status code and response headers
1020
+ def pcloud_pvminstances_snapshots_post_with_http_info(cloud_instance_id, pvm_instance_id, body, opts = {})
1021
+ if @api_client.config.debugging
1022
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_post ...'
1023
+ end
1024
+ # verify the required parameter 'cloud_instance_id' is set
1025
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
1026
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_post"
1027
+ end
1028
+ # verify the required parameter 'pvm_instance_id' is set
1029
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
1030
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_post"
1031
+ end
1032
+ # verify the required parameter 'body' is set
1033
+ if @api_client.config.client_side_validation && body.nil?
1034
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_post"
1035
+ end
1036
+ # resource path
1037
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s))
1038
+
1039
+ # query parameters
1040
+ query_params = opts[:query_params] || {}
1041
+
1042
+ # header parameters
1043
+ header_params = opts[:header_params] || {}
1044
+ # HTTP header 'Accept' (if needed)
1045
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1046
+ # HTTP header 'Content-Type'
1047
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1048
+
1049
+ # form parameters
1050
+ form_params = opts[:form_params] || {}
1051
+
1052
+ # http body (model)
1053
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1054
+
1055
+ # return_type
1056
+ return_type = opts[:return_type] || 'SnapshotCreateResponse'
1057
+
1058
+ # auth_names
1059
+ auth_names = opts[:auth_names] || []
1060
+
1061
+ new_options = opts.merge(
1062
+ :header_params => header_params,
1063
+ :query_params => query_params,
1064
+ :form_params => form_params,
1065
+ :body => post_body,
1066
+ :auth_names => auth_names,
1067
+ :return_type => return_type
1068
+ )
1069
+
1070
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1071
+ if @api_client.config.debugging
1072
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_snapshots_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1073
+ end
1074
+ return data, status_code, headers
1075
+ end
1076
+
1077
+ # Restore a PVM Instance snapshot
1078
+ # To roll back the clone operation, append '?restore_fail_action=rollback' to the cURL URL. If you'd like to try the clone operation again, append '?restore_fail_action=retry' to the cURL URL.
1079
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
1080
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
1081
+ # @param snapshot_id [String] PVM Instance snapshot id
1082
+ # @param body [SnapshotRestore] PVM Instance snapshot restore parameters
1083
+ # @param [Hash] opts the optional parameters
1084
+ # @option opts [String] :restore_fail_action Action to take on a failed snapshot restore
1085
+ # @return [nil]
1086
+ def pcloud_pvminstances_snapshots_restore_post(cloud_instance_id, pvm_instance_id, snapshot_id, body, opts = {})
1087
+ pcloud_pvminstances_snapshots_restore_post_with_http_info(cloud_instance_id, pvm_instance_id, snapshot_id, body, opts)
1088
+ nil
1089
+ end
1090
+
1091
+ # Restore a PVM Instance snapshot
1092
+ # To roll back the clone operation, append &#39;?restore_fail_action&#x3D;rollback&#39; to the cURL URL. If you&#39;d like to try the clone operation again, append &#39;?restore_fail_action&#x3D;retry&#39; to the cURL URL.
1093
+ # @param cloud_instance_id [String] Cloud Instance ID of a PCloud Instance
1094
+ # @param pvm_instance_id [String] PCloud PVM Instance ID
1095
+ # @param snapshot_id [String] PVM Instance snapshot id
1096
+ # @param body [SnapshotRestore] PVM Instance snapshot restore parameters
1097
+ # @param [Hash] opts the optional parameters
1098
+ # @option opts [String] :restore_fail_action Action to take on a failed snapshot restore
1099
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1100
+ def pcloud_pvminstances_snapshots_restore_post_with_http_info(cloud_instance_id, pvm_instance_id, snapshot_id, body, opts = {})
1101
+ if @api_client.config.debugging
1102
+ @api_client.config.logger.debug 'Calling API: PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_restore_post ...'
1103
+ end
1104
+ # verify the required parameter 'cloud_instance_id' is set
1105
+ if @api_client.config.client_side_validation && cloud_instance_id.nil?
1106
+ fail ArgumentError, "Missing the required parameter 'cloud_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_restore_post"
1107
+ end
1108
+ # verify the required parameter 'pvm_instance_id' is set
1109
+ if @api_client.config.client_side_validation && pvm_instance_id.nil?
1110
+ fail ArgumentError, "Missing the required parameter 'pvm_instance_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_restore_post"
1111
+ end
1112
+ # verify the required parameter 'snapshot_id' is set
1113
+ if @api_client.config.client_side_validation && snapshot_id.nil?
1114
+ fail ArgumentError, "Missing the required parameter 'snapshot_id' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_restore_post"
1115
+ end
1116
+ # verify the required parameter 'body' is set
1117
+ if @api_client.config.client_side_validation && body.nil?
1118
+ fail ArgumentError, "Missing the required parameter 'body' when calling PCloudPVMInstancesApi.pcloud_pvminstances_snapshots_restore_post"
1119
+ end
1120
+ allowable_values = ["retry", "rollback"]
1121
+ if @api_client.config.client_side_validation && opts[:'restore_fail_action'] && !allowable_values.include?(opts[:'restore_fail_action'])
1122
+ fail ArgumentError, "invalid value for \"restore_fail_action\", must be one of #{allowable_values}"
1123
+ end
1124
+ # resource path
1125
+ local_var_path = '/pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}/snapshots/{snapshot_id}/restore'.sub('{' + 'cloud_instance_id' + '}', CGI.escape(cloud_instance_id.to_s)).sub('{' + 'pvm_instance_id' + '}', CGI.escape(pvm_instance_id.to_s)).sub('{' + 'snapshot_id' + '}', CGI.escape(snapshot_id.to_s))
1126
+
1127
+ # query parameters
1128
+ query_params = opts[:query_params] || {}
1129
+ query_params[:'restore_fail_action'] = opts[:'restore_fail_action'] if !opts[:'restore_fail_action'].nil?
1130
+
1131
+ # header parameters
1132
+ header_params = opts[:header_params] || {}
1133
+ # HTTP header 'Accept' (if needed)
1134
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1135
+ # HTTP header 'Content-Type'
1136
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1137
+
1138
+ # form parameters
1139
+ form_params = opts[:form_params] || {}
1140
+
1141
+ # http body (model)
1142
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1143
+
1144
+ # return_type
1145
+ return_type = opts[:return_type]
1146
+
1147
+ # auth_names
1148
+ auth_names = opts[:auth_names] || []
1149
+
1150
+ new_options = opts.merge(
1151
+ :header_params => header_params,
1152
+ :query_params => query_params,
1153
+ :form_params => form_params,
1154
+ :body => post_body,
1155
+ :auth_names => auth_names,
1156
+ :return_type => return_type
1157
+ )
1158
+
1159
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1160
+ if @api_client.config.debugging
1161
+ @api_client.config.logger.debug "API called: PCloudPVMInstancesApi#pcloud_pvminstances_snapshots_restore_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1162
+ end
1163
+ return data, status_code, headers
1164
+ end
1165
+ end
1166
+ end