ionoscloud 5.1.1 → 6.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -19
  3. data/docs/CHANGELOG.md +1 -0
  4. data/docs/README.md +4 -4
  5. data/docs/api/BackupUnitsApi.md +594 -0
  6. data/docs/api/ContractResourcesApi.md +89 -0
  7. data/docs/api/DataCentersApi.md +516 -0
  8. data/docs/api/DefaultApi.md +8 -19
  9. data/docs/api/FirewallRulesApi.md +552 -0
  10. data/docs/api/FlowLogsApi.md +540 -0
  11. data/docs/api/IPBlocksApi.md +50 -51
  12. data/docs/api/ImagesApi.md +428 -0
  13. data/docs/api/KubernetesApi.md +131 -211
  14. data/docs/api/LabelsApi.md +2338 -0
  15. data/docs/api/LansApi.md +794 -0
  16. data/docs/api/LoadBalancersApi.md +877 -0
  17. data/docs/api/LocationsApi.md +259 -0
  18. data/docs/api/NATGatewaysApi.md +1574 -0
  19. data/docs/api/NetworkInterfacesApi.md +540 -0
  20. data/docs/api/NetworkLoadBalancersApi.md +1586 -0
  21. data/docs/api/PrivateCrossConnectsApi.md +426 -0
  22. data/docs/api/{RequestApi.md → RequestsApi.md} +36 -36
  23. data/docs/api/ServersApi.md +1908 -0
  24. data/docs/api/SnapshotsApi.md +428 -0
  25. data/docs/api/TemplatesApi.md +165 -0
  26. data/docs/api/UserManagementApi.md +173 -687
  27. data/docs/api/UserS3KeysApi.md +516 -0
  28. data/docs/api/VolumesApi.md +709 -0
  29. data/docs/models/AttachedVolumes.md +1 -1
  30. data/docs/models/Cdroms.md +1 -1
  31. data/docs/models/Contracts.md +24 -0
  32. data/docs/models/CpuArchitectureProperties.md +24 -0
  33. data/docs/models/DataCenterEntities.md +5 -1
  34. data/docs/models/DatacenterProperties.md +3 -1
  35. data/docs/models/FirewallruleProperties.md +3 -1
  36. data/docs/models/FlowLog.md +26 -0
  37. data/docs/models/FlowLogProperties.md +24 -0
  38. data/docs/models/FlowLogPut.md +24 -0
  39. data/docs/models/FlowLogs.md +30 -0
  40. data/docs/models/Group.md +1 -1
  41. data/docs/models/GroupMembers.md +1 -1
  42. data/docs/models/GroupProperties.md +7 -1
  43. data/docs/models/GroupShare.md +1 -1
  44. data/docs/models/GroupShares.md +1 -1
  45. data/docs/models/GroupUsers.md +1 -1
  46. data/docs/models/Groups.md +1 -1
  47. data/docs/models/KubernetesAutoScaling.md +2 -2
  48. data/docs/models/KubernetesClusterProperties.md +1 -1
  49. data/docs/models/KubernetesClusterPropertiesForPost.md +1 -1
  50. data/docs/models/KubernetesClusterPropertiesForPut.md +1 -1
  51. data/docs/models/KubernetesClusters.md +1 -1
  52. data/docs/models/KubernetesMaintenanceWindow.md +2 -2
  53. data/docs/models/KubernetesNodePoolLan.md +5 -1
  54. data/docs/models/KubernetesNodePoolLanRoutes.md +20 -0
  55. data/docs/models/KubernetesNodePools.md +1 -1
  56. data/docs/models/Lans.md +1 -1
  57. data/docs/models/LocationProperties.md +3 -1
  58. data/docs/models/NatGateway.md +28 -0
  59. data/docs/models/NatGatewayEntities.md +20 -0
  60. data/docs/models/NatGatewayLanProperties.md +20 -0
  61. data/docs/models/NatGatewayProperties.md +22 -0
  62. data/docs/models/NatGatewayPut.md +24 -0
  63. data/docs/models/NatGatewayRule.md +26 -0
  64. data/docs/models/NatGatewayRuleProperties.md +30 -0
  65. data/docs/models/NatGatewayRuleProtocol.md +15 -0
  66. data/docs/models/NatGatewayRulePut.md +24 -0
  67. data/docs/models/NatGatewayRuleType.md +15 -0
  68. data/docs/models/NatGatewayRules.md +24 -0
  69. data/docs/models/NatGateways.md +30 -0
  70. data/docs/models/NetworkLoadBalancer.md +28 -0
  71. data/docs/models/NetworkLoadBalancerEntities.md +20 -0
  72. data/docs/models/NetworkLoadBalancerForwardingRule.md +26 -0
  73. data/docs/models/NetworkLoadBalancerForwardingRuleHealthCheck.md +24 -0
  74. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +30 -0
  75. data/docs/models/NetworkLoadBalancerForwardingRulePut.md +24 -0
  76. data/docs/models/NetworkLoadBalancerForwardingRuleTarget.md +24 -0
  77. data/docs/models/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +22 -0
  78. data/docs/models/NetworkLoadBalancerForwardingRules.md +30 -0
  79. data/docs/models/NetworkLoadBalancerProperties.md +26 -0
  80. data/docs/models/NetworkLoadBalancerPut.md +24 -0
  81. data/docs/models/NetworkLoadBalancers.md +30 -0
  82. data/docs/models/NicEntities.md +2 -0
  83. data/docs/models/NicProperties.md +6 -2
  84. data/docs/models/NicPut.md +24 -0
  85. data/docs/models/Nics.md +1 -1
  86. data/docs/models/PrivateCrossConnectProperties.md +1 -1
  87. data/docs/models/RemoteConsoleUrl.md +18 -0
  88. data/docs/models/Resource.md +1 -1
  89. data/docs/models/ResourceGroups.md +1 -1
  90. data/docs/models/ResourceLimits.md +11 -1
  91. data/docs/models/ResourceProperties.md +1 -1
  92. data/docs/models/Resources.md +1 -1
  93. data/docs/models/ResourcesUsers.md +1 -1
  94. data/docs/models/S3Bucket.md +1 -1
  95. data/docs/models/S3Key.md +1 -1
  96. data/docs/models/S3Keys.md +1 -1
  97. data/docs/models/ServerProperties.md +6 -2
  98. data/docs/models/TargetPortRange.md +20 -0
  99. data/docs/models/Template.md +26 -0
  100. data/docs/models/TemplateProperties.md +24 -0
  101. data/docs/models/Templates.md +24 -0
  102. data/docs/models/Token.md +18 -0
  103. data/docs/models/VolumeProperties.md +5 -3
  104. data/docs/summary.md +386 -159
  105. data/ionoscloud.gemspec +3 -3
  106. data/lib/ionoscloud/api/_api.rb +9 -9
  107. data/lib/ionoscloud/api/{backup_unit_api.rb → backup_units_api.rb} +101 -101
  108. data/lib/ionoscloud/api/contract_resources_api.rb +96 -0
  109. data/lib/ionoscloud/api/data_centers_api.rb +532 -0
  110. data/lib/ionoscloud/api/firewall_rules_api.rb +640 -0
  111. data/lib/ionoscloud/api/flow_logs_api.rb +622 -0
  112. data/lib/ionoscloud/api/{image_api.rb → images_api.rb} +71 -71
  113. data/lib/ionoscloud/api/ip_blocks_api.rb +55 -55
  114. data/lib/ionoscloud/api/kubernetes_api.rb +131 -194
  115. data/lib/ionoscloud/api/{label_api.rb → labels_api.rb} +416 -470
  116. data/lib/ionoscloud/api/{lan_api.rb → lans_api.rb} +178 -178
  117. data/lib/ionoscloud/api/{load_balancer_api.rb → load_balancers_api.rb} +198 -216
  118. data/lib/ionoscloud/api/{location_api.rb → locations_api.rb} +49 -49
  119. data/lib/ionoscloud/api/nat_gateways_api.rb +1672 -0
  120. data/lib/ionoscloud/api/network_interfaces_api.rb +604 -0
  121. data/lib/ionoscloud/api/network_load_balancers_api.rb +1690 -0
  122. data/lib/ionoscloud/api/{private_cross_connect_api.rb → private_cross_connects_api.rb} +76 -76
  123. data/lib/ionoscloud/api/{request_api.rb → requests_api.rb} +45 -45
  124. data/lib/ionoscloud/api/servers_api.rb +2023 -0
  125. data/lib/ionoscloud/api/{snapshot_api.rb → snapshots_api.rb} +77 -77
  126. data/lib/ionoscloud/api/templates_api.rb +164 -0
  127. data/lib/ionoscloud/api/user_management_api.rb +172 -667
  128. data/lib/ionoscloud/api/user_s3_keys_api.rb +517 -0
  129. data/lib/ionoscloud/api/{volume_api.rb → volumes_api.rb} +145 -145
  130. data/lib/ionoscloud/api_client.rb +5 -5
  131. data/lib/ionoscloud/api_error.rb +2 -2
  132. data/lib/ionoscloud/configuration.rb +4 -4
  133. data/lib/ionoscloud/models/attached_volumes.rb +2 -2
  134. data/lib/ionoscloud/models/backup_unit.rb +2 -2
  135. data/lib/ionoscloud/models/backup_unit_properties.rb +2 -2
  136. data/lib/ionoscloud/models/backup_unit_sso.rb +2 -2
  137. data/lib/ionoscloud/models/backup_units.rb +2 -2
  138. data/lib/ionoscloud/models/balanced_nics.rb +2 -2
  139. data/lib/ionoscloud/models/cdroms.rb +2 -2
  140. data/lib/ionoscloud/models/connectable_datacenter.rb +2 -2
  141. data/lib/ionoscloud/models/contract.rb +2 -2
  142. data/lib/ionoscloud/models/contract_properties.rb +2 -2
  143. data/lib/ionoscloud/models/contracts.rb +251 -0
  144. data/lib/ionoscloud/models/cpu_architecture_properties.rb +249 -0
  145. data/lib/ionoscloud/models/data_center_entities.rb +24 -6
  146. data/lib/ionoscloud/models/datacenter.rb +2 -2
  147. data/lib/ionoscloud/models/datacenter_element_metadata.rb +4 -4
  148. data/lib/ionoscloud/models/datacenter_properties.rb +18 -6
  149. data/lib/ionoscloud/models/datacenters.rb +2 -2
  150. data/lib/ionoscloud/models/error.rb +2 -2
  151. data/lib/ionoscloud/models/error_message.rb +2 -2
  152. data/lib/ionoscloud/models/firewall_rule.rb +2 -2
  153. data/lib/ionoscloud/models/firewall_rules.rb +2 -2
  154. data/lib/ionoscloud/models/firewallrule_properties.rb +28 -6
  155. data/lib/ionoscloud/models/flow_log.rb +262 -0
  156. data/lib/ionoscloud/models/flow_log_properties.rb +315 -0
  157. data/lib/ionoscloud/models/{kubernetes_config.rb → flow_log_put.rb} +9 -43
  158. data/lib/ionoscloud/models/flow_logs.rb +280 -0
  159. data/lib/ionoscloud/models/group.rb +2 -2
  160. data/lib/ionoscloud/models/group_entities.rb +2 -2
  161. data/lib/ionoscloud/models/group_members.rb +2 -2
  162. data/lib/ionoscloud/models/group_properties.rb +36 -6
  163. data/lib/ionoscloud/models/group_share.rb +2 -2
  164. data/lib/ionoscloud/models/group_share_properties.rb +2 -2
  165. data/lib/ionoscloud/models/group_shares.rb +2 -2
  166. data/lib/ionoscloud/models/group_users.rb +2 -2
  167. data/lib/ionoscloud/models/groups.rb +2 -2
  168. data/lib/ionoscloud/models/image.rb +2 -2
  169. data/lib/ionoscloud/models/image_properties.rb +2 -2
  170. data/lib/ionoscloud/models/images.rb +2 -2
  171. data/lib/ionoscloud/models/info.rb +2 -2
  172. data/lib/ionoscloud/models/ip_block.rb +2 -2
  173. data/lib/ionoscloud/models/ip_block_properties.rb +2 -2
  174. data/lib/ionoscloud/models/ip_blocks.rb +2 -2
  175. data/lib/ionoscloud/models/ip_consumer.rb +2 -2
  176. data/lib/ionoscloud/models/ip_failover.rb +2 -2
  177. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +12 -2
  178. data/lib/ionoscloud/models/kubernetes_cluster.rb +2 -2
  179. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +2 -2
  180. data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +2 -2
  181. data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +2 -2
  182. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +3 -3
  183. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +3 -3
  184. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +3 -3
  185. data/lib/ionoscloud/models/kubernetes_clusters.rb +3 -3
  186. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +12 -2
  187. data/lib/ionoscloud/models/kubernetes_node.rb +2 -2
  188. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +4 -4
  189. data/lib/ionoscloud/models/kubernetes_node_pool.rb +2 -2
  190. data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +2 -2
  191. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +2 -2
  192. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +28 -6
  193. data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +229 -0
  194. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +2 -2
  195. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +2 -2
  196. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +2 -2
  197. data/lib/ionoscloud/models/kubernetes_node_pools.rb +3 -3
  198. data/lib/ionoscloud/models/kubernetes_node_properties.rb +2 -2
  199. data/lib/ionoscloud/models/kubernetes_nodes.rb +2 -2
  200. data/lib/ionoscloud/models/label.rb +2 -2
  201. data/lib/ionoscloud/models/label_properties.rb +2 -2
  202. data/lib/ionoscloud/models/label_resource.rb +2 -2
  203. data/lib/ionoscloud/models/label_resource_properties.rb +2 -2
  204. data/lib/ionoscloud/models/label_resources.rb +2 -2
  205. data/lib/ionoscloud/models/labels.rb +2 -2
  206. data/lib/ionoscloud/models/lan.rb +2 -2
  207. data/lib/ionoscloud/models/lan_entities.rb +2 -2
  208. data/lib/ionoscloud/models/lan_nics.rb +2 -2
  209. data/lib/ionoscloud/models/lan_post.rb +2 -2
  210. data/lib/ionoscloud/models/lan_properties.rb +2 -2
  211. data/lib/ionoscloud/models/lan_properties_post.rb +2 -2
  212. data/lib/ionoscloud/models/lans.rb +3 -3
  213. data/lib/ionoscloud/models/loadbalancer.rb +2 -2
  214. data/lib/ionoscloud/models/loadbalancer_entities.rb +2 -2
  215. data/lib/ionoscloud/models/loadbalancer_properties.rb +2 -2
  216. data/lib/ionoscloud/models/loadbalancers.rb +2 -2
  217. data/lib/ionoscloud/models/location.rb +2 -2
  218. data/lib/ionoscloud/models/location_properties.rb +18 -6
  219. data/lib/ionoscloud/models/locations.rb +2 -2
  220. data/lib/ionoscloud/models/nat_gateway.rb +271 -0
  221. data/lib/ionoscloud/models/nat_gateway_entities.rb +227 -0
  222. data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +236 -0
  223. data/lib/ionoscloud/models/nat_gateway_properties.rb +253 -0
  224. data/lib/ionoscloud/models/nat_gateway_put.rb +253 -0
  225. data/lib/ionoscloud/models/nat_gateway_rule.rb +262 -0
  226. data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +293 -0
  227. data/lib/ionoscloud/models/nat_gateway_rule_protocol.rb +39 -0
  228. data/lib/ionoscloud/models/nat_gateway_rule_put.rb +253 -0
  229. data/lib/ionoscloud/models/nat_gateway_rule_type.rb +36 -0
  230. data/lib/ionoscloud/models/nat_gateway_rules.rb +251 -0
  231. data/lib/ionoscloud/models/nat_gateways.rb +280 -0
  232. data/lib/ionoscloud/models/network_load_balancer.rb +271 -0
  233. data/lib/ionoscloud/models/network_load_balancer_entities.rb +227 -0
  234. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +262 -0
  235. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +249 -0
  236. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +356 -0
  237. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +253 -0
  238. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +263 -0
  239. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +239 -0
  240. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +280 -0
  241. data/lib/ionoscloud/models/network_load_balancer_properties.rb +278 -0
  242. data/lib/ionoscloud/models/network_load_balancer_put.rb +253 -0
  243. data/lib/ionoscloud/models/network_load_balancers.rb +280 -0
  244. data/lib/ionoscloud/models/nic.rb +2 -2
  245. data/lib/ionoscloud/models/nic_entities.rb +12 -3
  246. data/lib/ionoscloud/models/nic_properties.rb +64 -10
  247. data/lib/ionoscloud/models/nic_put.rb +253 -0
  248. data/lib/ionoscloud/models/nics.rb +2 -2
  249. data/lib/ionoscloud/models/no_state_meta_data.rb +2 -2
  250. data/lib/ionoscloud/models/pagination_links.rb +2 -2
  251. data/lib/ionoscloud/models/peer.rb +2 -2
  252. data/lib/ionoscloud/models/private_cross_connect.rb +2 -2
  253. data/lib/ionoscloud/models/private_cross_connect_properties.rb +3 -3
  254. data/lib/ionoscloud/models/private_cross_connects.rb +2 -2
  255. data/lib/ionoscloud/models/{kubernetes_config_properties.rb → remote_console_url.rb} +13 -13
  256. data/lib/ionoscloud/models/request.rb +2 -2
  257. data/lib/ionoscloud/models/request_metadata.rb +2 -2
  258. data/lib/ionoscloud/models/request_properties.rb +2 -2
  259. data/lib/ionoscloud/models/request_status.rb +2 -2
  260. data/lib/ionoscloud/models/request_status_metadata.rb +2 -2
  261. data/lib/ionoscloud/models/request_target.rb +2 -2
  262. data/lib/ionoscloud/models/requests.rb +2 -2
  263. data/lib/ionoscloud/models/resource.rb +2 -2
  264. data/lib/ionoscloud/models/resource_entities.rb +2 -2
  265. data/lib/ionoscloud/models/resource_groups.rb +2 -2
  266. data/lib/ionoscloud/models/resource_limits.rb +81 -6
  267. data/lib/ionoscloud/models/resource_properties.rb +3 -3
  268. data/lib/ionoscloud/models/resource_reference.rb +2 -2
  269. data/lib/ionoscloud/models/resources.rb +2 -2
  270. data/lib/ionoscloud/models/resources_users.rb +2 -2
  271. data/lib/ionoscloud/models/s3_bucket.rb +3 -3
  272. data/lib/ionoscloud/models/s3_key.rb +2 -2
  273. data/lib/ionoscloud/models/s3_key_metadata.rb +2 -2
  274. data/lib/ionoscloud/models/s3_key_properties.rb +2 -2
  275. data/lib/ionoscloud/models/s3_keys.rb +2 -2
  276. data/lib/ionoscloud/models/s3_object_storage_sso.rb +2 -2
  277. data/lib/ionoscloud/models/server.rb +2 -2
  278. data/lib/ionoscloud/models/server_entities.rb +2 -2
  279. data/lib/ionoscloud/models/server_properties.rb +27 -7
  280. data/lib/ionoscloud/models/servers.rb +2 -2
  281. data/lib/ionoscloud/models/snapshot.rb +2 -2
  282. data/lib/ionoscloud/models/snapshot_properties.rb +2 -2
  283. data/lib/ionoscloud/models/snapshots.rb +2 -2
  284. data/lib/ionoscloud/models/target_port_range.rb +229 -0
  285. data/lib/ionoscloud/models/template.rb +262 -0
  286. data/lib/ionoscloud/models/template_properties.rb +269 -0
  287. data/lib/ionoscloud/models/templates.rb +251 -0
  288. data/lib/ionoscloud/models/token.rb +219 -0
  289. data/lib/ionoscloud/models/type.rb +10 -2
  290. data/lib/ionoscloud/models/user.rb +2 -2
  291. data/lib/ionoscloud/models/user_metadata.rb +2 -2
  292. data/lib/ionoscloud/models/user_post.rb +2 -2
  293. data/lib/ionoscloud/models/user_properties.rb +2 -2
  294. data/lib/ionoscloud/models/user_properties_post.rb +2 -2
  295. data/lib/ionoscloud/models/user_properties_put.rb +2 -2
  296. data/lib/ionoscloud/models/user_put.rb +2 -2
  297. data/lib/ionoscloud/models/users.rb +2 -2
  298. data/lib/ionoscloud/models/users_entities.rb +2 -2
  299. data/lib/ionoscloud/models/volume.rb +2 -2
  300. data/lib/ionoscloud/models/volume_properties.rb +16 -6
  301. data/lib/ionoscloud/models/volumes.rb +2 -2
  302. data/lib/ionoscloud/version.rb +3 -3
  303. data/lib/ionoscloud.rb +60 -18
  304. data/spec/api/_api_spec.rb +5 -5
  305. data/spec/api/backup_units_api_spec.rb +140 -0
  306. data/spec/api/contract_resources_api_spec.rb +49 -0
  307. data/spec/api/data_centers_api_spec.rb +128 -0
  308. data/spec/api/firewall_rules_api_spec.rb +146 -0
  309. data/spec/api/flow_logs_api_spec.rb +140 -0
  310. data/spec/api/images_api_spec.rb +111 -0
  311. data/spec/api/ip_blocks_api_spec.rb +27 -27
  312. data/spec/api/kubernetes_api_spec.rb +55 -67
  313. data/spec/api/labels_api_spec.rb +474 -0
  314. data/spec/api/lans_api_spec.rb +186 -0
  315. data/spec/api/load_balancers_api_spec.rb +201 -0
  316. data/spec/api/locations_api_spec.rb +80 -0
  317. data/spec/api/nat_gateways_api_spec.rb +334 -0
  318. data/spec/api/network_interfaces_api_spec.rb +140 -0
  319. data/spec/api/network_load_balancers_api_spec.rb +340 -0
  320. data/spec/api/private_cross_connects_api_spec.rb +110 -0
  321. data/spec/api/{request_api_spec.rb → requests_api_spec.rb} +19 -19
  322. data/spec/api/servers_api_spec.rb +401 -0
  323. data/spec/api/snapshots_api_spec.rb +111 -0
  324. data/spec/api/templates_api_spec.rb +60 -0
  325. data/spec/api/user_management_api_spec.rb +81 -174
  326. data/spec/api/user_s3_keys_api_spec.rb +128 -0
  327. data/spec/api/volumes_api_spec.rb +171 -0
  328. data/spec/api_client_spec.rb +2 -2
  329. data/spec/configuration_spec.rb +5 -5
  330. data/spec/models/attached_volumes_spec.rb +2 -2
  331. data/spec/models/backup_unit_properties_spec.rb +2 -2
  332. data/spec/models/backup_unit_spec.rb +2 -2
  333. data/spec/models/backup_unit_sso_spec.rb +2 -2
  334. data/spec/models/backup_units_spec.rb +2 -2
  335. data/spec/models/balanced_nics_spec.rb +2 -2
  336. data/spec/models/cdroms_spec.rb +2 -2
  337. data/spec/models/connectable_datacenter_spec.rb +2 -2
  338. data/spec/models/contract_properties_spec.rb +2 -2
  339. data/spec/models/contract_spec.rb +2 -2
  340. data/spec/models/contracts_spec.rb +52 -0
  341. data/spec/models/cpu_architecture_properties_spec.rb +52 -0
  342. data/spec/models/data_center_entities_spec.rb +14 -2
  343. data/spec/models/datacenter_element_metadata_spec.rb +3 -3
  344. data/spec/models/datacenter_properties_spec.rb +8 -2
  345. data/spec/models/datacenter_spec.rb +2 -2
  346. data/spec/models/datacenters_spec.rb +2 -2
  347. data/spec/models/error_message_spec.rb +2 -2
  348. data/spec/models/error_spec.rb +2 -2
  349. data/spec/models/firewall_rule_spec.rb +2 -2
  350. data/spec/models/firewall_rules_spec.rb +2 -2
  351. data/spec/models/firewallrule_properties_spec.rb +12 -2
  352. data/spec/models/flow_log_properties_spec.rb +60 -0
  353. data/spec/models/flow_log_put_spec.rb +52 -0
  354. data/spec/models/flow_log_spec.rb +58 -0
  355. data/spec/models/flow_logs_spec.rb +70 -0
  356. data/spec/models/group_entities_spec.rb +2 -2
  357. data/spec/models/group_members_spec.rb +2 -2
  358. data/spec/models/group_properties_spec.rb +20 -2
  359. data/spec/models/group_share_properties_spec.rb +2 -2
  360. data/spec/models/group_share_spec.rb +2 -2
  361. data/spec/models/group_shares_spec.rb +2 -2
  362. data/spec/models/group_spec.rb +2 -2
  363. data/spec/models/group_users_spec.rb +2 -2
  364. data/spec/models/groups_spec.rb +2 -2
  365. data/spec/models/image_properties_spec.rb +2 -2
  366. data/spec/models/image_spec.rb +2 -2
  367. data/spec/models/images_spec.rb +2 -2
  368. data/spec/models/info_spec.rb +2 -2
  369. data/spec/models/ip_block_properties_spec.rb +2 -2
  370. data/spec/models/ip_block_spec.rb +2 -2
  371. data/spec/models/ip_blocks_spec.rb +2 -2
  372. data/spec/models/ip_consumer_spec.rb +2 -2
  373. data/spec/models/ip_failover_spec.rb +2 -2
  374. data/spec/models/kubernetes_auto_scaling_spec.rb +2 -2
  375. data/spec/models/kubernetes_cluster_entities_spec.rb +2 -2
  376. data/spec/models/kubernetes_cluster_for_post_spec.rb +2 -2
  377. data/spec/models/kubernetes_cluster_for_put_spec.rb +2 -2
  378. data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +2 -2
  379. data/spec/models/kubernetes_cluster_properties_for_put_spec.rb +2 -2
  380. data/spec/models/kubernetes_cluster_properties_spec.rb +2 -2
  381. data/spec/models/kubernetes_cluster_spec.rb +2 -2
  382. data/spec/models/kubernetes_clusters_spec.rb +2 -2
  383. data/spec/models/kubernetes_maintenance_window_spec.rb +2 -2
  384. data/spec/models/kubernetes_node_metadata_spec.rb +3 -3
  385. data/spec/models/kubernetes_node_pool_for_post_spec.rb +2 -2
  386. data/spec/models/kubernetes_node_pool_for_put_spec.rb +2 -2
  387. data/spec/models/kubernetes_node_pool_lan_routes_spec.rb +40 -0
  388. data/spec/models/kubernetes_node_pool_lan_spec.rb +14 -2
  389. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +2 -2
  390. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +2 -2
  391. data/spec/models/kubernetes_node_pool_properties_spec.rb +2 -2
  392. data/spec/models/kubernetes_node_pool_spec.rb +2 -2
  393. data/spec/models/kubernetes_node_pools_spec.rb +2 -2
  394. data/spec/models/kubernetes_node_properties_spec.rb +2 -2
  395. data/spec/models/kubernetes_node_spec.rb +2 -2
  396. data/spec/models/kubernetes_nodes_spec.rb +2 -2
  397. data/spec/models/label_properties_spec.rb +2 -2
  398. data/spec/models/label_resource_properties_spec.rb +2 -2
  399. data/spec/models/label_resource_spec.rb +2 -2
  400. data/spec/models/label_resources_spec.rb +2 -2
  401. data/spec/models/label_spec.rb +2 -2
  402. data/spec/models/labels_spec.rb +2 -2
  403. data/spec/models/lan_entities_spec.rb +2 -2
  404. data/spec/models/lan_nics_spec.rb +2 -2
  405. data/spec/models/lan_post_spec.rb +2 -2
  406. data/spec/models/lan_properties_post_spec.rb +2 -2
  407. data/spec/models/lan_properties_spec.rb +2 -2
  408. data/spec/models/lan_spec.rb +2 -2
  409. data/spec/models/lans_spec.rb +2 -2
  410. data/spec/models/loadbalancer_entities_spec.rb +2 -2
  411. data/spec/models/loadbalancer_properties_spec.rb +2 -2
  412. data/spec/models/loadbalancer_spec.rb +2 -2
  413. data/spec/models/loadbalancers_spec.rb +2 -2
  414. data/spec/models/location_properties_spec.rb +8 -2
  415. data/spec/models/location_spec.rb +2 -2
  416. data/spec/models/locations_spec.rb +2 -2
  417. data/spec/models/nat_gateway_entities_spec.rb +40 -0
  418. data/spec/models/nat_gateway_lan_properties_spec.rb +40 -0
  419. data/spec/models/nat_gateway_properties_spec.rb +46 -0
  420. data/spec/models/nat_gateway_put_spec.rb +52 -0
  421. data/spec/models/nat_gateway_rule_properties_spec.rb +70 -0
  422. data/spec/models/nat_gateway_rule_protocol_spec.rb +28 -0
  423. data/spec/models/nat_gateway_rule_put_spec.rb +52 -0
  424. data/spec/models/nat_gateway_rule_spec.rb +58 -0
  425. data/spec/models/nat_gateway_rule_type_spec.rb +28 -0
  426. data/spec/models/nat_gateway_rules_spec.rb +52 -0
  427. data/spec/models/nat_gateway_spec.rb +64 -0
  428. data/spec/models/nat_gateways_spec.rb +70 -0
  429. data/spec/models/network_load_balancer_entities_spec.rb +40 -0
  430. data/spec/models/network_load_balancer_forwarding_rule_health_check_spec.rb +52 -0
  431. data/spec/models/network_load_balancer_forwarding_rule_properties_spec.rb +78 -0
  432. data/spec/models/network_load_balancer_forwarding_rule_put_spec.rb +52 -0
  433. data/spec/models/network_load_balancer_forwarding_rule_spec.rb +58 -0
  434. data/spec/models/network_load_balancer_forwarding_rule_target_health_check_spec.rb +46 -0
  435. data/spec/models/network_load_balancer_forwarding_rule_target_spec.rb +52 -0
  436. data/spec/models/network_load_balancer_forwarding_rules_spec.rb +70 -0
  437. data/spec/models/network_load_balancer_properties_spec.rb +58 -0
  438. data/spec/models/network_load_balancer_put_spec.rb +52 -0
  439. data/spec/models/network_load_balancer_spec.rb +64 -0
  440. data/spec/models/network_load_balancers_spec.rb +70 -0
  441. data/spec/models/nic_entities_spec.rb +8 -2
  442. data/spec/models/nic_properties_spec.rb +19 -3
  443. data/spec/models/nic_put_spec.rb +52 -0
  444. data/spec/models/nic_spec.rb +2 -2
  445. data/spec/models/nics_spec.rb +2 -2
  446. data/spec/models/no_state_meta_data_spec.rb +2 -2
  447. data/spec/models/pagination_links_spec.rb +2 -2
  448. data/spec/models/peer_spec.rb +2 -2
  449. data/spec/models/private_cross_connect_properties_spec.rb +2 -2
  450. data/spec/models/private_cross_connect_spec.rb +2 -2
  451. data/spec/models/private_cross_connects_spec.rb +2 -2
  452. data/spec/models/remote_console_url_spec.rb +34 -0
  453. data/spec/models/request_metadata_spec.rb +2 -2
  454. data/spec/models/request_properties_spec.rb +2 -2
  455. data/spec/models/request_spec.rb +2 -2
  456. data/spec/models/request_status_metadata_spec.rb +2 -2
  457. data/spec/models/request_status_spec.rb +2 -2
  458. data/spec/models/request_target_spec.rb +2 -2
  459. data/spec/models/requests_spec.rb +2 -2
  460. data/spec/models/resource_entities_spec.rb +2 -2
  461. data/spec/models/resource_groups_spec.rb +2 -2
  462. data/spec/models/resource_limits_spec.rb +32 -2
  463. data/spec/models/resource_properties_spec.rb +2 -2
  464. data/spec/models/resource_reference_spec.rb +2 -2
  465. data/spec/models/resource_spec.rb +2 -2
  466. data/spec/models/resources_spec.rb +2 -2
  467. data/spec/models/resources_users_spec.rb +2 -2
  468. data/spec/models/s3_bucket_spec.rb +2 -2
  469. data/spec/models/s3_key_metadata_spec.rb +2 -2
  470. data/spec/models/s3_key_properties_spec.rb +2 -2
  471. data/spec/models/s3_key_spec.rb +2 -2
  472. data/spec/models/s3_keys_spec.rb +2 -2
  473. data/spec/models/s3_object_storage_sso_spec.rb +2 -2
  474. data/spec/models/server_entities_spec.rb +2 -2
  475. data/spec/models/server_properties_spec.rb +14 -2
  476. data/spec/models/server_spec.rb +2 -2
  477. data/spec/models/servers_spec.rb +2 -2
  478. data/spec/models/snapshot_properties_spec.rb +2 -2
  479. data/spec/models/snapshot_spec.rb +2 -2
  480. data/spec/models/snapshots_spec.rb +2 -2
  481. data/spec/models/target_port_range_spec.rb +40 -0
  482. data/spec/models/template_properties_spec.rb +52 -0
  483. data/spec/models/template_spec.rb +58 -0
  484. data/spec/models/templates_spec.rb +52 -0
  485. data/spec/models/token_spec.rb +34 -0
  486. data/spec/models/type_spec.rb +2 -2
  487. data/spec/models/user_metadata_spec.rb +2 -2
  488. data/spec/models/user_post_spec.rb +2 -2
  489. data/spec/models/user_properties_post_spec.rb +2 -2
  490. data/spec/models/user_properties_put_spec.rb +2 -2
  491. data/spec/models/user_properties_spec.rb +2 -2
  492. data/spec/models/user_put_spec.rb +2 -2
  493. data/spec/models/user_spec.rb +2 -2
  494. data/spec/models/users_entities_spec.rb +2 -2
  495. data/spec/models/users_spec.rb +2 -2
  496. data/spec/models/volume_properties_spec.rb +8 -2
  497. data/spec/models/volume_spec.rb +2 -2
  498. data/spec/models/volumes_spec.rb +2 -2
  499. data/spec/spec_helper.rb +2 -2
  500. metadata +246 -80
  501. data/Gemfile.lock +0 -68
  502. data/docs/api/BackupUnitApi.md +0 -595
  503. data/docs/api/ContractApi.md +0 -89
  504. data/docs/api/DataCenterApi.md +0 -517
  505. data/docs/api/ImageApi.md +0 -429
  506. data/docs/api/LabelApi.md +0 -2355
  507. data/docs/api/LanApi.md +0 -795
  508. data/docs/api/LoadBalancerApi.md +0 -883
  509. data/docs/api/LocationApi.md +0 -259
  510. data/docs/api/NicApi.md +0 -1087
  511. data/docs/api/PrivateCrossConnectApi.md +0 -427
  512. data/docs/api/ServerApi.md +0 -1573
  513. data/docs/api/SnapshotApi.md +0 -429
  514. data/docs/api/VolumeApi.md +0 -711
  515. data/docs/models/KubernetesConfig.md +0 -24
  516. data/docs/models/KubernetesConfigProperties.md +0 -18
  517. data/lib/ionoscloud/api/contract_api.rb +0 -96
  518. data/lib/ionoscloud/api/data_center_api.rb +0 -532
  519. data/lib/ionoscloud/api/nic_api.rb +0 -1222
  520. data/lib/ionoscloud/api/server_api.rb +0 -1679
  521. data/lib/test_driver.rb +0 -104
  522. data/spec/api/backup_unit_api_spec.rb +0 -140
  523. data/spec/api/contract_api_spec.rb +0 -49
  524. data/spec/api/data_center_api_spec.rb +0 -128
  525. data/spec/api/image_api_spec.rb +0 -111
  526. data/spec/api/label_api_spec.rb +0 -480
  527. data/spec/api/lan_api_spec.rb +0 -186
  528. data/spec/api/load_balancer_api_spec.rb +0 -203
  529. data/spec/api/location_api_spec.rb +0 -80
  530. data/spec/api/nic_api_spec.rb +0 -251
  531. data/spec/api/private_cross_connect_api_spec.rb +0 -110
  532. data/spec/api/server_api_spec.rb +0 -337
  533. data/spec/api/snapshot_api_spec.rb +0 -111
  534. data/spec/api/volume_api_spec.rb +0 -171
  535. data/spec/models/kubernetes_config_properties_spec.rb +0 -34
  536. data/spec/models/kubernetes_config_spec.rb +0 -56
@@ -0,0 +1,2023 @@
1
+ =begin
2
+ #CLOUD API
3
+
4
+ #IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
5
+
6
+ The version of the OpenAPI document: 6.0-SDK.3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Ionoscloud
16
+ class ServersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Detach a CD-ROM
23
+ # This will detach a CD-ROM from the server
24
+ # @param datacenter_id [String] The unique ID of the data center.
25
+ # @param server_id [String] The unique ID of the Server
26
+ # @param cdrom_id [String] The unique ID of the CD-ROM
27
+ # @param [Hash] opts the optional parameters
28
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
29
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (default to 0)
30
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
31
+ # @return [nil]
32
+ def datacenters_servers_cdroms_delete(datacenter_id, server_id, cdrom_id, opts = {})
33
+ datacenters_servers_cdroms_delete_with_http_info(datacenter_id, server_id, cdrom_id, opts)
34
+ nil
35
+ end
36
+
37
+ # Detach a CD-ROM
38
+ # This will detach a CD-ROM from the server
39
+ # @param datacenter_id [String] The unique ID of the data center.
40
+ # @param server_id [String] The unique ID of the Server
41
+ # @param cdrom_id [String] The unique ID of the CD-ROM
42
+ # @param [Hash] opts the optional parameters
43
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
44
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
45
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
46
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
47
+ def datacenters_servers_cdroms_delete_with_http_info(datacenter_id, server_id, cdrom_id, opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_cdroms_delete ...'
50
+ end
51
+ # verify the required parameter 'datacenter_id' is set
52
+ if @api_client.config.client_side_validation && datacenter_id.nil?
53
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_cdroms_delete"
54
+ end
55
+ # verify the required parameter 'server_id' is set
56
+ if @api_client.config.client_side_validation && server_id.nil?
57
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_cdroms_delete"
58
+ end
59
+ # verify the required parameter 'cdrom_id' is set
60
+ if @api_client.config.client_side_validation && cdrom_id.nil?
61
+ fail ArgumentError, "Missing the required parameter 'cdrom_id' when calling ServersApi.datacenters_servers_cdroms_delete"
62
+ end
63
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
64
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_delete, must be smaller than or equal to 10.'
65
+ end
66
+
67
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
68
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_delete, must be greater than or equal to 0.'
69
+ end
70
+
71
+ # resource path
72
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'cdromId' + '}', CGI.escape(cdrom_id.to_s))
73
+
74
+ # query parameters
75
+ query_params = opts[:query_params] || {}
76
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
77
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
78
+
79
+ # header parameters
80
+ header_params = opts[:header_params] || {}
81
+ # HTTP header 'Accept' (if needed)
82
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
83
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
84
+
85
+ # form parameters
86
+ form_params = opts[:form_params] || {}
87
+
88
+ # http body (model)
89
+ post_body = opts[:debug_body]
90
+
91
+ # return_type
92
+ return_type = opts[:debug_return_type]
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"ServersApi.datacenters_servers_cdroms_delete",
99
+ :header_params => header_params,
100
+ :query_params => query_params,
101
+ :form_params => form_params,
102
+ :body => post_body,
103
+ :auth_names => auth_names,
104
+ :return_type => return_type
105
+ )
106
+
107
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_cdroms_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+
114
+ # Retrieve an attached CD-ROM
115
+ # You can retrieve a specific CD-ROM attached to the server
116
+ # @param datacenter_id [String] The unique ID of the data center.
117
+ # @param server_id [String] The unique ID of the Server
118
+ # @param cdrom_id [String] The unique ID of the CD-ROM
119
+ # @param [Hash] opts the optional parameters
120
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
121
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
122
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
123
+ # @return [Image]
124
+ def datacenters_servers_cdroms_find_by_id(datacenter_id, server_id, cdrom_id, opts = {})
125
+ data, _status_code, _headers = datacenters_servers_cdroms_find_by_id_with_http_info(datacenter_id, server_id, cdrom_id, opts)
126
+ data
127
+ end
128
+
129
+ # Retrieve an attached CD-ROM
130
+ # You can retrieve a specific CD-ROM attached to the server
131
+ # @param datacenter_id [String] The unique ID of the data center.
132
+ # @param server_id [String] The unique ID of the Server
133
+ # @param cdrom_id [String] The unique ID of the CD-ROM
134
+ # @param [Hash] opts the optional parameters
135
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
136
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
137
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
138
+ # @return [Array<(Image, Integer, Hash)>] Image data, response status code and response headers
139
+ def datacenters_servers_cdroms_find_by_id_with_http_info(datacenter_id, server_id, cdrom_id, opts = {})
140
+ if @api_client.config.debugging
141
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_cdroms_find_by_id ...'
142
+ end
143
+ # verify the required parameter 'datacenter_id' is set
144
+ if @api_client.config.client_side_validation && datacenter_id.nil?
145
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_cdroms_find_by_id"
146
+ end
147
+ # verify the required parameter 'server_id' is set
148
+ if @api_client.config.client_side_validation && server_id.nil?
149
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_cdroms_find_by_id"
150
+ end
151
+ # verify the required parameter 'cdrom_id' is set
152
+ if @api_client.config.client_side_validation && cdrom_id.nil?
153
+ fail ArgumentError, "Missing the required parameter 'cdrom_id' when calling ServersApi.datacenters_servers_cdroms_find_by_id"
154
+ end
155
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
156
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_find_by_id, must be smaller than or equal to 10.'
157
+ end
158
+
159
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
160
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_find_by_id, must be greater than or equal to 0.'
161
+ end
162
+
163
+ # resource path
164
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/cdroms/{cdromId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'cdromId' + '}', CGI.escape(cdrom_id.to_s))
165
+
166
+ # query parameters
167
+ query_params = opts[:query_params] || {}
168
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
169
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
175
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
176
+
177
+ # form parameters
178
+ form_params = opts[:form_params] || {}
179
+
180
+ # http body (model)
181
+ post_body = opts[:debug_body]
182
+
183
+ # return_type
184
+ return_type = opts[:debug_return_type] || 'Image'
185
+
186
+ # auth_names
187
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
188
+
189
+ new_options = opts.merge(
190
+ :operation => :"ServersApi.datacenters_servers_cdroms_find_by_id",
191
+ :header_params => header_params,
192
+ :query_params => query_params,
193
+ :form_params => form_params,
194
+ :body => post_body,
195
+ :auth_names => auth_names,
196
+ :return_type => return_type
197
+ )
198
+
199
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
200
+ if @api_client.config.debugging
201
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_cdroms_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
202
+ end
203
+ return data, status_code, headers
204
+ end
205
+
206
+ # List attached CD-ROMs
207
+ # You can retrieve a list of CD-ROMs attached to the server.
208
+ # @param datacenter_id [String] The unique ID of the data center.
209
+ # @param server_id [String] The unique ID of the Server
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
212
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
213
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
214
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination). (default to 0)
215
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination). (default to 1000)
216
+ # @return [Cdroms]
217
+ def datacenters_servers_cdroms_get(datacenter_id, server_id, opts = {})
218
+ data, _status_code, _headers = datacenters_servers_cdroms_get_with_http_info(datacenter_id, server_id, opts)
219
+ data
220
+ end
221
+
222
+ # List attached CD-ROMs
223
+ # You can retrieve a list of CD-ROMs attached to the server.
224
+ # @param datacenter_id [String] The unique ID of the data center.
225
+ # @param server_id [String] The unique ID of the Server
226
+ # @param [Hash] opts the optional parameters
227
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
228
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
229
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
230
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination).
231
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination).
232
+ # @return [Array<(Cdroms, Integer, Hash)>] Cdroms data, response status code and response headers
233
+ def datacenters_servers_cdroms_get_with_http_info(datacenter_id, server_id, opts = {})
234
+ if @api_client.config.debugging
235
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_cdroms_get ...'
236
+ end
237
+ # verify the required parameter 'datacenter_id' is set
238
+ if @api_client.config.client_side_validation && datacenter_id.nil?
239
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_cdroms_get"
240
+ end
241
+ # verify the required parameter 'server_id' is set
242
+ if @api_client.config.client_side_validation && server_id.nil?
243
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_cdroms_get"
244
+ end
245
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
246
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_get, must be smaller than or equal to 10.'
247
+ end
248
+
249
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
250
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_get, must be greater than or equal to 0.'
251
+ end
252
+
253
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
254
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ServersApi.datacenters_servers_cdroms_get, must be greater than or equal to 0.'
255
+ end
256
+
257
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
258
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_cdroms_get, must be smaller than or equal to 10000.'
259
+ end
260
+
261
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
262
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_cdroms_get, must be greater than or equal to 1.'
263
+ end
264
+
265
+ # resource path
266
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/cdroms'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
267
+
268
+ # query parameters
269
+ query_params = opts[:query_params] || {}
270
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
271
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
272
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
273
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
274
+
275
+ # header parameters
276
+ header_params = opts[:header_params] || {}
277
+ # HTTP header 'Accept' (if needed)
278
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
279
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
280
+
281
+ # form parameters
282
+ form_params = opts[:form_params] || {}
283
+
284
+ # http body (model)
285
+ post_body = opts[:debug_body]
286
+
287
+ # return_type
288
+ return_type = opts[:debug_return_type] || 'Cdroms'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"ServersApi.datacenters_servers_cdroms_get",
295
+ :header_params => header_params,
296
+ :query_params => query_params,
297
+ :form_params => form_params,
298
+ :body => post_body,
299
+ :auth_names => auth_names,
300
+ :return_type => return_type
301
+ )
302
+
303
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_cdroms_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers
308
+ end
309
+
310
+ # Attach a CD-ROM
311
+ # You can attach a CD-ROM to an existing server. You can attach up to 2 CD-ROMs to one server.
312
+ # @param datacenter_id [String] The unique ID of the data center.
313
+ # @param server_id [String] The unique ID of the Server
314
+ # @param cdrom [Image] CD-ROM to be attached
315
+ # @param [Hash] opts the optional parameters
316
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
317
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
318
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
319
+ # @return [Image]
320
+ def datacenters_servers_cdroms_post(datacenter_id, server_id, cdrom, opts = {})
321
+ data, _status_code, _headers = datacenters_servers_cdroms_post_with_http_info(datacenter_id, server_id, cdrom, opts)
322
+ data
323
+ end
324
+
325
+ # Attach a CD-ROM
326
+ # You can attach a CD-ROM to an existing server. You can attach up to 2 CD-ROMs to one server.
327
+ # @param datacenter_id [String] The unique ID of the data center.
328
+ # @param server_id [String] The unique ID of the Server
329
+ # @param cdrom [Image] CD-ROM to be attached
330
+ # @param [Hash] opts the optional parameters
331
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
332
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
333
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
334
+ # @return [Array<(Image, Integer, Hash)>] Image data, response status code and response headers
335
+ def datacenters_servers_cdroms_post_with_http_info(datacenter_id, server_id, cdrom, opts = {})
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_cdroms_post ...'
338
+ end
339
+ # verify the required parameter 'datacenter_id' is set
340
+ if @api_client.config.client_side_validation && datacenter_id.nil?
341
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_cdroms_post"
342
+ end
343
+ # verify the required parameter 'server_id' is set
344
+ if @api_client.config.client_side_validation && server_id.nil?
345
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_cdroms_post"
346
+ end
347
+ # verify the required parameter 'cdrom' is set
348
+ if @api_client.config.client_side_validation && cdrom.nil?
349
+ fail ArgumentError, "Missing the required parameter 'cdrom' when calling ServersApi.datacenters_servers_cdroms_post"
350
+ end
351
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
352
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_post, must be smaller than or equal to 10.'
353
+ end
354
+
355
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
356
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_cdroms_post, must be greater than or equal to 0.'
357
+ end
358
+
359
+ # resource path
360
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/cdroms'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
361
+
362
+ # query parameters
363
+ query_params = opts[:query_params] || {}
364
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
365
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
366
+
367
+ # header parameters
368
+ header_params = opts[:header_params] || {}
369
+ # HTTP header 'Accept' (if needed)
370
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
371
+ # HTTP header 'Content-Type'
372
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
373
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
374
+
375
+ # form parameters
376
+ form_params = opts[:form_params] || {}
377
+
378
+ # http body (model)
379
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(cdrom)
380
+
381
+ # return_type
382
+ return_type = opts[:debug_return_type] || 'Image'
383
+
384
+ # auth_names
385
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
386
+
387
+ new_options = opts.merge(
388
+ :operation => :"ServersApi.datacenters_servers_cdroms_post",
389
+ :header_params => header_params,
390
+ :query_params => query_params,
391
+ :form_params => form_params,
392
+ :body => post_body,
393
+ :auth_names => auth_names,
394
+ :return_type => return_type
395
+ )
396
+
397
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
398
+ if @api_client.config.debugging
399
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_cdroms_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
400
+ end
401
+ return data, status_code, headers
402
+ end
403
+
404
+ # Delete a Server
405
+ # This will remove a server from your datacenter; however, it will not remove the storage volumes attached to the server. You will need to make a separate API call to perform that action
406
+ # @param datacenter_id [String] The unique ID of the data center.
407
+ # @param server_id [String] The unique ID of the Server
408
+ # @param [Hash] opts the optional parameters
409
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
410
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
411
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
412
+ # @return [nil]
413
+ def datacenters_servers_delete(datacenter_id, server_id, opts = {})
414
+ datacenters_servers_delete_with_http_info(datacenter_id, server_id, opts)
415
+ nil
416
+ end
417
+
418
+ # Delete a Server
419
+ # This will remove a server from your datacenter; however, it will not remove the storage volumes attached to the server. You will need to make a separate API call to perform that action
420
+ # @param datacenter_id [String] The unique ID of the data center.
421
+ # @param server_id [String] The unique ID of the Server
422
+ # @param [Hash] opts the optional parameters
423
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
424
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
425
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
426
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
427
+ def datacenters_servers_delete_with_http_info(datacenter_id, server_id, opts = {})
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_delete ...'
430
+ end
431
+ # verify the required parameter 'datacenter_id' is set
432
+ if @api_client.config.client_side_validation && datacenter_id.nil?
433
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_delete"
434
+ end
435
+ # verify the required parameter 'server_id' is set
436
+ if @api_client.config.client_side_validation && server_id.nil?
437
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_delete"
438
+ end
439
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
440
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_delete, must be smaller than or equal to 10.'
441
+ end
442
+
443
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
444
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_delete, must be greater than or equal to 0.'
445
+ end
446
+
447
+ # resource path
448
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
449
+
450
+ # query parameters
451
+ query_params = opts[:query_params] || {}
452
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
453
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
454
+
455
+ # header parameters
456
+ header_params = opts[:header_params] || {}
457
+ # HTTP header 'Accept' (if needed)
458
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
459
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
460
+
461
+ # form parameters
462
+ form_params = opts[:form_params] || {}
463
+
464
+ # http body (model)
465
+ post_body = opts[:debug_body]
466
+
467
+ # return_type
468
+ return_type = opts[:debug_return_type]
469
+
470
+ # auth_names
471
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
472
+
473
+ new_options = opts.merge(
474
+ :operation => :"ServersApi.datacenters_servers_delete",
475
+ :header_params => header_params,
476
+ :query_params => query_params,
477
+ :form_params => form_params,
478
+ :body => post_body,
479
+ :auth_names => auth_names,
480
+ :return_type => return_type
481
+ )
482
+
483
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
484
+ if @api_client.config.debugging
485
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
486
+ end
487
+ return data, status_code, headers
488
+ end
489
+
490
+ # Retrieve a Server
491
+ # Returns information about a server such as its configuration, provisioning status, etc.
492
+ # @param datacenter_id [String] The unique ID of the data center.
493
+ # @param server_id [String] The unique ID of the Server
494
+ # @param [Hash] opts the optional parameters
495
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
496
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
497
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
498
+ # @return [Server]
499
+ def datacenters_servers_find_by_id(datacenter_id, server_id, opts = {})
500
+ data, _status_code, _headers = datacenters_servers_find_by_id_with_http_info(datacenter_id, server_id, opts)
501
+ data
502
+ end
503
+
504
+ # Retrieve a Server
505
+ # Returns information about a server such as its configuration, provisioning status, etc.
506
+ # @param datacenter_id [String] The unique ID of the data center.
507
+ # @param server_id [String] The unique ID of the Server
508
+ # @param [Hash] opts the optional parameters
509
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
510
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
511
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
512
+ # @return [Array<(Server, Integer, Hash)>] Server data, response status code and response headers
513
+ def datacenters_servers_find_by_id_with_http_info(datacenter_id, server_id, opts = {})
514
+ if @api_client.config.debugging
515
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_find_by_id ...'
516
+ end
517
+ # verify the required parameter 'datacenter_id' is set
518
+ if @api_client.config.client_side_validation && datacenter_id.nil?
519
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_find_by_id"
520
+ end
521
+ # verify the required parameter 'server_id' is set
522
+ if @api_client.config.client_side_validation && server_id.nil?
523
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_find_by_id"
524
+ end
525
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
526
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_find_by_id, must be smaller than or equal to 10.'
527
+ end
528
+
529
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
530
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_find_by_id, must be greater than or equal to 0.'
531
+ end
532
+
533
+ # resource path
534
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
535
+
536
+ # query parameters
537
+ query_params = opts[:query_params] || {}
538
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
539
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
540
+
541
+ # header parameters
542
+ header_params = opts[:header_params] || {}
543
+ # HTTP header 'Accept' (if needed)
544
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
545
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
546
+
547
+ # form parameters
548
+ form_params = opts[:form_params] || {}
549
+
550
+ # http body (model)
551
+ post_body = opts[:debug_body]
552
+
553
+ # return_type
554
+ return_type = opts[:debug_return_type] || 'Server'
555
+
556
+ # auth_names
557
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
558
+
559
+ new_options = opts.merge(
560
+ :operation => :"ServersApi.datacenters_servers_find_by_id",
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: ServersApi#datacenters_servers_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
572
+ end
573
+ return data, status_code, headers
574
+ end
575
+
576
+ # List Servers
577
+ # You can retrieve a list of servers within a datacenter
578
+ # @param datacenter_id [String] The unique ID of the data center.
579
+ # @param [Hash] opts the optional parameters
580
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
581
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
582
+ # @option opts [Boolean] :upgrade_needed It can be used to filter which servers can be upgraded which can not be upgraded.
583
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
584
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination). (default to 0)
585
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination). (default to 1000)
586
+ # @return [Servers]
587
+ def datacenters_servers_get(datacenter_id, opts = {})
588
+ data, _status_code, _headers = datacenters_servers_get_with_http_info(datacenter_id, opts)
589
+ data
590
+ end
591
+
592
+ # List Servers
593
+ # You can retrieve a list of servers within a datacenter
594
+ # @param datacenter_id [String] The unique ID of the data center.
595
+ # @param [Hash] opts the optional parameters
596
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
597
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
598
+ # @option opts [Boolean] :upgrade_needed It can be used to filter which servers can be upgraded which can not be upgraded.
599
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
600
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination).
601
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination).
602
+ # @return [Array<(Servers, Integer, Hash)>] Servers data, response status code and response headers
603
+ def datacenters_servers_get_with_http_info(datacenter_id, opts = {})
604
+ if @api_client.config.debugging
605
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_get ...'
606
+ end
607
+ # verify the required parameter 'datacenter_id' is set
608
+ if @api_client.config.client_side_validation && datacenter_id.nil?
609
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_get"
610
+ end
611
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
612
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_get, must be smaller than or equal to 10.'
613
+ end
614
+
615
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
616
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_get, must be greater than or equal to 0.'
617
+ end
618
+
619
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
620
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ServersApi.datacenters_servers_get, must be greater than or equal to 0.'
621
+ end
622
+
623
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
624
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_get, must be smaller than or equal to 10000.'
625
+ end
626
+
627
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
628
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_get, must be greater than or equal to 1.'
629
+ end
630
+
631
+ # resource path
632
+ local_var_path = '/datacenters/{datacenterId}/servers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
633
+
634
+ # query parameters
635
+ query_params = opts[:query_params] || {}
636
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
637
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
638
+ query_params[:'upgradeNeeded'] = opts[:'upgrade_needed'] if !opts[:'upgrade_needed'].nil?
639
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
640
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
641
+
642
+ # header parameters
643
+ header_params = opts[:header_params] || {}
644
+ # HTTP header 'Accept' (if needed)
645
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
646
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
647
+
648
+ # form parameters
649
+ form_params = opts[:form_params] || {}
650
+
651
+ # http body (model)
652
+ post_body = opts[:debug_body]
653
+
654
+ # return_type
655
+ return_type = opts[:debug_return_type] || 'Servers'
656
+
657
+ # auth_names
658
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
659
+
660
+ new_options = opts.merge(
661
+ :operation => :"ServersApi.datacenters_servers_get",
662
+ :header_params => header_params,
663
+ :query_params => query_params,
664
+ :form_params => form_params,
665
+ :body => post_body,
666
+ :auth_names => auth_names,
667
+ :return_type => return_type
668
+ )
669
+
670
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
671
+ if @api_client.config.debugging
672
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
673
+ end
674
+ return data, status_code, headers
675
+ end
676
+
677
+ # Partially modify a Server
678
+ # You can use update attributes of a server
679
+ # @param datacenter_id [String] The unique ID of the data center.
680
+ # @param server_id [String] The unique ID of the server
681
+ # @param server [ServerProperties] Modified properties of Server
682
+ # @param [Hash] opts the optional parameters
683
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
684
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
685
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
686
+ # @return [Server]
687
+ def datacenters_servers_patch(datacenter_id, server_id, server, opts = {})
688
+ data, _status_code, _headers = datacenters_servers_patch_with_http_info(datacenter_id, server_id, server, opts)
689
+ data
690
+ end
691
+
692
+ # Partially modify a Server
693
+ # You can use update attributes of a server
694
+ # @param datacenter_id [String] The unique ID of the data center.
695
+ # @param server_id [String] The unique ID of the server
696
+ # @param server [ServerProperties] Modified properties of Server
697
+ # @param [Hash] opts the optional parameters
698
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
699
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
700
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
701
+ # @return [Array<(Server, Integer, Hash)>] Server data, response status code and response headers
702
+ def datacenters_servers_patch_with_http_info(datacenter_id, server_id, server, opts = {})
703
+ if @api_client.config.debugging
704
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_patch ...'
705
+ end
706
+ # verify the required parameter 'datacenter_id' is set
707
+ if @api_client.config.client_side_validation && datacenter_id.nil?
708
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_patch"
709
+ end
710
+ # verify the required parameter 'server_id' is set
711
+ if @api_client.config.client_side_validation && server_id.nil?
712
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_patch"
713
+ end
714
+ # verify the required parameter 'server' is set
715
+ if @api_client.config.client_side_validation && server.nil?
716
+ fail ArgumentError, "Missing the required parameter 'server' when calling ServersApi.datacenters_servers_patch"
717
+ end
718
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
719
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_patch, must be smaller than or equal to 10.'
720
+ end
721
+
722
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
723
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_patch, must be greater than or equal to 0.'
724
+ end
725
+
726
+ # resource path
727
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
728
+
729
+ # query parameters
730
+ query_params = opts[:query_params] || {}
731
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
732
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
733
+
734
+ # header parameters
735
+ header_params = opts[:header_params] || {}
736
+ # HTTP header 'Accept' (if needed)
737
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
738
+ # HTTP header 'Content-Type'
739
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
740
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
741
+
742
+ # form parameters
743
+ form_params = opts[:form_params] || {}
744
+
745
+ # http body (model)
746
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(server)
747
+
748
+ # return_type
749
+ return_type = opts[:debug_return_type] || 'Server'
750
+
751
+ # auth_names
752
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
753
+
754
+ new_options = opts.merge(
755
+ :operation => :"ServersApi.datacenters_servers_patch",
756
+ :header_params => header_params,
757
+ :query_params => query_params,
758
+ :form_params => form_params,
759
+ :body => post_body,
760
+ :auth_names => auth_names,
761
+ :return_type => return_type
762
+ )
763
+
764
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
765
+ if @api_client.config.debugging
766
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
767
+ end
768
+ return data, status_code, headers
769
+ end
770
+
771
+ # Create a Server
772
+ # Creates a server within an existing datacenter. You can configure the boot volume and connect the server to an existing LAN.
773
+ # @param datacenter_id [String] The unique ID of the data center.
774
+ # @param server [Server] Server to be created
775
+ # @param [Hash] opts the optional parameters
776
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
777
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
778
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
779
+ # @return [Server]
780
+ def datacenters_servers_post(datacenter_id, server, opts = {})
781
+ data, _status_code, _headers = datacenters_servers_post_with_http_info(datacenter_id, server, opts)
782
+ data
783
+ end
784
+
785
+ # Create a Server
786
+ # Creates a server within an existing datacenter. You can configure the boot volume and connect the server to an existing LAN.
787
+ # @param datacenter_id [String] The unique ID of the data center.
788
+ # @param server [Server] Server to be created
789
+ # @param [Hash] opts the optional parameters
790
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
791
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
792
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
793
+ # @return [Array<(Server, Integer, Hash)>] Server data, response status code and response headers
794
+ def datacenters_servers_post_with_http_info(datacenter_id, server, opts = {})
795
+ if @api_client.config.debugging
796
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_post ...'
797
+ end
798
+ # verify the required parameter 'datacenter_id' is set
799
+ if @api_client.config.client_side_validation && datacenter_id.nil?
800
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_post"
801
+ end
802
+ # verify the required parameter 'server' is set
803
+ if @api_client.config.client_side_validation && server.nil?
804
+ fail ArgumentError, "Missing the required parameter 'server' when calling ServersApi.datacenters_servers_post"
805
+ end
806
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
807
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_post, must be smaller than or equal to 10.'
808
+ end
809
+
810
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
811
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_post, must be greater than or equal to 0.'
812
+ end
813
+
814
+ # resource path
815
+ local_var_path = '/datacenters/{datacenterId}/servers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
816
+
817
+ # query parameters
818
+ query_params = opts[:query_params] || {}
819
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
820
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
821
+
822
+ # header parameters
823
+ header_params = opts[:header_params] || {}
824
+ # HTTP header 'Accept' (if needed)
825
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
826
+ # HTTP header 'Content-Type'
827
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
828
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
829
+
830
+ # form parameters
831
+ form_params = opts[:form_params] || {}
832
+
833
+ # http body (model)
834
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(server)
835
+
836
+ # return_type
837
+ return_type = opts[:debug_return_type] || 'Server'
838
+
839
+ # auth_names
840
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
841
+
842
+ new_options = opts.merge(
843
+ :operation => :"ServersApi.datacenters_servers_post",
844
+ :header_params => header_params,
845
+ :query_params => query_params,
846
+ :form_params => form_params,
847
+ :body => post_body,
848
+ :auth_names => auth_names,
849
+ :return_type => return_type
850
+ )
851
+
852
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
853
+ if @api_client.config.debugging
854
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
855
+ end
856
+ return data, status_code, headers
857
+ end
858
+
859
+ # Modify a Server
860
+ # Allows to modify the attributes of a Server. From v5 onwards 'allowReboot' attribute will no longer be available. For certain server property change it was earlier forced to be provided. Now this behaviour is implicit and backend will do this automatically e.g. in earlier versions, when CPU family changes, the 'allowReboot' property was required to be set to true which will no longer be the case and the server will be rebooted automatically
861
+ # @param datacenter_id [String] The unique ID of the data center.
862
+ # @param server_id [String] The unique ID of the server
863
+ # @param server [Server] Modified Server
864
+ # @param [Hash] opts the optional parameters
865
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
866
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
867
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
868
+ # @return [Server]
869
+ def datacenters_servers_put(datacenter_id, server_id, server, opts = {})
870
+ data, _status_code, _headers = datacenters_servers_put_with_http_info(datacenter_id, server_id, server, opts)
871
+ data
872
+ end
873
+
874
+ # Modify a Server
875
+ # Allows to modify the attributes of a Server. From v5 onwards &#39;allowReboot&#39; attribute will no longer be available. For certain server property change it was earlier forced to be provided. Now this behaviour is implicit and backend will do this automatically e.g. in earlier versions, when CPU family changes, the &#39;allowReboot&#39; property was required to be set to true which will no longer be the case and the server will be rebooted automatically
876
+ # @param datacenter_id [String] The unique ID of the data center.
877
+ # @param server_id [String] The unique ID of the server
878
+ # @param server [Server] Modified Server
879
+ # @param [Hash] opts the optional parameters
880
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
881
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
882
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
883
+ # @return [Array<(Server, Integer, Hash)>] Server data, response status code and response headers
884
+ def datacenters_servers_put_with_http_info(datacenter_id, server_id, server, opts = {})
885
+ if @api_client.config.debugging
886
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_put ...'
887
+ end
888
+ # verify the required parameter 'datacenter_id' is set
889
+ if @api_client.config.client_side_validation && datacenter_id.nil?
890
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_put"
891
+ end
892
+ # verify the required parameter 'server_id' is set
893
+ if @api_client.config.client_side_validation && server_id.nil?
894
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_put"
895
+ end
896
+ # verify the required parameter 'server' is set
897
+ if @api_client.config.client_side_validation && server.nil?
898
+ fail ArgumentError, "Missing the required parameter 'server' when calling ServersApi.datacenters_servers_put"
899
+ end
900
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
901
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_put, must be smaller than or equal to 10.'
902
+ end
903
+
904
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
905
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_put, must be greater than or equal to 0.'
906
+ end
907
+
908
+ # resource path
909
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
910
+
911
+ # query parameters
912
+ query_params = opts[:query_params] || {}
913
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
914
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
915
+
916
+ # header parameters
917
+ header_params = opts[:header_params] || {}
918
+ # HTTP header 'Accept' (if needed)
919
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
920
+ # HTTP header 'Content-Type'
921
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
922
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
923
+
924
+ # form parameters
925
+ form_params = opts[:form_params] || {}
926
+
927
+ # http body (model)
928
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(server)
929
+
930
+ # return_type
931
+ return_type = opts[:debug_return_type] || 'Server'
932
+
933
+ # auth_names
934
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
935
+
936
+ new_options = opts.merge(
937
+ :operation => :"ServersApi.datacenters_servers_put",
938
+ :header_params => header_params,
939
+ :query_params => query_params,
940
+ :form_params => form_params,
941
+ :body => post_body,
942
+ :auth_names => auth_names,
943
+ :return_type => return_type
944
+ )
945
+
946
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
947
+ if @api_client.config.debugging
948
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
949
+ end
950
+ return data, status_code, headers
951
+ end
952
+
953
+ # Reboot a Server
954
+ # This will force a hard reboot of the server. Do not use this method if you want to gracefully reboot the machine. This is the equivalent of powering off the machine and turning it back on.
955
+ # @param datacenter_id [String] The unique ID of the data center.
956
+ # @param server_id [String] The unique ID of the Server
957
+ # @param [Hash] opts the optional parameters
958
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
959
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
960
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
961
+ # @return [nil]
962
+ def datacenters_servers_reboot_post(datacenter_id, server_id, opts = {})
963
+ datacenters_servers_reboot_post_with_http_info(datacenter_id, server_id, opts)
964
+ nil
965
+ end
966
+
967
+ # Reboot a Server
968
+ # This will force a hard reboot of the server. Do not use this method if you want to gracefully reboot the machine. This is the equivalent of powering off the machine and turning it back on.
969
+ # @param datacenter_id [String] The unique ID of the data center.
970
+ # @param server_id [String] The unique ID of the Server
971
+ # @param [Hash] opts the optional parameters
972
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
973
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
974
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
975
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
976
+ def datacenters_servers_reboot_post_with_http_info(datacenter_id, server_id, opts = {})
977
+ if @api_client.config.debugging
978
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_reboot_post ...'
979
+ end
980
+ # verify the required parameter 'datacenter_id' is set
981
+ if @api_client.config.client_side_validation && datacenter_id.nil?
982
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_reboot_post"
983
+ end
984
+ # verify the required parameter 'server_id' is set
985
+ if @api_client.config.client_side_validation && server_id.nil?
986
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_reboot_post"
987
+ end
988
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
989
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_reboot_post, must be smaller than or equal to 10.'
990
+ end
991
+
992
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
993
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_reboot_post, must be greater than or equal to 0.'
994
+ end
995
+
996
+ # resource path
997
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/reboot'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
998
+
999
+ # query parameters
1000
+ query_params = opts[:query_params] || {}
1001
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1002
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1003
+
1004
+ # header parameters
1005
+ header_params = opts[:header_params] || {}
1006
+ # HTTP header 'Accept' (if needed)
1007
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1008
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1009
+
1010
+ # form parameters
1011
+ form_params = opts[:form_params] || {}
1012
+
1013
+ # http body (model)
1014
+ post_body = opts[:debug_body]
1015
+
1016
+ # return_type
1017
+ return_type = opts[:debug_return_type]
1018
+
1019
+ # auth_names
1020
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1021
+
1022
+ new_options = opts.merge(
1023
+ :operation => :"ServersApi.datacenters_servers_reboot_post",
1024
+ :header_params => header_params,
1025
+ :query_params => query_params,
1026
+ :form_params => form_params,
1027
+ :body => post_body,
1028
+ :auth_names => auth_names,
1029
+ :return_type => return_type
1030
+ )
1031
+
1032
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1033
+ if @api_client.config.debugging
1034
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_reboot_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1035
+ end
1036
+ return data, status_code, headers
1037
+ end
1038
+
1039
+ # Get the server remote console link
1040
+ # Returns the link with the jwToken to access the server remote console
1041
+ # @param datacenter_id [String] The unique ID of the data center.
1042
+ # @param server_id [String] The unique ID of the Server
1043
+ # @param [Hash] opts the optional parameters
1044
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1045
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1046
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1047
+ # @return [RemoteConsoleUrl]
1048
+ def datacenters_servers_remote_console_get(datacenter_id, server_id, opts = {})
1049
+ data, _status_code, _headers = datacenters_servers_remote_console_get_with_http_info(datacenter_id, server_id, opts)
1050
+ data
1051
+ end
1052
+
1053
+ # Get the server remote console link
1054
+ # Returns the link with the jwToken to access the server remote console
1055
+ # @param datacenter_id [String] The unique ID of the data center.
1056
+ # @param server_id [String] The unique ID of the Server
1057
+ # @param [Hash] opts the optional parameters
1058
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1059
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1060
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1061
+ # @return [Array<(RemoteConsoleUrl, Integer, Hash)>] RemoteConsoleUrl data, response status code and response headers
1062
+ def datacenters_servers_remote_console_get_with_http_info(datacenter_id, server_id, opts = {})
1063
+ if @api_client.config.debugging
1064
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_remote_console_get ...'
1065
+ end
1066
+ # verify the required parameter 'datacenter_id' is set
1067
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1068
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_remote_console_get"
1069
+ end
1070
+ # verify the required parameter 'server_id' is set
1071
+ if @api_client.config.client_side_validation && server_id.nil?
1072
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_remote_console_get"
1073
+ end
1074
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1075
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_remote_console_get, must be smaller than or equal to 10.'
1076
+ end
1077
+
1078
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1079
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_remote_console_get, must be greater than or equal to 0.'
1080
+ end
1081
+
1082
+ # resource path
1083
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/remoteconsole'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1084
+
1085
+ # query parameters
1086
+ query_params = opts[:query_params] || {}
1087
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1088
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1089
+
1090
+ # header parameters
1091
+ header_params = opts[:header_params] || {}
1092
+ # HTTP header 'Accept' (if needed)
1093
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1094
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1095
+
1096
+ # form parameters
1097
+ form_params = opts[:form_params] || {}
1098
+
1099
+ # http body (model)
1100
+ post_body = opts[:debug_body]
1101
+
1102
+ # return_type
1103
+ return_type = opts[:debug_return_type] || 'RemoteConsoleUrl'
1104
+
1105
+ # auth_names
1106
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1107
+
1108
+ new_options = opts.merge(
1109
+ :operation => :"ServersApi.datacenters_servers_remote_console_get",
1110
+ :header_params => header_params,
1111
+ :query_params => query_params,
1112
+ :form_params => form_params,
1113
+ :body => post_body,
1114
+ :auth_names => auth_names,
1115
+ :return_type => return_type
1116
+ )
1117
+
1118
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1119
+ if @api_client.config.debugging
1120
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_remote_console_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1121
+ end
1122
+ return data, status_code, headers
1123
+ end
1124
+
1125
+ # Resume a Cube Server
1126
+ # This will resume a suspended server. The operation can only be applied to suspended Cube servers. No billing event will be generated.
1127
+ # @param datacenter_id [String] The unique ID of the data center.
1128
+ # @param server_id [String] The unique ID of the Server
1129
+ # @param [Hash] opts the optional parameters
1130
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1131
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1132
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1133
+ # @return [nil]
1134
+ def datacenters_servers_resume_post(datacenter_id, server_id, opts = {})
1135
+ datacenters_servers_resume_post_with_http_info(datacenter_id, server_id, opts)
1136
+ nil
1137
+ end
1138
+
1139
+ # Resume a Cube Server
1140
+ # This will resume a suspended server. The operation can only be applied to suspended Cube servers. No billing event will be generated.
1141
+ # @param datacenter_id [String] The unique ID of the data center.
1142
+ # @param server_id [String] The unique ID of the Server
1143
+ # @param [Hash] opts the optional parameters
1144
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1145
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1146
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1147
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1148
+ def datacenters_servers_resume_post_with_http_info(datacenter_id, server_id, opts = {})
1149
+ if @api_client.config.debugging
1150
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_resume_post ...'
1151
+ end
1152
+ # verify the required parameter 'datacenter_id' is set
1153
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1154
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_resume_post"
1155
+ end
1156
+ # verify the required parameter 'server_id' is set
1157
+ if @api_client.config.client_side_validation && server_id.nil?
1158
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_resume_post"
1159
+ end
1160
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1161
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_resume_post, must be smaller than or equal to 10.'
1162
+ end
1163
+
1164
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1165
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_resume_post, must be greater than or equal to 0.'
1166
+ end
1167
+
1168
+ # resource path
1169
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/resume'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1170
+
1171
+ # query parameters
1172
+ query_params = opts[:query_params] || {}
1173
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1174
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1175
+
1176
+ # header parameters
1177
+ header_params = opts[:header_params] || {}
1178
+ # HTTP header 'Accept' (if needed)
1179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1180
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1181
+
1182
+ # form parameters
1183
+ form_params = opts[:form_params] || {}
1184
+
1185
+ # http body (model)
1186
+ post_body = opts[:debug_body]
1187
+
1188
+ # return_type
1189
+ return_type = opts[:debug_return_type]
1190
+
1191
+ # auth_names
1192
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1193
+
1194
+ new_options = opts.merge(
1195
+ :operation => :"ServersApi.datacenters_servers_resume_post",
1196
+ :header_params => header_params,
1197
+ :query_params => query_params,
1198
+ :form_params => form_params,
1199
+ :body => post_body,
1200
+ :auth_names => auth_names,
1201
+ :return_type => return_type
1202
+ )
1203
+
1204
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1205
+ if @api_client.config.debugging
1206
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_resume_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1207
+ end
1208
+ return data, status_code, headers
1209
+ end
1210
+
1211
+ # Start a Server
1212
+ # This will start a server. If the server's public IP was deallocated then a new IP will be assigned
1213
+ # @param datacenter_id [String] The unique ID of the data center.
1214
+ # @param server_id [String] The unique ID of the Server
1215
+ # @param [Hash] opts the optional parameters
1216
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1217
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1218
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1219
+ # @return [nil]
1220
+ def datacenters_servers_start_post(datacenter_id, server_id, opts = {})
1221
+ datacenters_servers_start_post_with_http_info(datacenter_id, server_id, opts)
1222
+ nil
1223
+ end
1224
+
1225
+ # Start a Server
1226
+ # This will start a server. If the server&#39;s public IP was deallocated then a new IP will be assigned
1227
+ # @param datacenter_id [String] The unique ID of the data center.
1228
+ # @param server_id [String] The unique ID of the Server
1229
+ # @param [Hash] opts the optional parameters
1230
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1231
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1232
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1233
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1234
+ def datacenters_servers_start_post_with_http_info(datacenter_id, server_id, opts = {})
1235
+ if @api_client.config.debugging
1236
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_start_post ...'
1237
+ end
1238
+ # verify the required parameter 'datacenter_id' is set
1239
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1240
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_start_post"
1241
+ end
1242
+ # verify the required parameter 'server_id' is set
1243
+ if @api_client.config.client_side_validation && server_id.nil?
1244
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_start_post"
1245
+ end
1246
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1247
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_start_post, must be smaller than or equal to 10.'
1248
+ end
1249
+
1250
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1251
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_start_post, must be greater than or equal to 0.'
1252
+ end
1253
+
1254
+ # resource path
1255
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/start'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1256
+
1257
+ # query parameters
1258
+ query_params = opts[:query_params] || {}
1259
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1260
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1261
+
1262
+ # header parameters
1263
+ header_params = opts[:header_params] || {}
1264
+ # HTTP header 'Accept' (if needed)
1265
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1266
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1267
+
1268
+ # form parameters
1269
+ form_params = opts[:form_params] || {}
1270
+
1271
+ # http body (model)
1272
+ post_body = opts[:debug_body]
1273
+
1274
+ # return_type
1275
+ return_type = opts[:debug_return_type]
1276
+
1277
+ # auth_names
1278
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1279
+
1280
+ new_options = opts.merge(
1281
+ :operation => :"ServersApi.datacenters_servers_start_post",
1282
+ :header_params => header_params,
1283
+ :query_params => query_params,
1284
+ :form_params => form_params,
1285
+ :body => post_body,
1286
+ :auth_names => auth_names,
1287
+ :return_type => return_type
1288
+ )
1289
+
1290
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1291
+ if @api_client.config.debugging
1292
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_start_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1293
+ end
1294
+ return data, status_code, headers
1295
+ end
1296
+
1297
+ # Stop a Server
1298
+ # This will stop a server. The machine will be forcefully powered off, billing will cease, and the public IP, if one is allocated, will be deallocated. The operation is not supported for Cube servers.
1299
+ # @param datacenter_id [String] The unique ID of the data center.
1300
+ # @param server_id [String] The unique ID of the Server
1301
+ # @param [Hash] opts the optional parameters
1302
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1303
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1304
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1305
+ # @return [nil]
1306
+ def datacenters_servers_stop_post(datacenter_id, server_id, opts = {})
1307
+ datacenters_servers_stop_post_with_http_info(datacenter_id, server_id, opts)
1308
+ nil
1309
+ end
1310
+
1311
+ # Stop a Server
1312
+ # This will stop a server. The machine will be forcefully powered off, billing will cease, and the public IP, if one is allocated, will be deallocated. The operation is not supported for Cube servers.
1313
+ # @param datacenter_id [String] The unique ID of the data center.
1314
+ # @param server_id [String] The unique ID of the Server
1315
+ # @param [Hash] opts the optional parameters
1316
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1317
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1318
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1319
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1320
+ def datacenters_servers_stop_post_with_http_info(datacenter_id, server_id, opts = {})
1321
+ if @api_client.config.debugging
1322
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_stop_post ...'
1323
+ end
1324
+ # verify the required parameter 'datacenter_id' is set
1325
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1326
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_stop_post"
1327
+ end
1328
+ # verify the required parameter 'server_id' is set
1329
+ if @api_client.config.client_side_validation && server_id.nil?
1330
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_stop_post"
1331
+ end
1332
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1333
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_stop_post, must be smaller than or equal to 10.'
1334
+ end
1335
+
1336
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1337
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_stop_post, must be greater than or equal to 0.'
1338
+ end
1339
+
1340
+ # resource path
1341
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/stop'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1342
+
1343
+ # query parameters
1344
+ query_params = opts[:query_params] || {}
1345
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1346
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1347
+
1348
+ # header parameters
1349
+ header_params = opts[:header_params] || {}
1350
+ # HTTP header 'Accept' (if needed)
1351
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1352
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1353
+
1354
+ # form parameters
1355
+ form_params = opts[:form_params] || {}
1356
+
1357
+ # http body (model)
1358
+ post_body = opts[:debug_body]
1359
+
1360
+ # return_type
1361
+ return_type = opts[:debug_return_type]
1362
+
1363
+ # auth_names
1364
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1365
+
1366
+ new_options = opts.merge(
1367
+ :operation => :"ServersApi.datacenters_servers_stop_post",
1368
+ :header_params => header_params,
1369
+ :query_params => query_params,
1370
+ :form_params => form_params,
1371
+ :body => post_body,
1372
+ :auth_names => auth_names,
1373
+ :return_type => return_type
1374
+ )
1375
+
1376
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1377
+ if @api_client.config.debugging
1378
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_stop_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1379
+ end
1380
+ return data, status_code, headers
1381
+ end
1382
+
1383
+ # Suspend a Cube Server
1384
+ # This will suspend a server. The operation can only be applied to Cube servers. Note: The virtual machine will not be deleted, and the consumed resources will continue to be billed.
1385
+ # @param datacenter_id [String] The unique ID of the data center.
1386
+ # @param server_id [String] The unique ID of the Server
1387
+ # @param [Hash] opts the optional parameters
1388
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1389
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1390
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1391
+ # @return [nil]
1392
+ def datacenters_servers_suspend_post(datacenter_id, server_id, opts = {})
1393
+ datacenters_servers_suspend_post_with_http_info(datacenter_id, server_id, opts)
1394
+ nil
1395
+ end
1396
+
1397
+ # Suspend a Cube Server
1398
+ # This will suspend a server. The operation can only be applied to Cube servers. Note: The virtual machine will not be deleted, and the consumed resources will continue to be billed.
1399
+ # @param datacenter_id [String] The unique ID of the data center.
1400
+ # @param server_id [String] The unique ID of the Server
1401
+ # @param [Hash] opts the optional parameters
1402
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1403
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1404
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1405
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1406
+ def datacenters_servers_suspend_post_with_http_info(datacenter_id, server_id, opts = {})
1407
+ if @api_client.config.debugging
1408
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_suspend_post ...'
1409
+ end
1410
+ # verify the required parameter 'datacenter_id' is set
1411
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1412
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_suspend_post"
1413
+ end
1414
+ # verify the required parameter 'server_id' is set
1415
+ if @api_client.config.client_side_validation && server_id.nil?
1416
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_suspend_post"
1417
+ end
1418
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1419
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_suspend_post, must be smaller than or equal to 10.'
1420
+ end
1421
+
1422
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1423
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_suspend_post, must be greater than or equal to 0.'
1424
+ end
1425
+
1426
+ # resource path
1427
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/suspend'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1428
+
1429
+ # query parameters
1430
+ query_params = opts[:query_params] || {}
1431
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1432
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1433
+
1434
+ # header parameters
1435
+ header_params = opts[:header_params] || {}
1436
+ # HTTP header 'Accept' (if needed)
1437
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1438
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1439
+
1440
+ # form parameters
1441
+ form_params = opts[:form_params] || {}
1442
+
1443
+ # http body (model)
1444
+ post_body = opts[:debug_body]
1445
+
1446
+ # return_type
1447
+ return_type = opts[:debug_return_type]
1448
+
1449
+ # auth_names
1450
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1451
+
1452
+ new_options = opts.merge(
1453
+ :operation => :"ServersApi.datacenters_servers_suspend_post",
1454
+ :header_params => header_params,
1455
+ :query_params => query_params,
1456
+ :form_params => form_params,
1457
+ :body => post_body,
1458
+ :auth_names => auth_names,
1459
+ :return_type => return_type
1460
+ )
1461
+
1462
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1463
+ if @api_client.config.debugging
1464
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_suspend_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1465
+ end
1466
+ return data, status_code, headers
1467
+ end
1468
+
1469
+ # Get the server's jwToken
1470
+ # Returns the server json web token to be used for login operations (ex: accessing the server console)
1471
+ # @param datacenter_id [String] The unique ID of the data center.
1472
+ # @param server_id [String] The unique ID of the Server
1473
+ # @param [Hash] opts the optional parameters
1474
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1475
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1476
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1477
+ # @return [Token]
1478
+ def datacenters_servers_token_get(datacenter_id, server_id, opts = {})
1479
+ data, _status_code, _headers = datacenters_servers_token_get_with_http_info(datacenter_id, server_id, opts)
1480
+ data
1481
+ end
1482
+
1483
+ # Get the server&#39;s jwToken
1484
+ # Returns the server json web token to be used for login operations (ex: accessing the server console)
1485
+ # @param datacenter_id [String] The unique ID of the data center.
1486
+ # @param server_id [String] The unique ID of the Server
1487
+ # @param [Hash] opts the optional parameters
1488
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1489
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1490
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1491
+ # @return [Array<(Token, Integer, Hash)>] Token data, response status code and response headers
1492
+ def datacenters_servers_token_get_with_http_info(datacenter_id, server_id, opts = {})
1493
+ if @api_client.config.debugging
1494
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_token_get ...'
1495
+ end
1496
+ # verify the required parameter 'datacenter_id' is set
1497
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1498
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_token_get"
1499
+ end
1500
+ # verify the required parameter 'server_id' is set
1501
+ if @api_client.config.client_side_validation && server_id.nil?
1502
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_token_get"
1503
+ end
1504
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1505
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_token_get, must be smaller than or equal to 10.'
1506
+ end
1507
+
1508
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1509
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_token_get, must be greater than or equal to 0.'
1510
+ end
1511
+
1512
+ # resource path
1513
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/token'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1514
+
1515
+ # query parameters
1516
+ query_params = opts[:query_params] || {}
1517
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1518
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1519
+
1520
+ # header parameters
1521
+ header_params = opts[:header_params] || {}
1522
+ # HTTP header 'Accept' (if needed)
1523
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1524
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1525
+
1526
+ # form parameters
1527
+ form_params = opts[:form_params] || {}
1528
+
1529
+ # http body (model)
1530
+ post_body = opts[:debug_body]
1531
+
1532
+ # return_type
1533
+ return_type = opts[:debug_return_type] || 'Token'
1534
+
1535
+ # auth_names
1536
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1537
+
1538
+ new_options = opts.merge(
1539
+ :operation => :"ServersApi.datacenters_servers_token_get",
1540
+ :header_params => header_params,
1541
+ :query_params => query_params,
1542
+ :form_params => form_params,
1543
+ :body => post_body,
1544
+ :auth_names => auth_names,
1545
+ :return_type => return_type
1546
+ )
1547
+
1548
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1549
+ if @api_client.config.debugging
1550
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_token_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1551
+ end
1552
+ return data, status_code, headers
1553
+ end
1554
+
1555
+ # Upgrade a Server
1556
+ # This will upgrade the version of the server, if needed. To verify if there is an upgrade available for a server, call '/datacenters/{datacenterId}/servers?upgradeNeeded=true'
1557
+ # @param datacenter_id [String] The unique ID of the data center.
1558
+ # @param server_id [String] The unique ID of the Server
1559
+ # @param [Hash] opts the optional parameters
1560
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1561
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1562
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1563
+ # @return [nil]
1564
+ def datacenters_servers_upgrade_post(datacenter_id, server_id, opts = {})
1565
+ datacenters_servers_upgrade_post_with_http_info(datacenter_id, server_id, opts)
1566
+ nil
1567
+ end
1568
+
1569
+ # Upgrade a Server
1570
+ # This will upgrade the version of the server, if needed. To verify if there is an upgrade available for a server, call &#39;/datacenters/{datacenterId}/servers?upgradeNeeded&#x3D;true&#39;
1571
+ # @param datacenter_id [String] The unique ID of the data center.
1572
+ # @param server_id [String] The unique ID of the Server
1573
+ # @param [Hash] opts the optional parameters
1574
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1575
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1576
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1577
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1578
+ def datacenters_servers_upgrade_post_with_http_info(datacenter_id, server_id, opts = {})
1579
+ if @api_client.config.debugging
1580
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_upgrade_post ...'
1581
+ end
1582
+ # verify the required parameter 'datacenter_id' is set
1583
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1584
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_upgrade_post"
1585
+ end
1586
+ # verify the required parameter 'server_id' is set
1587
+ if @api_client.config.client_side_validation && server_id.nil?
1588
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_upgrade_post"
1589
+ end
1590
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1591
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_upgrade_post, must be smaller than or equal to 10.'
1592
+ end
1593
+
1594
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1595
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_upgrade_post, must be greater than or equal to 0.'
1596
+ end
1597
+
1598
+ # resource path
1599
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/upgrade'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1600
+
1601
+ # query parameters
1602
+ query_params = opts[:query_params] || {}
1603
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1604
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1605
+
1606
+ # header parameters
1607
+ header_params = opts[:header_params] || {}
1608
+ # HTTP header 'Accept' (if needed)
1609
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1610
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1611
+
1612
+ # form parameters
1613
+ form_params = opts[:form_params] || {}
1614
+
1615
+ # http body (model)
1616
+ post_body = opts[:debug_body]
1617
+
1618
+ # return_type
1619
+ return_type = opts[:debug_return_type]
1620
+
1621
+ # auth_names
1622
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1623
+
1624
+ new_options = opts.merge(
1625
+ :operation => :"ServersApi.datacenters_servers_upgrade_post",
1626
+ :header_params => header_params,
1627
+ :query_params => query_params,
1628
+ :form_params => form_params,
1629
+ :body => post_body,
1630
+ :auth_names => auth_names,
1631
+ :return_type => return_type
1632
+ )
1633
+
1634
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1635
+ if @api_client.config.debugging
1636
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_upgrade_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1637
+ end
1638
+ return data, status_code, headers
1639
+ end
1640
+
1641
+ # Detach a volume
1642
+ # This will detach the volume from the server. This will not delete the volume from your datacenter. You will need to make a separate request to perform a deletion
1643
+ # @param datacenter_id [String] The unique ID of the data center.
1644
+ # @param server_id [String] The unique ID of the Server
1645
+ # @param volume_id [String] The unique ID of the Volume
1646
+ # @param [Hash] opts the optional parameters
1647
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1648
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1649
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1650
+ # @return [nil]
1651
+ def datacenters_servers_volumes_delete(datacenter_id, server_id, volume_id, opts = {})
1652
+ datacenters_servers_volumes_delete_with_http_info(datacenter_id, server_id, volume_id, opts)
1653
+ nil
1654
+ end
1655
+
1656
+ # Detach a volume
1657
+ # This will detach the volume from the server. This will not delete the volume from your datacenter. You will need to make a separate request to perform a deletion
1658
+ # @param datacenter_id [String] The unique ID of the data center.
1659
+ # @param server_id [String] The unique ID of the Server
1660
+ # @param volume_id [String] The unique ID of the Volume
1661
+ # @param [Hash] opts the optional parameters
1662
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1663
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1664
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1665
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1666
+ def datacenters_servers_volumes_delete_with_http_info(datacenter_id, server_id, volume_id, opts = {})
1667
+ if @api_client.config.debugging
1668
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_volumes_delete ...'
1669
+ end
1670
+ # verify the required parameter 'datacenter_id' is set
1671
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1672
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_volumes_delete"
1673
+ end
1674
+ # verify the required parameter 'server_id' is set
1675
+ if @api_client.config.client_side_validation && server_id.nil?
1676
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_volumes_delete"
1677
+ end
1678
+ # verify the required parameter 'volume_id' is set
1679
+ if @api_client.config.client_side_validation && volume_id.nil?
1680
+ fail ArgumentError, "Missing the required parameter 'volume_id' when calling ServersApi.datacenters_servers_volumes_delete"
1681
+ end
1682
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1683
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_delete, must be smaller than or equal to 10.'
1684
+ end
1685
+
1686
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1687
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_delete, must be greater than or equal to 0.'
1688
+ end
1689
+
1690
+ # resource path
1691
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'volumeId' + '}', CGI.escape(volume_id.to_s))
1692
+
1693
+ # query parameters
1694
+ query_params = opts[:query_params] || {}
1695
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1696
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1697
+
1698
+ # header parameters
1699
+ header_params = opts[:header_params] || {}
1700
+ # HTTP header 'Accept' (if needed)
1701
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1702
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1703
+
1704
+ # form parameters
1705
+ form_params = opts[:form_params] || {}
1706
+
1707
+ # http body (model)
1708
+ post_body = opts[:debug_body]
1709
+
1710
+ # return_type
1711
+ return_type = opts[:debug_return_type]
1712
+
1713
+ # auth_names
1714
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1715
+
1716
+ new_options = opts.merge(
1717
+ :operation => :"ServersApi.datacenters_servers_volumes_delete",
1718
+ :header_params => header_params,
1719
+ :query_params => query_params,
1720
+ :form_params => form_params,
1721
+ :body => post_body,
1722
+ :auth_names => auth_names,
1723
+ :return_type => return_type
1724
+ )
1725
+
1726
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1727
+ if @api_client.config.debugging
1728
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_volumes_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1729
+ end
1730
+ return data, status_code, headers
1731
+ end
1732
+
1733
+ # Retrieve an attached volume
1734
+ # This will retrieve the properties of an attached volume.
1735
+ # @param datacenter_id [String] The unique ID of the data center.
1736
+ # @param server_id [String] The unique ID of the Server
1737
+ # @param volume_id [String] The unique ID of the Volume
1738
+ # @param [Hash] opts the optional parameters
1739
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1740
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1741
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1742
+ # @return [Volume]
1743
+ def datacenters_servers_volumes_find_by_id(datacenter_id, server_id, volume_id, opts = {})
1744
+ data, _status_code, _headers = datacenters_servers_volumes_find_by_id_with_http_info(datacenter_id, server_id, volume_id, opts)
1745
+ data
1746
+ end
1747
+
1748
+ # Retrieve an attached volume
1749
+ # This will retrieve the properties of an attached volume.
1750
+ # @param datacenter_id [String] The unique ID of the data center.
1751
+ # @param server_id [String] The unique ID of the Server
1752
+ # @param volume_id [String] The unique ID of the Volume
1753
+ # @param [Hash] opts the optional parameters
1754
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1755
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1756
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1757
+ # @return [Array<(Volume, Integer, Hash)>] Volume data, response status code and response headers
1758
+ def datacenters_servers_volumes_find_by_id_with_http_info(datacenter_id, server_id, volume_id, opts = {})
1759
+ if @api_client.config.debugging
1760
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_volumes_find_by_id ...'
1761
+ end
1762
+ # verify the required parameter 'datacenter_id' is set
1763
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1764
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_volumes_find_by_id"
1765
+ end
1766
+ # verify the required parameter 'server_id' is set
1767
+ if @api_client.config.client_side_validation && server_id.nil?
1768
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_volumes_find_by_id"
1769
+ end
1770
+ # verify the required parameter 'volume_id' is set
1771
+ if @api_client.config.client_side_validation && volume_id.nil?
1772
+ fail ArgumentError, "Missing the required parameter 'volume_id' when calling ServersApi.datacenters_servers_volumes_find_by_id"
1773
+ end
1774
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1775
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_find_by_id, must be smaller than or equal to 10.'
1776
+ end
1777
+
1778
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1779
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_find_by_id, must be greater than or equal to 0.'
1780
+ end
1781
+
1782
+ # resource path
1783
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s)).sub('{' + 'volumeId' + '}', CGI.escape(volume_id.to_s))
1784
+
1785
+ # query parameters
1786
+ query_params = opts[:query_params] || {}
1787
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1788
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1789
+
1790
+ # header parameters
1791
+ header_params = opts[:header_params] || {}
1792
+ # HTTP header 'Accept' (if needed)
1793
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1794
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1795
+
1796
+ # form parameters
1797
+ form_params = opts[:form_params] || {}
1798
+
1799
+ # http body (model)
1800
+ post_body = opts[:debug_body]
1801
+
1802
+ # return_type
1803
+ return_type = opts[:debug_return_type] || 'Volume'
1804
+
1805
+ # auth_names
1806
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1807
+
1808
+ new_options = opts.merge(
1809
+ :operation => :"ServersApi.datacenters_servers_volumes_find_by_id",
1810
+ :header_params => header_params,
1811
+ :query_params => query_params,
1812
+ :form_params => form_params,
1813
+ :body => post_body,
1814
+ :auth_names => auth_names,
1815
+ :return_type => return_type
1816
+ )
1817
+
1818
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1819
+ if @api_client.config.debugging
1820
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_volumes_find_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1821
+ end
1822
+ return data, status_code, headers
1823
+ end
1824
+
1825
+ # List Attached Volumes
1826
+ # You can retrieve a list of volumes attached to the server
1827
+ # @param datacenter_id [String] The unique ID of the data center.
1828
+ # @param server_id [String] The unique ID of the Server
1829
+ # @param [Hash] opts the optional parameters
1830
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1831
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1832
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1833
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination). (default to 0)
1834
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination). (default to 1000)
1835
+ # @return [AttachedVolumes]
1836
+ def datacenters_servers_volumes_get(datacenter_id, server_id, opts = {})
1837
+ data, _status_code, _headers = datacenters_servers_volumes_get_with_http_info(datacenter_id, server_id, opts)
1838
+ data
1839
+ end
1840
+
1841
+ # List Attached Volumes
1842
+ # You can retrieve a list of volumes attached to the server
1843
+ # @param datacenter_id [String] The unique ID of the data center.
1844
+ # @param server_id [String] The unique ID of the Server
1845
+ # @param [Hash] opts the optional parameters
1846
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1847
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1848
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1849
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (use together with limit for pagination).
1850
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination).
1851
+ # @return [Array<(AttachedVolumes, Integer, Hash)>] AttachedVolumes data, response status code and response headers
1852
+ def datacenters_servers_volumes_get_with_http_info(datacenter_id, server_id, opts = {})
1853
+ if @api_client.config.debugging
1854
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_volumes_get ...'
1855
+ end
1856
+ # verify the required parameter 'datacenter_id' is set
1857
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1858
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_volumes_get"
1859
+ end
1860
+ # verify the required parameter 'server_id' is set
1861
+ if @api_client.config.client_side_validation && server_id.nil?
1862
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_volumes_get"
1863
+ end
1864
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1865
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_get, must be smaller than or equal to 10.'
1866
+ end
1867
+
1868
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1869
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_get, must be greater than or equal to 0.'
1870
+ end
1871
+
1872
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
1873
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ServersApi.datacenters_servers_volumes_get, must be greater than or equal to 0.'
1874
+ end
1875
+
1876
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
1877
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_volumes_get, must be smaller than or equal to 10000.'
1878
+ end
1879
+
1880
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
1881
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ServersApi.datacenters_servers_volumes_get, must be greater than or equal to 1.'
1882
+ end
1883
+
1884
+ # resource path
1885
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/volumes'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1886
+
1887
+ # query parameters
1888
+ query_params = opts[:query_params] || {}
1889
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1890
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1891
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
1892
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1893
+
1894
+ # header parameters
1895
+ header_params = opts[:header_params] || {}
1896
+ # HTTP header 'Accept' (if needed)
1897
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1898
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1899
+
1900
+ # form parameters
1901
+ form_params = opts[:form_params] || {}
1902
+
1903
+ # http body (model)
1904
+ post_body = opts[:debug_body]
1905
+
1906
+ # return_type
1907
+ return_type = opts[:debug_return_type] || 'AttachedVolumes'
1908
+
1909
+ # auth_names
1910
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication']
1911
+
1912
+ new_options = opts.merge(
1913
+ :operation => :"ServersApi.datacenters_servers_volumes_get",
1914
+ :header_params => header_params,
1915
+ :query_params => query_params,
1916
+ :form_params => form_params,
1917
+ :body => post_body,
1918
+ :auth_names => auth_names,
1919
+ :return_type => return_type
1920
+ )
1921
+
1922
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1923
+ if @api_client.config.debugging
1924
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_volumes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1925
+ end
1926
+ return data, status_code, headers
1927
+ end
1928
+
1929
+ # Attach a volume
1930
+ # This will attach a pre-existing storage volume to the server. It is also possible to create and attach a volume in one step just by providing a new volume description as payload. Combine count of Nics and volumes attached to the server should not exceed size 24.
1931
+ # @param datacenter_id [String] The unique ID of the data center.
1932
+ # @param server_id [String] The unique ID of the Server
1933
+ # @param volume [Volume] Volume to be attached (created and attached)
1934
+ # @param [Hash] opts the optional parameters
1935
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1936
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on (default to 0)
1937
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1938
+ # @return [Volume]
1939
+ def datacenters_servers_volumes_post(datacenter_id, server_id, volume, opts = {})
1940
+ data, _status_code, _headers = datacenters_servers_volumes_post_with_http_info(datacenter_id, server_id, volume, opts)
1941
+ data
1942
+ end
1943
+
1944
+ # Attach a volume
1945
+ # This will attach a pre-existing storage volume to the server. It is also possible to create and attach a volume in one step just by providing a new volume description as payload. Combine count of Nics and volumes attached to the server should not exceed size 24.
1946
+ # @param datacenter_id [String] The unique ID of the data center.
1947
+ # @param server_id [String] The unique ID of the Server
1948
+ # @param volume [Volume] Volume to be attached (created and attached)
1949
+ # @param [Hash] opts the optional parameters
1950
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1951
+ # @option opts [Integer] :depth Controls the detail depth of the response objects. GET /datacenters/[ID] - depth&#x3D;0: Only direct properties are included; children (servers and other elements) are not included. - depth&#x3D;1: Direct properties and children references are included. - depth&#x3D;2: Direct properties and children properties are included. - depth&#x3D;3: Direct properties and children properties and children&#39;s children are included. - depth&#x3D;... and so on
1952
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, against which all API requests are to be executed.
1953
+ # @return [Array<(Volume, Integer, Hash)>] Volume data, response status code and response headers
1954
+ def datacenters_servers_volumes_post_with_http_info(datacenter_id, server_id, volume, opts = {})
1955
+ if @api_client.config.debugging
1956
+ @api_client.config.logger.debug 'Calling API: ServersApi.datacenters_servers_volumes_post ...'
1957
+ end
1958
+ # verify the required parameter 'datacenter_id' is set
1959
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1960
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ServersApi.datacenters_servers_volumes_post"
1961
+ end
1962
+ # verify the required parameter 'server_id' is set
1963
+ if @api_client.config.client_side_validation && server_id.nil?
1964
+ fail ArgumentError, "Missing the required parameter 'server_id' when calling ServersApi.datacenters_servers_volumes_post"
1965
+ end
1966
+ # verify the required parameter 'volume' is set
1967
+ if @api_client.config.client_side_validation && volume.nil?
1968
+ fail ArgumentError, "Missing the required parameter 'volume' when calling ServersApi.datacenters_servers_volumes_post"
1969
+ end
1970
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1971
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_post, must be smaller than or equal to 10.'
1972
+ end
1973
+
1974
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1975
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ServersApi.datacenters_servers_volumes_post, must be greater than or equal to 0.'
1976
+ end
1977
+
1978
+ # resource path
1979
+ local_var_path = '/datacenters/{datacenterId}/servers/{serverId}/volumes'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'serverId' + '}', CGI.escape(server_id.to_s))
1980
+
1981
+ # query parameters
1982
+ query_params = opts[:query_params] || {}
1983
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1984
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1985
+
1986
+ # header parameters
1987
+ header_params = opts[:header_params] || {}
1988
+ # HTTP header 'Accept' (if needed)
1989
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1990
+ # HTTP header 'Content-Type'
1991
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1992
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1993
+
1994
+ # form parameters
1995
+ form_params = opts[:form_params] || {}
1996
+
1997
+ # http body (model)
1998
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(volume)
1999
+
2000
+ # return_type
2001
+ return_type = opts[:debug_return_type] || 'Volume'
2002
+
2003
+ # auth_names
2004
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication']
2005
+
2006
+ new_options = opts.merge(
2007
+ :operation => :"ServersApi.datacenters_servers_volumes_post",
2008
+ :header_params => header_params,
2009
+ :query_params => query_params,
2010
+ :form_params => form_params,
2011
+ :body => post_body,
2012
+ :auth_names => auth_names,
2013
+ :return_type => return_type
2014
+ )
2015
+
2016
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
2017
+ if @api_client.config.debugging
2018
+ @api_client.config.logger.debug "API called: ServersApi#datacenters_servers_volumes_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2019
+ end
2020
+ return data, status_code, headers
2021
+ end
2022
+ end
2023
+ end