oci 2.5.10 → 2.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -1
  3. data/lib/oci.rb +3 -0
  4. data/lib/oci/budget/budget.rb +1 -0
  5. data/lib/oci/budget/budget_client.rb +21 -1
  6. data/lib/oci/budget/models/budget.rb +52 -2
  7. data/lib/oci/budget/models/budget_summary.rb +52 -2
  8. data/lib/oci/budget/models/create_budget_details.rb +55 -2
  9. data/lib/oci/budget/models/target_type.rb +10 -0
  10. data/lib/oci/core/blockstorage_client.rb +18 -6
  11. data/lib/oci/core/compute_client.rb +75 -0
  12. data/lib/oci/core/compute_management_client.rb +4 -1
  13. data/lib/oci/core/core.rb +12 -0
  14. data/lib/oci/core/models/add_security_rule_details.rb +2 -2
  15. data/lib/oci/core/models/boot_volume_backup.rb +19 -1
  16. data/lib/oci/core/models/change_boot_volume_backup_compartment_details.rb +2 -2
  17. data/lib/oci/core/models/change_boot_volume_compartment_details.rb +2 -2
  18. data/lib/oci/core/models/change_cpe_compartment_details.rb +155 -0
  19. data/lib/oci/core/models/change_cross_connect_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_cross_connect_group_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/change_instance_compartment_details.rb +154 -0
  22. data/lib/oci/core/models/change_ip_sec_connection_compartment_details.rb +155 -0
  23. data/lib/oci/core/models/change_remote_peering_connection_compartment_details.rb +155 -0
  24. data/lib/oci/core/models/change_virtual_circuit_compartment_details.rb +155 -0
  25. data/lib/oci/core/models/change_volume_backup_compartment_details.rb +2 -2
  26. data/lib/oci/core/models/change_volume_compartment_details.rb +2 -2
  27. data/lib/oci/core/models/change_volume_group_backup_compartment_details.rb +2 -2
  28. data/lib/oci/core/models/change_volume_group_compartment_details.rb +2 -2
  29. data/lib/oci/core/models/copy_volume_backup_details.rb +27 -4
  30. data/lib/oci/core/models/create_cross_connect_details.rb +37 -1
  31. data/lib/oci/core/models/create_cross_connect_group_details.rb +40 -4
  32. data/lib/oci/core/models/create_instance_configuration_base.rb +250 -0
  33. data/lib/oci/core/models/create_instance_configuration_details.rb +15 -57
  34. data/lib/oci/core/models/create_instance_configuration_from_instance_details.rb +179 -0
  35. data/lib/oci/core/models/create_ipv6_details.rb +249 -0
  36. data/lib/oci/core/models/create_remote_peering_connection_details.rb +40 -4
  37. data/lib/oci/core/models/create_service_gateway_details.rb +23 -1
  38. data/lib/oci/core/models/create_subnet_details.rb +24 -1
  39. data/lib/oci/core/models/create_vcn_details.rb +56 -4
  40. data/lib/oci/core/models/create_virtual_circuit_details.rb +38 -2
  41. data/lib/oci/core/models/cross_connect.rb +37 -1
  42. data/lib/oci/core/models/cross_connect_group.rb +37 -1
  43. data/lib/oci/core/models/cross_connect_mapping.rb +50 -1
  44. data/lib/oci/core/models/egress_security_rule.rb +10 -7
  45. data/lib/oci/core/models/ingress_security_rule.rb +10 -7
  46. data/lib/oci/core/models/instance.rb +1 -0
  47. data/lib/oci/core/models/ipv6.rb +375 -0
  48. data/lib/oci/core/models/private_ip.rb +1 -0
  49. data/lib/oci/core/models/remote_peering_connection.rb +37 -1
  50. data/lib/oci/core/models/route_rule.rb +4 -1
  51. data/lib/oci/core/models/security_rule.rb +2 -2
  52. data/lib/oci/core/models/service_gateway.rb +18 -1
  53. data/lib/oci/core/models/subnet.rb +56 -1
  54. data/lib/oci/core/models/update_cross_connect_details.rb +37 -1
  55. data/lib/oci/core/models/update_cross_connect_group_details.rb +40 -4
  56. data/lib/oci/core/models/update_ipv6_details.rb +229 -0
  57. data/lib/oci/core/models/update_remote_peering_connection_details.rb +40 -4
  58. data/lib/oci/core/models/update_security_rule_details.rb +2 -2
  59. data/lib/oci/core/models/update_service_gateway_details.rb +18 -1
  60. data/lib/oci/core/models/update_virtual_circuit_details.rb +37 -1
  61. data/lib/oci/core/models/vcn.rb +42 -1
  62. data/lib/oci/core/models/virtual_circuit.rb +37 -1
  63. data/lib/oci/core/models/volume_backup.rb +19 -1
  64. data/lib/oci/core/virtual_network_client.rb +744 -10
  65. data/lib/oci/core/virtual_network_client_composite_operations.rb +119 -0
  66. data/lib/oci/database/database.rb +3 -0
  67. data/lib/oci/database/database_client.rb +320 -36
  68. data/lib/oci/database/models/autonomous_data_warehouse.rb +1 -0
  69. data/lib/oci/database/models/autonomous_data_warehouse_console_token_details.rb +164 -0
  70. data/lib/oci/database/models/autonomous_data_warehouse_summary.rb +1 -0
  71. data/lib/oci/database/models/autonomous_database.rb +5 -3
  72. data/lib/oci/database/models/autonomous_database_connection_urls.rb +1 -1
  73. data/lib/oci/database/models/autonomous_database_console_token_details.rb +163 -0
  74. data/lib/oci/database/models/autonomous_database_summary.rb +5 -3
  75. data/lib/oci/database/models/autonomous_db_preview_version_summary.rb +1 -3
  76. data/lib/oci/database/models/change_compartment_details.rb +155 -0
  77. data/lib/oci/database/models/create_autonomous_database_base.rb +5 -4
  78. data/lib/oci/database/models/create_data_guard_association_with_new_db_system_details.rb +2 -5
  79. data/lib/oci/database/models/create_database_details.rb +1 -1
  80. data/lib/oci/database/models/create_db_home_with_db_system_id_details.rb +2 -1
  81. data/lib/oci/database/models/create_db_home_with_db_system_id_from_backup_details.rb +2 -1
  82. data/lib/oci/database/models/db_system.rb +2 -5
  83. data/lib/oci/database/models/db_system_summary.rb +2 -5
  84. data/lib/oci/database/models/launch_db_system_base.rb +3 -5
  85. data/lib/oci/database/models/maintenance_window.rb +2 -1
  86. data/lib/oci/database/models/update_autonomous_database_details.rb +5 -3
  87. data/lib/oci/database/models/update_db_system_details.rb +2 -5
  88. data/lib/oci/dns/dns.rb +2 -0
  89. data/lib/oci/dns/dns_client.rb +138 -1
  90. data/lib/oci/dns/models/change_steering_policy_compartment_details.rb +155 -0
  91. data/lib/oci/dns/models/change_zone_compartment_details.rb +155 -0
  92. data/lib/oci/events/events.rb +34 -0
  93. data/lib/oci/events/events_client.rb +537 -0
  94. data/lib/oci/events/events_client_composite_operations.rb +145 -0
  95. data/lib/oci/events/models/action.rb +275 -0
  96. data/lib/oci/events/models/action_details.rb +222 -0
  97. data/lib/oci/events/models/action_details_list.rb +150 -0
  98. data/lib/oci/events/models/action_list.rb +151 -0
  99. data/lib/oci/events/models/change_rule_compartment_details.rb +156 -0
  100. data/lib/oci/events/models/create_faa_s_action_details.rb +170 -0
  101. data/lib/oci/events/models/create_notification_service_action_details.rb +170 -0
  102. data/lib/oci/events/models/create_rule_details.rb +284 -0
  103. data/lib/oci/events/models/create_streaming_service_action_details.rb +170 -0
  104. data/lib/oci/events/models/faa_s_action.rb +178 -0
  105. data/lib/oci/events/models/notification_service_action.rb +179 -0
  106. data/lib/oci/events/models/rule.rb +372 -0
  107. data/lib/oci/events/models/rule_summary.rb +321 -0
  108. data/lib/oci/events/models/streaming_service_action.rb +178 -0
  109. data/lib/oci/events/models/update_rule_details.rb +266 -0
  110. data/lib/oci/events/util.rb +2 -0
  111. data/lib/oci/functions/functions.rb +29 -0
  112. data/lib/oci/functions/functions_invoke_client.rb +237 -0
  113. data/lib/oci/functions/functions_invoke_client_composite_operations.rb +24 -0
  114. data/lib/oci/functions/functions_management_client.rb +851 -0
  115. data/lib/oci/functions/functions_management_client_composite_operations.rb +266 -0
  116. data/lib/oci/functions/models/application.rb +322 -0
  117. data/lib/oci/functions/models/application_summary.rb +281 -0
  118. data/lib/oci/functions/models/change_application_compartment_details.rb +156 -0
  119. data/lib/oci/functions/models/create_application_details.rb +236 -0
  120. data/lib/oci/functions/models/create_function_details.rb +280 -0
  121. data/lib/oci/functions/models/function.rb +397 -0
  122. data/lib/oci/functions/models/function_summary.rb +381 -0
  123. data/lib/oci/functions/models/update_application_details.rb +191 -0
  124. data/lib/oci/functions/models/update_function_details.rb +250 -0
  125. data/lib/oci/functions/util.rb +2 -0
  126. data/lib/oci/healthchecks/health_checks_client.rb +147 -1
  127. data/lib/oci/healthchecks/healthchecks.rb +2 -0
  128. data/lib/oci/healthchecks/models/change_http_monitor_compartment_details.rb +155 -0
  129. data/lib/oci/healthchecks/models/change_ping_monitor_compartment_details.rb +155 -0
  130. data/lib/oci/healthchecks/models/create_http_monitor_details.rb +2 -1
  131. data/lib/oci/healthchecks/models/create_on_demand_http_probe_details.rb +2 -1
  132. data/lib/oci/healthchecks/models/create_on_demand_ping_probe_details.rb +2 -1
  133. data/lib/oci/healthchecks/models/create_ping_monitor_details.rb +2 -1
  134. data/lib/oci/healthchecks/models/http_monitor.rb +2 -0
  135. data/lib/oci/healthchecks/models/http_probe.rb +2 -0
  136. data/lib/oci/healthchecks/models/ping_monitor.rb +2 -0
  137. data/lib/oci/healthchecks/models/ping_probe.rb +2 -0
  138. data/lib/oci/healthchecks/models/update_http_monitor_details.rb +2 -0
  139. data/lib/oci/healthchecks/models/update_ping_monitor_details.rb +2 -0
  140. data/lib/oci/identity/identity.rb +1 -0
  141. data/lib/oci/identity/identity_client.rb +70 -0
  142. data/lib/oci/identity/identity_client_composite_operations.rb +50 -0
  143. data/lib/oci/identity/models/move_compartment_details.rb +155 -0
  144. data/lib/oci/key_management/key_management.rb +2 -0
  145. data/lib/oci/key_management/kms_management_client.rb +73 -0
  146. data/lib/oci/key_management/kms_vault_client.rb +73 -0
  147. data/lib/oci/key_management/models/change_key_compartment_details.rb +153 -0
  148. data/lib/oci/key_management/models/change_vault_compartment_details.rb +153 -0
  149. data/lib/oci/key_management/models/key.rb +1 -0
  150. data/lib/oci/key_management/models/key_summary.rb +1 -0
  151. data/lib/oci/key_management/models/vault.rb +1 -0
  152. data/lib/oci/key_management/models/vault_summary.rb +1 -0
  153. data/lib/oci/limits/limits.rb +23 -0
  154. data/lib/oci/limits/models/create_quota_details.rb +220 -0
  155. data/lib/oci/limits/models/quota.rb +287 -0
  156. data/lib/oci/limits/models/quota_summary.rb +273 -0
  157. data/lib/oci/limits/models/update_quota_details.rb +194 -0
  158. data/lib/oci/limits/quotas_client.rb +439 -0
  159. data/lib/oci/limits/quotas_client_composite_operations.rb +143 -0
  160. data/lib/oci/limits/util.rb +2 -0
  161. data/lib/oci/load_balancer/load_balancer.rb +9 -0
  162. data/lib/oci/load_balancer/load_balancer_client.rb +139 -0
  163. data/lib/oci/load_balancer/load_balancer_client_composite_operations.rb +50 -0
  164. data/lib/oci/load_balancer/models/allow_rule.rb +181 -0
  165. data/lib/oci/load_balancer/models/backend_set.rb +21 -4
  166. data/lib/oci/load_balancer/models/backend_set_details.rb +21 -4
  167. data/lib/oci/load_balancer/models/change_load_balancer_compartment_details.rb +156 -0
  168. data/lib/oci/load_balancer/models/control_access_using_http_methods_rule.rb +205 -0
  169. data/lib/oci/load_balancer/models/create_backend_set_details.rb +21 -4
  170. data/lib/oci/load_balancer/models/create_load_balancer_details.rb +37 -1
  171. data/lib/oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.rb +334 -0
  172. data/lib/oci/load_balancer/models/listener_rule_summary.rb +166 -0
  173. data/lib/oci/load_balancer/models/rule.rb +4 -0
  174. data/lib/oci/load_balancer/models/rule_condition.rb +192 -0
  175. data/lib/oci/load_balancer/models/session_persistence_configuration_details.rb +6 -0
  176. data/lib/oci/load_balancer/models/source_ip_address_condition.rb +167 -0
  177. data/lib/oci/load_balancer/models/source_vcn_id_condition.rb +169 -0
  178. data/lib/oci/load_balancer/models/source_vcn_ip_address_condition.rb +171 -0
  179. data/lib/oci/load_balancer/models/update_backend_set_details.rb +21 -4
  180. data/lib/oci/monitoring/models/alarm.rb +4 -3
  181. data/lib/oci/monitoring/models/alarm_summary.rb +4 -3
  182. data/lib/oci/monitoring/models/change_alarm_compartment_details.rb +155 -0
  183. data/lib/oci/monitoring/models/create_alarm_details.rb +4 -3
  184. data/lib/oci/monitoring/models/datapoint.rb +1 -1
  185. data/lib/oci/monitoring/models/list_metrics_details.rb +4 -4
  186. data/lib/oci/monitoring/models/metric_data.rb +14 -0
  187. data/lib/oci/monitoring/models/metric_data_details.rb +6 -4
  188. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +3 -0
  189. data/lib/oci/monitoring/models/update_alarm_details.rb +4 -3
  190. data/lib/oci/monitoring/monitoring.rb +1 -0
  191. data/lib/oci/monitoring/monitoring_client.rb +140 -5
  192. data/lib/oci/ons/models/backoff_retry_policy.rb +2 -2
  193. data/lib/oci/ons/models/change_compartment_details.rb +156 -0
  194. data/lib/oci/ons/models/confirmation_result.rb +5 -6
  195. data/lib/oci/ons/models/create_topic_details.rb +1 -1
  196. data/lib/oci/ons/models/notification_topic.rb +2 -2
  197. data/lib/oci/ons/models/notification_topic_summary.rb +2 -2
  198. data/lib/oci/ons/models/subscription.rb +47 -4
  199. data/lib/oci/ons/models/subscription_summary.rb +19 -3
  200. data/lib/oci/ons/notification_control_plane_client.rb +95 -8
  201. data/lib/oci/ons/notification_data_plane_client.rb +109 -8
  202. data/lib/oci/ons/ons.rb +1 -0
  203. data/lib/oci/regions.rb +3 -0
  204. data/lib/oci/streaming/models/change_stream_compartment_details.rb +155 -0
  205. data/lib/oci/streaming/stream_admin_client.rb +58 -0
  206. data/lib/oci/streaming/streaming.rb +1 -0
  207. data/lib/oci/version.rb +1 -1
  208. data/lib/oci/waas/models/access_rule_criteria.rb +14 -2
  209. data/lib/oci/waas/models/change_certificate_compartment_details.rb +154 -0
  210. data/lib/oci/waas/models/change_waas_policy_compartment_details.rb +154 -0
  211. data/lib/oci/waas/models/create_certificate_details.rb +2 -2
  212. data/lib/oci/waas/models/protection_rule_exclusion.rb +16 -1
  213. data/lib/oci/waas/models/protection_settings.rb +9 -5
  214. data/lib/oci/waas/models/waas_policy.rb +1 -1
  215. data/lib/oci/waas/models/waf_config_details.rb +8 -8
  216. data/lib/oci/waas/models/waf_log.rb +40 -19
  217. data/lib/oci/waas/waas.rb +2 -0
  218. data/lib/oci/waas/waas_client.rb +155 -27
  219. data/lib/oci/work_requests/models/work_request.rb +14 -8
  220. data/lib/oci/work_requests/models/work_request_error.rb +3 -3
  221. data/lib/oci/work_requests/models/work_request_log_entry.rb +2 -2
  222. data/lib/oci/work_requests/models/work_request_resource.rb +9 -7
  223. data/lib/oci/work_requests/models/work_request_summary.rb +12 -6
  224. data/lib/oci/work_requests/work_request_client.rb +33 -16
  225. metadata +81 -2
@@ -0,0 +1,2 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
@@ -12,6 +12,7 @@ end
12
12
  # Require models
13
13
  require 'oci/load_balancer/models/add_http_request_header_rule'
14
14
  require 'oci/load_balancer/models/add_http_response_header_rule'
15
+ require 'oci/load_balancer/models/allow_rule'
15
16
  require 'oci/load_balancer/models/backend'
16
17
  require 'oci/load_balancer/models/backend_details'
17
18
  require 'oci/load_balancer/models/backend_health'
@@ -20,7 +21,9 @@ require 'oci/load_balancer/models/backend_set_details'
20
21
  require 'oci/load_balancer/models/backend_set_health'
21
22
  require 'oci/load_balancer/models/certificate'
22
23
  require 'oci/load_balancer/models/certificate_details'
24
+ require 'oci/load_balancer/models/change_load_balancer_compartment_details'
23
25
  require 'oci/load_balancer/models/connection_configuration'
26
+ require 'oci/load_balancer/models/control_access_using_http_methods_rule'
24
27
  require 'oci/load_balancer/models/create_backend_details'
25
28
  require 'oci/load_balancer/models/create_backend_set_details'
26
29
  require 'oci/load_balancer/models/create_certificate_details'
@@ -37,8 +40,10 @@ require 'oci/load_balancer/models/health_checker_details'
37
40
  require 'oci/load_balancer/models/hostname'
38
41
  require 'oci/load_balancer/models/hostname_details'
39
42
  require 'oci/load_balancer/models/ip_address'
43
+ require 'oci/load_balancer/models/lb_cookie_session_persistence_configuration_details'
40
44
  require 'oci/load_balancer/models/listener'
41
45
  require 'oci/load_balancer/models/listener_details'
46
+ require 'oci/load_balancer/models/listener_rule_summary'
42
47
  require 'oci/load_balancer/models/load_balancer'
43
48
  require 'oci/load_balancer/models/load_balancer_health'
44
49
  require 'oci/load_balancer/models/load_balancer_health_summary'
@@ -52,11 +57,15 @@ require 'oci/load_balancer/models/path_route_set_details'
52
57
  require 'oci/load_balancer/models/remove_http_request_header_rule'
53
58
  require 'oci/load_balancer/models/remove_http_response_header_rule'
54
59
  require 'oci/load_balancer/models/rule'
60
+ require 'oci/load_balancer/models/rule_condition'
55
61
  require 'oci/load_balancer/models/rule_set'
56
62
  require 'oci/load_balancer/models/rule_set_details'
57
63
  require 'oci/load_balancer/models/ssl_configuration'
58
64
  require 'oci/load_balancer/models/ssl_configuration_details'
59
65
  require 'oci/load_balancer/models/session_persistence_configuration_details'
66
+ require 'oci/load_balancer/models/source_ip_address_condition'
67
+ require 'oci/load_balancer/models/source_vcn_id_condition'
68
+ require 'oci/load_balancer/models/source_vcn_ip_address_condition'
60
69
  require 'oci/load_balancer/models/update_backend_details'
61
70
  require 'oci/load_balancer/models/update_backend_set_details'
62
71
  require 'oci/load_balancer/models/update_health_checker_details'
@@ -109,6 +109,79 @@ module OCI
109
109
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
110
110
 
111
111
 
112
+ # Moves a load balancer into a different compartment within the same tenancy. For information about moving resources
113
+ # between compartments, see [Moving Resources to a Different Compartment](https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).
114
+ #
115
+ # @param [String] load_balancer_id The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer to move.
116
+ # @param [OCI::LoadBalancer::Models::ChangeLoadBalancerCompartmentDetails] change_load_balancer_compartment_details The configuration details for moving a load balancer to a different compartment.
117
+ # @param [Hash] opts the optional parameters
118
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
119
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
120
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
121
+ # particular request, please provide the request ID.
122
+ # (default to )
123
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or
124
+ # server error without risk of executing that same action again. Retry tokens expire after 24
125
+ # hours, but can be invalidated before then due to conflicting operations (e.g., if a resource
126
+ # has been deleted and purged from the system, then a retry of the original creation request
127
+ # may be rejected).
128
+ #
129
+ # @option opts [String] :if_match For optimistic concurrency control. Set the if-match parameter to the value of the ETag from a
130
+ # previous GET or POST response for that resource. The resource is moved only if the ETag you
131
+ # provide matches the resource's current ETag value.
132
+ #
133
+ # Example: `example-etag`
134
+ # (default to )
135
+ # @return [Response] A Response object with data of type nil
136
+ def change_load_balancer_compartment(load_balancer_id, change_load_balancer_compartment_details, opts = {})
137
+ logger.debug 'Calling operation LoadBalancerClient#change_load_balancer_compartment.' if logger
138
+
139
+ raise "Missing the required parameter 'load_balancer_id' when calling change_load_balancer_compartment." if load_balancer_id.nil?
140
+ raise "Missing the required parameter 'change_load_balancer_compartment_details' when calling change_load_balancer_compartment." if change_load_balancer_compartment_details.nil?
141
+ raise "Parameter value for 'load_balancer_id' must not be blank" if OCI::Internal::Util.blank_string?(load_balancer_id)
142
+
143
+ path = '/loadBalancers/{loadBalancerId}/changeCompartment'.sub('{loadBalancerId}', load_balancer_id.to_s)
144
+ operation_signing_strategy = :standard
145
+
146
+ # rubocop:disable Style/NegatedIf
147
+ # Query Params
148
+ query_params = {}
149
+
150
+ # Header Params
151
+ header_params = {}
152
+ header_params[:accept] = 'application/json'
153
+ header_params[:'content-type'] = 'application/json'
154
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
155
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
156
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
157
+ # rubocop:enable Style/NegatedIf
158
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
159
+
160
+ post_body = @api_client.object_to_http_body(change_load_balancer_compartment_details)
161
+
162
+ # rubocop:disable Metrics/BlockLength
163
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'LoadBalancerClient#change_load_balancer_compartment') do
164
+ @api_client.call_api(
165
+ :POST,
166
+ path,
167
+ endpoint,
168
+ header_params: header_params,
169
+ query_params: query_params,
170
+ operation_signing_strategy: operation_signing_strategy,
171
+ body: post_body
172
+ )
173
+ end
174
+ # rubocop:enable Metrics/BlockLength
175
+ end
176
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
177
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
178
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
179
+
180
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
181
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
182
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
183
+
184
+
112
185
  # Adds a backend server to a backend set.
113
186
  # @param [OCI::LoadBalancer::Models::CreateBackendDetails] create_backend_details The details to add a backend server to a backend set.
114
187
  # @param [String] load_balancer_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the backend set and servers.
@@ -2038,6 +2111,72 @@ module OCI
2038
2111
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2039
2112
 
2040
2113
 
2114
+ # Lists all of the rules from all of the rule sets associated with the specified listener. The response organizes
2115
+ # the rules in the following order:
2116
+ #
2117
+ # * Access control rules
2118
+ # * Allow method rules
2119
+ # * Request header rules
2120
+ # * Response header rules
2121
+ #
2122
+ # @param [String] load_balancer_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the load balancer associated with the listener.
2123
+ # @param [String] listener_name The name of the listener the rules are associated with.
2124
+ #
2125
+ # @param [Hash] opts the optional parameters
2126
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
2127
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
2128
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
2129
+ # particular request, please provide the request ID.
2130
+ # (default to )
2131
+ # @return [Response] A Response object with data of type Array<{OCI::LoadBalancer::Models::ListenerRuleSummary ListenerRuleSummary}>
2132
+ def list_listener_rules(load_balancer_id, listener_name, opts = {})
2133
+ logger.debug 'Calling operation LoadBalancerClient#list_listener_rules.' if logger
2134
+
2135
+ raise "Missing the required parameter 'load_balancer_id' when calling list_listener_rules." if load_balancer_id.nil?
2136
+ raise "Missing the required parameter 'listener_name' when calling list_listener_rules." if listener_name.nil?
2137
+ raise "Parameter value for 'load_balancer_id' must not be blank" if OCI::Internal::Util.blank_string?(load_balancer_id)
2138
+ raise "Parameter value for 'listener_name' must not be blank" if OCI::Internal::Util.blank_string?(listener_name)
2139
+
2140
+ path = '/loadBalancers/{loadBalancerId}/listeners/{listenerName}/rules'.sub('{loadBalancerId}', load_balancer_id.to_s).sub('{listenerName}', listener_name.to_s)
2141
+ operation_signing_strategy = :standard
2142
+
2143
+ # rubocop:disable Style/NegatedIf
2144
+ # Query Params
2145
+ query_params = {}
2146
+
2147
+ # Header Params
2148
+ header_params = {}
2149
+ header_params[:accept] = 'application/json'
2150
+ header_params[:'content-type'] = 'application/json'
2151
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
2152
+ # rubocop:enable Style/NegatedIf
2153
+
2154
+ post_body = nil
2155
+
2156
+ # rubocop:disable Metrics/BlockLength
2157
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'LoadBalancerClient#list_listener_rules') do
2158
+ @api_client.call_api(
2159
+ :GET,
2160
+ path,
2161
+ endpoint,
2162
+ header_params: header_params,
2163
+ query_params: query_params,
2164
+ operation_signing_strategy: operation_signing_strategy,
2165
+ body: post_body,
2166
+ return_type: 'Array<OCI::LoadBalancer::Models::ListenerRuleSummary>'
2167
+ )
2168
+ end
2169
+ # rubocop:enable Metrics/BlockLength
2170
+ end
2171
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2172
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2173
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2174
+
2175
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2176
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2177
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2178
+
2179
+
2041
2180
  # Lists the summary health statuses for all load balancers in the specified compartment.
2042
2181
  # @param [String] compartment_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment containing the load balancers to return health status information for.
2043
2182
  # @param [Hash] opts the optional parameters
@@ -24,6 +24,56 @@ module OCI
24
24
  # rubocop:disable Layout/EmptyLines
25
25
 
26
26
 
27
+ # Calls {OCI::LoadBalancer::LoadBalancerClient#change_load_balancer_compartment} and then waits for the {OCI::LoadBalancer::Models::WorkRequest}
28
+ # to enter the given state(s).
29
+ #
30
+ # @param [String] load_balancer_id The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the load balancer to move.
31
+ # @param [OCI::LoadBalancer::Models::ChangeLoadBalancerCompartmentDetails] change_load_balancer_compartment_details The configuration details for moving a load balancer to a different compartment.
32
+ # @param [Array<String>] wait_for_states An array of states to wait on. These should be valid values for {OCI::LoadBalancer::Models::WorkRequest#lifecycle_state}
33
+ # @param [Hash] base_operation_opts Any optional arguments accepted by {OCI::LoadBalancer::LoadBalancerClient#change_load_balancer_compartment}
34
+ # @param [Hash] waiter_opts Optional arguments for the waiter. Keys should be symbols, and the following keys are supported:
35
+ # * max_interval_seconds: The maximum interval between queries, in seconds.
36
+ # * max_wait_seconds The maximum time to wait, in seconds
37
+ #
38
+ # @return [OCI::Response] A {OCI::Response} object containing the completed {OCI::LoadBalancer::Models::WorkRequest}
39
+ def change_load_balancer_compartment_and_wait_for_state(load_balancer_id, change_load_balancer_compartment_details, wait_for_states = [], base_operation_opts = {}, waiter_opts = {})
40
+ operation_result = @service_client.change_load_balancer_compartment(load_balancer_id, change_load_balancer_compartment_details, base_operation_opts)
41
+ use_util = OCI::LoadBalancer::Util.respond_to?(:wait_on_work_request)
42
+
43
+ return operation_result if wait_for_states.empty? && !use_util
44
+
45
+ lowered_wait_for_states = wait_for_states.map(&:downcase)
46
+ wait_for_resource_id = operation_result.headers['opc-work-request-id']
47
+
48
+ begin
49
+ if use_util
50
+ waiter_result = OCI::LoadBalancer::Util.wait_on_work_request(
51
+ @service_client,
52
+ wait_for_resource_id,
53
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
54
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
55
+ )
56
+ else
57
+ waiter_result = @service_client.get_work_request(wait_for_resource_id).wait_until(
58
+ eval_proc: ->(response) { response.data.respond_to?(:lifecycle_state) && lowered_wait_for_states.include?(response.data.lifecycle_state.downcase) },
59
+ max_interval_seconds: waiter_opts.key?(:max_interval_seconds) ? waiter_opts[:max_interval_seconds] : 30,
60
+ max_wait_seconds: waiter_opts.key?(:max_wait_seconds) ? waiter_opts[:max_wait_seconds] : 1200
61
+ )
62
+ end
63
+ result_to_return = waiter_result
64
+
65
+ return result_to_return
66
+ rescue StandardError
67
+ raise OCI::Errors::CompositeOperationError.new(partial_results: [operation_result])
68
+ end
69
+ end
70
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
71
+ # rubocop:enable Layout/EmptyLines
72
+
73
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/ParameterLists, Metrics/PerceivedComplexity
74
+ # rubocop:disable Layout/EmptyLines
75
+
76
+
27
77
  # Calls {OCI::LoadBalancer::LoadBalancerClient#create_backend} and then waits for the {OCI::LoadBalancer::Models::WorkRequest}
28
78
  # to enter the given state(s).
29
79
  #
@@ -0,0 +1,181 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+ require_relative 'rule'
5
+
6
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
7
+ module OCI
8
+ # An object that represents the action of configuring an access control rule. Access control rules permit access
9
+ # to application resources based on user-specified match conditions. This rule applies only to HTTP listeners.
10
+ #
11
+ # **NOTES:**
12
+ # * If you do not specify any access control rules, the default rule is to allow all traffic.
13
+ # * If you add access control rules, the load balancer denies any traffic that does not match the rules.
14
+ # * Maximum of two match conditions can be specified in a rule.
15
+ # * You can specify this rule only with the following `RuleCondition` combinations:
16
+ # * `SOURCE_IP_ADDRESS`
17
+ # * `SOURCE_VCN_ID`
18
+ # * `SOURCE_VCN_ID\", \"SOURCE_VCN_IP_ADDRESS`
19
+ #
20
+ class LoadBalancer::Models::AllowRule < LoadBalancer::Models::Rule
21
+ # This attribute is required.
22
+ # @return [Array<OCI::LoadBalancer::Models::RuleCondition>]
23
+ attr_accessor :conditions
24
+
25
+ # A brief description of the access control rule. Avoid entering confidential information.
26
+ #
27
+ # example: `192.168.0.0/16 and 2001:db8::/32 are trusted clients. Whitelist them.`
28
+ #
29
+ # @return [String]
30
+ attr_accessor :description
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ # rubocop:disable Style/SymbolLiteral
36
+ 'action': :'action',
37
+ 'conditions': :'conditions',
38
+ 'description': :'description'
39
+ # rubocop:enable Style/SymbolLiteral
40
+ }
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.swagger_types
45
+ {
46
+ # rubocop:disable Style/SymbolLiteral
47
+ 'action': :'String',
48
+ 'conditions': :'Array<OCI::LoadBalancer::Models::RuleCondition>',
49
+ 'description': :'String'
50
+ # rubocop:enable Style/SymbolLiteral
51
+ }
52
+ end
53
+
54
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
55
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
56
+
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ # @option attributes [Array<OCI::LoadBalancer::Models::RuleCondition>] :conditions The value to assign to the {#conditions} property
61
+ # @option attributes [String] :description The value to assign to the {#description} property
62
+ def initialize(attributes = {})
63
+ return unless attributes.is_a?(Hash)
64
+
65
+ attributes['action'] = 'ALLOW'
66
+
67
+ super(attributes)
68
+
69
+ # convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
71
+
72
+ self.conditions = attributes[:'conditions'] if attributes[:'conditions']
73
+
74
+ self.description = attributes[:'description'] if attributes[:'description']
75
+ end
76
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
77
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
78
+
79
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
80
+
81
+
82
+ # Checks equality by comparing each attribute.
83
+ # @param [Object] other the other object to be compared
84
+ def ==(other)
85
+ return true if equal?(other)
86
+
87
+ self.class == other.class &&
88
+ action == other.action &&
89
+ conditions == other.conditions &&
90
+ description == other.description
91
+ end
92
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
93
+
94
+ # @see the `==` method
95
+ # @param [Object] other the other object to be compared
96
+ def eql?(other)
97
+ self == other
98
+ end
99
+
100
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
101
+
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Fixnum] Hash code
105
+ def hash
106
+ [action, conditions, description].hash
107
+ end
108
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
109
+
110
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
111
+
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def build_from_hash(attributes)
117
+ return nil unless attributes.is_a?(Hash)
118
+
119
+ self.class.swagger_types.each_pair do |key, type|
120
+ if type =~ /^Array<(.*)>/i
121
+ # check to ensure the input is an array given that the the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
124
+ public_method("#{key}=").call(
125
+ attributes[self.class.attribute_map[key]]
126
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
127
+ )
128
+ end
129
+ elsif !attributes[self.class.attribute_map[key]].nil?
130
+ public_method("#{key}=").call(
131
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
132
+ )
133
+ end
134
+ # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
136
+
137
+ self
138
+ end
139
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
140
+
141
+ # Returns the string representation of the object
142
+ # @return [String] String presentation of the object
143
+ def to_s
144
+ to_hash.to_s
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = public_method(attr).call
153
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
154
+
155
+ hash[param] = _to_hash(value)
156
+ end
157
+ hash
158
+ end
159
+
160
+ private
161
+
162
+ # Outputs non-array value in the form of hash
163
+ # For object, use to_hash. Otherwise, just return the value
164
+ # @param [Object] value Any valid value
165
+ # @return [Hash] Returns the value in the form of hash
166
+ def _to_hash(value)
167
+ if value.is_a?(Array)
168
+ value.compact.map { |v| _to_hash(v) }
169
+ elsif value.is_a?(Hash)
170
+ {}.tap do |hash|
171
+ value.each { |k, v| hash[k] = _to_hash(v) }
172
+ end
173
+ elsif value.respond_to? :to_hash
174
+ value.to_hash
175
+ else
176
+ value
177
+ end
178
+ end
179
+ end
180
+ end
181
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -8,6 +8,10 @@ module OCI
8
8
  # For more information on backend set configuration, see
9
9
  # [Managing Backend Sets](https://docs.cloud.oracle.com/Content/Balance/Tasks/managingbackendsets.htm).
10
10
  #
11
+ # **Note:** The `sessionPersistenceConfiguration` (application cookie stickiness) and `lbCookieSessionPersistenceConfiguration`
12
+ # (LB cookie stickiness) attributes are mutually exclusive. To avoid returning an error, configure only one of these two
13
+ # attributes per backend set.
14
+ #
11
15
  # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
12
16
  #
13
17
  class LoadBalancer::Models::BackendSet
@@ -43,6 +47,9 @@ module OCI
43
47
  # @return [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails]
44
48
  attr_accessor :session_persistence_configuration
45
49
 
50
+ # @return [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails]
51
+ attr_accessor :lb_cookie_session_persistence_configuration
52
+
46
53
  # Attribute mapping from ruby-style variable name to JSON key.
47
54
  def self.attribute_map
48
55
  {
@@ -52,7 +59,8 @@ module OCI
52
59
  'backends': :'backends',
53
60
  'health_checker': :'healthChecker',
54
61
  'ssl_configuration': :'sslConfiguration',
55
- 'session_persistence_configuration': :'sessionPersistenceConfiguration'
62
+ 'session_persistence_configuration': :'sessionPersistenceConfiguration',
63
+ 'lb_cookie_session_persistence_configuration': :'lbCookieSessionPersistenceConfiguration'
56
64
  # rubocop:enable Style/SymbolLiteral
57
65
  }
58
66
  end
@@ -66,7 +74,8 @@ module OCI
66
74
  'backends': :'Array<OCI::LoadBalancer::Models::Backend>',
67
75
  'health_checker': :'OCI::LoadBalancer::Models::HealthChecker',
68
76
  'ssl_configuration': :'OCI::LoadBalancer::Models::SSLConfiguration',
69
- 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails'
77
+ 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails',
78
+ 'lb_cookie_session_persistence_configuration': :'OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails'
70
79
  # rubocop:enable Style/SymbolLiteral
71
80
  }
72
81
  end
@@ -83,6 +92,7 @@ module OCI
83
92
  # @option attributes [OCI::LoadBalancer::Models::HealthChecker] :health_checker The value to assign to the {#health_checker} property
84
93
  # @option attributes [OCI::LoadBalancer::Models::SSLConfiguration] :ssl_configuration The value to assign to the {#ssl_configuration} property
85
94
  # @option attributes [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails] :session_persistence_configuration The value to assign to the {#session_persistence_configuration} property
95
+ # @option attributes [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails] :lb_cookie_session_persistence_configuration The value to assign to the {#lb_cookie_session_persistence_configuration} property
86
96
  def initialize(attributes = {})
87
97
  return unless attributes.is_a?(Hash)
88
98
 
@@ -112,6 +122,12 @@ module OCI
112
122
  raise 'You cannot provide both :sessionPersistenceConfiguration and :session_persistence_configuration' if attributes.key?(:'sessionPersistenceConfiguration') && attributes.key?(:'session_persistence_configuration')
113
123
 
114
124
  self.session_persistence_configuration = attributes[:'session_persistence_configuration'] if attributes[:'session_persistence_configuration']
125
+
126
+ self.lb_cookie_session_persistence_configuration = attributes[:'lbCookieSessionPersistenceConfiguration'] if attributes[:'lbCookieSessionPersistenceConfiguration']
127
+
128
+ raise 'You cannot provide both :lbCookieSessionPersistenceConfiguration and :lb_cookie_session_persistence_configuration' if attributes.key?(:'lbCookieSessionPersistenceConfiguration') && attributes.key?(:'lb_cookie_session_persistence_configuration')
129
+
130
+ self.lb_cookie_session_persistence_configuration = attributes[:'lb_cookie_session_persistence_configuration'] if attributes[:'lb_cookie_session_persistence_configuration']
115
131
  end
116
132
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
117
133
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -130,7 +146,8 @@ module OCI
130
146
  backends == other.backends &&
131
147
  health_checker == other.health_checker &&
132
148
  ssl_configuration == other.ssl_configuration &&
133
- session_persistence_configuration == other.session_persistence_configuration
149
+ session_persistence_configuration == other.session_persistence_configuration &&
150
+ lb_cookie_session_persistence_configuration == other.lb_cookie_session_persistence_configuration
134
151
  end
135
152
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
136
153
 
@@ -146,7 +163,7 @@ module OCI
146
163
  # Calculates hash code according to all attributes.
147
164
  # @return [Fixnum] Hash code
148
165
  def hash
149
- [name, policy, backends, health_checker, ssl_configuration, session_persistence_configuration].hash
166
+ [name, policy, backends, health_checker, ssl_configuration, session_persistence_configuration, lb_cookie_session_persistence_configuration].hash
150
167
  end
151
168
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
152
169