ionoscloud 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +70 -0
  3. data/README.md +10 -1
  4. data/docs/CHANGELOG.md +22 -0
  5. data/docs/README.md +2 -2
  6. data/docs/api/ApplicationLoadBalancersApi.md +1586 -0
  7. data/docs/api/BackupUnitsApi.md +14 -14
  8. data/docs/api/ContractResourcesApi.md +2 -2
  9. data/docs/api/DataCentersApi.md +15 -15
  10. data/docs/api/DefaultApi.md +2 -2
  11. data/docs/api/FirewallRulesApi.md +14 -14
  12. data/docs/api/FlowLogsApi.md +2 -2
  13. data/docs/api/IPBlocksApi.md +14 -14
  14. data/docs/api/ImagesApi.md +10 -10
  15. data/docs/api/KubernetesApi.md +30 -30
  16. data/docs/api/LANsApi.md +22 -22
  17. data/docs/api/LabelsApi.md +54 -54
  18. data/docs/api/LoadBalancersApi.md +22 -22
  19. data/docs/api/LocationsApi.md +6 -6
  20. data/docs/api/NATGatewaysApi.md +26 -26
  21. data/docs/api/NetworkInterfacesApi.md +14 -14
  22. data/docs/api/NetworkLoadBalancersApi.md +38 -38
  23. data/docs/api/PrivateCrossConnectsApi.md +10 -10
  24. data/docs/api/RequestsApi.md +8 -8
  25. data/docs/api/ServersApi.md +62 -52
  26. data/docs/api/SnapshotsApi.md +10 -10
  27. data/docs/api/TargetGroupsApi.md +516 -0
  28. data/docs/api/UserManagementApi.md +50 -50
  29. data/docs/api/UserS3KeysApi.md +12 -12
  30. data/docs/api/VolumesApi.md +18 -18
  31. data/docs/models/ApplicationLoadBalancer.md +28 -0
  32. data/docs/models/ApplicationLoadBalancerEntities.md +18 -0
  33. data/docs/models/ApplicationLoadBalancerForwardingRule.md +26 -0
  34. data/docs/models/ApplicationLoadBalancerForwardingRuleProperties.md +30 -0
  35. data/docs/models/ApplicationLoadBalancerForwardingRulePut.md +24 -0
  36. data/docs/models/ApplicationLoadBalancerForwardingRules.md +30 -0
  37. data/docs/models/ApplicationLoadBalancerHttpRule.md +34 -0
  38. data/docs/models/ApplicationLoadBalancerHttpRuleCondition.md +26 -0
  39. data/docs/models/ApplicationLoadBalancerProperties.md +26 -0
  40. data/docs/models/ApplicationLoadBalancerPut.md +24 -0
  41. data/docs/models/ApplicationLoadBalancers.md +30 -0
  42. data/docs/models/AttachedVolumes.md +1 -1
  43. data/docs/models/BackupUnits.md +1 -1
  44. data/docs/models/BalancedNics.md +1 -1
  45. data/docs/models/Cdroms.md +1 -1
  46. data/docs/models/Contracts.md +1 -1
  47. data/docs/models/Datacenters.md +1 -1
  48. data/docs/models/ErrorMessage.md +1 -1
  49. data/docs/models/FirewallRules.md +1 -1
  50. data/docs/models/FirewallruleProperties.md +1 -1
  51. data/docs/models/FlowLogs.md +1 -1
  52. data/docs/models/GroupMembers.md +1 -1
  53. data/docs/models/GroupShares.md +1 -1
  54. data/docs/models/GroupUsers.md +1 -1
  55. data/docs/models/Groups.md +1 -1
  56. data/docs/models/Images.md +1 -1
  57. data/docs/models/IpBlocks.md +3 -3
  58. data/docs/models/KubernetesClusterProperties.md +1 -1
  59. data/docs/models/KubernetesClusterPropertiesForPost.md +1 -1
  60. data/docs/models/KubernetesClusterPropertiesForPut.md +1 -1
  61. data/docs/models/KubernetesClusters.md +1 -1
  62. data/docs/models/KubernetesNodePoolProperties.md +1 -1
  63. data/docs/models/KubernetesNodePoolPropertiesForPost.md +1 -1
  64. data/docs/models/KubernetesNodePoolPropertiesForPut.md +1 -1
  65. data/docs/models/KubernetesNodePools.md +1 -1
  66. data/docs/models/KubernetesNodes.md +1 -1
  67. data/docs/models/LabelResources.md +1 -1
  68. data/docs/models/Labels.md +1 -1
  69. data/docs/models/LanNics.md +1 -1
  70. data/docs/models/Lans.md +1 -1
  71. data/docs/models/Loadbalancers.md +1 -1
  72. data/docs/models/Locations.md +1 -1
  73. data/docs/models/NatGatewayProperties.md +1 -1
  74. data/docs/models/NatGatewayRules.md +1 -1
  75. data/docs/models/NatGateways.md +1 -1
  76. data/docs/models/NetworkLoadBalancerForwardingRuleHealthCheck.md +4 -4
  77. data/docs/models/NetworkLoadBalancerForwardingRuleProperties.md +5 -5
  78. data/docs/models/NetworkLoadBalancerForwardingRuleTarget.md +3 -3
  79. data/docs/models/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +3 -3
  80. data/docs/models/NetworkLoadBalancerForwardingRules.md +1 -1
  81. data/docs/models/NetworkLoadBalancerProperties.md +2 -2
  82. data/docs/models/NetworkLoadBalancers.md +1 -1
  83. data/docs/models/NicProperties.md +3 -3
  84. data/docs/models/Nics.md +1 -1
  85. data/docs/models/PrivateCrossConnects.md +1 -1
  86. data/docs/models/Requests.md +3 -3
  87. data/docs/models/ResourceGroups.md +1 -1
  88. data/docs/models/Resources.md +1 -1
  89. data/docs/models/ResourcesUsers.md +1 -1
  90. data/docs/models/S3Keys.md +1 -1
  91. data/docs/models/Servers.md +1 -1
  92. data/docs/models/Snapshots.md +1 -1
  93. data/docs/models/TargetGroup.md +26 -0
  94. data/docs/models/TargetGroupHealthCheck.md +22 -0
  95. data/docs/models/TargetGroupHttpHealthCheck.md +28 -0
  96. data/docs/models/TargetGroupProperties.md +28 -0
  97. data/docs/models/TargetGroupPut.md +24 -0
  98. data/docs/models/TargetGroupTarget.md +26 -0
  99. data/docs/models/TargetGroups.md +30 -0
  100. data/docs/models/Templates.md +1 -1
  101. data/docs/models/Users.md +1 -1
  102. data/docs/models/VolumeProperties.md +4 -2
  103. data/docs/models/Volumes.md +1 -1
  104. data/git_push.sh +0 -3
  105. data/lib/ionoscloud/api/_api.rb +2 -2
  106. data/lib/ionoscloud/api/application_load_balancers_api.rb +1690 -0
  107. data/lib/ionoscloud/api/backup_units_api.rb +14 -14
  108. data/lib/ionoscloud/api/contract_resources_api.rb +2 -2
  109. data/lib/ionoscloud/api/data_centers_api.rb +16 -16
  110. data/lib/ionoscloud/api/firewall_rules_api.rb +14 -14
  111. data/lib/ionoscloud/api/flow_logs_api.rb +2 -2
  112. data/lib/ionoscloud/api/images_api.rb +10 -10
  113. data/lib/ionoscloud/api/ip_blocks_api.rb +14 -14
  114. data/lib/ionoscloud/api/kubernetes_api.rb +30 -30
  115. data/lib/ionoscloud/api/labels_api.rb +54 -54
  116. data/lib/ionoscloud/api/lans_api.rb +22 -22
  117. data/lib/ionoscloud/api/load_balancers_api.rb +22 -22
  118. data/lib/ionoscloud/api/locations_api.rb +6 -6
  119. data/lib/ionoscloud/api/nat_gateways_api.rb +26 -26
  120. data/lib/ionoscloud/api/network_interfaces_api.rb +14 -14
  121. data/lib/ionoscloud/api/network_load_balancers_api.rb +38 -38
  122. data/lib/ionoscloud/api/private_cross_connects_api.rb +10 -10
  123. data/lib/ionoscloud/api/requests_api.rb +8 -8
  124. data/lib/ionoscloud/api/servers_api.rb +52 -52
  125. data/lib/ionoscloud/api/snapshots_api.rb +10 -10
  126. data/lib/ionoscloud/api/target_groups_api.rb +530 -0
  127. data/lib/ionoscloud/api/user_management_api.rb +50 -50
  128. data/lib/ionoscloud/api/user_s3_keys_api.rb +12 -12
  129. data/lib/ionoscloud/api/volumes_api.rb +19 -19
  130. data/lib/ionoscloud/api_client.rb +1 -1
  131. data/lib/ionoscloud/configuration.rb +11 -26
  132. data/lib/ionoscloud/models/application_load_balancer.rb +319 -0
  133. data/lib/ionoscloud/models/application_load_balancer_entities.rb +226 -0
  134. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule.rb +302 -0
  135. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_properties.rb +389 -0
  136. data/lib/ionoscloud/models/application_load_balancer_forwarding_rule_put.rb +285 -0
  137. data/lib/ionoscloud/models/application_load_balancer_forwarding_rules.rb +334 -0
  138. data/lib/ionoscloud/models/application_load_balancer_http_rule.rb +427 -0
  139. data/lib/ionoscloud/models/application_load_balancer_http_rule_condition.rb +355 -0
  140. data/lib/ionoscloud/models/application_load_balancer_properties.rb +314 -0
  141. data/lib/ionoscloud/models/application_load_balancer_put.rb +285 -0
  142. data/lib/ionoscloud/models/application_load_balancers.rb +334 -0
  143. data/lib/ionoscloud/models/attached_volumes.rb +1 -1
  144. data/lib/ionoscloud/models/backup_units.rb +1 -1
  145. data/lib/ionoscloud/models/balanced_nics.rb +1 -1
  146. data/lib/ionoscloud/models/cdroms.rb +1 -1
  147. data/lib/ionoscloud/models/contracts.rb +1 -1
  148. data/lib/ionoscloud/models/datacenters.rb +1 -1
  149. data/lib/ionoscloud/models/error_message.rb +1 -1
  150. data/lib/ionoscloud/models/firewall_rules.rb +1 -1
  151. data/lib/ionoscloud/models/firewallrule_properties.rb +6 -1
  152. data/lib/ionoscloud/models/flow_logs.rb +1 -1
  153. data/lib/ionoscloud/models/group_members.rb +1 -1
  154. data/lib/ionoscloud/models/group_shares.rb +1 -1
  155. data/lib/ionoscloud/models/group_users.rb +1 -1
  156. data/lib/ionoscloud/models/groups.rb +1 -1
  157. data/lib/ionoscloud/models/image_properties.rb +2 -2
  158. data/lib/ionoscloud/models/images.rb +1 -1
  159. data/lib/ionoscloud/models/ip_blocks.rb +3 -3
  160. data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +1 -1
  161. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +1 -1
  162. data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +1 -1
  163. data/lib/ionoscloud/models/kubernetes_clusters.rb +1 -1
  164. data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +1 -1
  165. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +1 -1
  166. data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +1 -1
  167. data/lib/ionoscloud/models/kubernetes_node_pools.rb +1 -1
  168. data/lib/ionoscloud/models/kubernetes_nodes.rb +1 -1
  169. data/lib/ionoscloud/models/label_resources.rb +1 -1
  170. data/lib/ionoscloud/models/labels.rb +1 -1
  171. data/lib/ionoscloud/models/lan_nics.rb +1 -1
  172. data/lib/ionoscloud/models/lans.rb +1 -1
  173. data/lib/ionoscloud/models/loadbalancer_properties.rb +1 -0
  174. data/lib/ionoscloud/models/loadbalancers.rb +1 -1
  175. data/lib/ionoscloud/models/locations.rb +1 -1
  176. data/lib/ionoscloud/models/nat_gateway_properties.rb +1 -1
  177. data/lib/ionoscloud/models/nat_gateway_rules.rb +1 -1
  178. data/lib/ionoscloud/models/nat_gateways.rb +1 -1
  179. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +4 -4
  180. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +5 -5
  181. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +3 -3
  182. data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +3 -3
  183. data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +1 -1
  184. data/lib/ionoscloud/models/network_load_balancer_properties.rb +2 -2
  185. data/lib/ionoscloud/models/network_load_balancers.rb +1 -1
  186. data/lib/ionoscloud/models/nic_properties.rb +4 -3
  187. data/lib/ionoscloud/models/nics.rb +1 -1
  188. data/lib/ionoscloud/models/private_cross_connects.rb +1 -1
  189. data/lib/ionoscloud/models/requests.rb +3 -3
  190. data/lib/ionoscloud/models/resource_groups.rb +1 -1
  191. data/lib/ionoscloud/models/resources.rb +1 -1
  192. data/lib/ionoscloud/models/resources_users.rb +1 -1
  193. data/lib/ionoscloud/models/s3_keys.rb +1 -1
  194. data/lib/ionoscloud/models/servers.rb +1 -1
  195. data/lib/ionoscloud/models/snapshot_properties.rb +2 -2
  196. data/lib/ionoscloud/models/snapshots.rb +1 -1
  197. data/lib/ionoscloud/models/target_group.rb +302 -0
  198. data/lib/ionoscloud/models/target_group_health_check.rb +263 -0
  199. data/lib/ionoscloud/models/target_group_http_health_check.rb +373 -0
  200. data/lib/ionoscloud/models/target_group_properties.rb +376 -0
  201. data/lib/ionoscloud/models/target_group_put.rb +285 -0
  202. data/lib/ionoscloud/models/target_group_target.rb +314 -0
  203. data/lib/ionoscloud/models/target_groups.rb +334 -0
  204. data/lib/ionoscloud/models/templates.rb +1 -1
  205. data/lib/ionoscloud/models/users.rb +1 -1
  206. data/lib/ionoscloud/models/volume_properties.rb +25 -7
  207. data/lib/ionoscloud/models/volumes.rb +1 -1
  208. data/lib/ionoscloud/version.rb +1 -1
  209. data/lib/ionoscloud.rb +20 -0
  210. metadata +46 -5
@@ -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=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)
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=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
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