ionoscloud 6.0.1 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/docs/CHANGELOG.md +28 -0
  4. data/docs/api/ApplicationLoadBalancersApi.md +1586 -0
  5. data/docs/api/ServersApi.md +3 -1
  6. data/docs/api/TargetGroupsApi.md +516 -0
  7. data/docs/models/ApplicationLoadBalancer.md +28 -0
  8. data/docs/models/ApplicationLoadBalancerEntities.md +18 -0
  9. data/docs/models/ApplicationLoadBalancerForwardingRule.md +26 -0
  10. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +30 -0
  11. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +24 -0
  12. data/docs/models/ApplicationLoadBalancerForwardingRules.md +30 -0
  13. data/docs/models/ApplicationLoadBalancerHttpRule.md +34 -0
  14. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +26 -0
  15. data/docs/models/ApplicationLoadBalancerProperties.md +26 -0
  16. data/docs/models/ApplicationLoadBalancerPut.md +24 -0
  17. data/docs/models/ApplicationLoadBalancers.md +30 -0
  18. data/docs/models/GroupProperties.md +3 -1
  19. data/docs/models/KubernetesClusterProperties.md +0 -2
  20. data/docs/models/KubernetesClusterPropertiesForPost.md +0 -2
  21. data/docs/models/KubernetesNodePoolProperties.md +1 -3
  22. data/docs/models/KubernetesNodePoolPropertiesForPost.md +1 -3
  23. data/docs/models/TargetGroup.md +26 -0
  24. data/docs/models/TargetGroupHealthCheck.md +22 -0
  25. data/docs/models/TargetGroupHttpHealthCheck.md +28 -0
  26. data/docs/models/TargetGroupProperties.md +28 -0
  27. data/docs/models/TargetGroupPut.md +24 -0
  28. data/docs/models/TargetGroupTarget.md +26 -0
  29. data/docs/models/TargetGroups.md +30 -0
  30. data/docs/models/VolumeProperties.md +3 -1
  31. data/lib/ionoscloud/api/application_load_balancers_api.rb +1690 -0
  32. data/lib/ionoscloud/api/servers_api.rb +3 -0
  33. data/lib/ionoscloud/api/target_groups_api.rb +530 -0
  34. data/lib/ionoscloud/api_client.rb +1 -1
  35. data/lib/ionoscloud/configuration.rb +11 -26
  36. data/lib/ionoscloud/models/application_load_balancer.rb +319 -0
  37. data/lib/ionoscloud/models/application_load_balancer_entities.rb +226 -0
  38. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +302 -0
  39. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +389 -0
  40. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +285 -0
  41. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +334 -0
  42. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +427 -0
  43. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +355 -0
  44. data/lib/ionoscloud/models/application_load_balancer_properties.rb +314 -0
  45. data/lib/ionoscloud/models/application_load_balancer_put.rb +285 -0
  46. data/lib/ionoscloud/models/application_load_balancers.rb +334 -0
  47. data/lib/ionoscloud/models/group_properties.rb +22 -4
  48. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +1 -21
  49. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +1 -21
  50. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +4 -22
  51. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +4 -22
  52. data/lib/ionoscloud/models/target_group.rb +302 -0
  53. data/lib/ionoscloud/models/target_group_health_check.rb +263 -0
  54. data/lib/ionoscloud/models/target_group_http_health_check.rb +373 -0
  55. data/lib/ionoscloud/models/target_group_properties.rb +376 -0
  56. data/lib/ionoscloud/models/target_group_put.rb +285 -0
  57. data/lib/ionoscloud/models/target_group_target.rb +314 -0
  58. data/lib/ionoscloud/models/target_groups.rb +334 -0
  59. data/lib/ionoscloud/models/volume_properties.rb +36 -4
  60. data/lib/ionoscloud/version.rb +1 -1
  61. data/lib/ionoscloud.rb +20 -0
  62. metadata +45 -6
  63. data/lib/test_driver.rb +0 -119
@@ -0,0 +1,1690 @@
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
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 ApplicationLoadBalancersApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete Application Load Balancers
23
+ # Remove the specified Application Load Balancer from the data center..
24
+ # @param datacenter_id [String] The unique ID of the data center.
25
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
26
+ # @param [Hash] opts the optional parameters
27
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
28
+ # @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)
29
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
30
+ # @return [nil]
31
+ def datacenters_applicationloadbalancers_delete(datacenter_id, application_load_balancer_id, opts = {})
32
+ datacenters_applicationloadbalancers_delete_with_http_info(datacenter_id, application_load_balancer_id, opts)
33
+ nil
34
+ end
35
+
36
+ # Delete Application Load Balancers
37
+ # Remove the specified Application Load Balancer from the data center..
38
+ # @param datacenter_id [String] The unique ID of the data center.
39
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
42
+ # @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
43
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
44
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
45
+ def datacenters_applicationloadbalancers_delete_with_http_info(datacenter_id, application_load_balancer_id, opts = {})
46
+ if @api_client.config.debugging
47
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete ...'
48
+ end
49
+ # verify the required parameter 'datacenter_id' is set
50
+ if @api_client.config.client_side_validation && datacenter_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete"
52
+ end
53
+ # verify the required parameter 'application_load_balancer_id' is set
54
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
55
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete"
56
+ end
57
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
58
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete, must be smaller than or equal to 10.'
59
+ end
60
+
61
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
62
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete, must be greater than or equal to 0.'
63
+ end
64
+
65
+ # resource path
66
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
67
+
68
+ # query parameters
69
+ query_params = opts[:query_params] || {}
70
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
71
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
72
+
73
+ # header parameters
74
+ header_params = opts[:header_params] || {}
75
+ # HTTP header 'Accept' (if needed)
76
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
77
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
78
+
79
+ # form parameters
80
+ form_params = opts[:form_params] || {}
81
+
82
+ # http body (model)
83
+ post_body = opts[:debug_body]
84
+
85
+ # return_type
86
+ return_type = opts[:debug_return_type]
87
+
88
+ # auth_names
89
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
90
+
91
+ new_options = opts.merge(
92
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_delete",
93
+ :header_params => header_params,
94
+ :query_params => query_params,
95
+ :form_params => form_params,
96
+ :body => post_body,
97
+ :auth_names => auth_names,
98
+ :return_type => return_type
99
+ )
100
+
101
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
104
+ end
105
+ return data, status_code, headers
106
+ end
107
+
108
+ # Retrieve Application Load Balancers
109
+ # Retrieve the properties of the specified Application Load Balancer within the data center.
110
+ # @param datacenter_id [String] The unique ID of the data center.
111
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
112
+ # @param [Hash] opts the optional parameters
113
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
114
+ # @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)
115
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
116
+ # @return [ApplicationLoadBalancer]
117
+ def datacenters_applicationloadbalancers_find_by_application_load_balancer_id(datacenter_id, application_load_balancer_id, opts = {})
118
+ data, _status_code, _headers = datacenters_applicationloadbalancers_find_by_application_load_balancer_id_with_http_info(datacenter_id, application_load_balancer_id, opts)
119
+ data
120
+ end
121
+
122
+ # Retrieve Application Load Balancers
123
+ # Retrieve the properties of the specified Application Load Balancer within the data center.
124
+ # @param datacenter_id [String] The unique ID of the data center.
125
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
126
+ # @param [Hash] opts the optional parameters
127
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
128
+ # @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
129
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
130
+ # @return [Array<(ApplicationLoadBalancer, Integer, Hash)>] ApplicationLoadBalancer data, response status code and response headers
131
+ def datacenters_applicationloadbalancers_find_by_application_load_balancer_id_with_http_info(datacenter_id, application_load_balancer_id, opts = {})
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id ...'
134
+ end
135
+ # verify the required parameter 'datacenter_id' is set
136
+ if @api_client.config.client_side_validation && datacenter_id.nil?
137
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id"
138
+ end
139
+ # verify the required parameter 'application_load_balancer_id' is set
140
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
141
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id"
142
+ end
143
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
144
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id, must be smaller than or equal to 10.'
145
+ end
146
+
147
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
148
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id, must be greater than or equal to 0.'
149
+ end
150
+
151
+ # resource path
152
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
153
+
154
+ # query parameters
155
+ query_params = opts[:query_params] || {}
156
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
157
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
158
+
159
+ # header parameters
160
+ header_params = opts[:header_params] || {}
161
+ # HTTP header 'Accept' (if needed)
162
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
163
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
164
+
165
+ # form parameters
166
+ form_params = opts[:form_params] || {}
167
+
168
+ # http body (model)
169
+ post_body = opts[:debug_body]
170
+
171
+ # return_type
172
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancer'
173
+
174
+ # auth_names
175
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
176
+
177
+ new_options = opts.merge(
178
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_find_by_application_load_balancer_id",
179
+ :header_params => header_params,
180
+ :query_params => query_params,
181
+ :form_params => form_params,
182
+ :body => post_body,
183
+ :auth_names => auth_names,
184
+ :return_type => return_type
185
+ )
186
+
187
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
188
+ if @api_client.config.debugging
189
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_find_by_application_load_balancer_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
190
+ end
191
+ return data, status_code, headers
192
+ end
193
+
194
+ # Delete ALB Flow Logs
195
+ # Delete the specified Application Load Balancer Flow Log.
196
+ # @param datacenter_id [String] The unique ID of the data center.
197
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
198
+ # @param flow_log_id [String] The unique ID of the Flow Log.
199
+ # @param [Hash] opts the optional parameters
200
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
201
+ # @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)
202
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
203
+ # @return [nil]
204
+ def datacenters_applicationloadbalancers_flowlogs_delete(datacenter_id, application_load_balancer_id, flow_log_id, opts = {})
205
+ datacenters_applicationloadbalancers_flowlogs_delete_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, opts)
206
+ nil
207
+ end
208
+
209
+ # Delete ALB Flow Logs
210
+ # Delete the specified Application Load Balancer Flow Log.
211
+ # @param datacenter_id [String] The unique ID of the data center.
212
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
213
+ # @param flow_log_id [String] The unique ID of the Flow Log.
214
+ # @param [Hash] opts the optional parameters
215
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
216
+ # @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
217
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
218
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
219
+ def datacenters_applicationloadbalancers_flowlogs_delete_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, opts = {})
220
+ if @api_client.config.debugging
221
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete ...'
222
+ end
223
+ # verify the required parameter 'datacenter_id' is set
224
+ if @api_client.config.client_side_validation && datacenter_id.nil?
225
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete"
226
+ end
227
+ # verify the required parameter 'application_load_balancer_id' is set
228
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
229
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete"
230
+ end
231
+ # verify the required parameter 'flow_log_id' is set
232
+ if @api_client.config.client_side_validation && flow_log_id.nil?
233
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete"
234
+ end
235
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
236
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete, must be smaller than or equal to 10.'
237
+ end
238
+
239
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
240
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete, must be greater than or equal to 0.'
241
+ end
242
+
243
+ # resource path
244
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
245
+
246
+ # query parameters
247
+ query_params = opts[:query_params] || {}
248
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
249
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
250
+
251
+ # header parameters
252
+ header_params = opts[:header_params] || {}
253
+ # HTTP header 'Accept' (if needed)
254
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
255
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
256
+
257
+ # form parameters
258
+ form_params = opts[:form_params] || {}
259
+
260
+ # http body (model)
261
+ post_body = opts[:debug_body]
262
+
263
+ # return_type
264
+ return_type = opts[:debug_return_type]
265
+
266
+ # auth_names
267
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
268
+
269
+ new_options = opts.merge(
270
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_delete",
271
+ :header_params => header_params,
272
+ :query_params => query_params,
273
+ :form_params => form_params,
274
+ :body => post_body,
275
+ :auth_names => auth_names,
276
+ :return_type => return_type
277
+ )
278
+
279
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
280
+ if @api_client.config.debugging
281
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
282
+ end
283
+ return data, status_code, headers
284
+ end
285
+
286
+ # Retrieve ALB Flow Logs
287
+ # Retrieve the specified Application Load Balancer Flow Log.
288
+ # @param datacenter_id [String] The unique ID of the data center.
289
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
290
+ # @param flow_log_id [String] The unique ID of the Flow Log.
291
+ # @param [Hash] opts the optional parameters
292
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
293
+ # @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)
294
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
295
+ # @return [FlowLog]
296
+ def datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id(datacenter_id, application_load_balancer_id, flow_log_id, opts = {})
297
+ data, _status_code, _headers = datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, opts)
298
+ data
299
+ end
300
+
301
+ # Retrieve ALB Flow Logs
302
+ # Retrieve the specified Application Load Balancer Flow Log.
303
+ # @param datacenter_id [String] The unique ID of the data center.
304
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
305
+ # @param flow_log_id [String] The unique ID of the Flow Log.
306
+ # @param [Hash] opts the optional parameters
307
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
308
+ # @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
309
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
310
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
311
+ def datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, opts = {})
312
+ if @api_client.config.debugging
313
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id ...'
314
+ end
315
+ # verify the required parameter 'datacenter_id' is set
316
+ if @api_client.config.client_side_validation && datacenter_id.nil?
317
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id"
318
+ end
319
+ # verify the required parameter 'application_load_balancer_id' is set
320
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
321
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id"
322
+ end
323
+ # verify the required parameter 'flow_log_id' is set
324
+ if @api_client.config.client_side_validation && flow_log_id.nil?
325
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id"
326
+ end
327
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
328
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id, must be smaller than or equal to 10.'
329
+ end
330
+
331
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
332
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id, must be greater than or equal to 0.'
333
+ end
334
+
335
+ # resource path
336
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
337
+
338
+ # query parameters
339
+ query_params = opts[:query_params] || {}
340
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
341
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
342
+
343
+ # header parameters
344
+ header_params = opts[:header_params] || {}
345
+ # HTTP header 'Accept' (if needed)
346
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
347
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
348
+
349
+ # form parameters
350
+ form_params = opts[:form_params] || {}
351
+
352
+ # http body (model)
353
+ post_body = opts[:debug_body]
354
+
355
+ # return_type
356
+ return_type = opts[:debug_return_type] || 'FlowLog'
357
+
358
+ # auth_names
359
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
360
+
361
+ new_options = opts.merge(
362
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id",
363
+ :header_params => header_params,
364
+ :query_params => query_params,
365
+ :form_params => form_params,
366
+ :body => post_body,
367
+ :auth_names => auth_names,
368
+ :return_type => return_type
369
+ )
370
+
371
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
372
+ if @api_client.config.debugging
373
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_find_by_flow_log_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
374
+ end
375
+ return data, status_code, headers
376
+ end
377
+
378
+ # List ALB Flow Logs
379
+ # List the Flow Logs for the specified Application Load Balancer.
380
+ # @param datacenter_id [String] The unique ID of the data center.
381
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
382
+ # @param [Hash] opts the optional parameters
383
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
384
+ # @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)
385
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
386
+ # @return [FlowLogs]
387
+ def datacenters_applicationloadbalancers_flowlogs_get(datacenter_id, application_load_balancer_id, opts = {})
388
+ data, _status_code, _headers = datacenters_applicationloadbalancers_flowlogs_get_with_http_info(datacenter_id, application_load_balancer_id, opts)
389
+ data
390
+ end
391
+
392
+ # List ALB Flow Logs
393
+ # List the Flow Logs for the specified Application Load Balancer.
394
+ # @param datacenter_id [String] The unique ID of the data center.
395
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
396
+ # @param [Hash] opts the optional parameters
397
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
398
+ # @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
399
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
400
+ # @return [Array<(FlowLogs, Integer, Hash)>] FlowLogs data, response status code and response headers
401
+ def datacenters_applicationloadbalancers_flowlogs_get_with_http_info(datacenter_id, application_load_balancer_id, opts = {})
402
+ if @api_client.config.debugging
403
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get ...'
404
+ end
405
+ # verify the required parameter 'datacenter_id' is set
406
+ if @api_client.config.client_side_validation && datacenter_id.nil?
407
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get"
408
+ end
409
+ # verify the required parameter 'application_load_balancer_id' is set
410
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
411
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get"
412
+ end
413
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
414
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get, must be smaller than or equal to 10.'
415
+ end
416
+
417
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
418
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get, must be greater than or equal to 0.'
419
+ end
420
+
421
+ # resource path
422
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
423
+
424
+ # query parameters
425
+ query_params = opts[:query_params] || {}
426
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
427
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
428
+
429
+ # header parameters
430
+ header_params = opts[:header_params] || {}
431
+ # HTTP header 'Accept' (if needed)
432
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
433
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
434
+
435
+ # form parameters
436
+ form_params = opts[:form_params] || {}
437
+
438
+ # http body (model)
439
+ post_body = opts[:debug_body]
440
+
441
+ # return_type
442
+ return_type = opts[:debug_return_type] || 'FlowLogs'
443
+
444
+ # auth_names
445
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
446
+
447
+ new_options = opts.merge(
448
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_get",
449
+ :header_params => header_params,
450
+ :query_params => query_params,
451
+ :form_params => form_params,
452
+ :body => post_body,
453
+ :auth_names => auth_names,
454
+ :return_type => return_type
455
+ )
456
+
457
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
458
+ if @api_client.config.debugging
459
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
460
+ end
461
+ return data, status_code, headers
462
+ end
463
+
464
+ # Partially modify ALB Flow Logs
465
+ # Update the properties of the specified Application Load Balancer Flow Log.
466
+ # @param datacenter_id [String] The unique ID of the data center.
467
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
468
+ # @param flow_log_id [String] The unique ID of the Flow Log.
469
+ # @param application_load_balancer_flow_log_properties [FlowLogProperties] The properties of the ALB Flow Log to be updated.
470
+ # @param [Hash] opts the optional parameters
471
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
472
+ # @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)
473
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
474
+ # @return [FlowLog]
475
+ def datacenters_applicationloadbalancers_flowlogs_patch(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log_properties, opts = {})
476
+ data, _status_code, _headers = datacenters_applicationloadbalancers_flowlogs_patch_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log_properties, opts)
477
+ data
478
+ end
479
+
480
+ # Partially modify ALB Flow Logs
481
+ # Update the properties of the specified Application Load Balancer Flow Log.
482
+ # @param datacenter_id [String] The unique ID of the data center.
483
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
484
+ # @param flow_log_id [String] The unique ID of the Flow Log.
485
+ # @param application_load_balancer_flow_log_properties [FlowLogProperties] The properties of the ALB Flow Log to be updated.
486
+ # @param [Hash] opts the optional parameters
487
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
488
+ # @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
489
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
490
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
491
+ def datacenters_applicationloadbalancers_flowlogs_patch_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log_properties, opts = {})
492
+ if @api_client.config.debugging
493
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch ...'
494
+ end
495
+ # verify the required parameter 'datacenter_id' is set
496
+ if @api_client.config.client_side_validation && datacenter_id.nil?
497
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch"
498
+ end
499
+ # verify the required parameter 'application_load_balancer_id' is set
500
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
501
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch"
502
+ end
503
+ # verify the required parameter 'flow_log_id' is set
504
+ if @api_client.config.client_side_validation && flow_log_id.nil?
505
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch"
506
+ end
507
+ # verify the required parameter 'application_load_balancer_flow_log_properties' is set
508
+ if @api_client.config.client_side_validation && application_load_balancer_flow_log_properties.nil?
509
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_flow_log_properties' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch"
510
+ end
511
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
512
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch, must be smaller than or equal to 10.'
513
+ end
514
+
515
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
516
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch, must be greater than or equal to 0.'
517
+ end
518
+
519
+ # resource path
520
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
521
+
522
+ # query parameters
523
+ query_params = opts[:query_params] || {}
524
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
525
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
526
+
527
+ # header parameters
528
+ header_params = opts[:header_params] || {}
529
+ # HTTP header 'Accept' (if needed)
530
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
531
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
532
+
533
+ # form parameters
534
+ form_params = opts[:form_params] || {}
535
+
536
+ # http body (model)
537
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_flow_log_properties)
538
+
539
+ # return_type
540
+ return_type = opts[:debug_return_type] || 'FlowLog'
541
+
542
+ # auth_names
543
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
544
+
545
+ new_options = opts.merge(
546
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_patch",
547
+ :header_params => header_params,
548
+ :query_params => query_params,
549
+ :form_params => form_params,
550
+ :body => post_body,
551
+ :auth_names => auth_names,
552
+ :return_type => return_type
553
+ )
554
+
555
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
556
+ if @api_client.config.debugging
557
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
558
+ end
559
+ return data, status_code, headers
560
+ end
561
+
562
+ # Create ALB Flow Logs
563
+ # Add a new Flow Log for the Application Load Balancer.
564
+ # @param datacenter_id [String] The unique ID of the data center.
565
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
566
+ # @param application_load_balancer_flow_log [FlowLog] The Flow Log to create.
567
+ # @param [Hash] opts the optional parameters
568
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
569
+ # @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)
570
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
571
+ # @return [FlowLog]
572
+ def datacenters_applicationloadbalancers_flowlogs_post(datacenter_id, application_load_balancer_id, application_load_balancer_flow_log, opts = {})
573
+ data, _status_code, _headers = datacenters_applicationloadbalancers_flowlogs_post_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_flow_log, opts)
574
+ data
575
+ end
576
+
577
+ # Create ALB Flow Logs
578
+ # Add a new Flow Log for the Application Load Balancer.
579
+ # @param datacenter_id [String] The unique ID of the data center.
580
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
581
+ # @param application_load_balancer_flow_log [FlowLog] The Flow Log to create.
582
+ # @param [Hash] opts the optional parameters
583
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
584
+ # @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
585
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
586
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
587
+ def datacenters_applicationloadbalancers_flowlogs_post_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_flow_log, opts = {})
588
+ if @api_client.config.debugging
589
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post ...'
590
+ end
591
+ # verify the required parameter 'datacenter_id' is set
592
+ if @api_client.config.client_side_validation && datacenter_id.nil?
593
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post"
594
+ end
595
+ # verify the required parameter 'application_load_balancer_id' is set
596
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
597
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post"
598
+ end
599
+ # verify the required parameter 'application_load_balancer_flow_log' is set
600
+ if @api_client.config.client_side_validation && application_load_balancer_flow_log.nil?
601
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_flow_log' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post"
602
+ end
603
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
604
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post, must be smaller than or equal to 10.'
605
+ end
606
+
607
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
608
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post, must be greater than or equal to 0.'
609
+ end
610
+
611
+ # resource path
612
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
613
+
614
+ # query parameters
615
+ query_params = opts[:query_params] || {}
616
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
617
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
618
+
619
+ # header parameters
620
+ header_params = opts[:header_params] || {}
621
+ # HTTP header 'Accept' (if needed)
622
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
623
+ # HTTP header 'Content-Type'
624
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
625
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
626
+
627
+ # form parameters
628
+ form_params = opts[:form_params] || {}
629
+
630
+ # http body (model)
631
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_flow_log)
632
+
633
+ # return_type
634
+ return_type = opts[:debug_return_type] || 'FlowLog'
635
+
636
+ # auth_names
637
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
638
+
639
+ new_options = opts.merge(
640
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_post",
641
+ :header_params => header_params,
642
+ :query_params => query_params,
643
+ :form_params => form_params,
644
+ :body => post_body,
645
+ :auth_names => auth_names,
646
+ :return_type => return_type
647
+ )
648
+
649
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
650
+ if @api_client.config.debugging
651
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
652
+ end
653
+ return data, status_code, headers
654
+ end
655
+
656
+ # Modify ALB Flow Logs
657
+ # Modify the specified Application Load Balancer Flow Log.
658
+ # @param datacenter_id [String] The unique ID of the data center.
659
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
660
+ # @param flow_log_id [String] The unique ID of the Flow Log.
661
+ # @param application_load_balancer_flow_log [FlowLogPut] The modified ALB Flow Log.
662
+ # @param [Hash] opts the optional parameters
663
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
664
+ # @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)
665
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
666
+ # @return [FlowLog]
667
+ def datacenters_applicationloadbalancers_flowlogs_put(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log, opts = {})
668
+ data, _status_code, _headers = datacenters_applicationloadbalancers_flowlogs_put_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log, opts)
669
+ data
670
+ end
671
+
672
+ # Modify ALB Flow Logs
673
+ # Modify the specified Application Load Balancer Flow Log.
674
+ # @param datacenter_id [String] The unique ID of the data center.
675
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
676
+ # @param flow_log_id [String] The unique ID of the Flow Log.
677
+ # @param application_load_balancer_flow_log [FlowLogPut] The modified ALB Flow Log.
678
+ # @param [Hash] opts the optional parameters
679
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
680
+ # @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
681
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
682
+ # @return [Array<(FlowLog, Integer, Hash)>] FlowLog data, response status code and response headers
683
+ def datacenters_applicationloadbalancers_flowlogs_put_with_http_info(datacenter_id, application_load_balancer_id, flow_log_id, application_load_balancer_flow_log, opts = {})
684
+ if @api_client.config.debugging
685
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put ...'
686
+ end
687
+ # verify the required parameter 'datacenter_id' is set
688
+ if @api_client.config.client_side_validation && datacenter_id.nil?
689
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put"
690
+ end
691
+ # verify the required parameter 'application_load_balancer_id' is set
692
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
693
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put"
694
+ end
695
+ # verify the required parameter 'flow_log_id' is set
696
+ if @api_client.config.client_side_validation && flow_log_id.nil?
697
+ fail ArgumentError, "Missing the required parameter 'flow_log_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put"
698
+ end
699
+ # verify the required parameter 'application_load_balancer_flow_log' is set
700
+ if @api_client.config.client_side_validation && application_load_balancer_flow_log.nil?
701
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_flow_log' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put"
702
+ end
703
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
704
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put, must be smaller than or equal to 10.'
705
+ end
706
+
707
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
708
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put, must be greater than or equal to 0.'
709
+ end
710
+
711
+ # resource path
712
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/flowlogs/{flowLogId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'flowLogId' + '}', CGI.escape(flow_log_id.to_s))
713
+
714
+ # query parameters
715
+ query_params = opts[:query_params] || {}
716
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
717
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
718
+
719
+ # header parameters
720
+ header_params = opts[:header_params] || {}
721
+ # HTTP header 'Accept' (if needed)
722
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
723
+ # HTTP header 'Content-Type'
724
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
725
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
726
+
727
+ # form parameters
728
+ form_params = opts[:form_params] || {}
729
+
730
+ # http body (model)
731
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_flow_log)
732
+
733
+ # return_type
734
+ return_type = opts[:debug_return_type] || 'FlowLog'
735
+
736
+ # auth_names
737
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
738
+
739
+ new_options = opts.merge(
740
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_flowlogs_put",
741
+ :header_params => header_params,
742
+ :query_params => query_params,
743
+ :form_params => form_params,
744
+ :body => post_body,
745
+ :auth_names => auth_names,
746
+ :return_type => return_type
747
+ )
748
+
749
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_flowlogs_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
752
+ end
753
+ return data, status_code, headers
754
+ end
755
+
756
+ # Delete ALB forwarding rules
757
+ # Delete the specified Application Load Balancer forwarding rule.
758
+ # @param datacenter_id [String] The unique ID of the data center.
759
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
760
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
761
+ # @param [Hash] opts the optional parameters
762
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
763
+ # @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)
764
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
765
+ # @return [nil]
766
+ def datacenters_applicationloadbalancers_forwardingrules_delete(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts = {})
767
+ datacenters_applicationloadbalancers_forwardingrules_delete_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts)
768
+ nil
769
+ end
770
+
771
+ # Delete ALB forwarding rules
772
+ # Delete the specified Application Load Balancer forwarding rule.
773
+ # @param datacenter_id [String] The unique ID of the data center.
774
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
775
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
776
+ # @param [Hash] opts the optional parameters
777
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
778
+ # @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
779
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
780
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
781
+ def datacenters_applicationloadbalancers_forwardingrules_delete_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts = {})
782
+ if @api_client.config.debugging
783
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete ...'
784
+ end
785
+ # verify the required parameter 'datacenter_id' is set
786
+ if @api_client.config.client_side_validation && datacenter_id.nil?
787
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete"
788
+ end
789
+ # verify the required parameter 'application_load_balancer_id' is set
790
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
791
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete"
792
+ end
793
+ # verify the required parameter 'forwarding_rule_id' is set
794
+ if @api_client.config.client_side_validation && forwarding_rule_id.nil?
795
+ fail ArgumentError, "Missing the required parameter 'forwarding_rule_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete"
796
+ end
797
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
798
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete, must be smaller than or equal to 10.'
799
+ end
800
+
801
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
802
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete, must be greater than or equal to 0.'
803
+ end
804
+
805
+ # resource path
806
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'forwardingRuleId' + '}', CGI.escape(forwarding_rule_id.to_s))
807
+
808
+ # query parameters
809
+ query_params = opts[:query_params] || {}
810
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
811
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
812
+
813
+ # header parameters
814
+ header_params = opts[:header_params] || {}
815
+ # HTTP header 'Accept' (if needed)
816
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
817
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
818
+
819
+ # form parameters
820
+ form_params = opts[:form_params] || {}
821
+
822
+ # http body (model)
823
+ post_body = opts[:debug_body]
824
+
825
+ # return_type
826
+ return_type = opts[:debug_return_type]
827
+
828
+ # auth_names
829
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
830
+
831
+ new_options = opts.merge(
832
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_delete",
833
+ :header_params => header_params,
834
+ :query_params => query_params,
835
+ :form_params => form_params,
836
+ :body => post_body,
837
+ :auth_names => auth_names,
838
+ :return_type => return_type
839
+ )
840
+
841
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
842
+ if @api_client.config.debugging
843
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
844
+ end
845
+ return data, status_code, headers
846
+ end
847
+
848
+ # Retrieve ALB forwarding rules
849
+ # Retrieve the specified Application Load Balancer forwarding rule.
850
+ # @param datacenter_id [String] The unique ID of the data center.
851
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
852
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
853
+ # @param [Hash] opts the optional parameters
854
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
855
+ # @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)
856
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
857
+ # @return [ApplicationLoadBalancerForwardingRule]
858
+ def datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts = {})
859
+ data, _status_code, _headers = datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts)
860
+ data
861
+ end
862
+
863
+ # Retrieve ALB forwarding rules
864
+ # Retrieve the specified Application Load Balancer forwarding rule.
865
+ # @param datacenter_id [String] The unique ID of the data center.
866
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
867
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
868
+ # @param [Hash] opts the optional parameters
869
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
870
+ # @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
871
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
872
+ # @return [Array<(ApplicationLoadBalancerForwardingRule, Integer, Hash)>] ApplicationLoadBalancerForwardingRule data, response status code and response headers
873
+ def datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, opts = {})
874
+ if @api_client.config.debugging
875
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id ...'
876
+ end
877
+ # verify the required parameter 'datacenter_id' is set
878
+ if @api_client.config.client_side_validation && datacenter_id.nil?
879
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id"
880
+ end
881
+ # verify the required parameter 'application_load_balancer_id' is set
882
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
883
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id"
884
+ end
885
+ # verify the required parameter 'forwarding_rule_id' is set
886
+ if @api_client.config.client_side_validation && forwarding_rule_id.nil?
887
+ fail ArgumentError, "Missing the required parameter 'forwarding_rule_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id"
888
+ end
889
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
890
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id, must be smaller than or equal to 10.'
891
+ end
892
+
893
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
894
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id, must be greater than or equal to 0.'
895
+ end
896
+
897
+ # resource path
898
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'forwardingRuleId' + '}', CGI.escape(forwarding_rule_id.to_s))
899
+
900
+ # query parameters
901
+ query_params = opts[:query_params] || {}
902
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
903
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
904
+
905
+ # header parameters
906
+ header_params = opts[:header_params] || {}
907
+ # HTTP header 'Accept' (if needed)
908
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
909
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
910
+
911
+ # form parameters
912
+ form_params = opts[:form_params] || {}
913
+
914
+ # http body (model)
915
+ post_body = opts[:debug_body]
916
+
917
+ # return_type
918
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancerForwardingRule'
919
+
920
+ # auth_names
921
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
922
+
923
+ new_options = opts.merge(
924
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id",
925
+ :header_params => header_params,
926
+ :query_params => query_params,
927
+ :form_params => form_params,
928
+ :body => post_body,
929
+ :auth_names => auth_names,
930
+ :return_type => return_type
931
+ )
932
+
933
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
934
+ if @api_client.config.debugging
935
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_find_by_forwarding_rule_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
936
+ end
937
+ return data, status_code, headers
938
+ end
939
+
940
+ # List ALB forwarding rules
941
+ # List the forwarding rules for the specified Application Load Balancer.
942
+ # @param datacenter_id [String] The unique ID of the data center.
943
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
944
+ # @param [Hash] opts the optional parameters
945
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
946
+ # @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)
947
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
948
+ # @return [ApplicationLoadBalancerForwardingRules]
949
+ def datacenters_applicationloadbalancers_forwardingrules_get(datacenter_id, application_load_balancer_id, opts = {})
950
+ data, _status_code, _headers = datacenters_applicationloadbalancers_forwardingrules_get_with_http_info(datacenter_id, application_load_balancer_id, opts)
951
+ data
952
+ end
953
+
954
+ # List ALB forwarding rules
955
+ # List the forwarding rules for the specified Application Load Balancer.
956
+ # @param datacenter_id [String] The unique ID of the data center.
957
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
958
+ # @param [Hash] opts the optional parameters
959
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
960
+ # @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
961
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
962
+ # @return [Array<(ApplicationLoadBalancerForwardingRules, Integer, Hash)>] ApplicationLoadBalancerForwardingRules data, response status code and response headers
963
+ def datacenters_applicationloadbalancers_forwardingrules_get_with_http_info(datacenter_id, application_load_balancer_id, opts = {})
964
+ if @api_client.config.debugging
965
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get ...'
966
+ end
967
+ # verify the required parameter 'datacenter_id' is set
968
+ if @api_client.config.client_side_validation && datacenter_id.nil?
969
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get"
970
+ end
971
+ # verify the required parameter 'application_load_balancer_id' is set
972
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
973
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get"
974
+ end
975
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
976
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get, must be smaller than or equal to 10.'
977
+ end
978
+
979
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
980
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get, must be greater than or equal to 0.'
981
+ end
982
+
983
+ # resource path
984
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
985
+
986
+ # query parameters
987
+ query_params = opts[:query_params] || {}
988
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
989
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
990
+
991
+ # header parameters
992
+ header_params = opts[:header_params] || {}
993
+ # HTTP header 'Accept' (if needed)
994
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
995
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
996
+
997
+ # form parameters
998
+ form_params = opts[:form_params] || {}
999
+
1000
+ # http body (model)
1001
+ post_body = opts[:debug_body]
1002
+
1003
+ # return_type
1004
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancerForwardingRules'
1005
+
1006
+ # auth_names
1007
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1008
+
1009
+ new_options = opts.merge(
1010
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_get",
1011
+ :header_params => header_params,
1012
+ :query_params => query_params,
1013
+ :form_params => form_params,
1014
+ :body => post_body,
1015
+ :auth_names => auth_names,
1016
+ :return_type => return_type
1017
+ )
1018
+
1019
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1020
+ if @api_client.config.debugging
1021
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1022
+ end
1023
+ return data, status_code, headers
1024
+ end
1025
+
1026
+ # Partially modify ALB forwarding rules
1027
+ # Update the properties of the specified Application Load Balancer forwarding rule.
1028
+ # @param datacenter_id [String] The unique ID of the data center.
1029
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1030
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
1031
+ # @param application_load_balancer_forwarding_rule_properties [ApplicationLoadBalancerForwardingRuleProperties] The properties of the forwarding rule to be updated.
1032
+ # @param [Hash] opts the optional parameters
1033
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1034
+ # @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)
1035
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1036
+ # @return [ApplicationLoadBalancerForwardingRule]
1037
+ def datacenters_applicationloadbalancers_forwardingrules_patch(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule_properties, opts = {})
1038
+ data, _status_code, _headers = datacenters_applicationloadbalancers_forwardingrules_patch_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule_properties, opts)
1039
+ data
1040
+ end
1041
+
1042
+ # Partially modify ALB forwarding rules
1043
+ # Update the properties of the specified Application Load Balancer forwarding rule.
1044
+ # @param datacenter_id [String] The unique ID of the data center.
1045
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1046
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
1047
+ # @param application_load_balancer_forwarding_rule_properties [ApplicationLoadBalancerForwardingRuleProperties] The properties of the forwarding rule to be updated.
1048
+ # @param [Hash] opts the optional parameters
1049
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1050
+ # @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
1051
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1052
+ # @return [Array<(ApplicationLoadBalancerForwardingRule, Integer, Hash)>] ApplicationLoadBalancerForwardingRule data, response status code and response headers
1053
+ def datacenters_applicationloadbalancers_forwardingrules_patch_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule_properties, opts = {})
1054
+ if @api_client.config.debugging
1055
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch ...'
1056
+ end
1057
+ # verify the required parameter 'datacenter_id' is set
1058
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1059
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch"
1060
+ end
1061
+ # verify the required parameter 'application_load_balancer_id' is set
1062
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
1063
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch"
1064
+ end
1065
+ # verify the required parameter 'forwarding_rule_id' is set
1066
+ if @api_client.config.client_side_validation && forwarding_rule_id.nil?
1067
+ fail ArgumentError, "Missing the required parameter 'forwarding_rule_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch"
1068
+ end
1069
+ # verify the required parameter 'application_load_balancer_forwarding_rule_properties' is set
1070
+ if @api_client.config.client_side_validation && application_load_balancer_forwarding_rule_properties.nil?
1071
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_forwarding_rule_properties' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch"
1072
+ end
1073
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1074
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch, must be smaller than or equal to 10.'
1075
+ end
1076
+
1077
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1078
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch, must be greater than or equal to 0.'
1079
+ end
1080
+
1081
+ # resource path
1082
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'forwardingRuleId' + '}', CGI.escape(forwarding_rule_id.to_s))
1083
+
1084
+ # query parameters
1085
+ query_params = opts[:query_params] || {}
1086
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1087
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1088
+
1089
+ # header parameters
1090
+ header_params = opts[:header_params] || {}
1091
+ # HTTP header 'Accept' (if needed)
1092
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1093
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1094
+
1095
+ # form parameters
1096
+ form_params = opts[:form_params] || {}
1097
+
1098
+ # http body (model)
1099
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_forwarding_rule_properties)
1100
+
1101
+ # return_type
1102
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancerForwardingRule'
1103
+
1104
+ # auth_names
1105
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1106
+
1107
+ new_options = opts.merge(
1108
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_patch",
1109
+ :header_params => header_params,
1110
+ :query_params => query_params,
1111
+ :form_params => form_params,
1112
+ :body => post_body,
1113
+ :auth_names => auth_names,
1114
+ :return_type => return_type
1115
+ )
1116
+
1117
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1118
+ if @api_client.config.debugging
1119
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1120
+ end
1121
+ return data, status_code, headers
1122
+ end
1123
+
1124
+ # Create ALB forwarding rules
1125
+ # Create a forwarding rule for the Application Load Balancer.
1126
+ # @param datacenter_id [String] The unique ID of the data center.
1127
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1128
+ # @param application_load_balancer_forwarding_rule [ApplicationLoadBalancerForwardingRule] The forwarding rule to create.
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, for which all API requests are to be executed.
1133
+ # @return [ApplicationLoadBalancerForwardingRule]
1134
+ def datacenters_applicationloadbalancers_forwardingrules_post(datacenter_id, application_load_balancer_id, application_load_balancer_forwarding_rule, opts = {})
1135
+ data, _status_code, _headers = datacenters_applicationloadbalancers_forwardingrules_post_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_forwarding_rule, opts)
1136
+ data
1137
+ end
1138
+
1139
+ # Create ALB forwarding rules
1140
+ # Create a forwarding rule for the Application Load Balancer.
1141
+ # @param datacenter_id [String] The unique ID of the data center.
1142
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1143
+ # @param application_load_balancer_forwarding_rule [ApplicationLoadBalancerForwardingRule] The forwarding rule to create.
1144
+ # @param [Hash] opts the optional parameters
1145
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1146
+ # @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
1147
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1148
+ # @return [Array<(ApplicationLoadBalancerForwardingRule, Integer, Hash)>] ApplicationLoadBalancerForwardingRule data, response status code and response headers
1149
+ def datacenters_applicationloadbalancers_forwardingrules_post_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_forwarding_rule, opts = {})
1150
+ if @api_client.config.debugging
1151
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post ...'
1152
+ end
1153
+ # verify the required parameter 'datacenter_id' is set
1154
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1155
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post"
1156
+ end
1157
+ # verify the required parameter 'application_load_balancer_id' is set
1158
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
1159
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post"
1160
+ end
1161
+ # verify the required parameter 'application_load_balancer_forwarding_rule' is set
1162
+ if @api_client.config.client_side_validation && application_load_balancer_forwarding_rule.nil?
1163
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_forwarding_rule' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post"
1164
+ end
1165
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1166
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post, must be smaller than or equal to 10.'
1167
+ end
1168
+
1169
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1170
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post, must be greater than or equal to 0.'
1171
+ end
1172
+
1173
+ # resource path
1174
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
1175
+
1176
+ # query parameters
1177
+ query_params = opts[:query_params] || {}
1178
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1179
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1180
+
1181
+ # header parameters
1182
+ header_params = opts[:header_params] || {}
1183
+ # HTTP header 'Accept' (if needed)
1184
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1185
+ # HTTP header 'Content-Type'
1186
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1187
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1188
+
1189
+ # form parameters
1190
+ form_params = opts[:form_params] || {}
1191
+
1192
+ # http body (model)
1193
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_forwarding_rule)
1194
+
1195
+ # return_type
1196
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancerForwardingRule'
1197
+
1198
+ # auth_names
1199
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1200
+
1201
+ new_options = opts.merge(
1202
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_post",
1203
+ :header_params => header_params,
1204
+ :query_params => query_params,
1205
+ :form_params => form_params,
1206
+ :body => post_body,
1207
+ :auth_names => auth_names,
1208
+ :return_type => return_type
1209
+ )
1210
+
1211
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1212
+ if @api_client.config.debugging
1213
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1214
+ end
1215
+ return data, status_code, headers
1216
+ end
1217
+
1218
+ # Modify ALB forwarding rules
1219
+ # Modify the specified Application Load Balancer forwarding rule.
1220
+ # @param datacenter_id [String] The unique ID of the data center.
1221
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1222
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
1223
+ # @param application_load_balancer_forwarding_rule [ApplicationLoadBalancerForwardingRulePut] The modified ALB forwarding rule.
1224
+ # @param [Hash] opts the optional parameters
1225
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1226
+ # @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)
1227
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1228
+ # @return [ApplicationLoadBalancerForwardingRule]
1229
+ def datacenters_applicationloadbalancers_forwardingrules_put(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule, opts = {})
1230
+ data, _status_code, _headers = datacenters_applicationloadbalancers_forwardingrules_put_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule, opts)
1231
+ data
1232
+ end
1233
+
1234
+ # Modify ALB forwarding rules
1235
+ # Modify the specified Application Load Balancer forwarding rule.
1236
+ # @param datacenter_id [String] The unique ID of the data center.
1237
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1238
+ # @param forwarding_rule_id [String] The unique ID of the forwarding rule.
1239
+ # @param application_load_balancer_forwarding_rule [ApplicationLoadBalancerForwardingRulePut] The modified ALB forwarding rule.
1240
+ # @param [Hash] opts the optional parameters
1241
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1242
+ # @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
1243
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1244
+ # @return [Array<(ApplicationLoadBalancerForwardingRule, Integer, Hash)>] ApplicationLoadBalancerForwardingRule data, response status code and response headers
1245
+ def datacenters_applicationloadbalancers_forwardingrules_put_with_http_info(datacenter_id, application_load_balancer_id, forwarding_rule_id, application_load_balancer_forwarding_rule, opts = {})
1246
+ if @api_client.config.debugging
1247
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put ...'
1248
+ end
1249
+ # verify the required parameter 'datacenter_id' is set
1250
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1251
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put"
1252
+ end
1253
+ # verify the required parameter 'application_load_balancer_id' is set
1254
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
1255
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put"
1256
+ end
1257
+ # verify the required parameter 'forwarding_rule_id' is set
1258
+ if @api_client.config.client_side_validation && forwarding_rule_id.nil?
1259
+ fail ArgumentError, "Missing the required parameter 'forwarding_rule_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put"
1260
+ end
1261
+ # verify the required parameter 'application_load_balancer_forwarding_rule' is set
1262
+ if @api_client.config.client_side_validation && application_load_balancer_forwarding_rule.nil?
1263
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_forwarding_rule' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put"
1264
+ end
1265
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1266
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put, must be smaller than or equal to 10.'
1267
+ end
1268
+
1269
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1270
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put, must be greater than or equal to 0.'
1271
+ end
1272
+
1273
+ # resource path
1274
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}/forwardingrules/{forwardingRuleId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s)).sub('{' + 'forwardingRuleId' + '}', CGI.escape(forwarding_rule_id.to_s))
1275
+
1276
+ # query parameters
1277
+ query_params = opts[:query_params] || {}
1278
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1279
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1280
+
1281
+ # header parameters
1282
+ header_params = opts[:header_params] || {}
1283
+ # HTTP header 'Accept' (if needed)
1284
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1285
+ # HTTP header 'Content-Type'
1286
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1287
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1288
+
1289
+ # form parameters
1290
+ form_params = opts[:form_params] || {}
1291
+
1292
+ # http body (model)
1293
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_forwarding_rule)
1294
+
1295
+ # return_type
1296
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancerForwardingRule'
1297
+
1298
+ # auth_names
1299
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1300
+
1301
+ new_options = opts.merge(
1302
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_forwardingrules_put",
1303
+ :header_params => header_params,
1304
+ :query_params => query_params,
1305
+ :form_params => form_params,
1306
+ :body => post_body,
1307
+ :auth_names => auth_names,
1308
+ :return_type => return_type
1309
+ )
1310
+
1311
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1312
+ if @api_client.config.debugging
1313
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_forwardingrules_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1314
+ end
1315
+ return data, status_code, headers
1316
+ end
1317
+
1318
+ # List Application Load Balancers
1319
+ # List all Application Load Balancers within the data center.
1320
+ # @param datacenter_id [String] The unique ID of the data center.
1321
+ # @param [Hash] opts the optional parameters
1322
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1323
+ # @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)
1324
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1325
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (used together with &lt;b&gt;&lt;i&gt;limit&lt;/i&gt;&lt;/b&gt; for pagination). (default to 0)
1326
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination). (default to 1000)
1327
+ # @return [ApplicationLoadBalancers]
1328
+ def datacenters_applicationloadbalancers_get(datacenter_id, opts = {})
1329
+ data, _status_code, _headers = datacenters_applicationloadbalancers_get_with_http_info(datacenter_id, opts)
1330
+ data
1331
+ end
1332
+
1333
+ # List Application Load Balancers
1334
+ # List all Application Load Balancers within the data center.
1335
+ # @param datacenter_id [String] The unique ID of the data center.
1336
+ # @param [Hash] opts the optional parameters
1337
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1338
+ # @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
1339
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1340
+ # @option opts [Integer] :offset The first element (from the complete list of the elements) to include in the response (used together with &lt;b&gt;&lt;i&gt;limit&lt;/i&gt;&lt;/b&gt; for pagination).
1341
+ # @option opts [Integer] :limit The maximum number of elements to return (use together with offset for pagination).
1342
+ # @return [Array<(ApplicationLoadBalancers, Integer, Hash)>] ApplicationLoadBalancers data, response status code and response headers
1343
+ def datacenters_applicationloadbalancers_get_with_http_info(datacenter_id, opts = {})
1344
+ if @api_client.config.debugging
1345
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get ...'
1346
+ end
1347
+ # verify the required parameter 'datacenter_id' is set
1348
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1349
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get"
1350
+ end
1351
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1352
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get, must be smaller than or equal to 10.'
1353
+ end
1354
+
1355
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1356
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get, must be greater than or equal to 0.'
1357
+ end
1358
+
1359
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
1360
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get, must be greater than or equal to 0.'
1361
+ end
1362
+
1363
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 10000
1364
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get, must be smaller than or equal to 10000.'
1365
+ end
1366
+
1367
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
1368
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get, must be greater than or equal to 1.'
1369
+ end
1370
+
1371
+ # resource path
1372
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
1373
+
1374
+ # query parameters
1375
+ query_params = opts[:query_params] || {}
1376
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1377
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1378
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
1379
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1380
+
1381
+ # header parameters
1382
+ header_params = opts[:header_params] || {}
1383
+ # HTTP header 'Accept' (if needed)
1384
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1385
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1386
+
1387
+ # form parameters
1388
+ form_params = opts[:form_params] || {}
1389
+
1390
+ # http body (model)
1391
+ post_body = opts[:debug_body]
1392
+
1393
+ # return_type
1394
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancers'
1395
+
1396
+ # auth_names
1397
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1398
+
1399
+ new_options = opts.merge(
1400
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_get",
1401
+ :header_params => header_params,
1402
+ :query_params => query_params,
1403
+ :form_params => form_params,
1404
+ :body => post_body,
1405
+ :auth_names => auth_names,
1406
+ :return_type => return_type
1407
+ )
1408
+
1409
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1410
+ if @api_client.config.debugging
1411
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1412
+ end
1413
+ return data, status_code, headers
1414
+ end
1415
+
1416
+ # Partially modify Application Load Balancers
1417
+ # Update the properties of the specified Application Load Balancer within the data center.
1418
+ # @param datacenter_id [String] The unique ID of the data center.
1419
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1420
+ # @param application_load_balancer_properties [ApplicationLoadBalancerProperties] The Application Load Balancer properties to be updated.
1421
+ # @param [Hash] opts the optional parameters
1422
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1423
+ # @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)
1424
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1425
+ # @return [ApplicationLoadBalancer]
1426
+ def datacenters_applicationloadbalancers_patch(datacenter_id, application_load_balancer_id, application_load_balancer_properties, opts = {})
1427
+ data, _status_code, _headers = datacenters_applicationloadbalancers_patch_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_properties, opts)
1428
+ data
1429
+ end
1430
+
1431
+ # Partially modify Application Load Balancers
1432
+ # Update the properties of the specified Application Load Balancer within the data center.
1433
+ # @param datacenter_id [String] The unique ID of the data center.
1434
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1435
+ # @param application_load_balancer_properties [ApplicationLoadBalancerProperties] The Application Load Balancer properties to be updated.
1436
+ # @param [Hash] opts the optional parameters
1437
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1438
+ # @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
1439
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1440
+ # @return [Array<(ApplicationLoadBalancer, Integer, Hash)>] ApplicationLoadBalancer data, response status code and response headers
1441
+ def datacenters_applicationloadbalancers_patch_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer_properties, opts = {})
1442
+ if @api_client.config.debugging
1443
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch ...'
1444
+ end
1445
+ # verify the required parameter 'datacenter_id' is set
1446
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1447
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch"
1448
+ end
1449
+ # verify the required parameter 'application_load_balancer_id' is set
1450
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
1451
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch"
1452
+ end
1453
+ # verify the required parameter 'application_load_balancer_properties' is set
1454
+ if @api_client.config.client_side_validation && application_load_balancer_properties.nil?
1455
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_properties' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch"
1456
+ end
1457
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1458
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch, must be smaller than or equal to 10.'
1459
+ end
1460
+
1461
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1462
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch, must be greater than or equal to 0.'
1463
+ end
1464
+
1465
+ # resource path
1466
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
1467
+
1468
+ # query parameters
1469
+ query_params = opts[:query_params] || {}
1470
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1471
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1472
+
1473
+ # header parameters
1474
+ header_params = opts[:header_params] || {}
1475
+ # HTTP header 'Accept' (if needed)
1476
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1477
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1478
+
1479
+ # form parameters
1480
+ form_params = opts[:form_params] || {}
1481
+
1482
+ # http body (model)
1483
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer_properties)
1484
+
1485
+ # return_type
1486
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancer'
1487
+
1488
+ # auth_names
1489
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1490
+
1491
+ new_options = opts.merge(
1492
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_patch",
1493
+ :header_params => header_params,
1494
+ :query_params => query_params,
1495
+ :form_params => form_params,
1496
+ :body => post_body,
1497
+ :auth_names => auth_names,
1498
+ :return_type => return_type
1499
+ )
1500
+
1501
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1502
+ if @api_client.config.debugging
1503
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1504
+ end
1505
+ return data, status_code, headers
1506
+ end
1507
+
1508
+ # Create Application Load Balancers
1509
+ # Create an Application Load Balancer within the datacenter.
1510
+ # @param datacenter_id [String] The unique ID of the data center.
1511
+ # @param application_load_balancer [ApplicationLoadBalancer] The Application Load Balancer to create.
1512
+ # @param [Hash] opts the optional parameters
1513
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1514
+ # @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)
1515
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1516
+ # @return [ApplicationLoadBalancer]
1517
+ def datacenters_applicationloadbalancers_post(datacenter_id, application_load_balancer, opts = {})
1518
+ data, _status_code, _headers = datacenters_applicationloadbalancers_post_with_http_info(datacenter_id, application_load_balancer, opts)
1519
+ data
1520
+ end
1521
+
1522
+ # Create Application Load Balancers
1523
+ # Create an Application Load Balancer within the datacenter.
1524
+ # @param datacenter_id [String] The unique ID of the data center.
1525
+ # @param application_load_balancer [ApplicationLoadBalancer] The Application Load Balancer to create.
1526
+ # @param [Hash] opts the optional parameters
1527
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1528
+ # @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
1529
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1530
+ # @return [Array<(ApplicationLoadBalancer, Integer, Hash)>] ApplicationLoadBalancer data, response status code and response headers
1531
+ def datacenters_applicationloadbalancers_post_with_http_info(datacenter_id, application_load_balancer, opts = {})
1532
+ if @api_client.config.debugging
1533
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post ...'
1534
+ end
1535
+ # verify the required parameter 'datacenter_id' is set
1536
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1537
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post"
1538
+ end
1539
+ # verify the required parameter 'application_load_balancer' is set
1540
+ if @api_client.config.client_side_validation && application_load_balancer.nil?
1541
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post"
1542
+ end
1543
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1544
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post, must be smaller than or equal to 10.'
1545
+ end
1546
+
1547
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1548
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post, must be greater than or equal to 0.'
1549
+ end
1550
+
1551
+ # resource path
1552
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s))
1553
+
1554
+ # query parameters
1555
+ query_params = opts[:query_params] || {}
1556
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1557
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1558
+
1559
+ # header parameters
1560
+ header_params = opts[:header_params] || {}
1561
+ # HTTP header 'Accept' (if needed)
1562
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1563
+ # HTTP header 'Content-Type'
1564
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1565
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1566
+
1567
+ # form parameters
1568
+ form_params = opts[:form_params] || {}
1569
+
1570
+ # http body (model)
1571
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer)
1572
+
1573
+ # return_type
1574
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancer'
1575
+
1576
+ # auth_names
1577
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1578
+
1579
+ new_options = opts.merge(
1580
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_post",
1581
+ :header_params => header_params,
1582
+ :query_params => query_params,
1583
+ :form_params => form_params,
1584
+ :body => post_body,
1585
+ :auth_names => auth_names,
1586
+ :return_type => return_type
1587
+ )
1588
+
1589
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1590
+ if @api_client.config.debugging
1591
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1592
+ end
1593
+ return data, status_code, headers
1594
+ end
1595
+
1596
+ # Modify Application Load Balancers
1597
+ # Modify the properties of the specified Application Load Balancer within the data center.
1598
+ # @param datacenter_id [String] The unique ID of the data center.
1599
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1600
+ # @param application_load_balancer [ApplicationLoadBalancerPut] The modified Application Load Balancer.
1601
+ # @param [Hash] opts the optional parameters
1602
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
1603
+ # @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)
1604
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1605
+ # @return [ApplicationLoadBalancer]
1606
+ def datacenters_applicationloadbalancers_put(datacenter_id, application_load_balancer_id, application_load_balancer, opts = {})
1607
+ data, _status_code, _headers = datacenters_applicationloadbalancers_put_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer, opts)
1608
+ data
1609
+ end
1610
+
1611
+ # Modify Application Load Balancers
1612
+ # Modify the properties of the specified Application Load Balancer within the data center.
1613
+ # @param datacenter_id [String] The unique ID of the data center.
1614
+ # @param application_load_balancer_id [String] The unique ID of the Application Load Balancer.
1615
+ # @param application_load_balancer [ApplicationLoadBalancerPut] The modified Application Load Balancer.
1616
+ # @param [Hash] opts the optional parameters
1617
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
1618
+ # @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
1619
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
1620
+ # @return [Array<(ApplicationLoadBalancer, Integer, Hash)>] ApplicationLoadBalancer data, response status code and response headers
1621
+ def datacenters_applicationloadbalancers_put_with_http_info(datacenter_id, application_load_balancer_id, application_load_balancer, opts = {})
1622
+ if @api_client.config.debugging
1623
+ @api_client.config.logger.debug 'Calling API: ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put ...'
1624
+ end
1625
+ # verify the required parameter 'datacenter_id' is set
1626
+ if @api_client.config.client_side_validation && datacenter_id.nil?
1627
+ fail ArgumentError, "Missing the required parameter 'datacenter_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put"
1628
+ end
1629
+ # verify the required parameter 'application_load_balancer_id' is set
1630
+ if @api_client.config.client_side_validation && application_load_balancer_id.nil?
1631
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer_id' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put"
1632
+ end
1633
+ # verify the required parameter 'application_load_balancer' is set
1634
+ if @api_client.config.client_side_validation && application_load_balancer.nil?
1635
+ fail ArgumentError, "Missing the required parameter 'application_load_balancer' when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put"
1636
+ end
1637
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
1638
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put, must be smaller than or equal to 10.'
1639
+ end
1640
+
1641
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
1642
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put, must be greater than or equal to 0.'
1643
+ end
1644
+
1645
+ # resource path
1646
+ local_var_path = '/datacenters/{datacenterId}/applicationloadbalancers/{applicationLoadBalancerId}'.sub('{' + 'datacenterId' + '}', CGI.escape(datacenter_id.to_s)).sub('{' + 'applicationLoadBalancerId' + '}', CGI.escape(application_load_balancer_id.to_s))
1647
+
1648
+ # query parameters
1649
+ query_params = opts[:query_params] || {}
1650
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
1651
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
1652
+
1653
+ # header parameters
1654
+ header_params = opts[:header_params] || {}
1655
+ # HTTP header 'Accept' (if needed)
1656
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1657
+ # HTTP header 'Content-Type'
1658
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1659
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
1660
+
1661
+ # form parameters
1662
+ form_params = opts[:form_params] || {}
1663
+
1664
+ # http body (model)
1665
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(application_load_balancer)
1666
+
1667
+ # return_type
1668
+ return_type = opts[:debug_return_type] || 'ApplicationLoadBalancer'
1669
+
1670
+ # auth_names
1671
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
1672
+
1673
+ new_options = opts.merge(
1674
+ :operation => :"ApplicationLoadBalancersApi.datacenters_applicationloadbalancers_put",
1675
+ :header_params => header_params,
1676
+ :query_params => query_params,
1677
+ :form_params => form_params,
1678
+ :body => post_body,
1679
+ :auth_names => auth_names,
1680
+ :return_type => return_type
1681
+ )
1682
+
1683
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1684
+ if @api_client.config.debugging
1685
+ @api_client.config.logger.debug "API called: ApplicationLoadBalancersApi#datacenters_applicationloadbalancers_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1686
+ end
1687
+ return data, status_code, headers
1688
+ end
1689
+ end
1690
+ end