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
@@ -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
  class LoadBalancer::Models::BackendSetDetails
12
16
  # **[Required]** The load balancer policy for the backend set. To get a list of available policies, use the
13
17
  # {#list_policies list_policies} operation.
@@ -30,6 +34,9 @@ module OCI
30
34
  # @return [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails]
31
35
  attr_accessor :session_persistence_configuration
32
36
 
37
+ # @return [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails]
38
+ attr_accessor :lb_cookie_session_persistence_configuration
39
+
33
40
  # Attribute mapping from ruby-style variable name to JSON key.
34
41
  def self.attribute_map
35
42
  {
@@ -38,7 +45,8 @@ module OCI
38
45
  'backends': :'backends',
39
46
  'health_checker': :'healthChecker',
40
47
  'ssl_configuration': :'sslConfiguration',
41
- 'session_persistence_configuration': :'sessionPersistenceConfiguration'
48
+ 'session_persistence_configuration': :'sessionPersistenceConfiguration',
49
+ 'lb_cookie_session_persistence_configuration': :'lbCookieSessionPersistenceConfiguration'
42
50
  # rubocop:enable Style/SymbolLiteral
43
51
  }
44
52
  end
@@ -51,7 +59,8 @@ module OCI
51
59
  'backends': :'Array<OCI::LoadBalancer::Models::BackendDetails>',
52
60
  'health_checker': :'OCI::LoadBalancer::Models::HealthCheckerDetails',
53
61
  'ssl_configuration': :'OCI::LoadBalancer::Models::SSLConfigurationDetails',
54
- 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails'
62
+ 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails',
63
+ 'lb_cookie_session_persistence_configuration': :'OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails'
55
64
  # rubocop:enable Style/SymbolLiteral
56
65
  }
57
66
  end
@@ -67,6 +76,7 @@ module OCI
67
76
  # @option attributes [OCI::LoadBalancer::Models::HealthCheckerDetails] :health_checker The value to assign to the {#health_checker} property
68
77
  # @option attributes [OCI::LoadBalancer::Models::SSLConfigurationDetails] :ssl_configuration The value to assign to the {#ssl_configuration} property
69
78
  # @option attributes [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails] :session_persistence_configuration The value to assign to the {#session_persistence_configuration} property
79
+ # @option attributes [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails] :lb_cookie_session_persistence_configuration The value to assign to the {#lb_cookie_session_persistence_configuration} property
70
80
  def initialize(attributes = {})
71
81
  return unless attributes.is_a?(Hash)
72
82
 
@@ -94,6 +104,12 @@ module OCI
94
104
  raise 'You cannot provide both :sessionPersistenceConfiguration and :session_persistence_configuration' if attributes.key?(:'sessionPersistenceConfiguration') && attributes.key?(:'session_persistence_configuration')
95
105
 
96
106
  self.session_persistence_configuration = attributes[:'session_persistence_configuration'] if attributes[:'session_persistence_configuration']
107
+
108
+ self.lb_cookie_session_persistence_configuration = attributes[:'lbCookieSessionPersistenceConfiguration'] if attributes[:'lbCookieSessionPersistenceConfiguration']
109
+
110
+ raise 'You cannot provide both :lbCookieSessionPersistenceConfiguration and :lb_cookie_session_persistence_configuration' if attributes.key?(:'lbCookieSessionPersistenceConfiguration') && attributes.key?(:'lb_cookie_session_persistence_configuration')
111
+
112
+ self.lb_cookie_session_persistence_configuration = attributes[:'lb_cookie_session_persistence_configuration'] if attributes[:'lb_cookie_session_persistence_configuration']
97
113
  end
98
114
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
99
115
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -111,7 +127,8 @@ module OCI
111
127
  backends == other.backends &&
112
128
  health_checker == other.health_checker &&
113
129
  ssl_configuration == other.ssl_configuration &&
114
- session_persistence_configuration == other.session_persistence_configuration
130
+ session_persistence_configuration == other.session_persistence_configuration &&
131
+ lb_cookie_session_persistence_configuration == other.lb_cookie_session_persistence_configuration
115
132
  end
116
133
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
117
134
 
@@ -127,7 +144,7 @@ module OCI
127
144
  # Calculates hash code according to all attributes.
128
145
  # @return [Fixnum] Hash code
129
146
  def hash
130
- [policy, backends, health_checker, ssl_configuration, session_persistence_configuration].hash
147
+ [policy, backends, health_checker, ssl_configuration, session_persistence_configuration, lb_cookie_session_persistence_configuration].hash
131
148
  end
132
149
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
133
150
 
@@ -0,0 +1,156 @@
1
+ # Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'date'
4
+
5
+ # rubocop:disable Lint/UnneededCopDisableDirective, Metrics/LineLength
6
+ module OCI
7
+ # The configuration details for moving a load balancer to a different compartment.
8
+ #
9
+ # **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
10
+ #
11
+ class LoadBalancer::Models::ChangeLoadBalancerCompartmentDetails
12
+ # **[Required]** The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment to move the load balancer to.
13
+ # @return [String]
14
+ attr_accessor :compartment_id
15
+
16
+ # Attribute mapping from ruby-style variable name to JSON key.
17
+ def self.attribute_map
18
+ {
19
+ # rubocop:disable Style/SymbolLiteral
20
+ 'compartment_id': :'compartmentId'
21
+ # rubocop:enable Style/SymbolLiteral
22
+ }
23
+ end
24
+
25
+ # Attribute type mapping.
26
+ def self.swagger_types
27
+ {
28
+ # rubocop:disable Style/SymbolLiteral
29
+ 'compartment_id': :'String'
30
+ # rubocop:enable Style/SymbolLiteral
31
+ }
32
+ end
33
+
34
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
35
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
36
+
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ # @option attributes [String] :compartment_id The value to assign to the {#compartment_id} property
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ self.compartment_id = attributes[:'compartmentId'] if attributes[:'compartmentId']
48
+
49
+ raise 'You cannot provide both :compartmentId and :compartment_id' if attributes.key?(:'compartmentId') && attributes.key?(:'compartment_id')
50
+
51
+ self.compartment_id = attributes[:'compartment_id'] if attributes[:'compartment_id']
52
+ end
53
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
54
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
55
+
56
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
57
+
58
+
59
+ # Checks equality by comparing each attribute.
60
+ # @param [Object] other the other object to be compared
61
+ def ==(other)
62
+ return true if equal?(other)
63
+
64
+ self.class == other.class &&
65
+ compartment_id == other.compartment_id
66
+ end
67
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
68
+
69
+ # @see the `==` method
70
+ # @param [Object] other the other object to be compared
71
+ def eql?(other)
72
+ self == other
73
+ end
74
+
75
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
76
+
77
+
78
+ # Calculates hash code according to all attributes.
79
+ # @return [Fixnum] Hash code
80
+ def hash
81
+ [compartment_id].hash
82
+ end
83
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
84
+
85
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
86
+
87
+
88
+ # Builds the object from hash
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ # @return [Object] Returns the model itself
91
+ def build_from_hash(attributes)
92
+ return nil unless attributes.is_a?(Hash)
93
+
94
+ self.class.swagger_types.each_pair do |key, type|
95
+ if type =~ /^Array<(.*)>/i
96
+ # check to ensure the input is an array given that the the attribute
97
+ # is documented as an array but the input is not
98
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
99
+ public_method("#{key}=").call(
100
+ attributes[self.class.attribute_map[key]]
101
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
102
+ )
103
+ end
104
+ elsif !attributes[self.class.attribute_map[key]].nil?
105
+ public_method("#{key}=").call(
106
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
107
+ )
108
+ end
109
+ # or else data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+
112
+ self
113
+ end
114
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
115
+
116
+ # Returns the string representation of the object
117
+ # @return [String] String presentation of the object
118
+ def to_s
119
+ to_hash.to_s
120
+ end
121
+
122
+ # Returns the object in the form of hash
123
+ # @return [Hash] Returns the object in the form of hash
124
+ def to_hash
125
+ hash = {}
126
+ self.class.attribute_map.each_pair do |attr, param|
127
+ value = public_method(attr).call
128
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
129
+
130
+ hash[param] = _to_hash(value)
131
+ end
132
+ hash
133
+ end
134
+
135
+ private
136
+
137
+ # Outputs non-array value in the form of hash
138
+ # For object, use to_hash. Otherwise, just return the value
139
+ # @param [Object] value Any valid value
140
+ # @return [Hash] Returns the value in the form of hash
141
+ def _to_hash(value)
142
+ if value.is_a?(Array)
143
+ value.compact.map { |v| _to_hash(v) }
144
+ elsif value.is_a?(Hash)
145
+ {}.tap do |hash|
146
+ value.each { |k, v| hash[k] = _to_hash(v) }
147
+ end
148
+ elsif value.respond_to? :to_hash
149
+ value.to_hash
150
+ else
151
+ value
152
+ end
153
+ end
154
+ end
155
+ end
156
+ # rubocop:enable Lint/UnneededCopDisableDirective, Metrics/LineLength
@@ -0,0 +1,205 @@
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 returning a specified response code when the requested HTTP method is not in
9
+ # the list of allowed methods for the listener. The load balancer does not forward a disallowed request to the back end
10
+ # servers. The default response code is `405 Method Not Allowed`.
11
+ #
12
+ # If you set the response code to `405` or leave it blank, the system adds an \"allow\" response header that contains a
13
+ # list of the allowed methods for the listener. If you set the response code to anything other than `405` (or blank),
14
+ # the system does not add the \"allow\" response header with a list of allowed methods.
15
+ #
16
+ # This rule applies only to HTTP listeners. No more than one `ControlAccessUsingHttpMethodsRule` object can be present in
17
+ # a given listener.
18
+ #
19
+ class LoadBalancer::Models::ControlAccessUsingHttpMethodsRule < LoadBalancer::Models::Rule
20
+ # **[Required]** The list of HTTP methods allowed for this listener.
21
+ #
22
+ # By default, you can specify only the standard HTTP methods defined in the
23
+ # [HTTP Method Registry](http://www.iana.org/assignments/http-methods/http-methods.xhtml). You can also
24
+ # see a list of supported standard HTTP methods in the Load Balancing service documentation at
25
+ # [Managing Rule Sets](https://docs.cloud.oracle.com/Content/Balance/Tasks/managingrulesets.htm).
26
+ #
27
+ # Your backend application must be able to handle the methods specified in this list.
28
+ #
29
+ # The list of HTTP methods is extensible. If you need to configure custom HTTP methods, contact
30
+ # [My Oracle Support](http://support.oracle.com/) to remove the restriction for your tenancy.
31
+ #
32
+ # Example: [\"GET\", \"PUT\", \"POST\", \"PROPFIND\"]
33
+ #
34
+ # @return [Array<String>]
35
+ attr_accessor :allowed_methods
36
+
37
+ # The HTTP status code to return when the requested HTTP method is not in the list of allowed methods.
38
+ # The associated status line returned with the code is mapped from the standard HTTP specification. The
39
+ # default value is `405 (Method Not Allowed)`.
40
+ #
41
+ # Example: 403
42
+ #
43
+ # @return [Integer]
44
+ attr_accessor :status_code
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ # rubocop:disable Style/SymbolLiteral
50
+ 'action': :'action',
51
+ 'allowed_methods': :'allowedMethods',
52
+ 'status_code': :'statusCode'
53
+ # rubocop:enable Style/SymbolLiteral
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.swagger_types
59
+ {
60
+ # rubocop:disable Style/SymbolLiteral
61
+ 'action': :'String',
62
+ 'allowed_methods': :'Array<String>',
63
+ 'status_code': :'Integer'
64
+ # rubocop:enable Style/SymbolLiteral
65
+ }
66
+ end
67
+
68
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
69
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
70
+
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ # @option attributes [Array<String>] :allowed_methods The value to assign to the {#allowed_methods} property
75
+ # @option attributes [Integer] :status_code The value to assign to the {#status_code} property
76
+ def initialize(attributes = {})
77
+ return unless attributes.is_a?(Hash)
78
+
79
+ attributes['action'] = 'CONTROL_ACCESS_USING_HTTP_METHODS'
80
+
81
+ super(attributes)
82
+
83
+ # convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
85
+
86
+ self.allowed_methods = attributes[:'allowedMethods'] if attributes[:'allowedMethods']
87
+
88
+ raise 'You cannot provide both :allowedMethods and :allowed_methods' if attributes.key?(:'allowedMethods') && attributes.key?(:'allowed_methods')
89
+
90
+ self.allowed_methods = attributes[:'allowed_methods'] if attributes[:'allowed_methods']
91
+
92
+ self.status_code = attributes[:'statusCode'] if attributes[:'statusCode']
93
+ self.status_code = 405 if status_code.nil? && !attributes.key?(:'statusCode') # rubocop:disable Style/StringLiterals
94
+
95
+ raise 'You cannot provide both :statusCode and :status_code' if attributes.key?(:'statusCode') && attributes.key?(:'status_code')
96
+
97
+ self.status_code = attributes[:'status_code'] if attributes[:'status_code']
98
+ self.status_code = 405 if status_code.nil? && !attributes.key?(:'statusCode') && !attributes.key?(:'status_code') # rubocop:disable Style/StringLiterals
99
+ end
100
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
101
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
102
+
103
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
104
+
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param [Object] other the other object to be compared
108
+ def ==(other)
109
+ return true if equal?(other)
110
+
111
+ self.class == other.class &&
112
+ action == other.action &&
113
+ allowed_methods == other.allowed_methods &&
114
+ status_code == other.status_code
115
+ end
116
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
117
+
118
+ # @see the `==` method
119
+ # @param [Object] other the other object to be compared
120
+ def eql?(other)
121
+ self == other
122
+ end
123
+
124
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
125
+
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Fixnum] Hash code
129
+ def hash
130
+ [action, allowed_methods, status_code].hash
131
+ end
132
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
133
+
134
+ # rubocop:disable Metrics/AbcSize, Layout/EmptyLines
135
+
136
+
137
+ # Builds the object from hash
138
+ # @param [Hash] attributes Model attributes in the form of hash
139
+ # @return [Object] Returns the model itself
140
+ def build_from_hash(attributes)
141
+ return nil unless attributes.is_a?(Hash)
142
+
143
+ self.class.swagger_types.each_pair do |key, type|
144
+ if type =~ /^Array<(.*)>/i
145
+ # check to ensure the input is an array given that the the attribute
146
+ # is documented as an array but the input is not
147
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
148
+ public_method("#{key}=").call(
149
+ attributes[self.class.attribute_map[key]]
150
+ .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) }
151
+ )
152
+ end
153
+ elsif !attributes[self.class.attribute_map[key]].nil?
154
+ public_method("#{key}=").call(
155
+ OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]])
156
+ )
157
+ end
158
+ # or else data not found in attributes(hash), not an issue as the data can be optional
159
+ end
160
+
161
+ self
162
+ end
163
+ # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # Returns the object in the form of hash
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_hash
174
+ hash = {}
175
+ self.class.attribute_map.each_pair do |attr, param|
176
+ value = public_method(attr).call
177
+ next if value.nil? && !instance_variable_defined?("@#{attr}")
178
+
179
+ hash[param] = _to_hash(value)
180
+ end
181
+ hash
182
+ end
183
+
184
+ private
185
+
186
+ # Outputs non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ # @param [Object] value Any valid value
189
+ # @return [Hash] Returns the value in the form of hash
190
+ def _to_hash(value)
191
+ if value.is_a?(Array)
192
+ value.compact.map { |v| _to_hash(v) }
193
+ elsif value.is_a?(Hash)
194
+ {}.tap do |hash|
195
+ value.each { |k, v| hash[k] = _to_hash(v) }
196
+ end
197
+ elsif value.respond_to? :to_hash
198
+ value.to_hash
199
+ else
200
+ value
201
+ end
202
+ end
203
+ end
204
+ end
205
+ # 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::CreateBackendSetDetails
@@ -42,6 +46,9 @@ module OCI
42
46
  # @return [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails]
43
47
  attr_accessor :session_persistence_configuration
44
48
 
49
+ # @return [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails]
50
+ attr_accessor :lb_cookie_session_persistence_configuration
51
+
45
52
  # Attribute mapping from ruby-style variable name to JSON key.
46
53
  def self.attribute_map
47
54
  {
@@ -51,7 +58,8 @@ module OCI
51
58
  'backends': :'backends',
52
59
  'health_checker': :'healthChecker',
53
60
  'ssl_configuration': :'sslConfiguration',
54
- 'session_persistence_configuration': :'sessionPersistenceConfiguration'
61
+ 'session_persistence_configuration': :'sessionPersistenceConfiguration',
62
+ 'lb_cookie_session_persistence_configuration': :'lbCookieSessionPersistenceConfiguration'
55
63
  # rubocop:enable Style/SymbolLiteral
56
64
  }
57
65
  end
@@ -65,7 +73,8 @@ module OCI
65
73
  'backends': :'Array<OCI::LoadBalancer::Models::BackendDetails>',
66
74
  'health_checker': :'OCI::LoadBalancer::Models::HealthCheckerDetails',
67
75
  'ssl_configuration': :'OCI::LoadBalancer::Models::SSLConfigurationDetails',
68
- 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails'
76
+ 'session_persistence_configuration': :'OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails',
77
+ 'lb_cookie_session_persistence_configuration': :'OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails'
69
78
  # rubocop:enable Style/SymbolLiteral
70
79
  }
71
80
  end
@@ -82,6 +91,7 @@ module OCI
82
91
  # @option attributes [OCI::LoadBalancer::Models::HealthCheckerDetails] :health_checker The value to assign to the {#health_checker} property
83
92
  # @option attributes [OCI::LoadBalancer::Models::SSLConfigurationDetails] :ssl_configuration The value to assign to the {#ssl_configuration} property
84
93
  # @option attributes [OCI::LoadBalancer::Models::SessionPersistenceConfigurationDetails] :session_persistence_configuration The value to assign to the {#session_persistence_configuration} property
94
+ # @option attributes [OCI::LoadBalancer::Models::LBCookieSessionPersistenceConfigurationDetails] :lb_cookie_session_persistence_configuration The value to assign to the {#lb_cookie_session_persistence_configuration} property
85
95
  def initialize(attributes = {})
86
96
  return unless attributes.is_a?(Hash)
87
97
 
@@ -111,6 +121,12 @@ module OCI
111
121
  raise 'You cannot provide both :sessionPersistenceConfiguration and :session_persistence_configuration' if attributes.key?(:'sessionPersistenceConfiguration') && attributes.key?(:'session_persistence_configuration')
112
122
 
113
123
  self.session_persistence_configuration = attributes[:'session_persistence_configuration'] if attributes[:'session_persistence_configuration']
124
+
125
+ self.lb_cookie_session_persistence_configuration = attributes[:'lbCookieSessionPersistenceConfiguration'] if attributes[:'lbCookieSessionPersistenceConfiguration']
126
+
127
+ raise 'You cannot provide both :lbCookieSessionPersistenceConfiguration and :lb_cookie_session_persistence_configuration' if attributes.key?(:'lbCookieSessionPersistenceConfiguration') && attributes.key?(:'lb_cookie_session_persistence_configuration')
128
+
129
+ self.lb_cookie_session_persistence_configuration = attributes[:'lb_cookie_session_persistence_configuration'] if attributes[:'lb_cookie_session_persistence_configuration']
114
130
  end
115
131
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
116
132
  # rubocop:enable Metrics/MethodLength, Layout/EmptyLines, Style/SymbolLiteral
@@ -129,7 +145,8 @@ module OCI
129
145
  backends == other.backends &&
130
146
  health_checker == other.health_checker &&
131
147
  ssl_configuration == other.ssl_configuration &&
132
- session_persistence_configuration == other.session_persistence_configuration
148
+ session_persistence_configuration == other.session_persistence_configuration &&
149
+ lb_cookie_session_persistence_configuration == other.lb_cookie_session_persistence_configuration
133
150
  end
134
151
  # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity, Layout/EmptyLines
135
152
 
@@ -145,7 +162,7 @@ module OCI
145
162
  # Calculates hash code according to all attributes.
146
163
  # @return [Fixnum] Hash code
147
164
  def hash
148
- [name, policy, backends, health_checker, ssl_configuration, session_persistence_configuration].hash
165
+ [name, policy, backends, health_checker, ssl_configuration, session_persistence_configuration, lb_cookie_session_persistence_configuration].hash
149
166
  end
150
167
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
151
168