ionoscloud 5.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. checksums.yaml +7 -0
  2. data/DOCS.md +14618 -0
  3. data/Gemfile +9 -0
  4. data/README.md +55 -0
  5. data/Rakefile +10 -0
  6. data/git_push.sh +58 -0
  7. data/ionoscloud.gemspec +38 -0
  8. data/lib/ionoscloud.rb +181 -0
  9. data/lib/ionoscloud/api/_api.rb +96 -0
  10. data/lib/ionoscloud/api/backup_unit_api.rb +583 -0
  11. data/lib/ionoscloud/api/contract_api.rb +96 -0
  12. data/lib/ionoscloud/api/data_center_api.rb +532 -0
  13. data/lib/ionoscloud/api/image_api.rb +432 -0
  14. data/lib/ionoscloud/api/ip_blocks_api.rb +514 -0
  15. data/lib/ionoscloud/api/kubernetes_api.rb +1479 -0
  16. data/lib/ionoscloud/api/label_api.rb +2460 -0
  17. data/lib/ionoscloud/api/lan_api.rb +858 -0
  18. data/lib/ionoscloud/api/load_balancer_api.rb +950 -0
  19. data/lib/ionoscloud/api/location_api.rb +262 -0
  20. data/lib/ionoscloud/api/nic_api.rb +1222 -0
  21. data/lib/ionoscloud/api/private_cross_connect_api.rb +426 -0
  22. data/lib/ionoscloud/api/request_api.rb +283 -0
  23. data/lib/ionoscloud/api/server_api.rb +1679 -0
  24. data/lib/ionoscloud/api/snapshot_api.rb +432 -0
  25. data/lib/ionoscloud/api/user_management_api.rb +2495 -0
  26. data/lib/ionoscloud/api/volume_api.rb +763 -0
  27. data/lib/ionoscloud/api_client.rb +521 -0
  28. data/lib/ionoscloud/api_error.rb +57 -0
  29. data/lib/ionoscloud/configuration.rb +291 -0
  30. data/lib/ionoscloud/models/attached_volumes.rb +278 -0
  31. data/lib/ionoscloud/models/backup_unit.rb +294 -0
  32. data/lib/ionoscloud/models/backup_unit_properties.rb +242 -0
  33. data/lib/ionoscloud/models/backup_unit_sso.rb +217 -0
  34. data/lib/ionoscloud/models/backup_units.rb +283 -0
  35. data/lib/ionoscloud/models/balanced_nics.rb +278 -0
  36. data/lib/ionoscloud/models/cdroms.rb +278 -0
  37. data/lib/ionoscloud/models/connectable_datacenter.rb +234 -0
  38. data/lib/ionoscloud/models/contract.rb +231 -0
  39. data/lib/ionoscloud/models/contract_properties.rb +256 -0
  40. data/lib/ionoscloud/models/data_center_entities.rb +243 -0
  41. data/lib/ionoscloud/models/datacenter.rb +269 -0
  42. data/lib/ionoscloud/models/datacenter_element_metadata.rb +321 -0
  43. data/lib/ionoscloud/models/datacenter_properties.rb +296 -0
  44. data/lib/ionoscloud/models/datacenters.rb +278 -0
  45. data/lib/ionoscloud/models/error.rb +228 -0
  46. data/lib/ionoscloud/models/error_message.rb +227 -0
  47. data/lib/ionoscloud/models/firewall_rule.rb +260 -0
  48. data/lib/ionoscloud/models/firewall_rules.rb +278 -0
  49. data/lib/ionoscloud/models/firewallrule_properties.rb +468 -0
  50. data/lib/ionoscloud/models/group.rb +260 -0
  51. data/lib/ionoscloud/models/group_entities.rb +225 -0
  52. data/lib/ionoscloud/models/group_members.rb +249 -0
  53. data/lib/ionoscloud/models/group_properties.rb +307 -0
  54. data/lib/ionoscloud/models/group_share.rb +251 -0
  55. data/lib/ionoscloud/models/group_share_properties.rb +227 -0
  56. data/lib/ionoscloud/models/group_shares.rb +249 -0
  57. data/lib/ionoscloud/models/group_users.rb +250 -0
  58. data/lib/ionoscloud/models/groups.rb +249 -0
  59. data/lib/ionoscloud/models/image.rb +260 -0
  60. data/lib/ionoscloud/models/image_properties.rb +428 -0
  61. data/lib/ionoscloud/models/images.rb +249 -0
  62. data/lib/ionoscloud/models/info.rb +237 -0
  63. data/lib/ionoscloud/models/ip_block.rb +260 -0
  64. data/lib/ionoscloud/models/ip_block_properties.rb +271 -0
  65. data/lib/ionoscloud/models/ip_blocks.rb +249 -0
  66. data/lib/ionoscloud/models/ip_consumer.rb +270 -0
  67. data/lib/ionoscloud/models/ip_failover.rb +225 -0
  68. data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +227 -0
  69. data/lib/ionoscloud/models/kubernetes_cluster.rb +303 -0
  70. data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +216 -0
  71. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +265 -0
  72. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post_and_put.rb +241 -0
  73. data/lib/ionoscloud/models/kubernetes_clusters.rb +283 -0
  74. data/lib/ionoscloud/models/kubernetes_config.rb +285 -0
  75. data/lib/ionoscloud/models/kubernetes_config_properties.rb +217 -0
  76. data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +261 -0
  77. data/lib/ionoscloud/models/kubernetes_node.rb +294 -0
  78. data/lib/ionoscloud/models/kubernetes_node_metadata.rb +291 -0
  79. data/lib/ionoscloud/models/kubernetes_node_pool.rb +294 -0
  80. data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +294 -0
  81. data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +217 -0
  82. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +476 -0
  83. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +464 -0
  84. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +464 -0
  85. data/lib/ionoscloud/models/kubernetes_node_pools.rb +283 -0
  86. data/lib/ionoscloud/models/kubernetes_node_properties.rb +252 -0
  87. data/lib/ionoscloud/models/kubernetes_nodes.rb +283 -0
  88. data/lib/ionoscloud/models/label.rb +294 -0
  89. data/lib/ionoscloud/models/label_properties.rb +257 -0
  90. data/lib/ionoscloud/models/label_resource.rb +294 -0
  91. data/lib/ionoscloud/models/label_resource_properties.rb +227 -0
  92. data/lib/ionoscloud/models/label_resources.rb +312 -0
  93. data/lib/ionoscloud/models/labels.rb +283 -0
  94. data/lib/ionoscloud/models/lan.rb +269 -0
  95. data/lib/ionoscloud/models/lan_entities.rb +216 -0
  96. data/lib/ionoscloud/models/lan_nics.rb +278 -0
  97. data/lib/ionoscloud/models/lan_post.rb +269 -0
  98. data/lib/ionoscloud/models/lan_properties.rb +249 -0
  99. data/lib/ionoscloud/models/lan_properties_post.rb +249 -0
  100. data/lib/ionoscloud/models/lans.rb +278 -0
  101. data/lib/ionoscloud/models/loadbalancer.rb +269 -0
  102. data/lib/ionoscloud/models/loadbalancer_entities.rb +216 -0
  103. data/lib/ionoscloud/models/loadbalancer_properties.rb +271 -0
  104. data/lib/ionoscloud/models/loadbalancers.rb +278 -0
  105. data/lib/ionoscloud/models/location.rb +260 -0
  106. data/lib/ionoscloud/models/location_properties.rb +263 -0
  107. data/lib/ionoscloud/models/locations.rb +249 -0
  108. data/lib/ionoscloud/models/nic.rb +269 -0
  109. data/lib/ionoscloud/models/nic_entities.rb +216 -0
  110. data/lib/ionoscloud/models/nic_properties.rb +284 -0
  111. data/lib/ionoscloud/models/nics.rb +278 -0
  112. data/lib/ionoscloud/models/no_state_meta_data.rb +277 -0
  113. data/lib/ionoscloud/models/pagination_links.rb +237 -0
  114. data/lib/ionoscloud/models/peer.rb +252 -0
  115. data/lib/ionoscloud/models/private_cross_connect.rb +260 -0
  116. data/lib/ionoscloud/models/private_cross_connect_properties.rb +251 -0
  117. data/lib/ionoscloud/models/private_cross_connects.rb +249 -0
  118. data/lib/ionoscloud/models/request.rb +260 -0
  119. data/lib/ionoscloud/models/request_metadata.rb +246 -0
  120. data/lib/ionoscloud/models/request_properties.rb +245 -0
  121. data/lib/ionoscloud/models/request_status.rb +246 -0
  122. data/lib/ionoscloud/models/request_status_metadata.rb +280 -0
  123. data/lib/ionoscloud/models/request_target.rb +259 -0
  124. data/lib/ionoscloud/models/requests.rb +293 -0
  125. data/lib/ionoscloud/models/resource.rb +265 -0
  126. data/lib/ionoscloud/models/resource_entities.rb +216 -0
  127. data/lib/ionoscloud/models/resource_groups.rb +250 -0
  128. data/lib/ionoscloud/models/resource_limits.rb +462 -0
  129. data/lib/ionoscloud/models/resource_properties.rb +227 -0
  130. data/lib/ionoscloud/models/resource_reference.rb +242 -0
  131. data/lib/ionoscloud/models/resources.rb +250 -0
  132. data/lib/ionoscloud/models/resources_users.rb +250 -0
  133. data/lib/ionoscloud/models/s3_key.rb +260 -0
  134. data/lib/ionoscloud/models/s3_key_metadata.rb +227 -0
  135. data/lib/ionoscloud/models/s3_key_properties.rb +227 -0
  136. data/lib/ionoscloud/models/s3_keys.rb +249 -0
  137. data/lib/ionoscloud/models/s3_object_storage_sso.rb +217 -0
  138. data/lib/ionoscloud/models/server.rb +269 -0
  139. data/lib/ionoscloud/models/server_entities.rb +234 -0
  140. data/lib/ionoscloud/models/server_properties.rb +341 -0
  141. data/lib/ionoscloud/models/servers.rb +278 -0
  142. data/lib/ionoscloud/models/snapshot.rb +260 -0
  143. data/lib/ionoscloud/models/snapshot_properties.rb +401 -0
  144. data/lib/ionoscloud/models/snapshots.rb +249 -0
  145. data/lib/ionoscloud/models/type.rb +59 -0
  146. data/lib/ionoscloud/models/user.rb +269 -0
  147. data/lib/ionoscloud/models/user_metadata.rb +237 -0
  148. data/lib/ionoscloud/models/user_properties.rb +297 -0
  149. data/lib/ionoscloud/models/users.rb +249 -0
  150. data/lib/ionoscloud/models/users_entities.rb +225 -0
  151. data/lib/ionoscloud/models/volume.rb +260 -0
  152. data/lib/ionoscloud/models/volume_properties.rb +463 -0
  153. data/lib/ionoscloud/models/volumes.rb +278 -0
  154. data/lib/ionoscloud/version.rb +15 -0
  155. data/spec/api/_api_spec.rb +49 -0
  156. data/spec/api/backup_unit_api_spec.rb +140 -0
  157. data/spec/api/contract_api_spec.rb +49 -0
  158. data/spec/api/data_center_api_spec.rb +128 -0
  159. data/spec/api/image_api_spec.rb +111 -0
  160. data/spec/api/ip_blocks_api_spec.rb +126 -0
  161. data/spec/api/kubernetes_api_spec.rb +306 -0
  162. data/spec/api/label_api_spec.rb +480 -0
  163. data/spec/api/lan_api_spec.rb +186 -0
  164. data/spec/api/load_balancer_api_spec.rb +203 -0
  165. data/spec/api/location_api_spec.rb +80 -0
  166. data/spec/api/nic_api_spec.rb +251 -0
  167. data/spec/api/private_cross_connect_api_spec.rb +110 -0
  168. data/spec/api/request_api_spec.rb +84 -0
  169. data/spec/api/server_api_spec.rb +337 -0
  170. data/spec/api/snapshot_api_spec.rb +111 -0
  171. data/spec/api/user_management_api_spec.rb +495 -0
  172. data/spec/api/volume_api_spec.rb +171 -0
  173. data/spec/api_client_spec.rb +226 -0
  174. data/spec/configuration_spec.rb +42 -0
  175. data/spec/models/attached_volumes_spec.rb +70 -0
  176. data/spec/models/backup_unit_properties_spec.rb +46 -0
  177. data/spec/models/backup_unit_spec.rb +62 -0
  178. data/spec/models/backup_unit_sso_spec.rb +34 -0
  179. data/spec/models/backup_units_spec.rb +56 -0
  180. data/spec/models/balanced_nics_spec.rb +70 -0
  181. data/spec/models/cdroms_spec.rb +70 -0
  182. data/spec/models/connectable_datacenter_spec.rb +46 -0
  183. data/spec/models/contract_properties_spec.rb +58 -0
  184. data/spec/models/contract_spec.rb +40 -0
  185. data/spec/models/data_center_entities_spec.rb +52 -0
  186. data/spec/models/datacenter_element_metadata_spec.rb +80 -0
  187. data/spec/models/datacenter_properties_spec.rb +68 -0
  188. data/spec/models/datacenter_spec.rb +64 -0
  189. data/spec/models/datacenters_spec.rb +70 -0
  190. data/spec/models/error_message_spec.rb +40 -0
  191. data/spec/models/error_spec.rb +40 -0
  192. data/spec/models/firewall_rule_spec.rb +58 -0
  193. data/spec/models/firewall_rules_spec.rb +70 -0
  194. data/spec/models/firewallrule_properties_spec.rb +98 -0
  195. data/spec/models/group_entities_spec.rb +40 -0
  196. data/spec/models/group_members_spec.rb +52 -0
  197. data/spec/models/group_properties_spec.rb +88 -0
  198. data/spec/models/group_share_properties_spec.rb +40 -0
  199. data/spec/models/group_share_spec.rb +52 -0
  200. data/spec/models/group_shares_spec.rb +52 -0
  201. data/spec/models/group_spec.rb +58 -0
  202. data/spec/models/group_users_spec.rb +52 -0
  203. data/spec/models/groups_spec.rb +52 -0
  204. data/spec/models/image_properties_spec.rb +138 -0
  205. data/spec/models/image_spec.rb +58 -0
  206. data/spec/models/images_spec.rb +52 -0
  207. data/spec/models/info_spec.rb +46 -0
  208. data/spec/models/ip_block_properties_spec.rb +58 -0
  209. data/spec/models/ip_block_spec.rb +58 -0
  210. data/spec/models/ip_blocks_spec.rb +52 -0
  211. data/spec/models/ip_consumer_spec.rb +70 -0
  212. data/spec/models/ip_failover_spec.rb +40 -0
  213. data/spec/models/kubernetes_auto_scaling_spec.rb +40 -0
  214. data/spec/models/kubernetes_cluster_entities_spec.rb +34 -0
  215. data/spec/models/kubernetes_cluster_properties_for_post_and_put_spec.rb +46 -0
  216. data/spec/models/kubernetes_cluster_properties_spec.rb +58 -0
  217. data/spec/models/kubernetes_cluster_spec.rb +68 -0
  218. data/spec/models/kubernetes_clusters_spec.rb +56 -0
  219. data/spec/models/kubernetes_config_properties_spec.rb +34 -0
  220. data/spec/models/kubernetes_config_spec.rb +56 -0
  221. data/spec/models/kubernetes_maintenance_window_spec.rb +44 -0
  222. data/spec/models/kubernetes_node_metadata_spec.rb +62 -0
  223. data/spec/models/kubernetes_node_pool_for_put_spec.rb +62 -0
  224. data/spec/models/kubernetes_node_pool_lan_spec.rb +34 -0
  225. data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +132 -0
  226. data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +132 -0
  227. data/spec/models/kubernetes_node_pool_properties_spec.rb +138 -0
  228. data/spec/models/kubernetes_node_pool_spec.rb +62 -0
  229. data/spec/models/kubernetes_node_pools_spec.rb +56 -0
  230. data/spec/models/kubernetes_node_properties_spec.rb +46 -0
  231. data/spec/models/kubernetes_node_spec.rb +62 -0
  232. data/spec/models/kubernetes_nodes_spec.rb +56 -0
  233. data/spec/models/label_properties_spec.rb +58 -0
  234. data/spec/models/label_resource_properties_spec.rb +40 -0
  235. data/spec/models/label_resource_spec.rb +62 -0
  236. data/spec/models/label_resources_spec.rb +74 -0
  237. data/spec/models/label_spec.rb +62 -0
  238. data/spec/models/labels_spec.rb +56 -0
  239. data/spec/models/lan_entities_spec.rb +34 -0
  240. data/spec/models/lan_nics_spec.rb +70 -0
  241. data/spec/models/lan_post_spec.rb +64 -0
  242. data/spec/models/lan_properties_post_spec.rb +52 -0
  243. data/spec/models/lan_properties_spec.rb +52 -0
  244. data/spec/models/lan_spec.rb +64 -0
  245. data/spec/models/lans_spec.rb +70 -0
  246. data/spec/models/loadbalancer_entities_spec.rb +34 -0
  247. data/spec/models/loadbalancer_properties_spec.rb +50 -0
  248. data/spec/models/loadbalancer_spec.rb +64 -0
  249. data/spec/models/loadbalancers_spec.rb +70 -0
  250. data/spec/models/location_properties_spec.rb +50 -0
  251. data/spec/models/location_spec.rb +58 -0
  252. data/spec/models/locations_spec.rb +52 -0
  253. data/spec/models/nic_entities_spec.rb +34 -0
  254. data/spec/models/nic_properties_spec.rb +70 -0
  255. data/spec/models/nic_spec.rb +64 -0
  256. data/spec/models/nics_spec.rb +70 -0
  257. data/spec/models/no_state_meta_data_spec.rb +70 -0
  258. data/spec/models/pagination_links_spec.rb +46 -0
  259. data/spec/models/peer_spec.rb +58 -0
  260. data/spec/models/private_cross_connect_properties_spec.rb +52 -0
  261. data/spec/models/private_cross_connect_spec.rb +58 -0
  262. data/spec/models/private_cross_connects_spec.rb +52 -0
  263. data/spec/models/request_metadata_spec.rb +52 -0
  264. data/spec/models/request_properties_spec.rb +52 -0
  265. data/spec/models/request_spec.rb +58 -0
  266. data/spec/models/request_status_metadata_spec.rb +56 -0
  267. data/spec/models/request_status_spec.rb +52 -0
  268. data/spec/models/request_target_spec.rb +44 -0
  269. data/spec/models/requests_spec.rb +70 -0
  270. data/spec/models/resource_entities_spec.rb +34 -0
  271. data/spec/models/resource_groups_spec.rb +52 -0
  272. data/spec/models/resource_limits_spec.rb +130 -0
  273. data/spec/models/resource_properties_spec.rb +40 -0
  274. data/spec/models/resource_reference_spec.rb +46 -0
  275. data/spec/models/resource_spec.rb +64 -0
  276. data/spec/models/resources_spec.rb +52 -0
  277. data/spec/models/resources_users_spec.rb +52 -0
  278. data/spec/models/s3_key_metadata_spec.rb +40 -0
  279. data/spec/models/s3_key_properties_spec.rb +40 -0
  280. data/spec/models/s3_key_spec.rb +58 -0
  281. data/spec/models/s3_keys_spec.rb +52 -0
  282. data/spec/models/s3_object_storage_sso_spec.rb +34 -0
  283. data/spec/models/server_entities_spec.rb +46 -0
  284. data/spec/models/server_properties_spec.rb +84 -0
  285. data/spec/models/server_spec.rb +64 -0
  286. data/spec/models/servers_spec.rb +70 -0
  287. data/spec/models/snapshot_properties_spec.rb +128 -0
  288. data/spec/models/snapshot_spec.rb +58 -0
  289. data/spec/models/snapshots_spec.rb +52 -0
  290. data/spec/models/type_spec.rb +28 -0
  291. data/spec/models/user_metadata_spec.rb +46 -0
  292. data/spec/models/user_properties_spec.rb +82 -0
  293. data/spec/models/user_spec.rb +64 -0
  294. data/spec/models/users_entities_spec.rb +40 -0
  295. data/spec/models/users_spec.rb +52 -0
  296. data/spec/models/volume_properties_spec.rb +152 -0
  297. data/spec/models/volume_spec.rb +58 -0
  298. data/spec/models/volumes_spec.rb +70 -0
  299. data/spec/spec_helper.rb +111 -0
  300. metadata +532 -0
@@ -0,0 +1,950 @@
1
+ =begin
2
+ #CLOUD API
3
+
4
+ #An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
5
+
6
+ The version of the OpenAPI document: 5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Ionoscloud
16
+ class LoadBalancerApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Detach a nic from loadbalancer
23
+ # This will remove a nic from Load Balancer
24
+ # @param datacenter_id [String] The unique ID of the datacenter
25
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
26
+ # @param nic_id [String] The unique ID of the NIC
27
+ # @param [Hash] opts the optional parameters
28
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
29
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
31
+ # @return [Object]
32
+ def datacenters_loadbalancers_balancednics_delete(datacenter_id, loadbalancer_id, nic_id, opts = {})
33
+ data, _status_code, _headers = datacenters_loadbalancers_balancednics_delete_with_http_info(datacenter_id, loadbalancer_id, nic_id, opts)
34
+ data
35
+ end
36
+
37
+ # Detach a nic from loadbalancer
38
+ # This will remove a nic from Load Balancer
39
+ # @param datacenter_id [String] The unique ID of the datacenter
40
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
41
+ # @param nic_id [String] The unique ID of the NIC
42
+ # @param [Hash] opts the optional parameters
43
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
44
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth=0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
46
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
47
+ def datacenters_loadbalancers_balancednics_delete_with_http_info(datacenter_id, loadbalancer_id, nic_id, opts = {})
48
+ if @api_client.config.debugging
49
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_delete"
54
+ end
55
+ # verify the required parameter 'loadbalancer_id' is set
56
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
57
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_delete"
58
+ end
59
+ # verify the required parameter 'nic_id' is set
60
+ if @api_client.config.client_side_validation && nic_id.nil?
61
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_delete, must be greater than or equal to 0.'
69
+ end
70
+
71
+ # resource path
72
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_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] || 'Object'
93
+
94
+ # auth_names
95
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
96
+
97
+ new_options = opts.merge(
98
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_balancednics_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: LoadBalancerApi#datacenters_loadbalancers_balancednics_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
110
+ end
111
+ return data, status_code, headers
112
+ end
113
+
114
+ # Retrieve a nic attached to Load Balancer
115
+ # This will retrieve the properties of an attached nic.
116
+ # @param datacenter_id [String] The unique ID of the datacenter
117
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
118
+ # @param nic_id [String] The unique ID of the NIC
119
+ # @param [Hash] opts the optional parameters
120
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
121
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
123
+ # @return [Nic]
124
+ def datacenters_loadbalancers_balancednics_find_by_nic_id(datacenter_id, loadbalancer_id, nic_id, opts = {})
125
+ data, _status_code, _headers = datacenters_loadbalancers_balancednics_find_by_nic_id_with_http_info(datacenter_id, loadbalancer_id, nic_id, opts)
126
+ data
127
+ end
128
+
129
+ # Retrieve a nic attached to Load Balancer
130
+ # This will retrieve the properties of an attached nic.
131
+ # @param datacenter_id [String] The unique ID of the datacenter
132
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
133
+ # @param nic_id [String] The unique ID of the NIC
134
+ # @param [Hash] opts the optional parameters
135
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
136
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
138
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
139
+ def datacenters_loadbalancers_balancednics_find_by_nic_id_with_http_info(datacenter_id, loadbalancer_id, nic_id, opts = {})
140
+ if @api_client.config.debugging
141
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_id"
146
+ end
147
+ # verify the required parameter 'loadbalancer_id' is set
148
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
149
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_id"
150
+ end
151
+ # verify the required parameter 'nic_id' is set
152
+ if @api_client.config.client_side_validation && nic_id.nil?
153
+ fail ArgumentError, "Missing the required parameter 'nic_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_id, must be greater than or equal to 0.'
161
+ end
162
+
163
+ # resource path
164
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics/{nicId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_id.to_s)).sub('{' + 'nicId' + '}', CGI.escape(nic_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] || 'Nic'
185
+
186
+ # auth_names
187
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
188
+
189
+ new_options = opts.merge(
190
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_balancednics_find_by_nic_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: LoadBalancerApi#datacenters_loadbalancers_balancednics_find_by_nic_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
202
+ end
203
+ return data, status_code, headers
204
+ end
205
+
206
+ # List Load Balancer Members
207
+ # You can retrieve a list of nics attached to a Load Balancer
208
+ # @param datacenter_id [String] The unique ID of the datacenter
209
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
210
+ # @param [Hash] opts the optional parameters
211
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
212
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
214
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) (default to 0)
215
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) (default to 1000)
216
+ # @return [BalancedNics]
217
+ def datacenters_loadbalancers_balancednics_get(datacenter_id, loadbalancer_id, opts = {})
218
+ data, _status_code, _headers = datacenters_loadbalancers_balancednics_get_with_http_info(datacenter_id, loadbalancer_id, opts)
219
+ data
220
+ end
221
+
222
+ # List Load Balancer Members
223
+ # You can retrieve a list of nics attached to a Load Balancer
224
+ # @param datacenter_id [String] The unique ID of the datacenter
225
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
226
+ # @param [Hash] opts the optional parameters
227
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
228
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
230
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination)
231
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination)
232
+ # @return [Array<(BalancedNics, Integer, Hash)>] BalancedNics data, response status code and response headers
233
+ def datacenters_loadbalancers_balancednics_get_with_http_info(datacenter_id, loadbalancer_id, opts = {})
234
+ if @api_client.config.debugging
235
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_get"
240
+ end
241
+ # verify the required parameter 'loadbalancer_id' is set
242
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
243
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_get, must be greater than or equal to 1.'
263
+ end
264
+
265
+ # resource path
266
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_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] || 'BalancedNics'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_balancednics_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: LoadBalancerApi#datacenters_loadbalancers_balancednics_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers
308
+ end
309
+
310
+ # Attach a nic to Load Balancer
311
+ # This will attach a pre-existing nic to a Load Balancer.
312
+ # @param datacenter_id [String] The unique ID of the datacenter
313
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
314
+ # @param nic [Nic] Nic id to be attached
315
+ # @param [Hash] opts the optional parameters
316
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
317
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
319
+ # @return [Nic]
320
+ def datacenters_loadbalancers_balancednics_post(datacenter_id, loadbalancer_id, nic, opts = {})
321
+ data, _status_code, _headers = datacenters_loadbalancers_balancednics_post_with_http_info(datacenter_id, loadbalancer_id, nic, opts)
322
+ data
323
+ end
324
+
325
+ # Attach a nic to Load Balancer
326
+ # This will attach a pre-existing nic to a Load Balancer.
327
+ # @param datacenter_id [String] The unique ID of the datacenter
328
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
329
+ # @param nic [Nic] Nic id to be attached
330
+ # @param [Hash] opts the optional parameters
331
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
332
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
334
+ # @return [Array<(Nic, Integer, Hash)>] Nic data, response status code and response headers
335
+ def datacenters_loadbalancers_balancednics_post_with_http_info(datacenter_id, loadbalancer_id, nic, opts = {})
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_post"
342
+ end
343
+ # verify the required parameter 'loadbalancer_id' is set
344
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
345
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_post"
346
+ end
347
+ # verify the required parameter 'nic' is set
348
+ if @api_client.config.client_side_validation && nic.nil?
349
+ fail ArgumentError, "Missing the required parameter 'nic' when calling LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_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 LoadBalancerApi.datacenters_loadbalancers_balancednics_post, must be greater than or equal to 0.'
357
+ end
358
+
359
+ # resource path
360
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}/balancednics'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_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(nic)
380
+
381
+ # return_type
382
+ return_type = opts[:debug_return_type] || 'Nic'
383
+
384
+ # auth_names
385
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
386
+
387
+ new_options = opts.merge(
388
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_balancednics_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: LoadBalancerApi#datacenters_loadbalancers_balancednics_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
400
+ end
401
+ return data, status_code, headers
402
+ end
403
+
404
+ # Delete a Loadbalancer.
405
+ # Removes the specific Loadbalancer
406
+ # @param datacenter_id [String] The unique ID of the datacenter
407
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
408
+ # @param [Hash] opts the optional parameters
409
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
410
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
412
+ # @return [Object]
413
+ def datacenters_loadbalancers_delete(datacenter_id, loadbalancer_id, opts = {})
414
+ data, _status_code, _headers = datacenters_loadbalancers_delete_with_http_info(datacenter_id, loadbalancer_id, opts)
415
+ data
416
+ end
417
+
418
+ # Delete a Loadbalancer.
419
+ # Removes the specific Loadbalancer
420
+ # @param datacenter_id [String] The unique ID of the datacenter
421
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
422
+ # @param [Hash] opts the optional parameters
423
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
424
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
426
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
427
+ def datacenters_loadbalancers_delete_with_http_info(datacenter_id, loadbalancer_id, opts = {})
428
+ if @api_client.config.debugging
429
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_delete"
434
+ end
435
+ # verify the required parameter 'loadbalancer_id' is set
436
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
437
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_delete, must be greater than or equal to 0.'
445
+ end
446
+
447
+ # resource path
448
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_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] || 'Object'
469
+
470
+ # auth_names
471
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
472
+
473
+ new_options = opts.merge(
474
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_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: LoadBalancerApi#datacenters_loadbalancers_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
486
+ end
487
+ return data, status_code, headers
488
+ end
489
+
490
+ # Retrieve a loadbalancer
491
+ # Retrieves the attributes of a given Loadbalancer
492
+ # @param datacenter_id [String] The unique ID of the datacenter
493
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
494
+ # @param [Hash] opts the optional parameters
495
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
496
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
498
+ # @return [Loadbalancer]
499
+ def datacenters_loadbalancers_find_by_id(datacenter_id, loadbalancer_id, opts = {})
500
+ data, _status_code, _headers = datacenters_loadbalancers_find_by_id_with_http_info(datacenter_id, loadbalancer_id, opts)
501
+ data
502
+ end
503
+
504
+ # Retrieve a loadbalancer
505
+ # Retrieves the attributes of a given Loadbalancer
506
+ # @param datacenter_id [String] The unique ID of the datacenter
507
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
508
+ # @param [Hash] opts the optional parameters
509
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
510
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 having more than 1 contract need to provide contract number, against which all API requests should be executed
512
+ # @return [Array<(Loadbalancer, Integer, Hash)>] Loadbalancer data, response status code and response headers
513
+ def datacenters_loadbalancers_find_by_id_with_http_info(datacenter_id, loadbalancer_id, opts = {})
514
+ if @api_client.config.debugging
515
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_find_by_id"
520
+ end
521
+ # verify the required parameter 'loadbalancer_id' is set
522
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
523
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_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 LoadBalancerApi.datacenters_loadbalancers_find_by_id, must be greater than or equal to 0.'
531
+ end
532
+
533
+ # resource path
534
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_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] || 'Loadbalancer'
555
+
556
+ # auth_names
557
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
558
+
559
+ new_options = opts.merge(
560
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_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: LoadBalancerApi#datacenters_loadbalancers_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 Load Balancers
577
+ # Retrieve a list of Load Balancers within the datacenter
578
+ # @param datacenter_id [String] The unique ID of the datacenter
579
+ # @param [Hash] opts the optional parameters
580
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
581
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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 [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
583
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination) (default to 0)
584
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination) (default to 1000)
585
+ # @return [Loadbalancers]
586
+ def datacenters_loadbalancers_get(datacenter_id, opts = {})
587
+ data, _status_code, _headers = datacenters_loadbalancers_get_with_http_info(datacenter_id, opts)
588
+ data
589
+ end
590
+
591
+ # List Load Balancers
592
+ # Retrieve a list of Load Balancers within the datacenter
593
+ # @param datacenter_id [String] The unique ID of the datacenter
594
+ # @param [Hash] opts the optional parameters
595
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
596
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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
597
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
598
+ # @option opts [Integer] :offset the first element (of the total list of elements) to include in the response (use together with &lt;code&gt;limit&lt;/code&gt; for pagination)
599
+ # @option opts [Integer] :limit the maximum number of elements to return (use together with &lt;code&gt;offset&lt;/code&gt; for pagination)
600
+ # @return [Array<(Loadbalancers, Integer, Hash)>] Loadbalancers data, response status code and response headers
601
+ def datacenters_loadbalancers_get_with_http_info(datacenter_id, opts = {})
602
+ if @api_client.config.debugging
603
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_get ...'
604
+ end
605
+ # verify the required parameter 'datacenter_id' is set
606
+ if @api_client.config.client_side_validation && datacenter_id.nil?
607
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling LoadBalancerApi.datacenters_loadbalancers_get"
608
+ end
609
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
610
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_get, must be smaller than or equal to 10.'
611
+ end
612
+
613
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
614
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_get, must be greater than or equal to 0.'
615
+ end
616
+
617
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
618
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling LoadBalancerApi.datacenters_loadbalancers_get, must be greater than or equal to 0.'
619
+ end
620
+
621
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
622
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling LoadBalancerApi.datacenters_loadbalancers_get, must be smaller than or equal to 10000.'
623
+ end
624
+
625
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
626
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling LoadBalancerApi.datacenters_loadbalancers_get, must be greater than or equal to 1.'
627
+ end
628
+
629
+ # resource path
630
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
631
+
632
+ # query parameters
633
+ query_params = opts[:query_params] || {}
634
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
635
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
636
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
637
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
638
+
639
+ # header parameters
640
+ header_params = opts[:header_params] || {}
641
+ # HTTP header 'Accept' (if needed)
642
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
643
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
644
+
645
+ # form parameters
646
+ form_params = opts[:form_params] || {}
647
+
648
+ # http body (model)
649
+ post_body = opts[:debug_body]
650
+
651
+ # return_type
652
+ return_type = opts[:debug_return_type] || 'Loadbalancers'
653
+
654
+ # auth_names
655
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
656
+
657
+ new_options = opts.merge(
658
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_get",
659
+ :header_params => header_params,
660
+ :query_params => query_params,
661
+ :form_params => form_params,
662
+ :body => post_body,
663
+ :auth_names => auth_names,
664
+ :return_type => return_type
665
+ )
666
+
667
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
668
+ if @api_client.config.debugging
669
+ @api_client.config.logger.debug "API called: LoadBalancerApi#datacenters_loadbalancers_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
670
+ end
671
+ return data, status_code, headers
672
+ end
673
+
674
+ # Partially modify a Loadbalancer
675
+ # You can use update attributes of a resource
676
+ # @param datacenter_id [String] The unique ID of the datacenter
677
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
678
+ # @param loadbalancer [LoadbalancerProperties] Modified Loadbalancer
679
+ # @param [Hash] opts the optional parameters
680
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
681
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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)
682
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
683
+ # @return [Loadbalancer]
684
+ def datacenters_loadbalancers_patch(datacenter_id, loadbalancer_id, loadbalancer, opts = {})
685
+ data, _status_code, _headers = datacenters_loadbalancers_patch_with_http_info(datacenter_id, loadbalancer_id, loadbalancer, opts)
686
+ data
687
+ end
688
+
689
+ # Partially modify a Loadbalancer
690
+ # You can use update attributes of a resource
691
+ # @param datacenter_id [String] The unique ID of the datacenter
692
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
693
+ # @param loadbalancer [LoadbalancerProperties] Modified Loadbalancer
694
+ # @param [Hash] opts the optional parameters
695
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
696
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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
697
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
698
+ # @return [Array<(Loadbalancer, Integer, Hash)>] Loadbalancer data, response status code and response headers
699
+ def datacenters_loadbalancers_patch_with_http_info(datacenter_id, loadbalancer_id, loadbalancer, opts = {})
700
+ if @api_client.config.debugging
701
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_patch ...'
702
+ end
703
+ # verify the required parameter 'datacenter_id' is set
704
+ if @api_client.config.client_side_validation && datacenter_id.nil?
705
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling LoadBalancerApi.datacenters_loadbalancers_patch"
706
+ end
707
+ # verify the required parameter 'loadbalancer_id' is set
708
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
709
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_patch"
710
+ end
711
+ # verify the required parameter 'loadbalancer' is set
712
+ if @api_client.config.client_side_validation && loadbalancer.nil?
713
+ fail ArgumentError, "Missing the required parameter 'loadbalancer' when calling LoadBalancerApi.datacenters_loadbalancers_patch"
714
+ end
715
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
716
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_patch, must be smaller than or equal to 10.'
717
+ end
718
+
719
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
720
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_patch, must be greater than or equal to 0.'
721
+ end
722
+
723
+ # resource path
724
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_id.to_s))
725
+
726
+ # query parameters
727
+ query_params = opts[:query_params] || {}
728
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
729
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
730
+
731
+ # header parameters
732
+ header_params = opts[:header_params] || {}
733
+ # HTTP header 'Accept' (if needed)
734
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
735
+ # HTTP header 'Content-Type'
736
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
737
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
738
+
739
+ # form parameters
740
+ form_params = opts[:form_params] || {}
741
+
742
+ # http body (model)
743
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(loadbalancer)
744
+
745
+ # return_type
746
+ return_type = opts[:debug_return_type] || 'Loadbalancer'
747
+
748
+ # auth_names
749
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
750
+
751
+ new_options = opts.merge(
752
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_patch",
753
+ :header_params => header_params,
754
+ :query_params => query_params,
755
+ :form_params => form_params,
756
+ :body => post_body,
757
+ :auth_names => auth_names,
758
+ :return_type => return_type
759
+ )
760
+
761
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
762
+ if @api_client.config.debugging
763
+ @api_client.config.logger.debug "API called: LoadBalancerApi#datacenters_loadbalancers_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
764
+ end
765
+ return data, status_code, headers
766
+ end
767
+
768
+ # Create a Load Balancer
769
+ # Creates a Loadbalancer within the datacenter
770
+ # @param datacenter_id [String] The unique ID of the datacenter
771
+ # @param loadbalancer [Loadbalancer] Loadbalancer to be created
772
+ # @param [Hash] opts the optional parameters
773
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
774
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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)
775
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
776
+ # @return [Loadbalancer]
777
+ def datacenters_loadbalancers_post(datacenter_id, loadbalancer, opts = {})
778
+ data, _status_code, _headers = datacenters_loadbalancers_post_with_http_info(datacenter_id, loadbalancer, opts)
779
+ data
780
+ end
781
+
782
+ # Create a Load Balancer
783
+ # Creates a Loadbalancer within the datacenter
784
+ # @param datacenter_id [String] The unique ID of the datacenter
785
+ # @param loadbalancer [Loadbalancer] Loadbalancer to be created
786
+ # @param [Hash] opts the optional parameters
787
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
788
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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
789
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
790
+ # @return [Array<(Loadbalancer, Integer, Hash)>] Loadbalancer data, response status code and response headers
791
+ def datacenters_loadbalancers_post_with_http_info(datacenter_id, loadbalancer, opts = {})
792
+ if @api_client.config.debugging
793
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_post ...'
794
+ end
795
+ # verify the required parameter 'datacenter_id' is set
796
+ if @api_client.config.client_side_validation && datacenter_id.nil?
797
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling LoadBalancerApi.datacenters_loadbalancers_post"
798
+ end
799
+ # verify the required parameter 'loadbalancer' is set
800
+ if @api_client.config.client_side_validation && loadbalancer.nil?
801
+ fail ArgumentError, "Missing the required parameter 'loadbalancer' when calling LoadBalancerApi.datacenters_loadbalancers_post"
802
+ end
803
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
804
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_post, must be smaller than or equal to 10.'
805
+ end
806
+
807
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
808
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_post, must be greater than or equal to 0.'
809
+ end
810
+
811
+ # resource path
812
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
813
+
814
+ # query parameters
815
+ query_params = opts[:query_params] || {}
816
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
817
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
818
+
819
+ # header parameters
820
+ header_params = opts[:header_params] || {}
821
+ # HTTP header 'Accept' (if needed)
822
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
823
+ # HTTP header 'Content-Type'
824
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
825
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
826
+
827
+ # form parameters
828
+ form_params = opts[:form_params] || {}
829
+
830
+ # http body (model)
831
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(loadbalancer)
832
+
833
+ # return_type
834
+ return_type = opts[:debug_return_type] || 'Loadbalancer'
835
+
836
+ # auth_names
837
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
838
+
839
+ new_options = opts.merge(
840
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_post",
841
+ :header_params => header_params,
842
+ :query_params => query_params,
843
+ :form_params => form_params,
844
+ :body => post_body,
845
+ :auth_names => auth_names,
846
+ :return_type => return_type
847
+ )
848
+
849
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
850
+ if @api_client.config.debugging
851
+ @api_client.config.logger.debug "API called: LoadBalancerApi#datacenters_loadbalancers_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
852
+ end
853
+ return data, status_code, headers
854
+ end
855
+
856
+ # Modify a Load Balancer
857
+ # You can use update attributes of a resource
858
+ # @param datacenter_id [String] The unique ID of the datacenter
859
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
860
+ # @param loadbalancer [Loadbalancer] Modified Loadbalancer
861
+ # @param [Hash] opts the optional parameters
862
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines) (default to true)
863
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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)
864
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
865
+ # @return [Loadbalancer]
866
+ def datacenters_loadbalancers_put(datacenter_id, loadbalancer_id, loadbalancer, opts = {})
867
+ data, _status_code, _headers = datacenters_loadbalancers_put_with_http_info(datacenter_id, loadbalancer_id, loadbalancer, opts)
868
+ data
869
+ end
870
+
871
+ # Modify a Load Balancer
872
+ # You can use update attributes of a resource
873
+ # @param datacenter_id [String] The unique ID of the datacenter
874
+ # @param loadbalancer_id [String] The unique ID of the Load Balancer
875
+ # @param loadbalancer [Loadbalancer] Modified Loadbalancer
876
+ # @param [Hash] opts the optional parameters
877
+ # @option opts [Boolean] :pretty Controls whether response is pretty-printed (with indentation and new lines)
878
+ # @option opts [Integer] :depth Controls the details depth of response objects. Eg. GET /datacenters/[ID] - depth&#x3D;0: only direct properties are included. Children (servers etc.) 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
879
+ # @option opts [Integer] :x_contract_number Users having more than 1 contract need to provide contract number, against which all API requests should be executed
880
+ # @return [Array<(Loadbalancer, Integer, Hash)>] Loadbalancer data, response status code and response headers
881
+ def datacenters_loadbalancers_put_with_http_info(datacenter_id, loadbalancer_id, loadbalancer, opts = {})
882
+ if @api_client.config.debugging
883
+ @api_client.config.logger.debug 'Calling API: LoadBalancerApi.datacenters_loadbalancers_put ...'
884
+ end
885
+ # verify the required parameter 'datacenter_id' is set
886
+ if @api_client.config.client_side_validation && datacenter_id.nil?
887
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling LoadBalancerApi.datacenters_loadbalancers_put"
888
+ end
889
+ # verify the required parameter 'loadbalancer_id' is set
890
+ if @api_client.config.client_side_validation && loadbalancer_id.nil?
891
+ fail ArgumentError, "Missing the required parameter 'loadbalancer_id' when calling LoadBalancerApi.datacenters_loadbalancers_put"
892
+ end
893
+ # verify the required parameter 'loadbalancer' is set
894
+ if @api_client.config.client_side_validation && loadbalancer.nil?
895
+ fail ArgumentError, "Missing the required parameter 'loadbalancer' when calling LoadBalancerApi.datacenters_loadbalancers_put"
896
+ end
897
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
898
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_put, must be smaller than or equal to 10.'
899
+ end
900
+
901
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
902
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling LoadBalancerApi.datacenters_loadbalancers_put, must be greater than or equal to 0.'
903
+ end
904
+
905
+ # resource path
906
+ local_var_path = '/datacenters/{datacenterId}/loadbalancers/{loadbalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'loadbalancerId' + '}', CGI.escape(loadbalancer_id.to_s))
907
+
908
+ # query parameters
909
+ query_params = opts[:query_params] || {}
910
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
911
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
912
+
913
+ # header parameters
914
+ header_params = opts[:header_params] || {}
915
+ # HTTP header 'Accept' (if needed)
916
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
917
+ # HTTP header 'Content-Type'
918
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
919
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
920
+
921
+ # form parameters
922
+ form_params = opts[:form_params] || {}
923
+
924
+ # http body (model)
925
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(loadbalancer)
926
+
927
+ # return_type
928
+ return_type = opts[:debug_return_type] || 'Loadbalancer'
929
+
930
+ # auth_names
931
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
932
+
933
+ new_options = opts.merge(
934
+ :operation => :"LoadBalancerApi.datacenters_loadbalancers_put",
935
+ :header_params => header_params,
936
+ :query_params => query_params,
937
+ :form_params => form_params,
938
+ :body => post_body,
939
+ :auth_names => auth_names,
940
+ :return_type => return_type
941
+ )
942
+
943
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
944
+ if @api_client.config.debugging
945
+ @api_client.config.logger.debug "API called: LoadBalancerApi#datacenters_loadbalancers_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
946
+ end
947
+ return data, status_code, headers
948
+ end
949
+ end
950
+ end