ionoscloud 6.0.2 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/docs/CHANGELOG.md +8 -0
  4. data/docs/api/ApplicationLoadBalancersApi.md +1586 -0
  5. data/docs/api/TargetGroupsApi.md +516 -0
  6. data/docs/models/ApplicationLoadBalancer.md +28 -0
  7. data/docs/models/ApplicationLoadBalancerEntities.md +18 -0
  8. data/docs/models/ApplicationLoadBalancerForwardingRule.md +26 -0
  9. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +30 -0
  10. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +24 -0
  11. data/docs/models/ApplicationLoadBalancerForwardingRules.md +30 -0
  12. data/docs/models/ApplicationLoadBalancerHttpRule.md +34 -0
  13. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +26 -0
  14. data/docs/models/ApplicationLoadBalancerProperties.md +26 -0
  15. data/docs/models/ApplicationLoadBalancerPut.md +24 -0
  16. data/docs/models/ApplicationLoadBalancers.md +30 -0
  17. data/docs/models/TargetGroup.md +26 -0
  18. data/docs/models/TargetGroupHealthCheck.md +22 -0
  19. data/docs/models/TargetGroupHttpHealthCheck.md +28 -0
  20. data/docs/models/TargetGroupProperties.md +28 -0
  21. data/docs/models/TargetGroupPut.md +24 -0
  22. data/docs/models/TargetGroupTarget.md +26 -0
  23. data/docs/models/TargetGroups.md +30 -0
  24. data/lib/ionoscloud/api/application_load_balancers_api.rb +1690 -0
  25. data/lib/ionoscloud/api/target_groups_api.rb +530 -0
  26. data/lib/ionoscloud/api_client.rb +1 -1
  27. data/lib/ionoscloud/models/application_load_balancer.rb +319 -0
  28. data/lib/ionoscloud/models/application_load_balancer_entities.rb +226 -0
  29. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +302 -0
  30. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +389 -0
  31. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +285 -0
  32. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +334 -0
  33. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +427 -0
  34. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +355 -0
  35. data/lib/ionoscloud/models/application_load_balancer_properties.rb +314 -0
  36. data/lib/ionoscloud/models/application_load_balancer_put.rb +285 -0
  37. data/lib/ionoscloud/models/application_load_balancers.rb +334 -0
  38. data/lib/ionoscloud/models/target_group.rb +302 -0
  39. data/lib/ionoscloud/models/target_group_health_check.rb +263 -0
  40. data/lib/ionoscloud/models/target_group_http_health_check.rb +373 -0
  41. data/lib/ionoscloud/models/target_group_properties.rb +376 -0
  42. data/lib/ionoscloud/models/target_group_put.rb +285 -0
  43. data/lib/ionoscloud/models/target_group_target.rb +314 -0
  44. data/lib/ionoscloud/models/target_groups.rb +334 -0
  45. data/lib/ionoscloud/version.rb +1 -1
  46. data/lib/ionoscloud.rb +20 -0
  47. metadata +42 -2
@@ -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