ionoscloud 6.0.1 → 6.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/docs/CHANGELOG.md +28 -0
  4. data/docs/api/ApplicationLoadBalancersApi.md +1586 -0
  5. data/docs/api/ServersApi.md +3 -1
  6. data/docs/api/TargetGroupsApi.md +516 -0
  7. data/docs/models/ApplicationLoadBalancer.md +28 -0
  8. data/docs/models/ApplicationLoadBalancerEntities.md +18 -0
  9. data/docs/models/ApplicationLoadBalancerForwardingRule.md +26 -0
  10. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +30 -0
  11. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +24 -0
  12. data/docs/models/ApplicationLoadBalancerForwardingRules.md +30 -0
  13. data/docs/models/ApplicationLoadBalancerHttpRule.md +34 -0
  14. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +26 -0
  15. data/docs/models/ApplicationLoadBalancerProperties.md +26 -0
  16. data/docs/models/ApplicationLoadBalancerPut.md +24 -0
  17. data/docs/models/ApplicationLoadBalancers.md +30 -0
  18. data/docs/models/GroupProperties.md +3 -1
  19. data/docs/models/KubernetesClusterProperties.md +0 -2
  20. data/docs/models/KubernetesClusterPropertiesForPost.md +0 -2
  21. data/docs/models/KubernetesNodePoolProperties.md +1 -3
  22. data/docs/models/KubernetesNodePoolPropertiesForPost.md +1 -3
  23. data/docs/models/TargetGroup.md +26 -0
  24. data/docs/models/TargetGroupHealthCheck.md +22 -0
  25. data/docs/models/TargetGroupHttpHealthCheck.md +28 -0
  26. data/docs/models/TargetGroupProperties.md +28 -0
  27. data/docs/models/TargetGroupPut.md +24 -0
  28. data/docs/models/TargetGroupTarget.md +26 -0
  29. data/docs/models/TargetGroups.md +30 -0
  30. data/docs/models/VolumeProperties.md +3 -1
  31. data/lib/ionoscloud/api/application_load_balancers_api.rb +1690 -0
  32. data/lib/ionoscloud/api/servers_api.rb +3 -0
  33. data/lib/ionoscloud/api/target_groups_api.rb +530 -0
  34. data/lib/ionoscloud/api_client.rb +1 -1
  35. data/lib/ionoscloud/configuration.rb +11 -26
  36. data/lib/ionoscloud/models/application_load_balancer.rb +319 -0
  37. data/lib/ionoscloud/models/application_load_balancer_entities.rb +226 -0
  38. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +302 -0
  39. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +389 -0
  40. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +285 -0
  41. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +334 -0
  42. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +427 -0
  43. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +355 -0
  44. data/lib/ionoscloud/models/application_load_balancer_properties.rb +314 -0
  45. data/lib/ionoscloud/models/application_load_balancer_put.rb +285 -0
  46. data/lib/ionoscloud/models/application_load_balancers.rb +334 -0
  47. data/lib/ionoscloud/models/group_properties.rb +22 -4
  48. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +1 -21
  49. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +1 -21
  50. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +4 -22
  51. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +4 -22
  52. data/lib/ionoscloud/models/target_group.rb +302 -0
  53. data/lib/ionoscloud/models/target_group_health_check.rb +263 -0
  54. data/lib/ionoscloud/models/target_group_http_health_check.rb +373 -0
  55. data/lib/ionoscloud/models/target_group_properties.rb +376 -0
  56. data/lib/ionoscloud/models/target_group_put.rb +285 -0
  57. data/lib/ionoscloud/models/target_group_target.rb +314 -0
  58. data/lib/ionoscloud/models/target_groups.rb +334 -0
  59. data/lib/ionoscloud/models/volume_properties.rb +36 -4
  60. data/lib/ionoscloud/version.rb +1 -1
  61. data/lib/ionoscloud.rb +20 -0
  62. metadata +45 -6
  63. data/lib/test_driver.rb +0 -119
@@ -409,6 +409,7 @@ module Ionoscloud
409
409
  # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
410
410
  # @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)
411
411
  # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
412
+ # @option opts [Boolean] :delete_volumes If true, all attached storage volumes will also be deleted.
412
413
  # @return [nil]
413
414
  def datacenters_servers_delete(datacenter_id, server_id, opts = {})
414
415
  datacenters_servers_delete_with_http_info(datacenter_id, server_id, opts)
@@ -423,6 +424,7 @@ module Ionoscloud
423
424
  # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
424
425
  # @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
425
426
  # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
427
+ # @option opts [Boolean] :delete_volumes If true, all attached storage volumes will also be deleted.
426
428
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
427
429
  def datacenters_servers_delete_with_http_info(datacenter_id, server_id, opts = {})
428
430
  if @api_client.config.debugging
@@ -451,6 +453,7 @@ module Ionoscloud
451
453
  query_params = opts[:query_params] || {}
452
454
  query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
453
455
  query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
456
+ query_params[:'deleteVolumes'] = opts[:'delete_volumes'] if !opts[:'delete_volumes'].nil?
454
457
 
455
458
  # header parameters
456
459
  header_params = opts[:header_params] || {}
@@ -0,0 +1,530 @@
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 TargetGroupsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Remove target groups
23
+ # Remove the specified target group.
24
+ # @param target_group_id [String] The unique ID of the target group.
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
27
+ # @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)
28
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
29
+ # @return [nil]
30
+ def target_groups_delete(target_group_id, opts = {})
31
+ target_groups_delete_with_http_info(target_group_id, opts)
32
+ nil
33
+ end
34
+
35
+ # Remove target groups
36
+ # Remove the specified target group.
37
+ # @param target_group_id [String] The unique ID of the target group.
38
+ # @param [Hash] opts the optional parameters
39
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
40
+ # @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
41
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
42
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
43
+ def target_groups_delete_with_http_info(target_group_id, opts = {})
44
+ if @api_client.config.debugging
45
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.target_groups_delete ...'
46
+ end
47
+ # verify the required parameter 'target_group_id' is set
48
+ if @api_client.config.client_side_validation && target_group_id.nil?
49
+ fail ArgumentError, "Missing the required parameter 'target_group_id' when calling TargetGroupsApi.target_groups_delete"
50
+ end
51
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
52
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.target_groups_delete, must be smaller than or equal to 10.'
53
+ end
54
+
55
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
56
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.target_groups_delete, must be greater than or equal to 0.'
57
+ end
58
+
59
+ # resource path
60
+ local_var_path = '/targetgroups/{targetGroupId}'.sub('{' + 'targetGroupId' + '}', CGI.escape(target_group_id.to_s))
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
65
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
66
+
67
+ # header parameters
68
+ header_params = opts[:header_params] || {}
69
+ # HTTP header 'Accept' (if needed)
70
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
71
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
72
+
73
+ # form parameters
74
+ form_params = opts[:form_params] || {}
75
+
76
+ # http body (model)
77
+ post_body = opts[:debug_body]
78
+
79
+ # return_type
80
+ return_type = opts[:debug_return_type]
81
+
82
+ # auth_names
83
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
84
+
85
+ new_options = opts.merge(
86
+ :operation => :"TargetGroupsApi.target_groups_delete",
87
+ :header_params => header_params,
88
+ :query_params => query_params,
89
+ :form_params => form_params,
90
+ :body => post_body,
91
+ :auth_names => auth_names,
92
+ :return_type => return_type
93
+ )
94
+
95
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug "API called: TargetGroupsApi#target_groups_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
98
+ end
99
+ return data, status_code, headers
100
+ end
101
+
102
+ # Retrieve target groups
103
+ # Retrieve the properties of the specified target group.
104
+ # @param target_group_id [String] The unique ID of the target group.
105
+ # @param [Hash] opts the optional parameters
106
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
107
+ # @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)
108
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
109
+ # @return [TargetGroup]
110
+ def targetgroups_find_by_target_group_id(target_group_id, opts = {})
111
+ data, _status_code, _headers = targetgroups_find_by_target_group_id_with_http_info(target_group_id, opts)
112
+ data
113
+ end
114
+
115
+ # Retrieve target groups
116
+ # Retrieve the properties of the specified target group.
117
+ # @param target_group_id [String] The unique ID of the target group.
118
+ # @param [Hash] opts the optional parameters
119
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
120
+ # @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
121
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
122
+ # @return [Array<(TargetGroup, Integer, Hash)>] TargetGroup data, response status code and response headers
123
+ def targetgroups_find_by_target_group_id_with_http_info(target_group_id, opts = {})
124
+ if @api_client.config.debugging
125
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.targetgroups_find_by_target_group_id ...'
126
+ end
127
+ # verify the required parameter 'target_group_id' is set
128
+ if @api_client.config.client_side_validation && target_group_id.nil?
129
+ fail ArgumentError, "Missing the required parameter 'target_group_id' when calling TargetGroupsApi.targetgroups_find_by_target_group_id"
130
+ end
131
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
132
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_find_by_target_group_id, must be smaller than or equal to 10.'
133
+ end
134
+
135
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
136
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_find_by_target_group_id, must be greater than or equal to 0.'
137
+ end
138
+
139
+ # resource path
140
+ local_var_path = '/targetgroups/{targetGroupId}'.sub('{' + 'targetGroupId' + '}', CGI.escape(target_group_id.to_s))
141
+
142
+ # query parameters
143
+ query_params = opts[:query_params] || {}
144
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
145
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
146
+
147
+ # header parameters
148
+ header_params = opts[:header_params] || {}
149
+ # HTTP header 'Accept' (if needed)
150
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
151
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
152
+
153
+ # form parameters
154
+ form_params = opts[:form_params] || {}
155
+
156
+ # http body (model)
157
+ post_body = opts[:debug_body]
158
+
159
+ # return_type
160
+ return_type = opts[:debug_return_type] || 'TargetGroup'
161
+
162
+ # auth_names
163
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
164
+
165
+ new_options = opts.merge(
166
+ :operation => :"TargetGroupsApi.targetgroups_find_by_target_group_id",
167
+ :header_params => header_params,
168
+ :query_params => query_params,
169
+ :form_params => form_params,
170
+ :body => post_body,
171
+ :auth_names => auth_names,
172
+ :return_type => return_type
173
+ )
174
+
175
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug "API called: TargetGroupsApi#targetgroups_find_by_target_group_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
178
+ end
179
+ return data, status_code, headers
180
+ end
181
+
182
+ # List target groups
183
+ # List all target groups.
184
+ # @param [Hash] opts the optional parameters
185
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
186
+ # @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)
187
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
188
+ # @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)
189
+ # @option opts [Integer] :limit The maximum number of elements to return (used together with &lt;b&gt;&lt;i&gt;offset&lt;/i&gt;&lt;/b&gt; for pagination). It must not exceed &lt;b&gt;&lt;i&gt;200&lt;/i&gt;&lt;/b&gt;. (default to 100)
190
+ # @return [TargetGroups]
191
+ def targetgroups_get(opts = {})
192
+ data, _status_code, _headers = targetgroups_get_with_http_info(opts)
193
+ data
194
+ end
195
+
196
+ # List target groups
197
+ # List all target groups.
198
+ # @param [Hash] opts the optional parameters
199
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
200
+ # @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
201
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
202
+ # @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).
203
+ # @option opts [Integer] :limit The maximum number of elements to return (used together with &lt;b&gt;&lt;i&gt;offset&lt;/i&gt;&lt;/b&gt; for pagination). It must not exceed &lt;b&gt;&lt;i&gt;200&lt;/i&gt;&lt;/b&gt;.
204
+ # @return [Array<(TargetGroups, Integer, Hash)>] TargetGroups data, response status code and response headers
205
+ def targetgroups_get_with_http_info(opts = {})
206
+ if @api_client.config.debugging
207
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.targetgroups_get ...'
208
+ end
209
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
210
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_get, must be smaller than or equal to 10.'
211
+ end
212
+
213
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
214
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_get, must be greater than or equal to 0.'
215
+ end
216
+
217
+ if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0
218
+ fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling TargetGroupsApi.targetgroups_get, must be greater than or equal to 0.'
219
+ end
220
+
221
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 200
222
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling TargetGroupsApi.targetgroups_get, must be smaller than or equal to 200.'
223
+ end
224
+
225
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
226
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling TargetGroupsApi.targetgroups_get, must be greater than or equal to 1.'
227
+ end
228
+
229
+ # resource path
230
+ local_var_path = '/targetgroups'
231
+
232
+ # query parameters
233
+ query_params = opts[:query_params] || {}
234
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
235
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
236
+ query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
237
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
238
+
239
+ # header parameters
240
+ header_params = opts[:header_params] || {}
241
+ # HTTP header 'Accept' (if needed)
242
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
243
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
244
+
245
+ # form parameters
246
+ form_params = opts[:form_params] || {}
247
+
248
+ # http body (model)
249
+ post_body = opts[:debug_body]
250
+
251
+ # return_type
252
+ return_type = opts[:debug_return_type] || 'TargetGroups'
253
+
254
+ # auth_names
255
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
256
+
257
+ new_options = opts.merge(
258
+ :operation => :"TargetGroupsApi.targetgroups_get",
259
+ :header_params => header_params,
260
+ :query_params => query_params,
261
+ :form_params => form_params,
262
+ :body => post_body,
263
+ :auth_names => auth_names,
264
+ :return_type => return_type
265
+ )
266
+
267
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
268
+ if @api_client.config.debugging
269
+ @api_client.config.logger.debug "API called: TargetGroupsApi#targetgroups_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
270
+ end
271
+ return data, status_code, headers
272
+ end
273
+
274
+ # Partially modify target groups
275
+ # Update the properties of the specified target group.
276
+ # @param target_group_id [String] The unique ID of the target group.
277
+ # @param target_group_properties [TargetGroupProperties] The target group properties to be updated.
278
+ # @param [Hash] opts the optional parameters
279
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
280
+ # @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)
281
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
282
+ # @return [TargetGroup]
283
+ def targetgroups_patch(target_group_id, target_group_properties, opts = {})
284
+ data, _status_code, _headers = targetgroups_patch_with_http_info(target_group_id, target_group_properties, opts)
285
+ data
286
+ end
287
+
288
+ # Partially modify target groups
289
+ # Update the properties of the specified target group.
290
+ # @param target_group_id [String] The unique ID of the target group.
291
+ # @param target_group_properties [TargetGroupProperties] The target group properties to be updated.
292
+ # @param [Hash] opts the optional parameters
293
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
294
+ # @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
295
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
296
+ # @return [Array<(TargetGroup, Integer, Hash)>] TargetGroup data, response status code and response headers
297
+ def targetgroups_patch_with_http_info(target_group_id, target_group_properties, opts = {})
298
+ if @api_client.config.debugging
299
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.targetgroups_patch ...'
300
+ end
301
+ # verify the required parameter 'target_group_id' is set
302
+ if @api_client.config.client_side_validation && target_group_id.nil?
303
+ fail ArgumentError, "Missing the required parameter 'target_group_id' when calling TargetGroupsApi.targetgroups_patch"
304
+ end
305
+ # verify the required parameter 'target_group_properties' is set
306
+ if @api_client.config.client_side_validation && target_group_properties.nil?
307
+ fail ArgumentError, "Missing the required parameter 'target_group_properties' when calling TargetGroupsApi.targetgroups_patch"
308
+ end
309
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
310
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_patch, must be smaller than or equal to 10.'
311
+ end
312
+
313
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
314
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_patch, must be greater than or equal to 0.'
315
+ end
316
+
317
+ # resource path
318
+ local_var_path = '/targetgroups/{targetGroupId}'.sub('{' + 'targetGroupId' + '}', CGI.escape(target_group_id.to_s))
319
+
320
+ # query parameters
321
+ query_params = opts[:query_params] || {}
322
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
323
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
324
+
325
+ # header parameters
326
+ header_params = opts[:header_params] || {}
327
+ # HTTP header 'Accept' (if needed)
328
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
329
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
330
+
331
+ # form parameters
332
+ form_params = opts[:form_params] || {}
333
+
334
+ # http body (model)
335
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(target_group_properties)
336
+
337
+ # return_type
338
+ return_type = opts[:debug_return_type] || 'TargetGroup'
339
+
340
+ # auth_names
341
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
342
+
343
+ new_options = opts.merge(
344
+ :operation => :"TargetGroupsApi.targetgroups_patch",
345
+ :header_params => header_params,
346
+ :query_params => query_params,
347
+ :form_params => form_params,
348
+ :body => post_body,
349
+ :auth_names => auth_names,
350
+ :return_type => return_type
351
+ )
352
+
353
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
354
+ if @api_client.config.debugging
355
+ @api_client.config.logger.debug "API called: TargetGroupsApi#targetgroups_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
356
+ end
357
+ return data, status_code, headers
358
+ end
359
+
360
+ # Create target groups
361
+ # Create a target group.
362
+ # @param target_group [TargetGroup] The target group to create.
363
+ # @param [Hash] opts the optional parameters
364
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
365
+ # @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)
366
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
367
+ # @return [TargetGroup]
368
+ def targetgroups_post(target_group, opts = {})
369
+ data, _status_code, _headers = targetgroups_post_with_http_info(target_group, opts)
370
+ data
371
+ end
372
+
373
+ # Create target groups
374
+ # Create a target group.
375
+ # @param target_group [TargetGroup] The target group to create.
376
+ # @param [Hash] opts the optional parameters
377
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
378
+ # @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
379
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
380
+ # @return [Array<(TargetGroup, Integer, Hash)>] TargetGroup data, response status code and response headers
381
+ def targetgroups_post_with_http_info(target_group, opts = {})
382
+ if @api_client.config.debugging
383
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.targetgroups_post ...'
384
+ end
385
+ # verify the required parameter 'target_group' is set
386
+ if @api_client.config.client_side_validation && target_group.nil?
387
+ fail ArgumentError, "Missing the required parameter 'target_group' when calling TargetGroupsApi.targetgroups_post"
388
+ end
389
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
390
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_post, must be smaller than or equal to 10.'
391
+ end
392
+
393
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
394
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_post, must be greater than or equal to 0.'
395
+ end
396
+
397
+ # resource path
398
+ local_var_path = '/targetgroups'
399
+
400
+ # query parameters
401
+ query_params = opts[:query_params] || {}
402
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
403
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
404
+
405
+ # header parameters
406
+ header_params = opts[:header_params] || {}
407
+ # HTTP header 'Accept' (if needed)
408
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
409
+ # HTTP header 'Content-Type'
410
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
411
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
412
+
413
+ # form parameters
414
+ form_params = opts[:form_params] || {}
415
+
416
+ # http body (model)
417
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(target_group)
418
+
419
+ # return_type
420
+ return_type = opts[:debug_return_type] || 'TargetGroup'
421
+
422
+ # auth_names
423
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
424
+
425
+ new_options = opts.merge(
426
+ :operation => :"TargetGroupsApi.targetgroups_post",
427
+ :header_params => header_params,
428
+ :query_params => query_params,
429
+ :form_params => form_params,
430
+ :body => post_body,
431
+ :auth_names => auth_names,
432
+ :return_type => return_type
433
+ )
434
+
435
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
436
+ if @api_client.config.debugging
437
+ @api_client.config.logger.debug "API called: TargetGroupsApi#targetgroups_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
438
+ end
439
+ return data, status_code, headers
440
+ end
441
+
442
+ # Modify target groups
443
+ # Modify the properties of the specified target group.
444
+ # @param target_group_id [String] The unique ID of the target group.
445
+ # @param target_group [TargetGroupPut] The modified target group.
446
+ # @param [Hash] opts the optional parameters
447
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines). (default to true)
448
+ # @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)
449
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
450
+ # @return [TargetGroup]
451
+ def targetgroups_put(target_group_id, target_group, opts = {})
452
+ data, _status_code, _headers = targetgroups_put_with_http_info(target_group_id, target_group, opts)
453
+ data
454
+ end
455
+
456
+ # Modify target groups
457
+ # Modify the properties of the specified target group.
458
+ # @param target_group_id [String] The unique ID of the target group.
459
+ # @param target_group [TargetGroupPut] The modified target group.
460
+ # @param [Hash] opts the optional parameters
461
+ # @option opts [Boolean] :pretty Controls whether the response is pretty-printed (with indentations and new lines).
462
+ # @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
463
+ # @option opts [Integer] :x_contract_number Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
464
+ # @return [Array<(TargetGroup, Integer, Hash)>] TargetGroup data, response status code and response headers
465
+ def targetgroups_put_with_http_info(target_group_id, target_group, opts = {})
466
+ if @api_client.config.debugging
467
+ @api_client.config.logger.debug 'Calling API: TargetGroupsApi.targetgroups_put ...'
468
+ end
469
+ # verify the required parameter 'target_group_id' is set
470
+ if @api_client.config.client_side_validation && target_group_id.nil?
471
+ fail ArgumentError, "Missing the required parameter 'target_group_id' when calling TargetGroupsApi.targetgroups_put"
472
+ end
473
+ # verify the required parameter 'target_group' is set
474
+ if @api_client.config.client_side_validation && target_group.nil?
475
+ fail ArgumentError, "Missing the required parameter 'target_group' when calling TargetGroupsApi.targetgroups_put"
476
+ end
477
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] > 10
478
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_put, must be smaller than or equal to 10.'
479
+ end
480
+
481
+ if @api_client.config.client_side_validation && !opts[:'depth'].nil? && opts[:'depth'] < 0
482
+ fail ArgumentError, 'invalid value for "opts[:"depth"]" when calling TargetGroupsApi.targetgroups_put, must be greater than or equal to 0.'
483
+ end
484
+
485
+ # resource path
486
+ local_var_path = '/targetgroups/{targetGroupId}'.sub('{' + 'targetGroupId' + '}', CGI.escape(target_group_id.to_s))
487
+
488
+ # query parameters
489
+ query_params = opts[:query_params] || {}
490
+ query_params[:'pretty'] = opts[:'pretty'] if !opts[:'pretty'].nil?
491
+ query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil?
492
+
493
+ # header parameters
494
+ header_params = opts[:header_params] || {}
495
+ # HTTP header 'Accept' (if needed)
496
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
497
+ # HTTP header 'Content-Type'
498
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
499
+ header_params[:'X-Contract-Number'] = opts[:'x_contract_number'] if !opts[:'x_contract_number'].nil?
500
+
501
+ # form parameters
502
+ form_params = opts[:form_params] || {}
503
+
504
+ # http body (model)
505
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(target_group)
506
+
507
+ # return_type
508
+ return_type = opts[:debug_return_type] || 'TargetGroup'
509
+
510
+ # auth_names
511
+ auth_names = opts[:debug_auth_names] || ['Basic Authentication', 'Token Authentication']
512
+
513
+ new_options = opts.merge(
514
+ :operation => :"TargetGroupsApi.targetgroups_put",
515
+ :header_params => header_params,
516
+ :query_params => query_params,
517
+ :form_params => form_params,
518
+ :body => post_body,
519
+ :auth_names => auth_names,
520
+ :return_type => return_type
521
+ )
522
+
523
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
524
+ if @api_client.config.debugging
525
+ @api_client.config.logger.debug "API called: TargetGroupsApi#targetgroups_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
526
+ end
527
+ return data, status_code, headers
528
+ end
529
+ end
530
+ end
@@ -38,7 +38,7 @@ module Ionoscloud
38
38
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
39
39
  def initialize(config = Configuration.default)
40
40
  @config = config
41
- @user_agent = "ionos-cloud-sdk-ruby/6.0.1"
41
+ @user_agent = "ionos-cloud-sdk-ruby/v6.1.1"
42
42
  @default_headers = {
43
43
  'Content-Type' => 'application/json',
44
44
  'User-Agent' => @user_agent
@@ -33,21 +33,16 @@ module Ionoscloud
33
33
  # Default server operation variables
34
34
  attr_accessor :server_operation_variables
35
35
 
36
- # Defines API keys used with API Key authentications.
36
+ # Defines Tokens used with Token authentications.
37
37
  #
38
- # @return [Hash] key: parameter name, value: parameter value (API key)
39
- #
40
- # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
41
- # config.api_key['api_key'] = 'xxx'
42
- attr_accessor :api_key
38
+ # @return [String]
39
+ attr_accessor :token
43
40
 
44
- # Defines API key prefixes used with API Key authentications.
41
+ # Defines Token prefixes used with Token authentications.
42
+ # Default to 'Bearer'.
45
43
  #
46
- # @return [Hash] key: parameter name, value: API key prefix
47
- #
48
- # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
49
- # config.api_key_prefix['api_key'] = 'Token'
50
- attr_accessor :api_key_prefix
44
+ # @return [String]
45
+ attr_accessor :token_prefix
51
46
 
52
47
  # Defines the username used with HTTP basic authentication.
53
48
  #
@@ -151,8 +146,8 @@ module Ionoscloud
151
146
  @server_operation_index = {}
152
147
  @server_variables = {}
153
148
  @server_operation_variables = {}
154
- @api_key = {}
155
- @api_key_prefix = {}
149
+ @token = nil
150
+ @token_prefix = 'Bearer'
156
151
  @timeout = 0
157
152
  @client_side_validation = true
158
153
  @verify_ssl = true
@@ -204,16 +199,6 @@ module Ionoscloud
204
199
  server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
205
200
  end
206
201
 
207
- # Gets API key (with prefix if set).
208
- # @param [String] param_name the parameter name of API key auth
209
- def api_key_with_prefix(param_name)
210
- if @api_key_prefix[param_name]
211
- "#{@api_key_prefix[param_name]} #{@api_key[param_name]}"
212
- else
213
- @api_key[param_name]
214
- end
215
- end
216
-
217
202
  # Gets Basic Auth token string
218
203
  def basic_auth_token
219
204
  'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
@@ -231,10 +216,10 @@ module Ionoscloud
231
216
  },
232
217
  'Token Authentication' =>
233
218
  {
234
- type: 'api_key',
219
+ type: 'token',
235
220
  in: 'header',
236
221
  key: 'Authorization',
237
- value: api_key_with_prefix('Authorization')
222
+ value: token.nil? ? nil : "#{token_prefix} #{token}"
238
223
  },
239
224
  }
240
225
  end