oci 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +262 -0
  4. data/lib/oci.rb +25 -0
  5. data/lib/oci/api_client.rb +389 -0
  6. data/lib/oci/config.rb +118 -0
  7. data/lib/oci/config_file_loader.rb +96 -0
  8. data/lib/oci/core/blockstorage_client.rb +462 -0
  9. data/lib/oci/core/compute_client.rb +1415 -0
  10. data/lib/oci/core/core.rb +114 -0
  11. data/lib/oci/core/models/attach_i_scsi_volume_details.rb +137 -0
  12. data/lib/oci/core/models/attach_vnic_details.rb +144 -0
  13. data/lib/oci/core/models/attach_volume_details.rb +165 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +120 -0
  15. data/lib/oci/core/models/console_history.rb +213 -0
  16. data/lib/oci/core/models/cpe.rb +169 -0
  17. data/lib/oci/core/models/create_cpe_details.rb +145 -0
  18. data/lib/oci/core/models/create_cross_connect_details.rb +204 -0
  19. data/lib/oci/core/models/create_cross_connect_group_details.rb +133 -0
  20. data/lib/oci/core/models/create_dhcp_details.rb +153 -0
  21. data/lib/oci/core/models/create_drg_attachment_details.rb +142 -0
  22. data/lib/oci/core/models/create_drg_details.rb +131 -0
  23. data/lib/oci/core/models/create_image_details.rb +159 -0
  24. data/lib/oci/core/models/create_instance_console_connection_details.rb +131 -0
  25. data/lib/oci/core/models/create_internet_gateway_details.rb +153 -0
  26. data/lib/oci/core/models/create_ip_sec_connection_details.rb +168 -0
  27. data/lib/oci/core/models/create_private_ip_details.rb +173 -0
  28. data/lib/oci/core/models/create_route_table_details.rb +153 -0
  29. data/lib/oci/core/models/create_security_list_details.rb +164 -0
  30. data/lib/oci/core/models/create_subnet_details.rb +257 -0
  31. data/lib/oci/core/models/create_vcn_details.rb +171 -0
  32. data/lib/oci/core/models/create_virtual_circuit_details.rb +260 -0
  33. data/lib/oci/core/models/create_vnic_details.rb +214 -0
  34. data/lib/oci/core/models/create_volume_backup_details.rb +133 -0
  35. data/lib/oci/core/models/create_volume_details.rb +170 -0
  36. data/lib/oci/core/models/cross_connect.rb +235 -0
  37. data/lib/oci/core/models/cross_connect_group.rb +187 -0
  38. data/lib/oci/core/models/cross_connect_location.rb +134 -0
  39. data/lib/oci/core/models/cross_connect_mapping.rb +190 -0
  40. data/lib/oci/core/models/cross_connect_port_speed_shape.rb +137 -0
  41. data/lib/oci/core/models/cross_connect_status.rb +200 -0
  42. data/lib/oci/core/models/dhcp_dns_option.rb +171 -0
  43. data/lib/oci/core/models/dhcp_option.rb +135 -0
  44. data/lib/oci/core/models/dhcp_options.rb +208 -0
  45. data/lib/oci/core/models/dhcp_search_domain_option.rb +141 -0
  46. data/lib/oci/core/models/drg.rb +186 -0
  47. data/lib/oci/core/models/drg_attachment.rb +208 -0
  48. data/lib/oci/core/models/egress_security_rule.rb +198 -0
  49. data/lib/oci/core/models/export_image_details.rb +134 -0
  50. data/lib/oci/core/models/export_image_via_object_storage_tuple_details.rb +150 -0
  51. data/lib/oci/core/models/export_image_via_object_storage_uri_details.rb +130 -0
  52. data/lib/oci/core/models/fast_connect_provider_service.rb +145 -0
  53. data/lib/oci/core/models/i_scsi_volume_attachment.rb +212 -0
  54. data/lib/oci/core/models/icmp_options.rb +131 -0
  55. data/lib/oci/core/models/image.rb +245 -0
  56. data/lib/oci/core/models/image_source_details.rb +134 -0
  57. data/lib/oci/core/models/image_source_via_object_storage_tuple_details.rb +150 -0
  58. data/lib/oci/core/models/image_source_via_object_storage_uri_details.rb +128 -0
  59. data/lib/oci/core/models/ingress_security_rule.rb +198 -0
  60. data/lib/oci/core/models/instance.rb +307 -0
  61. data/lib/oci/core/models/instance_console_connection.rb +193 -0
  62. data/lib/oci/core/models/instance_credentials.rb +131 -0
  63. data/lib/oci/core/models/internet_gateway.rb +210 -0
  64. data/lib/oci/core/models/ip_sec_connection.rb +223 -0
  65. data/lib/oci/core/models/ip_sec_connection_device_config.rb +153 -0
  66. data/lib/oci/core/models/ip_sec_connection_device_status.rb +156 -0
  67. data/lib/oci/core/models/launch_instance_details.rb +336 -0
  68. data/lib/oci/core/models/letter_of_authority.rb +194 -0
  69. data/lib/oci/core/models/port_range.rb +133 -0
  70. data/lib/oci/core/models/private_ip.rb +248 -0
  71. data/lib/oci/core/models/route_rule.rb +135 -0
  72. data/lib/oci/core/models/route_table.rb +208 -0
  73. data/lib/oci/core/models/security_list.rb +219 -0
  74. data/lib/oci/core/models/shape.rb +122 -0
  75. data/lib/oci/core/models/subnet.rb +351 -0
  76. data/lib/oci/core/models/tcp_options.rb +135 -0
  77. data/lib/oci/core/models/tunnel_config.rb +151 -0
  78. data/lib/oci/core/models/tunnel_status.rb +178 -0
  79. data/lib/oci/core/models/udp_options.rb +135 -0
  80. data/lib/oci/core/models/update_cpe_details.rb +122 -0
  81. data/lib/oci/core/models/update_cross_connect_details.rb +138 -0
  82. data/lib/oci/core/models/update_cross_connect_group_details.rb +122 -0
  83. data/lib/oci/core/models/update_dhcp_details.rb +132 -0
  84. data/lib/oci/core/models/update_drg_attachment_details.rb +122 -0
  85. data/lib/oci/core/models/update_drg_details.rb +122 -0
  86. data/lib/oci/core/models/update_image_details.rb +124 -0
  87. data/lib/oci/core/models/update_instance_details.rb +124 -0
  88. data/lib/oci/core/models/update_internet_gateway_details.rb +133 -0
  89. data/lib/oci/core/models/update_ip_sec_connection_details.rb +122 -0
  90. data/lib/oci/core/models/update_private_ip_details.rb +157 -0
  91. data/lib/oci/core/models/update_route_table_details.rb +133 -0
  92. data/lib/oci/core/models/update_security_list_details.rb +144 -0
  93. data/lib/oci/core/models/update_subnet_details.rb +122 -0
  94. data/lib/oci/core/models/update_vcn_details.rb +122 -0
  95. data/lib/oci/core/models/update_virtual_circuit_details.rb +240 -0
  96. data/lib/oci/core/models/update_vnic_details.rb +144 -0
  97. data/lib/oci/core/models/update_volume_backup_details.rb +122 -0
  98. data/lib/oci/core/models/update_volume_details.rb +122 -0
  99. data/lib/oci/core/models/vcn.rb +276 -0
  100. data/lib/oci/core/models/virtual_circuit.rb +395 -0
  101. data/lib/oci/core/models/virtual_circuit_bandwidth_shape.rb +137 -0
  102. data/lib/oci/core/models/vnic.rb +287 -0
  103. data/lib/oci/core/models/vnic_attachment.rb +250 -0
  104. data/lib/oci/core/models/volume.rb +210 -0
  105. data/lib/oci/core/models/volume_attachment.rb +246 -0
  106. data/lib/oci/core/models/volume_backup.rb +235 -0
  107. data/lib/oci/core/util.rb +1 -0
  108. data/lib/oci/core/virtual_network_client.rb +3421 -0
  109. data/lib/oci/errors.rb +78 -0
  110. data/lib/oci/global_context.rb +20 -0
  111. data/lib/oci/identity/identity.rb +55 -0
  112. data/lib/oci/identity/identity_client.rb +2148 -0
  113. data/lib/oci/identity/models/add_user_to_group_details.rb +131 -0
  114. data/lib/oci/identity/models/api_key.rb +211 -0
  115. data/lib/oci/identity/models/availability_domain.rb +131 -0
  116. data/lib/oci/identity/models/compartment.rb +211 -0
  117. data/lib/oci/identity/models/create_api_key_details.rb +120 -0
  118. data/lib/oci/identity/models/create_compartment_details.rb +145 -0
  119. data/lib/oci/identity/models/create_customer_secret_key_details.rb +121 -0
  120. data/lib/oci/identity/models/create_group_details.rb +144 -0
  121. data/lib/oci/identity/models/create_identity_provider_details.rb +215 -0
  122. data/lib/oci/identity/models/create_idp_group_mapping_details.rb +133 -0
  123. data/lib/oci/identity/models/create_policy_details.rb +173 -0
  124. data/lib/oci/identity/models/create_region_subscription_details.rb +128 -0
  125. data/lib/oci/identity/models/create_saml2_identity_provider_details.rb +154 -0
  126. data/lib/oci/identity/models/create_swift_password_details.rb +121 -0
  127. data/lib/oci/identity/models/create_user_details.rb +144 -0
  128. data/lib/oci/identity/models/customer_secret_key.rb +225 -0
  129. data/lib/oci/identity/models/customer_secret_key_summary.rb +213 -0
  130. data/lib/oci/identity/models/group.rb +211 -0
  131. data/lib/oci/identity/models/identity_provider.rb +261 -0
  132. data/lib/oci/identity/models/idp_group_mapping.rb +220 -0
  133. data/lib/oci/identity/models/policy.rb +237 -0
  134. data/lib/oci/identity/models/region.rb +143 -0
  135. data/lib/oci/identity/models/region_subscription.rb +180 -0
  136. data/lib/oci/identity/models/saml2_identity_provider.rb +180 -0
  137. data/lib/oci/identity/models/swift_password.rb +226 -0
  138. data/lib/oci/identity/models/tenancy.rb +159 -0
  139. data/lib/oci/identity/models/ui_password.rb +187 -0
  140. data/lib/oci/identity/models/update_compartment_details.rb +132 -0
  141. data/lib/oci/identity/models/update_customer_secret_key_details.rb +120 -0
  142. data/lib/oci/identity/models/update_group_details.rb +120 -0
  143. data/lib/oci/identity/models/update_identity_provider_details.rb +160 -0
  144. data/lib/oci/identity/models/update_idp_group_mapping_details.rb +131 -0
  145. data/lib/oci/identity/models/update_policy_details.rb +148 -0
  146. data/lib/oci/identity/models/update_saml2_identity_provider_details.rb +145 -0
  147. data/lib/oci/identity/models/update_state_details.rb +121 -0
  148. data/lib/oci/identity/models/update_swift_password_details.rb +120 -0
  149. data/lib/oci/identity/models/update_user_details.rb +120 -0
  150. data/lib/oci/identity/models/user.rb +217 -0
  151. data/lib/oci/identity/models/user_group_membership.rb +209 -0
  152. data/lib/oci/identity/util.rb +1 -0
  153. data/lib/oci/internal/internal.rb +10 -0
  154. data/lib/oci/internal/util.rb +69 -0
  155. data/lib/oci/load_balancer/load_balancer.rb +51 -0
  156. data/lib/oci/load_balancer/load_balancer_client.rb +1449 -0
  157. data/lib/oci/load_balancer/models/backend.rb +220 -0
  158. data/lib/oci/load_balancer/models/backend_details.rb +206 -0
  159. data/lib/oci/load_balancer/models/backend_health.rb +158 -0
  160. data/lib/oci/load_balancer/models/backend_set.rb +182 -0
  161. data/lib/oci/load_balancer/models/backend_set_details.rb +165 -0
  162. data/lib/oci/load_balancer/models/backend_set_health.rb +207 -0
  163. data/lib/oci/load_balancer/models/certificate.rb +169 -0
  164. data/lib/oci/load_balancer/models/certificate_details.rb +205 -0
  165. data/lib/oci/load_balancer/models/create_backend_details.rb +206 -0
  166. data/lib/oci/load_balancer/models/create_backend_set_details.rb +181 -0
  167. data/lib/oci/load_balancer/models/create_certificate_details.rb +205 -0
  168. data/lib/oci/load_balancer/models/create_listener_details.rb +175 -0
  169. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +220 -0
  170. data/lib/oci/load_balancer/models/health_check_result.rb +183 -0
  171. data/lib/oci/load_balancer/models/health_checker.rb +224 -0
  172. data/lib/oci/load_balancer/models/health_checker_details.rb +223 -0
  173. data/lib/oci/load_balancer/models/ip_address.rb +139 -0
  174. data/lib/oci/load_balancer/models/listener.rb +174 -0
  175. data/lib/oci/load_balancer/models/listener_details.rb +160 -0
  176. data/lib/oci/load_balancer/models/load_balancer.rb +280 -0
  177. data/lib/oci/load_balancer/models/load_balancer_health.rb +215 -0
  178. data/lib/oci/load_balancer/models/load_balancer_health_summary.rb +168 -0
  179. data/lib/oci/load_balancer/models/load_balancer_policy.rb +120 -0
  180. data/lib/oci/load_balancer/models/load_balancer_protocol.rb +120 -0
  181. data/lib/oci/load_balancer/models/load_balancer_shape.rb +120 -0
  182. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +141 -0
  183. data/lib/oci/load_balancer/models/ssl_configuration.rb +155 -0
  184. data/lib/oci/load_balancer/models/ssl_configuration_details.rb +155 -0
  185. data/lib/oci/load_balancer/models/update_backend_details.rb +178 -0
  186. data/lib/oci/load_balancer/models/update_backend_set_details.rb +165 -0
  187. data/lib/oci/load_balancer/models/update_health_checker_details.rb +222 -0
  188. data/lib/oci/load_balancer/models/update_listener_details.rb +160 -0
  189. data/lib/oci/load_balancer/models/update_load_balancer_details.rb +124 -0
  190. data/lib/oci/load_balancer/models/work_request.rb +229 -0
  191. data/lib/oci/load_balancer/models/work_request_error.rb +145 -0
  192. data/lib/oci/load_balancer/util.rb +58 -0
  193. data/lib/oci/object_storage/models/bucket.rb +216 -0
  194. data/lib/oci/object_storage/models/bucket_summary.rb +175 -0
  195. data/lib/oci/object_storage/models/commit_multipart_upload_details.rb +133 -0
  196. data/lib/oci/object_storage/models/commit_multipart_upload_part_details.rb +131 -0
  197. data/lib/oci/object_storage/models/create_bucket_details.rb +173 -0
  198. data/lib/oci/object_storage/models/create_multipart_upload_details.rb +166 -0
  199. data/lib/oci/object_storage/models/create_preauthenticated_request_details.rb +171 -0
  200. data/lib/oci/object_storage/models/list_objects.rb +146 -0
  201. data/lib/oci/object_storage/models/multipart_upload.rb +164 -0
  202. data/lib/oci/object_storage/models/multipart_upload_part_summary.rb +153 -0
  203. data/lib/oci/object_storage/models/object_summary.rb +153 -0
  204. data/lib/oci/object_storage/models/preauthenticated_request.rb +207 -0
  205. data/lib/oci/object_storage/models/preauthenticated_request_summary.rb +196 -0
  206. data/lib/oci/object_storage/models/update_bucket_details.rb +171 -0
  207. data/lib/oci/object_storage/object_storage.rb +30 -0
  208. data/lib/oci/object_storage/object_storage_client.rb +1185 -0
  209. data/lib/oci/object_storage/util.rb +1 -0
  210. data/lib/oci/regions.rb +43 -0
  211. data/lib/oci/response.rb +80 -0
  212. data/lib/oci/response_headers.rb +144 -0
  213. data/lib/oci/signer.rb +157 -0
  214. data/lib/oci/version.rb +5 -0
  215. data/lib/oci/waiter.rb +101 -0
  216. data/lib/oraclebmc.rb +3 -0
  217. metadata +375 -0
@@ -0,0 +1,209 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ module OCI
6
+ class Identity::Models::UserGroupMembership
7
+
8
+ LIFECYCLE_STATE_ENUM = [LIFECYCLE_STATE_CREATING = 'CREATING',
9
+ LIFECYCLE_STATE_ACTIVE = 'ACTIVE',
10
+ LIFECYCLE_STATE_INACTIVE = 'INACTIVE',
11
+ LIFECYCLE_STATE_DELETING = 'DELETING',
12
+ LIFECYCLE_STATE_DELETED = 'DELETED',
13
+ LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE']
14
+
15
+ # The OCID of the membership.
16
+ # @return [String]
17
+ attr_accessor :id
18
+
19
+ # The OCID of the tenancy containing the user, group, and membership object.
20
+ # @return [String]
21
+ attr_accessor :compartment_id
22
+
23
+ # The OCID of the group.
24
+ # @return [String]
25
+ attr_accessor :group_id
26
+
27
+ # The OCID of the user.
28
+ # @return [String]
29
+ attr_accessor :user_id
30
+
31
+ # Date and time the membership was created, in the format defined by RFC3339.
32
+ #
33
+ # Example: `2016-08-25T21:10:29.600Z`
34
+ #
35
+ # @return [DateTime]
36
+ attr_accessor :time_created
37
+
38
+ # The membership's current state. After creating a membership object, make sure its `lifecycleState` changes
39
+ # from CREATING to ACTIVE before using it.
40
+ #
41
+ # @return [String]
42
+ attr_accessor :lifecycle_state
43
+
44
+ # The detailed status of INACTIVE lifecycleState.
45
+ # @return [Integer]
46
+ attr_accessor :inactive_status
47
+
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ return unless attributes.is_a?(Hash)
53
+
54
+ # convert string to symbol for hash key
55
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
56
+
57
+ if attributes[:'id']
58
+ self.id = attributes[:'id']
59
+ end
60
+
61
+ if attributes[:'compartmentId']
62
+ self.compartment_id = attributes[:'compartmentId']
63
+ end
64
+
65
+ if attributes[:'groupId']
66
+ self.group_id = attributes[:'groupId']
67
+ end
68
+
69
+ if attributes[:'userId']
70
+ self.user_id = attributes[:'userId']
71
+ end
72
+
73
+ if attributes[:'timeCreated']
74
+ self.time_created = attributes[:'timeCreated']
75
+ end
76
+
77
+ if attributes[:'lifecycleState']
78
+ self.lifecycle_state = attributes[:'lifecycleState']
79
+ end
80
+
81
+ if attributes[:'inactiveStatus']
82
+ self.inactive_status = attributes[:'inactiveStatus']
83
+ end
84
+
85
+ end
86
+
87
+ # Custom attribute writer method checking allowed values (enum).
88
+ # @param [Object] lifecycle_state Object to be assigned
89
+ def lifecycle_state=(lifecycle_state)
90
+ if lifecycle_state && !LIFECYCLE_STATE_ENUM.include?(lifecycle_state)
91
+ @lifecycle_state = LIFECYCLE_STATE_UNKNOWN_ENUM_VALUE
92
+ else
93
+ @lifecycle_state = lifecycle_state
94
+ end
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] other_object to be compared
99
+ def ==(other_object)
100
+ return true if self.equal?(other_object)
101
+ self.class == other_object.class &&
102
+ id == other_object.id &&
103
+ compartment_id == other_object.compartment_id &&
104
+ group_id == other_object.group_id &&
105
+ user_id == other_object.user_id &&
106
+ time_created == other_object.time_created &&
107
+ lifecycle_state == other_object.lifecycle_state &&
108
+ inactive_status == other_object.inactive_status
109
+ end
110
+
111
+ # @see the `==` method
112
+ # @param [Object] other_object to be compared
113
+ def eql?(other_object)
114
+ self == other_object
115
+ end
116
+
117
+ # Calculates hash code according to all attributes.
118
+ # @return [Fixnum] Hash code
119
+ def hash
120
+ [id, compartment_id, group_id, user_id, time_created, lifecycle_state, inactive_status].hash
121
+ end
122
+
123
+ # Builds the object from hash
124
+ # @param [Hash] attributes Model attributes in the form of hash
125
+ # @return [Object] Returns the model itself
126
+ def build_from_hash(attributes)
127
+ return nil unless attributes.is_a?(Hash)
128
+ self.class.swagger_types.each_pair do |key, type|
129
+ if type =~ /^Array<(.*)>/i
130
+ # check to ensure the input is an array given that the the attribute
131
+ # is documented as an array but the input is not
132
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
133
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } )
134
+ end
135
+ elsif !attributes[self.class.attribute_map[key]].nil?
136
+ self.send("#{key}=", OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]))
137
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
138
+ end
139
+
140
+ self
141
+ end
142
+
143
+ # Returns the string representation of the object
144
+ # @return [String] String presentation of the object
145
+ def to_s
146
+ to_hash.to_s
147
+ end
148
+
149
+ # Returns the object in the form of hash
150
+ # @return [Hash] Returns the object in the form of hash
151
+ def to_hash
152
+ hash = {}
153
+ self.class.attribute_map.each_pair do |attr, param|
154
+ value = self.send(attr)
155
+ next if value.nil?
156
+ hash[param] = _to_hash(value)
157
+ end
158
+ hash
159
+ end
160
+
161
+ private
162
+
163
+ # Outputs non-array value in the form of hash
164
+ # For object, use to_hash. Otherwise, just return the value
165
+ # @param [Object] value Any valid value
166
+ # @return [Hash] Returns the value in the form of hash
167
+ def _to_hash(value)
168
+ if value.is_a?(Array)
169
+ value.compact.map{ |v| _to_hash(v) }
170
+ elsif value.is_a?(Hash)
171
+ {}.tap do |hash|
172
+ value.each { |k, v| hash[k] = _to_hash(v) }
173
+ end
174
+ elsif value.respond_to? :to_hash
175
+ value.to_hash
176
+ else
177
+ value
178
+ end
179
+ end
180
+
181
+
182
+
183
+ # Attribute mapping from ruby-style variable name to JSON key.
184
+ def self.attribute_map
185
+ {
186
+ :'id' => :'id',
187
+ :'compartment_id' => :'compartmentId',
188
+ :'group_id' => :'groupId',
189
+ :'user_id' => :'userId',
190
+ :'time_created' => :'timeCreated',
191
+ :'lifecycle_state' => :'lifecycleState',
192
+ :'inactive_status' => :'inactiveStatus'
193
+ }
194
+ end
195
+
196
+ # Attribute type mapping.
197
+ def self.swagger_types
198
+ {
199
+ :'id' => :'String',
200
+ :'compartment_id' => :'String',
201
+ :'group_id' => :'String',
202
+ :'user_id' => :'String',
203
+ :'time_created' => :'DateTime',
204
+ :'lifecycle_state' => :'String',
205
+ :'inactive_status' => :'Integer'
206
+ }
207
+ end
208
+ end
209
+ end
@@ -0,0 +1 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
@@ -0,0 +1,10 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ # Contains internal modules and class that are not meant for public use.
5
+ module Internal
6
+ end
7
+ end
8
+
9
+ # Require models
10
+ require 'oci/internal/util'
@@ -0,0 +1,69 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module Internal
5
+ # Utility methods for internal use only.
6
+ module Util
7
+ # Convert data to the given type. This is part of the conversion from strings representing
8
+ # json, where the data that is passed in should already have been converted using JSON.parse.
9
+ # That will give us arrays and hashes, but will not set the correct data types.
10
+ #
11
+ # @param [String] type Type that the data should be converted to
12
+ # @param [String] data Data in string, array or hash of strings, or raw object format.
13
+ # @return [Mixed] Data in the specified type
14
+ def self.convert_to_type(type, data)
15
+ return nil if data.nil?
16
+
17
+ case type.downcase.to_sym
18
+ when :datetime
19
+ DateTime.parse(data)
20
+ when :date
21
+ Date.parse(data)
22
+ when :string
23
+ data.to_s
24
+ when :integer
25
+ data.to_i
26
+ when :float
27
+ data.to_f
28
+ when :boolean
29
+ if data.to_s =~ /^(true|yes|1)$/i
30
+ true
31
+ else
32
+ false
33
+ end
34
+ when :object
35
+ # generic object, return directly
36
+ data
37
+ else
38
+ # The remaining cases might need to match a specific model class, so don't ignore case.
39
+ case type.to_sym
40
+ when /\AArray<(?<inner_type>.+)>\z/
41
+ inner_type = Regexp.last_match[:inner_type]
42
+ data.map { |v| convert_to_type(inner_type, v) }
43
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
44
+ k_type = Regexp.last_match[:k_type]
45
+ v_type = Regexp.last_match[:v_type]
46
+ {}.tap do |hash|
47
+ data.each do |k, v|
48
+ hash[convert_to_type(k_type, k)] = convert_to_type(v_type, v)
49
+ end
50
+ end
51
+ else
52
+ # Type must be a model.
53
+ type = OCI.const_get(type.to_s)
54
+
55
+ if defined? type.get_subtype
56
+ # The return type may be an abstract type, in which case
57
+ # we need to use the discriminator value to get the correct subtype.
58
+ type = OCI.const_get(type.get_subtype(data))
59
+ end
60
+
61
+ type.new.tap do |model|
62
+ model.build_from_hash data
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,51 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OCI
4
+ module LoadBalancer
5
+ module Models
6
+ end
7
+ end
8
+ end
9
+
10
+ # Require models
11
+ require 'oci/load_balancer/models/backend'
12
+ require 'oci/load_balancer/models/backend_details'
13
+ require 'oci/load_balancer/models/backend_health'
14
+ require 'oci/load_balancer/models/backend_set'
15
+ require 'oci/load_balancer/models/backend_set_details'
16
+ require 'oci/load_balancer/models/backend_set_health'
17
+ require 'oci/load_balancer/models/certificate'
18
+ require 'oci/load_balancer/models/certificate_details'
19
+ require 'oci/load_balancer/models/create_backend_details'
20
+ require 'oci/load_balancer/models/create_backend_set_details'
21
+ require 'oci/load_balancer/models/create_certificate_details'
22
+ require 'oci/load_balancer/models/create_listener_details'
23
+ require 'oci/load_balancer/models/create_load_balancer_details'
24
+ require 'oci/load_balancer/models/health_check_result'
25
+ require 'oci/load_balancer/models/health_checker'
26
+ require 'oci/load_balancer/models/health_checker_details'
27
+ require 'oci/load_balancer/models/ip_address'
28
+ require 'oci/load_balancer/models/listener'
29
+ require 'oci/load_balancer/models/listener_details'
30
+ require 'oci/load_balancer/models/load_balancer'
31
+ require 'oci/load_balancer/models/load_balancer_health'
32
+ require 'oci/load_balancer/models/load_balancer_health_summary'
33
+ require 'oci/load_balancer/models/load_balancer_policy'
34
+ require 'oci/load_balancer/models/load_balancer_protocol'
35
+ require 'oci/load_balancer/models/load_balancer_shape'
36
+ require 'oci/load_balancer/models/ssl_configuration'
37
+ require 'oci/load_balancer/models/ssl_configuration_details'
38
+ require 'oci/load_balancer/models/session_persistence_configuration_details'
39
+ require 'oci/load_balancer/models/update_backend_details'
40
+ require 'oci/load_balancer/models/update_backend_set_details'
41
+ require 'oci/load_balancer/models/update_health_checker_details'
42
+ require 'oci/load_balancer/models/update_listener_details'
43
+ require 'oci/load_balancer/models/update_load_balancer_details'
44
+ require 'oci/load_balancer/models/work_request'
45
+ require 'oci/load_balancer/models/work_request_error'
46
+
47
+ # Require generated clients
48
+ require 'oci/load_balancer/load_balancer_client'
49
+
50
+ # Require service utilities
51
+ require 'oci/load_balancer/util'
@@ -0,0 +1,1449 @@
1
+ # Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require "uri"
4
+ require "logger"
5
+
6
+ module OCI
7
+
8
+ class LoadBalancer::LoadBalancerClient
9
+
10
+ # Client used to make HTTP requests.
11
+ # @return [OCI::ApiClient]
12
+ attr_reader :api_client
13
+
14
+ # Fully qualified endpoint URL
15
+ # @return [String]
16
+ attr_reader :endpoint
17
+
18
+ # The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}.
19
+ # @return [String]
20
+ attr_accessor :region
21
+
22
+ # Creates a new LoadBalancerClient.
23
+ # If a config is not specified, then the global OCI.config will be used.
24
+ #
25
+ # A region must be specified in either the config or the region parameter. If specified
26
+ # in both, then the region parameter will be used.
27
+ #
28
+ # @param [Config] config A Config object.
29
+ # @param [String] region A region used to determine the service endpoint. This will usually
30
+ # correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.
31
+ #
32
+ def initialize(config:nil, region:nil)
33
+ config ||= OCI.config
34
+ config.validate
35
+
36
+ signer = Signer.new(config.user, config.fingerprint, config.tenancy, config.key_file, pass_phrase: config.pass_phrase, private_key_content: config.key_content)
37
+ @api_client = ApiClient.new(config, signer)
38
+
39
+ region ||= config.region
40
+ self.region = region
41
+ end
42
+
43
+ # Set the region that will be used to determine the service endpoint.
44
+ # This will usually correspond to a value in {OCI::Regions::REGION_ENUM},
45
+ # but may be an arbitrary string.
46
+ def region=(r)
47
+ @region = r
48
+
49
+ fail 'A region must be specified.' unless @region
50
+
51
+ @endpoint = OCI::Regions.get_service_endpoint(@region, :LoadBalancerClient) + '/20170115'
52
+ logger.info "LoadBalancerClient endpoint set to '#{endpoint}'." if logger
53
+ end
54
+
55
+ # @return [Logger] The logger for this client. May be nil.
56
+ def logger
57
+ @api_client.config.logger
58
+ end
59
+
60
+
61
+ # Adds a backend server to a backend set.
62
+ # @param [CreateBackendDetails] create_backend_details The details to add a backend server to a backend set.
63
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.
64
+ # @param [String] backend_set_name The name of the backend set to add the backend server to.
65
+ #
66
+ # Example: `My_backend_set`
67
+ #
68
+ # @param [Hash] opts the optional parameters
69
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
70
+ # particular request, please provide the request ID.
71
+ # (default to )
72
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
73
+ # server error without risk of executing that same action again. Retry tokens expire after 24
74
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
75
+ # has been deleted and purged from the system, then a retry of the original creation request
76
+ # may be rejected).
77
+ #
78
+ # @return [Response] A Response object with data of type nil
79
+ def create_backend(create_backend_details, load_balancer_id, backend_set_name, opts = {})
80
+ logger.debug "Calling operation LoadBalancerClient#create_backend." if logger
81
+
82
+ fail "Missing the required parameter 'create_backend_details' when calling create_backend." if create_backend_details.nil?
83
+ fail "Missing the required parameter 'load_balancer_id' when calling create_backend." if load_balancer_id.nil?
84
+ fail "Missing the required parameter 'backend_set_name' when calling create_backend." if backend_set_name.nil?
85
+
86
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
87
+
88
+ # Query Params
89
+ query_params = {}
90
+
91
+ # Header Params
92
+ header_params = {}
93
+ header_params['accept'] = 'application/json'
94
+ header_params['content-type'] = 'application/json'
95
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
96
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
97
+
98
+ post_body = @api_client.object_to_http_body(create_backend_details)
99
+
100
+ return @api_client.call_api(
101
+ :POST,
102
+ path,
103
+ endpoint,
104
+ :header_params => header_params,
105
+ :query_params => query_params,
106
+ :body => post_body)
107
+ end
108
+
109
+ # Adds a backend set to a load balancer.
110
+ # @param [CreateBackendSetDetails] create_backend_set_details The details for adding a backend set.
111
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a backend set.
112
+ # @param [Hash] opts the optional parameters
113
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
114
+ # particular request, please provide the request ID.
115
+ # (default to )
116
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
117
+ # server error without risk of executing that same action again. Retry tokens expire after 24
118
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
119
+ # has been deleted and purged from the system, then a retry of the original creation request
120
+ # may be rejected).
121
+ #
122
+ # @return [Response] A Response object with data of type nil
123
+ def create_backend_set(create_backend_set_details, load_balancer_id, opts = {})
124
+ logger.debug "Calling operation LoadBalancerClient#create_backend_set." if logger
125
+
126
+ fail "Missing the required parameter 'create_backend_set_details' when calling create_backend_set." if create_backend_set_details.nil?
127
+ fail "Missing the required parameter 'load_balancer_id' when calling create_backend_set." if load_balancer_id.nil?
128
+
129
+ path = "/loadBalancers/{loadBalancerId}/backendSets".sub('{loadBalancerId}', load_balancer_id.to_s)
130
+
131
+ # Query Params
132
+ query_params = {}
133
+
134
+ # Header Params
135
+ header_params = {}
136
+ header_params['accept'] = 'application/json'
137
+ header_params['content-type'] = 'application/json'
138
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
139
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
140
+
141
+ post_body = @api_client.object_to_http_body(create_backend_set_details)
142
+
143
+ return @api_client.call_api(
144
+ :POST,
145
+ path,
146
+ endpoint,
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :body => post_body)
150
+ end
151
+
152
+ # Creates an asynchronous request to add an SSL certificate.
153
+ # @param [CreateCertificateDetails] create_certificate_details The details of the certificate to add.
154
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer on which to add the certificate.
155
+ # @param [Hash] opts the optional parameters
156
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
157
+ # particular request, please provide the request ID.
158
+ # (default to )
159
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
160
+ # server error without risk of executing that same action again. Retry tokens expire after 24
161
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
162
+ # has been deleted and purged from the system, then a retry of the original creation request
163
+ # may be rejected).
164
+ #
165
+ # @return [Response] A Response object with data of type nil
166
+ def create_certificate(create_certificate_details, load_balancer_id, opts = {})
167
+ logger.debug "Calling operation LoadBalancerClient#create_certificate." if logger
168
+
169
+ fail "Missing the required parameter 'create_certificate_details' when calling create_certificate." if create_certificate_details.nil?
170
+ fail "Missing the required parameter 'load_balancer_id' when calling create_certificate." if load_balancer_id.nil?
171
+
172
+ path = "/loadBalancers/{loadBalancerId}/certificates".sub('{loadBalancerId}', load_balancer_id.to_s)
173
+
174
+ # Query Params
175
+ query_params = {}
176
+
177
+ # Header Params
178
+ header_params = {}
179
+ header_params['accept'] = 'application/json'
180
+ header_params['content-type'] = 'application/json'
181
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
182
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
183
+
184
+ post_body = @api_client.object_to_http_body(create_certificate_details)
185
+
186
+ return @api_client.call_api(
187
+ :POST,
188
+ path,
189
+ endpoint,
190
+ :header_params => header_params,
191
+ :query_params => query_params,
192
+ :body => post_body)
193
+ end
194
+
195
+ # Adds a listener to a load balancer.
196
+ # @param [CreateListenerDetails] create_listener_details Details to add a listener.
197
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer on which to add a listener.
198
+ # @param [Hash] opts the optional parameters
199
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
200
+ # particular request, please provide the request ID.
201
+ # (default to )
202
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
203
+ # server error without risk of executing that same action again. Retry tokens expire after 24
204
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
205
+ # has been deleted and purged from the system, then a retry of the original creation request
206
+ # may be rejected).
207
+ #
208
+ # @return [Response] A Response object with data of type nil
209
+ def create_listener(create_listener_details, load_balancer_id, opts = {})
210
+ logger.debug "Calling operation LoadBalancerClient#create_listener." if logger
211
+
212
+ fail "Missing the required parameter 'create_listener_details' when calling create_listener." if create_listener_details.nil?
213
+ fail "Missing the required parameter 'load_balancer_id' when calling create_listener." if load_balancer_id.nil?
214
+
215
+ path = "/loadBalancers/{loadBalancerId}/listeners".sub('{loadBalancerId}', load_balancer_id.to_s)
216
+
217
+ # Query Params
218
+ query_params = {}
219
+
220
+ # Header Params
221
+ header_params = {}
222
+ header_params['accept'] = 'application/json'
223
+ header_params['content-type'] = 'application/json'
224
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
225
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
226
+
227
+ post_body = @api_client.object_to_http_body(create_listener_details)
228
+
229
+ return @api_client.call_api(
230
+ :POST,
231
+ path,
232
+ endpoint,
233
+ :header_params => header_params,
234
+ :query_params => query_params,
235
+ :body => post_body)
236
+ end
237
+
238
+ # Creates a new load balancer in the specified compartment. For general information about load balancers,
239
+ # see [Overview of the Load Balancing Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Balance/Concepts/balanceoverview.htm).
240
+ #
241
+ # For the purposes of access control, you must provide the OCID of the compartment where you want
242
+ # the load balancer to reside. Notice that the load balancer doesn't have to be in the same compartment as the VCN
243
+ # or backend set. If you're not sure which compartment to use, put the load balancer in the same compartment as the VCN.
244
+ # For information about access control and compartments, see
245
+ # [Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
246
+ #
247
+ # You must specify a display name for the load balancer. It does not have to be unique, and you can change it.
248
+ #
249
+ # For information about Availability Domains, see
250
+ # [Regions and Availability Domains](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm).
251
+ # To get a list of Availability Domains, use the `ListAvailabilityDomains` operation
252
+ # in the Identity and Access Management Service API.
253
+ #
254
+ # All Oracle Bare Metal Cloud Services resources, including load balancers, get an Oracle-assigned,
255
+ # unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID
256
+ # in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type,
257
+ # or by viewing the resource in the Console. Fore more information, see
258
+ # [Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
259
+ #
260
+ # After you send your request, the new object's state will temporarily be PROVISIONING. Before using the
261
+ # object, first make sure its state has changed to RUNNING.
262
+ #
263
+ # When you create a load balancer, the system assigns an IP address.
264
+ # To get the IP address, use the {#get_load_balancer get_load_balancer} operation.
265
+ #
266
+ # @param [CreateLoadBalancerDetails] create_load_balancer_details The configuration details for creating a load balancer.
267
+ # @param [Hash] opts the optional parameters
268
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
269
+ # particular request, please provide the request ID.
270
+ # (default to )
271
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
272
+ # server error without risk of executing that same action again. Retry tokens expire after 24
273
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
274
+ # has been deleted and purged from the system, then a retry of the original creation request
275
+ # may be rejected).
276
+ #
277
+ # @return [Response] A Response object with data of type nil
278
+ def create_load_balancer(create_load_balancer_details, opts = {})
279
+ logger.debug "Calling operation LoadBalancerClient#create_load_balancer." if logger
280
+
281
+ fail "Missing the required parameter 'create_load_balancer_details' when calling create_load_balancer." if create_load_balancer_details.nil?
282
+
283
+ path = "/loadBalancers"
284
+
285
+ # Query Params
286
+ query_params = {}
287
+
288
+ # Header Params
289
+ header_params = {}
290
+ header_params['accept'] = 'application/json'
291
+ header_params['content-type'] = 'application/json'
292
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
293
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
294
+
295
+ post_body = @api_client.object_to_http_body(create_load_balancer_details)
296
+
297
+ return @api_client.call_api(
298
+ :POST,
299
+ path,
300
+ endpoint,
301
+ :header_params => header_params,
302
+ :query_params => query_params,
303
+ :body => post_body)
304
+ end
305
+
306
+ # Removes a backend server from a given load balancer and backend set.
307
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and server.
308
+ # @param [String] backend_set_name The name of the backend set associated with the backend server.
309
+ #
310
+ # Example: `My_backend_set`
311
+ #
312
+ # @param [String] backend_name The IP address and port of the backend server to remove.
313
+ #
314
+ # Example: `1.1.1.7:42`
315
+ #
316
+ # @param [Hash] opts the optional parameters
317
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
318
+ # particular request, please provide the request ID.
319
+ # (default to )
320
+ # @return [Response] A Response object with data of type nil
321
+ def delete_backend(load_balancer_id, backend_set_name, backend_name, opts = {})
322
+ logger.debug "Calling operation LoadBalancerClient#delete_backend." if logger
323
+
324
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_backend." if load_balancer_id.nil?
325
+ fail "Missing the required parameter 'backend_set_name' when calling delete_backend." if backend_set_name.nil?
326
+ fail "Missing the required parameter 'backend_name' when calling delete_backend." if backend_name.nil?
327
+
328
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s).sub('{backendName}', backend_name.to_s)
329
+
330
+ # Query Params
331
+ query_params = {}
332
+
333
+ # Header Params
334
+ header_params = {}
335
+ header_params['accept'] = 'application/json'
336
+ header_params['content-type'] = 'application/json'
337
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
338
+
339
+ post_body = nil
340
+
341
+ return @api_client.call_api(
342
+ :DELETE,
343
+ path,
344
+ endpoint,
345
+ :header_params => header_params,
346
+ :query_params => query_params,
347
+ :body => post_body)
348
+ end
349
+
350
+ # Deletes the specified backend set. Note that deleting a backend set removes its backend servers from the load balancer.
351
+ #
352
+ # Before you can delete a backend set, you must remove it from any active listeners.
353
+ #
354
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set.
355
+ # @param [String] backend_set_name The name of the backend set to delete.
356
+ #
357
+ # Example: `My_backend_set`
358
+ #
359
+ # @param [Hash] opts the optional parameters
360
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
361
+ # particular request, please provide the request ID.
362
+ # (default to )
363
+ # @return [Response] A Response object with data of type nil
364
+ def delete_backend_set(load_balancer_id, backend_set_name, opts = {})
365
+ logger.debug "Calling operation LoadBalancerClient#delete_backend_set." if logger
366
+
367
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_backend_set." if load_balancer_id.nil?
368
+ fail "Missing the required parameter 'backend_set_name' when calling delete_backend_set." if backend_set_name.nil?
369
+
370
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
371
+
372
+ # Query Params
373
+ query_params = {}
374
+
375
+ # Header Params
376
+ header_params = {}
377
+ header_params['accept'] = 'application/json'
378
+ header_params['content-type'] = 'application/json'
379
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
380
+
381
+ post_body = nil
382
+
383
+ return @api_client.call_api(
384
+ :DELETE,
385
+ path,
386
+ endpoint,
387
+ :header_params => header_params,
388
+ :query_params => query_params,
389
+ :body => post_body)
390
+ end
391
+
392
+ # Deletes an SSL certificate from a load balancer.
393
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the certificate to be deleted.
394
+ # @param [String] certificate_name The name of the certificate to delete.
395
+ #
396
+ # Example: `My_certificate_bundle`
397
+ #
398
+ # @param [Hash] opts the optional parameters
399
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
400
+ # particular request, please provide the request ID.
401
+ # (default to )
402
+ # @return [Response] A Response object with data of type nil
403
+ def delete_certificate(load_balancer_id, certificate_name, opts = {})
404
+ logger.debug "Calling operation LoadBalancerClient#delete_certificate." if logger
405
+
406
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_certificate." if load_balancer_id.nil?
407
+ fail "Missing the required parameter 'certificate_name' when calling delete_certificate." if certificate_name.nil?
408
+
409
+ path = "/loadBalancers/{loadBalancerId}/certificates/{certificateName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{certificateName}', certificate_name.to_s)
410
+
411
+ # Query Params
412
+ query_params = {}
413
+
414
+ # Header Params
415
+ header_params = {}
416
+ header_params['accept'] = 'application/json'
417
+ header_params['content-type'] = 'application/json'
418
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
419
+
420
+ post_body = nil
421
+
422
+ return @api_client.call_api(
423
+ :DELETE,
424
+ path,
425
+ endpoint,
426
+ :header_params => header_params,
427
+ :query_params => query_params,
428
+ :body => post_body)
429
+ end
430
+
431
+ # Deletes a listener from a load balancer.
432
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener to delete.
433
+ # @param [String] listener_name The name of the listener to delete.
434
+ #
435
+ # Example: `My listener`
436
+ #
437
+ # @param [Hash] opts the optional parameters
438
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
439
+ # particular request, please provide the request ID.
440
+ # (default to )
441
+ # @return [Response] A Response object with data of type nil
442
+ def delete_listener(load_balancer_id, listener_name, opts = {})
443
+ logger.debug "Calling operation LoadBalancerClient#delete_listener." if logger
444
+
445
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_listener." if load_balancer_id.nil?
446
+ fail "Missing the required parameter 'listener_name' when calling delete_listener." if listener_name.nil?
447
+
448
+ path = "/loadBalancers/{loadBalancerId}/listeners/{listenerName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{listenerName}', listener_name.to_s)
449
+
450
+ # Query Params
451
+ query_params = {}
452
+
453
+ # Header Params
454
+ header_params = {}
455
+ header_params['accept'] = 'application/json'
456
+ header_params['content-type'] = 'application/json'
457
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
458
+
459
+ post_body = nil
460
+
461
+ return @api_client.call_api(
462
+ :DELETE,
463
+ path,
464
+ endpoint,
465
+ :header_params => header_params,
466
+ :query_params => query_params,
467
+ :body => post_body)
468
+ end
469
+
470
+ # Stops a load balancer and removes it from service.
471
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer to delete.
472
+ # @param [Hash] opts the optional parameters
473
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
474
+ # particular request, please provide the request ID.
475
+ # (default to )
476
+ # @return [Response] A Response object with data of type nil
477
+ def delete_load_balancer(load_balancer_id, opts = {})
478
+ logger.debug "Calling operation LoadBalancerClient#delete_load_balancer." if logger
479
+
480
+ fail "Missing the required parameter 'load_balancer_id' when calling delete_load_balancer." if load_balancer_id.nil?
481
+
482
+ path = "/loadBalancers/{loadBalancerId}".sub('{loadBalancerId}', load_balancer_id.to_s)
483
+
484
+ # Query Params
485
+ query_params = {}
486
+
487
+ # Header Params
488
+ header_params = {}
489
+ header_params['accept'] = 'application/json'
490
+ header_params['content-type'] = 'application/json'
491
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
492
+
493
+ post_body = nil
494
+
495
+ return @api_client.call_api(
496
+ :DELETE,
497
+ path,
498
+ endpoint,
499
+ :header_params => header_params,
500
+ :query_params => query_params,
501
+ :body => post_body)
502
+ end
503
+
504
+ # Gets the specified backend server's configuration information.
505
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and server.
506
+ # @param [String] backend_set_name The name of the backend set that includes the backend server.
507
+ #
508
+ # Example: `My_backend_set`
509
+ #
510
+ # @param [String] backend_name The IP address and port of the backend server to retrieve.
511
+ #
512
+ # Example: `1.1.1.7:42`
513
+ #
514
+ # @param [Hash] opts the optional parameters
515
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
516
+ # particular request, please provide the request ID.
517
+ # (default to )
518
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::Backend
519
+ def get_backend(load_balancer_id, backend_set_name, backend_name, opts = {})
520
+ logger.debug "Calling operation LoadBalancerClient#get_backend." if logger
521
+
522
+ fail "Missing the required parameter 'load_balancer_id' when calling get_backend." if load_balancer_id.nil?
523
+ fail "Missing the required parameter 'backend_set_name' when calling get_backend." if backend_set_name.nil?
524
+ fail "Missing the required parameter 'backend_name' when calling get_backend." if backend_name.nil?
525
+
526
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s).sub('{backendName}', backend_name.to_s)
527
+
528
+ # Query Params
529
+ query_params = {}
530
+
531
+ # Header Params
532
+ header_params = {}
533
+ header_params['accept'] = 'application/json'
534
+ header_params['content-type'] = 'application/json'
535
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
536
+
537
+ post_body = nil
538
+
539
+ return @api_client.call_api(
540
+ :GET,
541
+ path,
542
+ endpoint,
543
+ :header_params => header_params,
544
+ :query_params => query_params,
545
+ :body => post_body,
546
+ :return_type => 'OCI::LoadBalancer::Models::Backend')
547
+ end
548
+
549
+ # Gets the current health status of the specified backend server.
550
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend server health status to be retrieved.
551
+ # @param [String] backend_set_name The name of the backend set associated with the backend server to retrieve the health status for.
552
+ #
553
+ # Example: `My_backend_set`
554
+ #
555
+ # @param [String] backend_name The IP address and port of the backend server to retrieve the health status for.
556
+ #
557
+ # Example: `1.1.1.7:42`
558
+ #
559
+ # @param [Hash] opts the optional parameters
560
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
561
+ # particular request, please provide the request ID.
562
+ # (default to )
563
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::BackendHealth
564
+ def get_backend_health(load_balancer_id, backend_set_name, backend_name, opts = {})
565
+ logger.debug "Calling operation LoadBalancerClient#get_backend_health." if logger
566
+
567
+ fail "Missing the required parameter 'load_balancer_id' when calling get_backend_health." if load_balancer_id.nil?
568
+ fail "Missing the required parameter 'backend_set_name' when calling get_backend_health." if backend_set_name.nil?
569
+ fail "Missing the required parameter 'backend_name' when calling get_backend_health." if backend_name.nil?
570
+
571
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}/health".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s).sub('{backendName}', backend_name.to_s)
572
+
573
+ # Query Params
574
+ query_params = {}
575
+
576
+ # Header Params
577
+ header_params = {}
578
+ header_params['accept'] = 'application/json'
579
+ header_params['content-type'] = 'application/json'
580
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
581
+
582
+ post_body = nil
583
+
584
+ return @api_client.call_api(
585
+ :GET,
586
+ path,
587
+ endpoint,
588
+ :header_params => header_params,
589
+ :query_params => query_params,
590
+ :body => post_body,
591
+ :return_type => 'OCI::LoadBalancer::Models::BackendHealth')
592
+ end
593
+
594
+ # Gets the specified backend set's configuration information.
595
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the specified load balancer.
596
+ # @param [String] backend_set_name The name of the backend set to retrieve.
597
+ #
598
+ # Example: `My_backend_set`
599
+ #
600
+ # @param [Hash] opts the optional parameters
601
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
602
+ # particular request, please provide the request ID.
603
+ # (default to )
604
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::BackendSet
605
+ def get_backend_set(load_balancer_id, backend_set_name, opts = {})
606
+ logger.debug "Calling operation LoadBalancerClient#get_backend_set." if logger
607
+
608
+ fail "Missing the required parameter 'load_balancer_id' when calling get_backend_set." if load_balancer_id.nil?
609
+ fail "Missing the required parameter 'backend_set_name' when calling get_backend_set." if backend_set_name.nil?
610
+
611
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
612
+
613
+ # Query Params
614
+ query_params = {}
615
+
616
+ # Header Params
617
+ header_params = {}
618
+ header_params['accept'] = 'application/json'
619
+ header_params['content-type'] = 'application/json'
620
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
621
+
622
+ post_body = nil
623
+
624
+ return @api_client.call_api(
625
+ :GET,
626
+ path,
627
+ endpoint,
628
+ :header_params => header_params,
629
+ :query_params => query_params,
630
+ :body => post_body,
631
+ :return_type => 'OCI::LoadBalancer::Models::BackendSet')
632
+ end
633
+
634
+ # Gets the health status for the specified backend set.
635
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set health status to be retrieved.
636
+ # @param [String] backend_set_name The name of the backend set to retrieve the health status for.
637
+ #
638
+ # Example: `My_backend_set`
639
+ #
640
+ # @param [Hash] opts the optional parameters
641
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
642
+ # particular request, please provide the request ID.
643
+ # (default to )
644
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::BackendSetHealth
645
+ def get_backend_set_health(load_balancer_id, backend_set_name, opts = {})
646
+ logger.debug "Calling operation LoadBalancerClient#get_backend_set_health." if logger
647
+
648
+ fail "Missing the required parameter 'load_balancer_id' when calling get_backend_set_health." if load_balancer_id.nil?
649
+ fail "Missing the required parameter 'backend_set_name' when calling get_backend_set_health." if backend_set_name.nil?
650
+
651
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/health".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
652
+
653
+ # Query Params
654
+ query_params = {}
655
+
656
+ # Header Params
657
+ header_params = {}
658
+ header_params['accept'] = 'application/json'
659
+ header_params['content-type'] = 'application/json'
660
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
661
+
662
+ post_body = nil
663
+
664
+ return @api_client.call_api(
665
+ :GET,
666
+ path,
667
+ endpoint,
668
+ :header_params => header_params,
669
+ :query_params => query_params,
670
+ :body => post_body,
671
+ :return_type => 'OCI::LoadBalancer::Models::BackendSetHealth')
672
+ end
673
+
674
+ # Gets the health check policy information for a given load balancer and backend set.
675
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the health check policy to be retrieved.
676
+ # @param [String] backend_set_name The name of the backend set associated with the health check policy to be retrieved.
677
+ #
678
+ # Example: `My_backend_set`
679
+ #
680
+ # @param [Hash] opts the optional parameters
681
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
682
+ # particular request, please provide the request ID.
683
+ # (default to )
684
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::HealthChecker
685
+ def get_health_checker(load_balancer_id, backend_set_name, opts = {})
686
+ logger.debug "Calling operation LoadBalancerClient#get_health_checker." if logger
687
+
688
+ fail "Missing the required parameter 'load_balancer_id' when calling get_health_checker." if load_balancer_id.nil?
689
+ fail "Missing the required parameter 'backend_set_name' when calling get_health_checker." if backend_set_name.nil?
690
+
691
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/healthChecker".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
692
+
693
+ # Query Params
694
+ query_params = {}
695
+
696
+ # Header Params
697
+ header_params = {}
698
+ header_params['accept'] = 'application/json'
699
+ header_params['content-type'] = 'application/json'
700
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
701
+
702
+ post_body = nil
703
+
704
+ return @api_client.call_api(
705
+ :GET,
706
+ path,
707
+ endpoint,
708
+ :header_params => header_params,
709
+ :query_params => query_params,
710
+ :body => post_body,
711
+ :return_type => 'OCI::LoadBalancer::Models::HealthChecker')
712
+ end
713
+
714
+ # Gets the specified load balancer's configuration information.
715
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer to retrieve.
716
+ # @param [Hash] opts the optional parameters
717
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
718
+ # particular request, please provide the request ID.
719
+ # (default to )
720
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::LoadBalancer
721
+ def get_load_balancer(load_balancer_id, opts = {})
722
+ logger.debug "Calling operation LoadBalancerClient#get_load_balancer." if logger
723
+
724
+ fail "Missing the required parameter 'load_balancer_id' when calling get_load_balancer." if load_balancer_id.nil?
725
+
726
+ path = "/loadBalancers/{loadBalancerId}".sub('{loadBalancerId}', load_balancer_id.to_s)
727
+
728
+ # Query Params
729
+ query_params = {}
730
+
731
+ # Header Params
732
+ header_params = {}
733
+ header_params['accept'] = 'application/json'
734
+ header_params['content-type'] = 'application/json'
735
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
736
+
737
+ post_body = nil
738
+
739
+ return @api_client.call_api(
740
+ :GET,
741
+ path,
742
+ endpoint,
743
+ :header_params => header_params,
744
+ :query_params => query_params,
745
+ :body => post_body,
746
+ :return_type => 'OCI::LoadBalancer::Models::LoadBalancer')
747
+ end
748
+
749
+ # Gets the health status for the specified load balancer.
750
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer to return health status for.
751
+ # @param [Hash] opts the optional parameters
752
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
753
+ # particular request, please provide the request ID.
754
+ # (default to )
755
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::LoadBalancerHealth
756
+ def get_load_balancer_health(load_balancer_id, opts = {})
757
+ logger.debug "Calling operation LoadBalancerClient#get_load_balancer_health." if logger
758
+
759
+ fail "Missing the required parameter 'load_balancer_id' when calling get_load_balancer_health." if load_balancer_id.nil?
760
+
761
+ path = "/loadBalancers/{loadBalancerId}/health".sub('{loadBalancerId}', load_balancer_id.to_s)
762
+
763
+ # Query Params
764
+ query_params = {}
765
+
766
+ # Header Params
767
+ header_params = {}
768
+ header_params['accept'] = 'application/json'
769
+ header_params['content-type'] = 'application/json'
770
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
771
+
772
+ post_body = nil
773
+
774
+ return @api_client.call_api(
775
+ :GET,
776
+ path,
777
+ endpoint,
778
+ :header_params => header_params,
779
+ :query_params => query_params,
780
+ :body => post_body,
781
+ :return_type => 'OCI::LoadBalancer::Models::LoadBalancerHealth')
782
+ end
783
+
784
+ # Gets the details of a work request.
785
+ # @param [String] work_request_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the work request to retrieve.
786
+ # @param [Hash] opts the optional parameters
787
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
788
+ # particular request, please provide the request ID.
789
+ # (default to )
790
+ # @return [Response] A Response object with data of type OCI::LoadBalancer::Models::WorkRequest
791
+ def get_work_request(work_request_id, opts = {})
792
+ logger.debug "Calling operation LoadBalancerClient#get_work_request." if logger
793
+
794
+ fail "Missing the required parameter 'work_request_id' when calling get_work_request." if work_request_id.nil?
795
+
796
+ path = "/loadBalancerWorkRequests/{workRequestId}".sub('{workRequestId}', work_request_id.to_s)
797
+
798
+ # Query Params
799
+ query_params = {}
800
+
801
+ # Header Params
802
+ header_params = {}
803
+ header_params['accept'] = 'application/json'
804
+ header_params['content-type'] = 'application/json'
805
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
806
+
807
+ post_body = nil
808
+
809
+ return @api_client.call_api(
810
+ :GET,
811
+ path,
812
+ endpoint,
813
+ :header_params => header_params,
814
+ :query_params => query_params,
815
+ :body => post_body,
816
+ :return_type => 'OCI::LoadBalancer::Models::WorkRequest')
817
+ end
818
+
819
+ # Lists all backend sets associated with a given load balancer.
820
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend sets to retrieve.
821
+ # @param [Hash] opts the optional parameters
822
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
823
+ # particular request, please provide the request ID.
824
+ # (default to )
825
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::BackendSet>
826
+ def list_backend_sets(load_balancer_id, opts = {})
827
+ logger.debug "Calling operation LoadBalancerClient#list_backend_sets." if logger
828
+
829
+ fail "Missing the required parameter 'load_balancer_id' when calling list_backend_sets." if load_balancer_id.nil?
830
+
831
+ path = "/loadBalancers/{loadBalancerId}/backendSets".sub('{loadBalancerId}', load_balancer_id.to_s)
832
+
833
+ # Query Params
834
+ query_params = {}
835
+
836
+ # Header Params
837
+ header_params = {}
838
+ header_params['accept'] = 'application/json'
839
+ header_params['content-type'] = 'application/json'
840
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
841
+
842
+ post_body = nil
843
+
844
+ return @api_client.call_api(
845
+ :GET,
846
+ path,
847
+ endpoint,
848
+ :header_params => header_params,
849
+ :query_params => query_params,
850
+ :body => post_body,
851
+ :return_type => 'Array<OCI::LoadBalancer::Models::BackendSet>')
852
+ end
853
+
854
+ # Lists the backend servers for a given load balancer and backend set.
855
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.
856
+ # @param [String] backend_set_name The name of the backend set associated with the backend servers.
857
+ #
858
+ # Example: `My_backend_set`
859
+ #
860
+ # @param [Hash] opts the optional parameters
861
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
862
+ # particular request, please provide the request ID.
863
+ # (default to )
864
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::Backend>
865
+ def list_backends(load_balancer_id, backend_set_name, opts = {})
866
+ logger.debug "Calling operation LoadBalancerClient#list_backends." if logger
867
+
868
+ fail "Missing the required parameter 'load_balancer_id' when calling list_backends." if load_balancer_id.nil?
869
+ fail "Missing the required parameter 'backend_set_name' when calling list_backends." if backend_set_name.nil?
870
+
871
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
872
+
873
+ # Query Params
874
+ query_params = {}
875
+
876
+ # Header Params
877
+ header_params = {}
878
+ header_params['accept'] = 'application/json'
879
+ header_params['content-type'] = 'application/json'
880
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
881
+
882
+ post_body = nil
883
+
884
+ return @api_client.call_api(
885
+ :GET,
886
+ path,
887
+ endpoint,
888
+ :header_params => header_params,
889
+ :query_params => query_params,
890
+ :body => post_body,
891
+ :return_type => 'Array<OCI::LoadBalancer::Models::Backend>')
892
+ end
893
+
894
+ # Lists all SSL certificates associated with a given load balancer.
895
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the certificates to be listed.
896
+ # @param [Hash] opts the optional parameters
897
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
898
+ # particular request, please provide the request ID.
899
+ # (default to )
900
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::Certificate>
901
+ def list_certificates(load_balancer_id, opts = {})
902
+ logger.debug "Calling operation LoadBalancerClient#list_certificates." if logger
903
+
904
+ fail "Missing the required parameter 'load_balancer_id' when calling list_certificates." if load_balancer_id.nil?
905
+
906
+ path = "/loadBalancers/{loadBalancerId}/certificates".sub('{loadBalancerId}', load_balancer_id.to_s)
907
+
908
+ # Query Params
909
+ query_params = {}
910
+
911
+ # Header Params
912
+ header_params = {}
913
+ header_params['accept'] = 'application/json'
914
+ header_params['content-type'] = 'application/json'
915
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
916
+
917
+ post_body = nil
918
+
919
+ return @api_client.call_api(
920
+ :GET,
921
+ path,
922
+ endpoint,
923
+ :header_params => header_params,
924
+ :query_params => query_params,
925
+ :body => post_body,
926
+ :return_type => 'Array<OCI::LoadBalancer::Models::Certificate>')
927
+ end
928
+
929
+ # Lists the summary health statuses for all load balancers in the specified compartment.
930
+ # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancers to return health status information for.
931
+ # @param [Hash] opts the optional parameters
932
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
933
+ # particular request, please provide the request ID.
934
+ # (default to )
935
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
936
+ #
937
+ # Example: `500`
938
+ # (default to 10)
939
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
940
+ #
941
+ # Example: `3`
942
+ #
943
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::LoadBalancerHealthSummary>
944
+ def list_load_balancer_healths(compartment_id, opts = {})
945
+ logger.debug "Calling operation LoadBalancerClient#list_load_balancer_healths." if logger
946
+
947
+ fail "Missing the required parameter 'compartment_id' when calling list_load_balancer_healths." if compartment_id.nil?
948
+
949
+ path = "/loadBalancerHealths"
950
+
951
+ # Query Params
952
+ query_params = {}
953
+ query_params[:'compartmentId'] = compartment_id
954
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
955
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
956
+
957
+ # Header Params
958
+ header_params = {}
959
+ header_params['accept'] = 'application/json'
960
+ header_params['content-type'] = 'application/json'
961
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
962
+
963
+ post_body = nil
964
+
965
+ return @api_client.call_api(
966
+ :GET,
967
+ path,
968
+ endpoint,
969
+ :header_params => header_params,
970
+ :query_params => query_params,
971
+ :body => post_body,
972
+ :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancerHealthSummary>')
973
+ end
974
+
975
+ # Lists all load balancers in the specified compartment.
976
+ # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancers to list.
977
+ # @param [Hash] opts the optional parameters
978
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
979
+ # particular request, please provide the request ID.
980
+ # (default to )
981
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
982
+ #
983
+ # Example: `500`
984
+ # (default to 10)
985
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
986
+ #
987
+ # Example: `3`
988
+ #
989
+ # @option opts [String] :detail The level of detail to return for each result. Can be `full` or `simple`.
990
+ #
991
+ # Example: `full`
992
+ # (default to full)
993
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::LoadBalancer>
994
+ def list_load_balancers(compartment_id, opts = {})
995
+ logger.debug "Calling operation LoadBalancerClient#list_load_balancers." if logger
996
+
997
+ fail "Missing the required parameter 'compartment_id' when calling list_load_balancers." if compartment_id.nil?
998
+
999
+ path = "/loadBalancers"
1000
+
1001
+ # Query Params
1002
+ query_params = {}
1003
+ query_params[:'compartmentId'] = compartment_id
1004
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1005
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1006
+ query_params[:'detail'] = opts[:'detail'] if opts[:'detail']
1007
+
1008
+ # Header Params
1009
+ header_params = {}
1010
+ header_params['accept'] = 'application/json'
1011
+ header_params['content-type'] = 'application/json'
1012
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1013
+
1014
+ post_body = nil
1015
+
1016
+ return @api_client.call_api(
1017
+ :GET,
1018
+ path,
1019
+ endpoint,
1020
+ :header_params => header_params,
1021
+ :query_params => query_params,
1022
+ :body => post_body,
1023
+ :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancer>')
1024
+ end
1025
+
1026
+ # Lists the available load balancer policies.
1027
+ # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer policies to list.
1028
+ # @param [Hash] opts the optional parameters
1029
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1030
+ # particular request, please provide the request ID.
1031
+ # (default to )
1032
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1033
+ #
1034
+ # Example: `500`
1035
+ # (default to 16)
1036
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1037
+ #
1038
+ # Example: `3`
1039
+ #
1040
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::LoadBalancerPolicy>
1041
+ def list_policies(compartment_id, opts = {})
1042
+ logger.debug "Calling operation LoadBalancerClient#list_policies." if logger
1043
+
1044
+ fail "Missing the required parameter 'compartment_id' when calling list_policies." if compartment_id.nil?
1045
+
1046
+ path = "/loadBalancerPolicies"
1047
+
1048
+ # Query Params
1049
+ query_params = {}
1050
+ query_params[:'compartmentId'] = compartment_id
1051
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1052
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1053
+
1054
+ # Header Params
1055
+ header_params = {}
1056
+ header_params['accept'] = 'application/json'
1057
+ header_params['content-type'] = 'application/json'
1058
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1059
+
1060
+ post_body = nil
1061
+
1062
+ return @api_client.call_api(
1063
+ :GET,
1064
+ path,
1065
+ endpoint,
1066
+ :header_params => header_params,
1067
+ :query_params => query_params,
1068
+ :body => post_body,
1069
+ :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancerPolicy>')
1070
+ end
1071
+
1072
+ # Lists all supported traffic protocols.
1073
+ # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer protocols to list.
1074
+ # @param [Hash] opts the optional parameters
1075
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1076
+ # particular request, please provide the request ID.
1077
+ # (default to )
1078
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1079
+ #
1080
+ # Example: `500`
1081
+ # (default to 16)
1082
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1083
+ #
1084
+ # Example: `3`
1085
+ #
1086
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::LoadBalancerProtocol>
1087
+ def list_protocols(compartment_id, opts = {})
1088
+ logger.debug "Calling operation LoadBalancerClient#list_protocols." if logger
1089
+
1090
+ fail "Missing the required parameter 'compartment_id' when calling list_protocols." if compartment_id.nil?
1091
+
1092
+ path = "/loadBalancerProtocols"
1093
+
1094
+ # Query Params
1095
+ query_params = {}
1096
+ query_params[:'compartmentId'] = compartment_id
1097
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1098
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1099
+
1100
+ # Header Params
1101
+ header_params = {}
1102
+ header_params['accept'] = 'application/json'
1103
+ header_params['content-type'] = 'application/json'
1104
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1105
+
1106
+ post_body = nil
1107
+
1108
+ return @api_client.call_api(
1109
+ :GET,
1110
+ path,
1111
+ endpoint,
1112
+ :header_params => header_params,
1113
+ :query_params => query_params,
1114
+ :body => post_body,
1115
+ :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancerProtocol>')
1116
+ end
1117
+
1118
+ # Lists the valid load balancer shapes.
1119
+ # @param [String] compartment_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancer shapes to list.
1120
+ # @param [Hash] opts the optional parameters
1121
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1122
+ # particular request, please provide the request ID.
1123
+ # (default to )
1124
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1125
+ #
1126
+ # Example: `500`
1127
+ # (default to 16)
1128
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1129
+ #
1130
+ # Example: `3`
1131
+ #
1132
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::LoadBalancerShape>
1133
+ def list_shapes(compartment_id, opts = {})
1134
+ logger.debug "Calling operation LoadBalancerClient#list_shapes." if logger
1135
+
1136
+ fail "Missing the required parameter 'compartment_id' when calling list_shapes." if compartment_id.nil?
1137
+
1138
+ path = "/loadBalancerShapes"
1139
+
1140
+ # Query Params
1141
+ query_params = {}
1142
+ query_params[:'compartmentId'] = compartment_id
1143
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1144
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1145
+
1146
+ # Header Params
1147
+ header_params = {}
1148
+ header_params['accept'] = 'application/json'
1149
+ header_params['content-type'] = 'application/json'
1150
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1151
+
1152
+ post_body = nil
1153
+
1154
+ return @api_client.call_api(
1155
+ :GET,
1156
+ path,
1157
+ endpoint,
1158
+ :header_params => header_params,
1159
+ :query_params => query_params,
1160
+ :body => post_body,
1161
+ :return_type => 'Array<OCI::LoadBalancer::Models::LoadBalancerShape>')
1162
+ end
1163
+
1164
+ # Lists the work requests for a given load balancer.
1165
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the work requests to retrieve.
1166
+ # @param [Hash] opts the optional parameters
1167
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1168
+ # particular request, please provide the request ID.
1169
+ # (default to )
1170
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated \"List\" call.
1171
+ #
1172
+ # Example: `500`
1173
+ # (default to 100)
1174
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous \"List\" call.
1175
+ #
1176
+ # Example: `3`
1177
+ #
1178
+ # @return [Response] A Response object with data of type Array<OCI::LoadBalancer::Models::WorkRequest>
1179
+ def list_work_requests(load_balancer_id, opts = {})
1180
+ logger.debug "Calling operation LoadBalancerClient#list_work_requests." if logger
1181
+
1182
+ fail "Missing the required parameter 'load_balancer_id' when calling list_work_requests." if load_balancer_id.nil?
1183
+
1184
+ path = "/loadBalancers/{loadBalancerId}/workRequests".sub('{loadBalancerId}', load_balancer_id.to_s)
1185
+
1186
+ # Query Params
1187
+ query_params = {}
1188
+ query_params[:'limit'] = opts[:'limit'] if opts[:'limit']
1189
+ query_params[:'page'] = opts[:'page'] if opts[:'page']
1190
+
1191
+ # Header Params
1192
+ header_params = {}
1193
+ header_params['accept'] = 'application/json'
1194
+ header_params['content-type'] = 'application/json'
1195
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1196
+
1197
+ post_body = nil
1198
+
1199
+ return @api_client.call_api(
1200
+ :GET,
1201
+ path,
1202
+ endpoint,
1203
+ :header_params => header_params,
1204
+ :query_params => query_params,
1205
+ :body => post_body,
1206
+ :return_type => 'Array<OCI::LoadBalancer::Models::WorkRequest>')
1207
+ end
1208
+
1209
+ # Updates the configuration of a backend server within the specified backend set.
1210
+ # @param [UpdateBackendDetails] update_backend_details Details for updating a backend server.
1211
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and server.
1212
+ # @param [String] backend_set_name The name of the backend set associated with the backend server.
1213
+ #
1214
+ # Example: `My_backend_set`
1215
+ #
1216
+ # @param [String] backend_name The IP address and port of the backend server to update.
1217
+ #
1218
+ # Example: `1.1.1.7:42`
1219
+ #
1220
+ # @param [Hash] opts the optional parameters
1221
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1222
+ # particular request, please provide the request ID.
1223
+ # (default to )
1224
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1225
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1226
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1227
+ # has been deleted and purged from the system, then a retry of the original creation request
1228
+ # may be rejected).
1229
+ #
1230
+ # @return [Response] A Response object with data of type nil
1231
+ def update_backend(update_backend_details, load_balancer_id, backend_set_name, backend_name, opts = {})
1232
+ logger.debug "Calling operation LoadBalancerClient#update_backend." if logger
1233
+
1234
+ fail "Missing the required parameter 'update_backend_details' when calling update_backend." if update_backend_details.nil?
1235
+ fail "Missing the required parameter 'load_balancer_id' when calling update_backend." if load_balancer_id.nil?
1236
+ fail "Missing the required parameter 'backend_set_name' when calling update_backend." if backend_set_name.nil?
1237
+ fail "Missing the required parameter 'backend_name' when calling update_backend." if backend_name.nil?
1238
+
1239
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/backends/{backendName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s).sub('{backendName}', backend_name.to_s)
1240
+
1241
+ # Query Params
1242
+ query_params = {}
1243
+
1244
+ # Header Params
1245
+ header_params = {}
1246
+ header_params['accept'] = 'application/json'
1247
+ header_params['content-type'] = 'application/json'
1248
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1249
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1250
+
1251
+ post_body = @api_client.object_to_http_body(update_backend_details)
1252
+
1253
+ return @api_client.call_api(
1254
+ :PUT,
1255
+ path,
1256
+ endpoint,
1257
+ :header_params => header_params,
1258
+ :query_params => query_params,
1259
+ :body => post_body)
1260
+ end
1261
+
1262
+ # Updates a backend set.
1263
+ # @param [UpdateBackendSetDetails] update_backend_set_details The details to update a backend set.
1264
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set.
1265
+ # @param [String] backend_set_name The name of the backend set to update.
1266
+ #
1267
+ # Example: `My_backend_set`
1268
+ #
1269
+ # @param [Hash] opts the optional parameters
1270
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1271
+ # particular request, please provide the request ID.
1272
+ # (default to )
1273
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1274
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1275
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1276
+ # has been deleted and purged from the system, then a retry of the original creation request
1277
+ # may be rejected).
1278
+ #
1279
+ # @return [Response] A Response object with data of type nil
1280
+ def update_backend_set(update_backend_set_details, load_balancer_id, backend_set_name, opts = {})
1281
+ logger.debug "Calling operation LoadBalancerClient#update_backend_set." if logger
1282
+
1283
+ fail "Missing the required parameter 'update_backend_set_details' when calling update_backend_set." if update_backend_set_details.nil?
1284
+ fail "Missing the required parameter 'load_balancer_id' when calling update_backend_set." if load_balancer_id.nil?
1285
+ fail "Missing the required parameter 'backend_set_name' when calling update_backend_set." if backend_set_name.nil?
1286
+
1287
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
1288
+
1289
+ # Query Params
1290
+ query_params = {}
1291
+
1292
+ # Header Params
1293
+ header_params = {}
1294
+ header_params['accept'] = 'application/json'
1295
+ header_params['content-type'] = 'application/json'
1296
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1297
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1298
+
1299
+ post_body = @api_client.object_to_http_body(update_backend_set_details)
1300
+
1301
+ return @api_client.call_api(
1302
+ :PUT,
1303
+ path,
1304
+ endpoint,
1305
+ :header_params => header_params,
1306
+ :query_params => query_params,
1307
+ :body => post_body)
1308
+ end
1309
+
1310
+ # Updates the health check policy for a given load balancer and backend set.
1311
+ # @param [UpdateHealthCheckerDetails] health_checker The health check policy configuration details.
1312
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the health check policy to be updated.
1313
+ # @param [String] backend_set_name The name of the backend set associated with the health check policy to be retrieved.
1314
+ #
1315
+ # Example: `My_backend_set`
1316
+ #
1317
+ # @param [Hash] opts the optional parameters
1318
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1319
+ # particular request, please provide the request ID.
1320
+ # (default to )
1321
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1322
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1323
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1324
+ # has been deleted and purged from the system, then a retry of the original creation request
1325
+ # may be rejected).
1326
+ #
1327
+ # @return [Response] A Response object with data of type nil
1328
+ def update_health_checker(health_checker, load_balancer_id, backend_set_name, opts = {})
1329
+ logger.debug "Calling operation LoadBalancerClient#update_health_checker." if logger
1330
+
1331
+ fail "Missing the required parameter 'health_checker' when calling update_health_checker." if health_checker.nil?
1332
+ fail "Missing the required parameter 'load_balancer_id' when calling update_health_checker." if load_balancer_id.nil?
1333
+ fail "Missing the required parameter 'backend_set_name' when calling update_health_checker." if backend_set_name.nil?
1334
+
1335
+ path = "/loadBalancers/{loadBalancerId}/backendSets/{backendSetName}/healthChecker".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{backendSetName}', backend_set_name.to_s)
1336
+
1337
+ # Query Params
1338
+ query_params = {}
1339
+
1340
+ # Header Params
1341
+ header_params = {}
1342
+ header_params['accept'] = 'application/json'
1343
+ header_params['content-type'] = 'application/json'
1344
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1345
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1346
+
1347
+ post_body = @api_client.object_to_http_body(health_checker)
1348
+
1349
+ return @api_client.call_api(
1350
+ :PUT,
1351
+ path,
1352
+ endpoint,
1353
+ :header_params => header_params,
1354
+ :query_params => query_params,
1355
+ :body => post_body)
1356
+ end
1357
+
1358
+ # Updates a listener for a given load balancer.
1359
+ # @param [UpdateListenerDetails] update_listener_details Details to update a listener.
1360
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener to update.
1361
+ # @param [String] listener_name The name of the listener to update.
1362
+ #
1363
+ # Example: `My listener`
1364
+ #
1365
+ # @param [Hash] opts the optional parameters
1366
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1367
+ # particular request, please provide the request ID.
1368
+ # (default to )
1369
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1370
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1371
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1372
+ # has been deleted and purged from the system, then a retry of the original creation request
1373
+ # may be rejected).
1374
+ #
1375
+ # @return [Response] A Response object with data of type nil
1376
+ def update_listener(update_listener_details, load_balancer_id, listener_name, opts = {})
1377
+ logger.debug "Calling operation LoadBalancerClient#update_listener." if logger
1378
+
1379
+ fail "Missing the required parameter 'update_listener_details' when calling update_listener." if update_listener_details.nil?
1380
+ fail "Missing the required parameter 'load_balancer_id' when calling update_listener." if load_balancer_id.nil?
1381
+ fail "Missing the required parameter 'listener_name' when calling update_listener." if listener_name.nil?
1382
+
1383
+ path = "/loadBalancers/{loadBalancerId}/listeners/{listenerName}".sub('{loadBalancerId}', load_balancer_id.to_s).sub('{listenerName}', listener_name.to_s)
1384
+
1385
+ # Query Params
1386
+ query_params = {}
1387
+
1388
+ # Header Params
1389
+ header_params = {}
1390
+ header_params['accept'] = 'application/json'
1391
+ header_params['content-type'] = 'application/json'
1392
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1393
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1394
+
1395
+ post_body = @api_client.object_to_http_body(update_listener_details)
1396
+
1397
+ return @api_client.call_api(
1398
+ :PUT,
1399
+ path,
1400
+ endpoint,
1401
+ :header_params => header_params,
1402
+ :query_params => query_params,
1403
+ :body => post_body)
1404
+ end
1405
+
1406
+ # Updates a load balancer's configuration.
1407
+ # @param [UpdateLoadBalancerDetails] update_load_balancer_details The details for updating a load balancer's configuration.
1408
+ # @param [String] load_balancer_id The [OCID](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm) of the load balancer to update.
1409
+ # @param [Hash] opts the optional parameters
1410
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
1411
+ # particular request, please provide the request ID.
1412
+ # (default to )
1413
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
1414
+ # server error without risk of executing that same action again. Retry tokens expire after 24
1415
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
1416
+ # has been deleted and purged from the system, then a retry of the original creation request
1417
+ # may be rejected).
1418
+ #
1419
+ # @return [Response] A Response object with data of type nil
1420
+ def update_load_balancer(update_load_balancer_details, load_balancer_id, opts = {})
1421
+ logger.debug "Calling operation LoadBalancerClient#update_load_balancer." if logger
1422
+
1423
+ fail "Missing the required parameter 'update_load_balancer_details' when calling update_load_balancer." if update_load_balancer_details.nil?
1424
+ fail "Missing the required parameter 'load_balancer_id' when calling update_load_balancer." if load_balancer_id.nil?
1425
+
1426
+ path = "/loadBalancers/{loadBalancerId}".sub('{loadBalancerId}', load_balancer_id.to_s)
1427
+
1428
+ # Query Params
1429
+ query_params = {}
1430
+
1431
+ # Header Params
1432
+ header_params = {}
1433
+ header_params['accept'] = 'application/json'
1434
+ header_params['content-type'] = 'application/json'
1435
+ header_params[:'opc-request-id'] = opts[:'opc_request_id'] if opts[:'opc_request_id']
1436
+ header_params[:'opc-retry-token'] = opts[:'opc_retry_token'] if opts[:'opc_retry_token']
1437
+
1438
+ post_body = @api_client.object_to_http_body(update_load_balancer_details)
1439
+
1440
+ return @api_client.call_api(
1441
+ :PUT,
1442
+ path,
1443
+ endpoint,
1444
+ :header_params => header_params,
1445
+ :query_params => query_params,
1446
+ :body => post_body)
1447
+ end
1448
+ end
1449
+ end