oci 2.5.11 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/oci.rb +1 -0
  4. data/lib/oci/auth/federation_client.rb +2 -1
  5. data/lib/oci/auth/signers/instance_principals_security_token_signer.rb +6 -1
  6. data/lib/oci/auth/url_based_certificate_retriever.rb +6 -2
  7. data/lib/oci/auth/util.rb +18 -0
  8. data/lib/oci/core/compute_client.rb +730 -48
  9. data/lib/oci/core/compute_client_composite_operations.rb +119 -0
  10. data/lib/oci/core/compute_management_client.rb +11 -4
  11. data/lib/oci/core/core.rb +13 -0
  12. data/lib/oci/core/models/add_security_rule_details.rb +4 -2
  13. data/lib/oci/core/models/attach_vnic_details.rb +1 -0
  14. data/lib/oci/core/models/capture_console_history_details.rb +1 -0
  15. data/lib/oci/core/models/change_dedicated_vm_host_compartment_details.rb +155 -0
  16. data/lib/oci/core/models/change_dhcp_options_compartment_details.rb +155 -0
  17. data/lib/oci/core/models/change_internet_gateway_compartment_details.rb +155 -0
  18. data/lib/oci/core/models/change_local_peering_gateway_compartment_details.rb +155 -0
  19. data/lib/oci/core/models/change_network_security_group_compartment_details.rb +155 -0
  20. data/lib/oci/core/models/change_public_ip_compartment_details.rb +155 -0
  21. data/lib/oci/core/models/create_dedicated_vm_host_details.rb +262 -0
  22. data/lib/oci/core/models/create_drg_attachment_details.rb +4 -2
  23. data/lib/oci/core/models/create_image_details.rb +1 -1
  24. data/lib/oci/core/models/create_instance_configuration_base.rb +16 -6
  25. data/lib/oci/core/models/create_instance_configuration_details.rb +1 -1
  26. data/lib/oci/core/models/create_instance_configuration_from_instance_details.rb +3 -2
  27. data/lib/oci/core/models/create_instance_pool_details.rb +3 -1
  28. data/lib/oci/core/models/create_local_peering_gateway_details.rb +1 -1
  29. data/lib/oci/core/models/create_service_gateway_details.rb +1 -1
  30. data/lib/oci/core/models/create_volume_group_backup_details.rb +3 -1
  31. data/lib/oci/core/models/create_volume_group_details.rb +1 -1
  32. data/lib/oci/core/models/cross_connect_mapping.rb +4 -0
  33. data/lib/oci/core/models/dedicated_vm_host.rb +359 -0
  34. data/lib/oci/core/models/dedicated_vm_host_instance_shape_summary.rb +170 -0
  35. data/lib/oci/core/models/dedicated_vm_host_instance_summary.rb +215 -0
  36. data/lib/oci/core/models/dedicated_vm_host_shape_summary.rb +171 -0
  37. data/lib/oci/core/models/dedicated_vm_host_summary.rb +325 -0
  38. data/lib/oci/core/models/drg_attachment.rb +6 -3
  39. data/lib/oci/core/models/egress_security_rule.rb +1 -0
  40. data/lib/oci/core/models/image.rb +2 -0
  41. data/lib/oci/core/models/ingress_security_rule.rb +2 -1
  42. data/lib/oci/core/models/instance.rb +16 -1
  43. data/lib/oci/core/models/instance_configuration.rb +10 -7
  44. data/lib/oci/core/models/ipv6.rb +2 -0
  45. data/lib/oci/core/models/launch_instance_details.rb +16 -1
  46. data/lib/oci/core/models/launch_options.rb +3 -2
  47. data/lib/oci/core/models/local_peering_gateway.rb +4 -3
  48. data/lib/oci/core/models/route_rule.rb +2 -1
  49. data/lib/oci/core/models/security_rule.rb +3 -1
  50. data/lib/oci/core/models/service_gateway.rb +4 -3
  51. data/lib/oci/core/models/subnet.rb +2 -1
  52. data/lib/oci/core/models/update_console_history_details.rb +1 -0
  53. data/lib/oci/core/models/update_dedicated_vm_host_details.rb +194 -0
  54. data/lib/oci/core/models/update_drg_attachment_details.rb +6 -3
  55. data/lib/oci/core/models/update_instance_pool_details.rb +3 -1
  56. data/lib/oci/core/models/update_local_peering_gateway_details.rb +4 -3
  57. data/lib/oci/core/models/update_network_security_group_details.rb +2 -0
  58. data/lib/oci/core/models/update_security_rule_details.rb +4 -2
  59. data/lib/oci/core/models/update_service_gateway_details.rb +4 -3
  60. data/lib/oci/core/models/update_vnic_details.rb +2 -0
  61. data/lib/oci/core/models/update_volume_backup_details.rb +1 -1
  62. data/lib/oci/core/models/update_volume_group_backup_details.rb +2 -1
  63. data/lib/oci/core/models/update_volume_group_details.rb +2 -1
  64. data/lib/oci/core/models/vcn.rb +2 -1
  65. data/lib/oci/core/models/volume_backup_schedule.rb +1 -1
  66. data/lib/oci/core/virtual_network_client.rb +396 -59
  67. data/lib/oci/dts/dts.rb +57 -0
  68. data/lib/oci/dts/models/attach_devices_details.rb +153 -0
  69. data/lib/oci/dts/models/change_transfer_job_compartment_details.rb +154 -0
  70. data/lib/oci/dts/models/create_transfer_appliance_details.rb +152 -0
  71. data/lib/oci/dts/models/create_transfer_appliance_entitlement_details.rb +178 -0
  72. data/lib/oci/dts/models/create_transfer_device_details.rb +165 -0
  73. data/lib/oci/dts/models/create_transfer_job_details.rb +238 -0
  74. data/lib/oci/dts/models/create_transfer_package_details.rb +178 -0
  75. data/lib/oci/dts/models/detach_devices_details.rb +153 -0
  76. data/lib/oci/dts/models/multiple_transfer_appliances.rb +153 -0
  77. data/lib/oci/dts/models/multiple_transfer_devices.rb +153 -0
  78. data/lib/oci/dts/models/multiple_transfer_packages.rb +153 -0
  79. data/lib/oci/dts/models/new_transfer_device.rb +246 -0
  80. data/lib/oci/dts/models/shipping_address.rb +263 -0
  81. data/lib/oci/dts/models/shipping_vendors.rb +149 -0
  82. data/lib/oci/dts/models/transfer_appliance.rb +367 -0
  83. data/lib/oci/dts/models/transfer_appliance_certificate.rb +148 -0
  84. data/lib/oci/dts/models/transfer_appliance_encryption_passphrase.rb +152 -0
  85. data/lib/oci/dts/models/transfer_appliance_entitlement.rb +240 -0
  86. data/lib/oci/dts/models/transfer_appliance_public_key.rb +152 -0
  87. data/lib/oci/dts/models/transfer_appliance_summary.rb +223 -0
  88. data/lib/oci/dts/models/transfer_device.rb +268 -0
  89. data/lib/oci/dts/models/transfer_device_summary.rb +254 -0
  90. data/lib/oci/dts/models/transfer_job.rb +356 -0
  91. data/lib/oci/dts/models/transfer_job_summary.rb +296 -0
  92. data/lib/oci/dts/models/transfer_package.rb +281 -0
  93. data/lib/oci/dts/models/transfer_package_summary.rb +201 -0
  94. data/lib/oci/dts/models/update_transfer_appliance_details.rb +180 -0
  95. data/lib/oci/dts/models/update_transfer_device_details.rb +166 -0
  96. data/lib/oci/dts/models/update_transfer_job_details.rb +237 -0
  97. data/lib/oci/dts/models/update_transfer_package_details.rb +204 -0
  98. data/lib/oci/dts/shipping_vendors_client.rb +165 -0
  99. data/lib/oci/dts/shipping_vendors_client_composite_operations.rb +24 -0
  100. data/lib/oci/dts/transfer_appliance_client.rb +569 -0
  101. data/lib/oci/dts/transfer_appliance_client_composite_operations.rb +104 -0
  102. data/lib/oci/dts/transfer_appliance_entitlement_client.rb +223 -0
  103. data/lib/oci/dts/transfer_appliance_entitlement_client_composite_operations.rb +24 -0
  104. data/lib/oci/dts/transfer_device_client.rb +402 -0
  105. data/lib/oci/dts/transfer_device_client_composite_operations.rb +65 -0
  106. data/lib/oci/dts/transfer_job_client.rb +458 -0
  107. data/lib/oci/dts/transfer_job_client_composite_operations.rb +143 -0
  108. data/lib/oci/dts/transfer_package_client.rb +515 -0
  109. data/lib/oci/dts/transfer_package_client_composite_operations.rb +104 -0
  110. data/lib/oci/dts/util.rb +2 -0
  111. data/lib/oci/file_storage/models/create_file_system_details.rb +19 -4
  112. data/lib/oci/file_storage/models/file_system.rb +19 -4
  113. data/lib/oci/file_storage/models/file_system_summary.rb +19 -4
  114. data/lib/oci/file_storage/models/update_file_system_details.rb +22 -4
  115. data/lib/oci/limits/limits.rb +5 -0
  116. data/lib/oci/limits/limits_client.rb +444 -0
  117. data/lib/oci/limits/limits_client_composite_operations.rb +24 -0
  118. data/lib/oci/limits/models/create_quota_details.rb +1 -1
  119. data/lib/oci/limits/models/limit_definition_summary.rb +241 -0
  120. data/lib/oci/limits/models/limit_value_summary.rb +210 -0
  121. data/lib/oci/limits/models/quota.rb +1 -1
  122. data/lib/oci/limits/models/resource_availability.rb +163 -0
  123. data/lib/oci/limits/models/service_summary.rb +159 -0
  124. data/lib/oci/limits/models/update_quota_details.rb +1 -1
  125. data/lib/oci/limits/quotas_client.rb +12 -11
  126. data/lib/oci/monitoring/models/alarm.rb +20 -1
  127. data/lib/oci/monitoring/models/create_alarm_details.rb +20 -1
  128. data/lib/oci/monitoring/models/list_metrics_details.rb +23 -3
  129. data/lib/oci/monitoring/models/metric.rb +20 -1
  130. data/lib/oci/monitoring/models/metric_data.rb +20 -1
  131. data/lib/oci/monitoring/models/metric_data_details.rb +20 -1
  132. data/lib/oci/monitoring/models/summarize_metrics_data_details.rb +20 -1
  133. data/lib/oci/monitoring/models/update_alarm_details.rb +20 -1
  134. data/lib/oci/regions.rb +14 -8
  135. data/lib/oci/streaming/models/archiver.rb +291 -0
  136. data/lib/oci/streaming/models/archiver_error.rb +159 -0
  137. data/lib/oci/streaming/models/archiver_lifecycle_state.rb +14 -0
  138. data/lib/oci/streaming/models/archiver_start_position.rb +10 -0
  139. data/lib/oci/streaming/models/create_archiver_details.rb +223 -0
  140. data/lib/oci/streaming/models/update_archiver_details.rb +222 -0
  141. data/lib/oci/streaming/stream_admin_client.rb +304 -0
  142. data/lib/oci/streaming/stream_admin_client_composite_operations.rb +162 -0
  143. data/lib/oci/streaming/streaming.rb +6 -0
  144. data/lib/oci/version.rb +1 -1
  145. data/lib/oci/waas/models/access_rule.rb +121 -4
  146. data/lib/oci/waas/models/access_rule_criteria.rb +12 -0
  147. data/lib/oci/waas/models/address_list.rb +289 -0
  148. data/lib/oci/waas/models/address_list_summary.rb +279 -0
  149. data/lib/oci/waas/models/caching_rule.rb +243 -0
  150. data/lib/oci/waas/models/caching_rule_criteria.rb +194 -0
  151. data/lib/oci/waas/models/caching_rule_summary.rb +246 -0
  152. data/lib/oci/waas/models/certificate.rb +22 -9
  153. data/lib/oci/waas/models/certificate_extensions.rb +3 -0
  154. data/lib/oci/waas/models/certificate_issuer_name.rb +225 -0
  155. data/lib/oci/waas/models/certificate_public_key_info.rb +4 -1
  156. data/lib/oci/waas/models/certificate_subject_name.rb +8 -1
  157. data/lib/oci/waas/models/certificate_summary.rb +10 -2
  158. data/lib/oci/waas/models/change_address_list_compartment_details.rb +154 -0
  159. data/lib/oci/waas/models/change_custom_protection_rule_compartment_details.rb +154 -0
  160. data/lib/oci/waas/models/create_address_list_details.rb +213 -0
  161. data/lib/oci/waas/models/create_certificate_details.rb +22 -3
  162. data/lib/oci/waas/models/create_custom_protection_rule_details.rb +251 -0
  163. data/lib/oci/waas/models/create_waas_policy_details.rb +26 -4
  164. data/lib/oci/waas/models/custom_protection_rule.rb +326 -0
  165. data/lib/oci/waas/models/custom_protection_rule_setting.rb +180 -0
  166. data/lib/oci/waas/models/custom_protection_rule_summary.rb +279 -0
  167. data/lib/oci/waas/models/origin_group.rb +149 -0
  168. data/lib/oci/waas/models/origin_group_origins.rb +159 -0
  169. data/lib/oci/waas/models/policy_config.rb +201 -4
  170. data/lib/oci/waas/models/protection_rule_exclusion.rb +2 -2
  171. data/lib/oci/waas/models/purge_cache.rb +149 -0
  172. data/lib/oci/waas/models/update_address_list_details.rb +199 -0
  173. data/lib/oci/waas/models/update_certificate_details.rb +10 -2
  174. data/lib/oci/waas/models/update_custom_protection_rule_details.rb +237 -0
  175. data/lib/oci/waas/models/update_waas_policy_details.rb +26 -4
  176. data/lib/oci/waas/models/waas_policy.rb +25 -3
  177. data/lib/oci/waas/models/waas_policy_custom_protection_rule_summary.rb +207 -0
  178. data/lib/oci/waas/models/waas_policy_summary.rb +10 -2
  179. data/lib/oci/waas/models/waf_config.rb +43 -1
  180. data/lib/oci/waas/models/waf_config_details.rb +43 -1
  181. data/lib/oci/waas/models/waf_log.rb +3 -3
  182. data/lib/oci/waas/models/work_request.rb +4 -1
  183. data/lib/oci/waas/models/work_request_operation_types.rb +4 -1
  184. data/lib/oci/waas/models/work_request_summary.rb +4 -1
  185. data/lib/oci/waas/waas.rb +19 -0
  186. data/lib/oci/waas/waas_client.rb +1147 -61
  187. data/lib/oci/waas/waas_client_composite_operations.rb +386 -0
  188. metadata +90 -2
@@ -43,11 +43,19 @@ module OCI
43
43
  # @return [DateTime]
44
44
  attr_accessor :time_created
45
45
 
46
- # A simple key-value pair without any defined schema.
46
+ # Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace.
47
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
48
+ #
49
+ # Example: `{\"Department\": \"Finance\"}`
50
+ #
47
51
  # @return [Hash<String, String>]
48
52
  attr_accessor :freeform_tags
49
53
 
50
- # A key-value pair with a defined schema that restricts the values of tags. These predefined keys are scoped to namespaces.
54
+ # Defined tags for this resource. Each key is predefined and scoped to a namespace.
55
+ # For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
56
+ #
57
+ # Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
58
+ #
51
59
  # @return [Hash<String, Hash<String, Object>>]
52
60
  attr_accessor :defined_tags
53
61
 
@@ -38,6 +38,18 @@ module OCI
38
38
  # @return [String]
39
39
  attr_accessor :origin
40
40
 
41
+ # A list of caching rules applied to the web application.
42
+ # @return [Array<OCI::Waas::Models::CachingRule>]
43
+ attr_accessor :caching_rules
44
+
45
+ # A list of the custom protection rule OCIDs and their actions.
46
+ # @return [Array<OCI::Waas::Models::CustomProtectionRuleSetting>]
47
+ attr_accessor :custom_protection_rules
48
+
49
+ # The list of origin group references that provide support for additional origin servers. A list of combined unique origin servers from `origin` and `originGroups` will be used.
50
+ # @return [Array<String>]
51
+ attr_accessor :origin_groups
52
+
41
53
  # A list of the protection rules and their details.
42
54
  # @return [Array<OCI::Waas::Models::ProtectionRule>]
43
55
  attr_accessor :protection_rules
@@ -66,6 +78,9 @@ module OCI
66
78
  'human_interaction_challenge': :'humanInteractionChallenge',
67
79
  'js_challenge': :'jsChallenge',
68
80
  'origin': :'origin',
81
+ 'caching_rules': :'cachingRules',
82
+ 'custom_protection_rules': :'customProtectionRules',
83
+ 'origin_groups': :'originGroups',
69
84
  'protection_rules': :'protectionRules',
70
85
  'protection_settings': :'protectionSettings',
71
86
  'threat_feeds': :'threatFeeds',
@@ -86,6 +101,9 @@ module OCI
86
101
  'human_interaction_challenge': :'OCI::Waas::Models::HumanInteractionChallenge',
87
102
  'js_challenge': :'OCI::Waas::Models::JsChallenge',
88
103
  'origin': :'String',
104
+ 'caching_rules': :'Array<OCI::Waas::Models::CachingRule>',
105
+ 'custom_protection_rules': :'Array<OCI::Waas::Models::CustomProtectionRuleSetting>',
106
+ 'origin_groups': :'Array<String>',
89
107
  'protection_rules': :'Array<OCI::Waas::Models::ProtectionRule>',
90
108
  'protection_settings': :'OCI::Waas::Models::ProtectionSettings',
91
109
  'threat_feeds': :'Array<OCI::Waas::Models::ThreatFeed>',
@@ -108,6 +126,9 @@ module OCI
108
126
  # @option attributes [OCI::Waas::Models::HumanInteractionChallenge] :human_interaction_challenge The value to assign to the {#human_interaction_challenge} property
109
127
  # @option attributes [OCI::Waas::Models::JsChallenge] :js_challenge The value to assign to the {#js_challenge} property
110
128
  # @option attributes [String] :origin The value to assign to the {#origin} property
129
+ # @option attributes [Array<OCI::Waas::Models::CachingRule>] :caching_rules The value to assign to the {#caching_rules} property
130
+ # @option attributes [Array<OCI::Waas::Models::CustomProtectionRuleSetting>] :custom_protection_rules The value to assign to the {#custom_protection_rules} property
131
+ # @option attributes [Array<String>] :origin_groups The value to assign to the {#origin_groups} property
111
132
  # @option attributes [Array<OCI::Waas::Models::ProtectionRule>] :protection_rules The value to assign to the {#protection_rules} property
112
133
  # @option attributes [OCI::Waas::Models::ProtectionSettings] :protection_settings The value to assign to the {#protection_settings} property
113
134
  # @option attributes [Array<OCI::Waas::Models::ThreatFeed>] :threat_feeds The value to assign to the {#threat_feeds} property
@@ -158,6 +179,24 @@ module OCI
158
179
 
159
180
  self.origin = attributes[:'origin'] if attributes[:'origin']
160
181
 
182
+ self.caching_rules = attributes[:'cachingRules'] if attributes[:'cachingRules']
183
+
184
+ raise 'You cannot provide both :cachingRules and :caching_rules' if attributes.key?(:'cachingRules') && attributes.key?(:'caching_rules')
185
+
186
+ self.caching_rules = attributes[:'caching_rules'] if attributes[:'caching_rules']
187
+
188
+ self.custom_protection_rules = attributes[:'customProtectionRules'] if attributes[:'customProtectionRules']
189
+
190
+ raise 'You cannot provide both :customProtectionRules and :custom_protection_rules' if attributes.key?(:'customProtectionRules') && attributes.key?(:'custom_protection_rules')
191
+
192
+ self.custom_protection_rules = attributes[:'custom_protection_rules'] if attributes[:'custom_protection_rules']
193
+
194
+ self.origin_groups = attributes[:'originGroups'] if attributes[:'originGroups']
195
+
196
+ raise 'You cannot provide both :originGroups and :origin_groups' if attributes.key?(:'originGroups') && attributes.key?(:'origin_groups')
197
+
198
+ self.origin_groups = attributes[:'origin_groups'] if attributes[:'origin_groups']
199
+
161
200
  self.protection_rules = attributes[:'protectionRules'] if attributes[:'protectionRules']
162
201
 
163
202
  raise 'You cannot provide both :protectionRules and :protection_rules' if attributes.key?(:'protectionRules') && attributes.key?(:'protection_rules')
@@ -198,6 +237,9 @@ module OCI
198
237
  human_interaction_challenge == other.human_interaction_challenge &&
199
238
  js_challenge == other.js_challenge &&
200
239
  origin == other.origin &&
240
+ caching_rules == other.caching_rules &&
241
+ custom_protection_rules == other.custom_protection_rules &&
242
+ origin_groups == other.origin_groups &&
201
243
  protection_rules == other.protection_rules &&
202
244
  protection_settings == other.protection_settings &&
203
245
  threat_feeds == other.threat_feeds &&
@@ -217,7 +259,7 @@ module OCI
217
259
  # Calculates hash code according to all attributes.
218
260
  # @return [Fixnum] Hash code
219
261
  def hash
220
- [access_rules, address_rate_limiting, captchas, device_fingerprint_challenge, good_bots, human_interaction_challenge, js_challenge, origin, protection_rules, protection_settings, threat_feeds, whitelists].hash
262
+ [access_rules, address_rate_limiting, captchas, device_fingerprint_challenge, good_bots, human_interaction_challenge, js_challenge, origin, caching_rules, custom_protection_rules, origin_groups, protection_rules, protection_settings, threat_feeds, whitelists].hash
221
263
  end
222
264
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
223
265
 
@@ -34,6 +34,18 @@ module OCI
34
34
  # @return [String]
35
35
  attr_accessor :origin
36
36
 
37
+ # A list of caching rules applied to the web application.
38
+ # @return [Array<OCI::Waas::Models::CachingRule>]
39
+ attr_accessor :caching_rules
40
+
41
+ # A list of the custom protection rule OCIDs and their actions.
42
+ # @return [Array<OCI::Waas::Models::CustomProtectionRuleSetting>]
43
+ attr_accessor :custom_protection_rules
44
+
45
+ # The list of origin group references that provide support for additional origin servers. A list of combined unique origin servers from `origin` and `originGroups` will be used.
46
+ # @return [Array<String>]
47
+ attr_accessor :origin_groups
48
+
37
49
  # The settings applied to protection rules.
38
50
  # @return [OCI::Waas::Models::ProtectionSettings]
39
51
  attr_accessor :protection_settings
@@ -53,6 +65,9 @@ module OCI
53
65
  'human_interaction_challenge': :'humanInteractionChallenge',
54
66
  'js_challenge': :'jsChallenge',
55
67
  'origin': :'origin',
68
+ 'caching_rules': :'cachingRules',
69
+ 'custom_protection_rules': :'customProtectionRules',
70
+ 'origin_groups': :'originGroups',
56
71
  'protection_settings': :'protectionSettings',
57
72
  'whitelists': :'whitelists'
58
73
  # rubocop:enable Style/SymbolLiteral
@@ -70,6 +85,9 @@ module OCI
70
85
  'human_interaction_challenge': :'OCI::Waas::Models::HumanInteractionChallenge',
71
86
  'js_challenge': :'OCI::Waas::Models::JsChallenge',
72
87
  'origin': :'String',
88
+ 'caching_rules': :'Array<OCI::Waas::Models::CachingRule>',
89
+ 'custom_protection_rules': :'Array<OCI::Waas::Models::CustomProtectionRuleSetting>',
90
+ 'origin_groups': :'Array<String>',
73
91
  'protection_settings': :'OCI::Waas::Models::ProtectionSettings',
74
92
  'whitelists': :'Array<OCI::Waas::Models::Whitelist>'
75
93
  # rubocop:enable Style/SymbolLiteral
@@ -89,6 +107,9 @@ module OCI
89
107
  # @option attributes [OCI::Waas::Models::HumanInteractionChallenge] :human_interaction_challenge The value to assign to the {#human_interaction_challenge} property
90
108
  # @option attributes [OCI::Waas::Models::JsChallenge] :js_challenge The value to assign to the {#js_challenge} property
91
109
  # @option attributes [String] :origin The value to assign to the {#origin} property
110
+ # @option attributes [Array<OCI::Waas::Models::CachingRule>] :caching_rules The value to assign to the {#caching_rules} property
111
+ # @option attributes [Array<OCI::Waas::Models::CustomProtectionRuleSetting>] :custom_protection_rules The value to assign to the {#custom_protection_rules} property
112
+ # @option attributes [Array<String>] :origin_groups The value to assign to the {#origin_groups} property
92
113
  # @option attributes [OCI::Waas::Models::ProtectionSettings] :protection_settings The value to assign to the {#protection_settings} property
93
114
  # @option attributes [Array<OCI::Waas::Models::Whitelist>] :whitelists The value to assign to the {#whitelists} property
94
115
  def initialize(attributes = {})
@@ -131,6 +152,24 @@ module OCI
131
152
 
132
153
  self.origin = attributes[:'origin'] if attributes[:'origin']
133
154
 
155
+ self.caching_rules = attributes[:'cachingRules'] if attributes[:'cachingRules']
156
+
157
+ raise 'You cannot provide both :cachingRules and :caching_rules' if attributes.key?(:'cachingRules') && attributes.key?(:'caching_rules')
158
+
159
+ self.caching_rules = attributes[:'caching_rules'] if attributes[:'caching_rules']
160
+
161
+ self.custom_protection_rules = attributes[:'customProtectionRules'] if attributes[:'customProtectionRules']
162
+
163
+ raise 'You cannot provide both :customProtectionRules and :custom_protection_rules' if attributes.key?(:'customProtectionRules') && attributes.key?(:'custom_protection_rules')
164
+
165
+ self.custom_protection_rules = attributes[:'custom_protection_rules'] if attributes[:'custom_protection_rules']
166
+
167
+ self.origin_groups = attributes[:'originGroups'] if attributes[:'originGroups']
168
+
169
+ raise 'You cannot provide both :originGroups and :origin_groups' if attributes.key?(:'originGroups') && attributes.key?(:'origin_groups')
170
+
171
+ self.origin_groups = attributes[:'origin_groups'] if attributes[:'origin_groups']
172
+
134
173
  self.protection_settings = attributes[:'protectionSettings'] if attributes[:'protectionSettings']
135
174
 
136
175
  raise 'You cannot provide both :protectionSettings and :protection_settings' if attributes.key?(:'protectionSettings') && attributes.key?(:'protection_settings')
@@ -158,6 +197,9 @@ module OCI
158
197
  human_interaction_challenge == other.human_interaction_challenge &&
159
198
  js_challenge == other.js_challenge &&
160
199
  origin == other.origin &&
200
+ caching_rules == other.caching_rules &&
201
+ custom_protection_rules == other.custom_protection_rules &&
202
+ origin_groups == other.origin_groups &&
161
203
  protection_settings == other.protection_settings &&
162
204
  whitelists == other.whitelists
163
205
  end
@@ -175,7 +217,7 @@ module OCI
175
217
  # Calculates hash code according to all attributes.
176
218
  # @return [Fixnum] Hash code
177
219
  def hash
178
- [access_rules, address_rate_limiting, captchas, device_fingerprint_challenge, human_interaction_challenge, js_challenge, origin, protection_settings, whitelists].hash
220
+ [access_rules, address_rate_limiting, captchas, device_fingerprint_challenge, human_interaction_challenge, js_challenge, origin, caching_rules, custom_protection_rules, origin_groups, protection_settings, whitelists].hash
179
221
  end
180
222
  # rubocop:enable Metrics/AbcSize, Layout/EmptyLines
181
223
 
@@ -125,7 +125,7 @@ module OCI
125
125
 
126
126
  # The date and time the Web Application Firewall processed the request and logged it.
127
127
  #
128
- # @return [String]
128
+ # @return [DateTime]
129
129
  attr_accessor :timestamp
130
130
 
131
131
  # The type of log of the request. For more about log types, see [WAF Logs](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/waflogs.htm).
@@ -206,7 +206,7 @@ module OCI
206
206
  'threat_feed_key': :'String',
207
207
  'access_rule_key': :'String',
208
208
  'address_rate_limiting_key': :'String',
209
- 'timestamp': :'String',
209
+ 'timestamp': :'DateTime',
210
210
  'log_type': :'String',
211
211
  'origin_address': :'String',
212
212
  'origin_response_time': :'String'
@@ -244,7 +244,7 @@ module OCI
244
244
  # @option attributes [String] :threat_feed_key The value to assign to the {#threat_feed_key} property
245
245
  # @option attributes [String] :access_rule_key The value to assign to the {#access_rule_key} property
246
246
  # @option attributes [String] :address_rate_limiting_key The value to assign to the {#address_rate_limiting_key} property
247
- # @option attributes [String] :timestamp The value to assign to the {#timestamp} property
247
+ # @option attributes [DateTime] :timestamp The value to assign to the {#timestamp} property
248
248
  # @option attributes [String] :log_type The value to assign to the {#log_type} property
249
249
  # @option attributes [String] :origin_address The value to assign to the {#origin_address} property
250
250
  # @option attributes [String] :origin_response_time The value to assign to the {#origin_response_time} property
@@ -11,7 +11,10 @@ module OCI
11
11
  OPERATION_TYPE_CREATE_WAAS_POLICY = 'CREATE_WAAS_POLICY'.freeze,
12
12
  OPERATION_TYPE_UPDATE_WAAS_POLICY = 'UPDATE_WAAS_POLICY'.freeze,
13
13
  OPERATION_TYPE_DELETE_WAAS_POLICY = 'DELETE_WAAS_POLICY'.freeze,
14
- OPERATION_TYPE_PURGE_WAAS_POLICY = 'PURGE_WAAS_POLICY'.freeze,
14
+ OPERATION_TYPE_PURGE_WAAS_POLICY_CACHE = 'PURGE_WAAS_POLICY_CACHE'.freeze,
15
+ OPERATION_TYPE_CREATE_CUSTOM_PROTECTION_RULE = 'CREATE_CUSTOM_PROTECTION_RULE'.freeze,
16
+ OPERATION_TYPE_UPDATE_CUSTOM_PROTECTION_RULE = 'UPDATE_CUSTOM_PROTECTION_RULE'.freeze,
17
+ OPERATION_TYPE_DELETE_CUSTOM_PROTECTION_RULE = 'DELETE_CUSTOM_PROTECTION_RULE'.freeze,
15
18
  OPERATION_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
16
19
  ].freeze
17
20
 
@@ -6,7 +6,10 @@ module OCI
6
6
  WORK_REQUEST_OPERATION_TYPES_CREATE_WAAS_POLICY = 'CREATE_WAAS_POLICY'.freeze,
7
7
  WORK_REQUEST_OPERATION_TYPES_UPDATE_WAAS_POLICY = 'UPDATE_WAAS_POLICY'.freeze,
8
8
  WORK_REQUEST_OPERATION_TYPES_DELETE_WAAS_POLICY = 'DELETE_WAAS_POLICY'.freeze,
9
- WORK_REQUEST_OPERATION_TYPES_PURGE_WAAS_POLICY = 'PURGE_WAAS_POLICY'.freeze
9
+ WORK_REQUEST_OPERATION_TYPES_PURGE_WAAS_POLICY_CACHE = 'PURGE_WAAS_POLICY_CACHE'.freeze,
10
+ WORK_REQUEST_OPERATION_TYPES_CREATE_CUSTOM_PROTECTION_RULE = 'CREATE_CUSTOM_PROTECTION_RULE'.freeze,
11
+ WORK_REQUEST_OPERATION_TYPES_UPDATE_CUSTOM_PROTECTION_RULE = 'UPDATE_CUSTOM_PROTECTION_RULE'.freeze,
12
+ WORK_REQUEST_OPERATION_TYPES_DELETE_CUSTOM_PROTECTION_RULE = 'DELETE_CUSTOM_PROTECTION_RULE'.freeze
10
13
  ].freeze
11
14
  end
12
15
  end
@@ -11,7 +11,10 @@ module OCI
11
11
  OPERATION_TYPE_CREATE_WAAS_POLICY = 'CREATE_WAAS_POLICY'.freeze,
12
12
  OPERATION_TYPE_UPDATE_WAAS_POLICY = 'UPDATE_WAAS_POLICY'.freeze,
13
13
  OPERATION_TYPE_DELETE_WAAS_POLICY = 'DELETE_WAAS_POLICY'.freeze,
14
- OPERATION_TYPE_PURGE_WAAS_POLICY = 'PURGE_WAAS_POLICY'.freeze,
14
+ OPERATION_TYPE_PURGE_WAAS_POLICY_CACHE = 'PURGE_WAAS_POLICY_CACHE'.freeze,
15
+ OPERATION_TYPE_CREATE_CUSTOM_PROTECTION_RULE = 'CREATE_CUSTOM_PROTECTION_RULE'.freeze,
16
+ OPERATION_TYPE_UPDATE_CUSTOM_PROTECTION_RULE = 'UPDATE_CUSTOM_PROTECTION_RULE'.freeze,
17
+ OPERATION_TYPE_DELETE_CUSTOM_PROTECTION_RULE = 'DELETE_CUSTOM_PROTECTION_RULE'.freeze,
15
18
  OPERATION_TYPE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze
16
19
  ].freeze
17
20
 
@@ -12,18 +12,31 @@ end
12
12
  # Require models
13
13
  require 'oci/waas/models/access_rule'
14
14
  require 'oci/waas/models/access_rule_criteria'
15
+ require 'oci/waas/models/address_list'
16
+ require 'oci/waas/models/address_list_summary'
15
17
  require 'oci/waas/models/address_rate_limiting'
16
18
  require 'oci/waas/models/block_challenge_settings'
19
+ require 'oci/waas/models/caching_rule'
20
+ require 'oci/waas/models/caching_rule_criteria'
21
+ require 'oci/waas/models/caching_rule_summary'
17
22
  require 'oci/waas/models/captcha'
18
23
  require 'oci/waas/models/certificate'
19
24
  require 'oci/waas/models/certificate_extensions'
25
+ require 'oci/waas/models/certificate_issuer_name'
20
26
  require 'oci/waas/models/certificate_public_key_info'
21
27
  require 'oci/waas/models/certificate_subject_name'
22
28
  require 'oci/waas/models/certificate_summary'
29
+ require 'oci/waas/models/change_address_list_compartment_details'
23
30
  require 'oci/waas/models/change_certificate_compartment_details'
31
+ require 'oci/waas/models/change_custom_protection_rule_compartment_details'
24
32
  require 'oci/waas/models/change_waas_policy_compartment_details'
33
+ require 'oci/waas/models/create_address_list_details'
25
34
  require 'oci/waas/models/create_certificate_details'
35
+ require 'oci/waas/models/create_custom_protection_rule_details'
26
36
  require 'oci/waas/models/create_waas_policy_details'
37
+ require 'oci/waas/models/custom_protection_rule'
38
+ require 'oci/waas/models/custom_protection_rule_setting'
39
+ require 'oci/waas/models/custom_protection_rule_summary'
27
40
  require 'oci/waas/models/device_fingerprint_challenge'
28
41
  require 'oci/waas/models/edge_subnet'
29
42
  require 'oci/waas/models/good_bot'
@@ -32,17 +45,23 @@ require 'oci/waas/models/human_interaction_challenge'
32
45
  require 'oci/waas/models/js_challenge'
33
46
  require 'oci/waas/models/lifecycle_states'
34
47
  require 'oci/waas/models/origin'
48
+ require 'oci/waas/models/origin_group'
49
+ require 'oci/waas/models/origin_group_origins'
35
50
  require 'oci/waas/models/policy_config'
36
51
  require 'oci/waas/models/protection_rule'
37
52
  require 'oci/waas/models/protection_rule_action'
38
53
  require 'oci/waas/models/protection_rule_exclusion'
39
54
  require 'oci/waas/models/protection_settings'
55
+ require 'oci/waas/models/purge_cache'
40
56
  require 'oci/waas/models/recommendation'
41
57
  require 'oci/waas/models/threat_feed'
42
58
  require 'oci/waas/models/threat_feed_action'
59
+ require 'oci/waas/models/update_address_list_details'
43
60
  require 'oci/waas/models/update_certificate_details'
61
+ require 'oci/waas/models/update_custom_protection_rule_details'
44
62
  require 'oci/waas/models/update_waas_policy_details'
45
63
  require 'oci/waas/models/waas_policy'
64
+ require 'oci/waas/models/waas_policy_custom_protection_rule_summary'
46
65
  require 'oci/waas/models/waas_policy_summary'
47
66
  require 'oci/waas/models/waf_blocked_request'
48
67
  require 'oci/waas/models/waf_config'
@@ -94,7 +94,7 @@ module OCI
94
94
 
95
95
  raise 'A region must be specified.' unless @region
96
96
 
97
- @endpoint = OCI::Regions.get_service_endpoint(@region, :WaasClient) + '/20181116'
97
+ @endpoint = OCI::Regions.get_service_endpoint_for_template(@region, 'https://waas.{region}.{secondLevelDomain}') + '/20181116'
98
98
  logger.info "WaasClient endpoint set to '#{@endpoint} from region #{@region}'." if logger
99
99
  end
100
100
 
@@ -224,6 +224,66 @@ module OCI
224
224
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
225
225
 
226
226
 
227
+ # Moves address list into a different compartment. When provided, If-Match is checked against ETag values of the address list.
228
+ # @param [String] address_list_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the address list. This number is generated when the address list is added to the compartment.
229
+ # @param [OCI::Waas::Models::ChangeAddressListCompartmentDetails] change_address_list_compartment_details
230
+ # @param [Hash] opts the optional parameters
231
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
232
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
233
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
234
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
235
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
236
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
237
+ # @return [Response] A Response object with data of type nil
238
+ def change_address_list_compartment(address_list_id, change_address_list_compartment_details, opts = {})
239
+ logger.debug 'Calling operation WaasClient#change_address_list_compartment.' if logger
240
+
241
+ raise "Missing the required parameter 'address_list_id' when calling change_address_list_compartment." if address_list_id.nil?
242
+ raise "Missing the required parameter 'change_address_list_compartment_details' when calling change_address_list_compartment." if change_address_list_compartment_details.nil?
243
+ raise "Parameter value for 'address_list_id' must not be blank" if OCI::Internal::Util.blank_string?(address_list_id)
244
+
245
+ path = '/addressLists/{addressListId}/actions/changeCompartment'.sub('{addressListId}', address_list_id.to_s)
246
+ operation_signing_strategy = :standard
247
+
248
+ # rubocop:disable Style/NegatedIf
249
+ # Query Params
250
+ query_params = {}
251
+
252
+ # Header Params
253
+ header_params = {}
254
+ header_params[:accept] = 'application/json'
255
+ header_params[:'content-type'] = 'application/json'
256
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
257
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
258
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
259
+ # rubocop:enable Style/NegatedIf
260
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
261
+
262
+ post_body = @api_client.object_to_http_body(change_address_list_compartment_details)
263
+
264
+ # rubocop:disable Metrics/BlockLength
265
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#change_address_list_compartment') do
266
+ @api_client.call_api(
267
+ :POST,
268
+ path,
269
+ endpoint,
270
+ header_params: header_params,
271
+ query_params: query_params,
272
+ operation_signing_strategy: operation_signing_strategy,
273
+ body: post_body
274
+ )
275
+ end
276
+ # rubocop:enable Metrics/BlockLength
277
+ end
278
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
279
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
280
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
281
+
282
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
283
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
284
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
285
+
286
+
227
287
  # Moves certificate into a different compartment. When provided, If-Match is checked against ETag values of the certificate.
228
288
  # @param [String] certificate_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.
229
289
  # @param [OCI::Waas::Models::ChangeCertificateCompartmentDetails] change_certificate_compartment_details
@@ -284,6 +344,66 @@ module OCI
284
344
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
285
345
 
286
346
 
347
+ # Moves Custom Protection rule into a different compartment. When provided, If-Match is checked against ETag values of the Custom Protection rule.
348
+ # @param [String] custom_protection_rule_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule. This number is generated when the Custom Protection rule is added to the compartment.
349
+ # @param [OCI::Waas::Models::ChangeCustomProtectionRuleCompartmentDetails] change_custom_protection_rule_compartment_details
350
+ # @param [Hash] opts the optional parameters
351
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
352
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
353
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
354
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
355
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
356
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
357
+ # @return [Response] A Response object with data of type nil
358
+ def change_custom_protection_rule_compartment(custom_protection_rule_id, change_custom_protection_rule_compartment_details, opts = {})
359
+ logger.debug 'Calling operation WaasClient#change_custom_protection_rule_compartment.' if logger
360
+
361
+ raise "Missing the required parameter 'custom_protection_rule_id' when calling change_custom_protection_rule_compartment." if custom_protection_rule_id.nil?
362
+ raise "Missing the required parameter 'change_custom_protection_rule_compartment_details' when calling change_custom_protection_rule_compartment." if change_custom_protection_rule_compartment_details.nil?
363
+ raise "Parameter value for 'custom_protection_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(custom_protection_rule_id)
364
+
365
+ path = '/customProtectionRules/{customProtectionRuleId}/actions/changeCompartment'.sub('{customProtectionRuleId}', custom_protection_rule_id.to_s)
366
+ operation_signing_strategy = :standard
367
+
368
+ # rubocop:disable Style/NegatedIf
369
+ # Query Params
370
+ query_params = {}
371
+
372
+ # Header Params
373
+ header_params = {}
374
+ header_params[:accept] = 'application/json'
375
+ header_params[:'content-type'] = 'application/json'
376
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
377
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
378
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
379
+ # rubocop:enable Style/NegatedIf
380
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
381
+
382
+ post_body = @api_client.object_to_http_body(change_custom_protection_rule_compartment_details)
383
+
384
+ # rubocop:disable Metrics/BlockLength
385
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#change_custom_protection_rule_compartment') do
386
+ @api_client.call_api(
387
+ :POST,
388
+ path,
389
+ endpoint,
390
+ header_params: header_params,
391
+ query_params: query_params,
392
+ operation_signing_strategy: operation_signing_strategy,
393
+ body: post_body
394
+ )
395
+ end
396
+ # rubocop:enable Metrics/BlockLength
397
+ end
398
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
399
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
400
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
401
+
402
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
403
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
404
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
405
+
406
+
287
407
  # Moves WAAS policy into a different compartment. When provided, If-Match is checked against ETag values of the WAAS policy.
288
408
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
289
409
  # @param [OCI::Waas::Models::ChangeWaasPolicyCompartmentDetails] change_waas_policy_compartment_details
@@ -344,6 +464,63 @@ module OCI
344
464
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
345
465
 
346
466
 
467
+ # Creates an address list in set compartment and allows it to be used in a WAAS policy.
468
+ # For more information, see [WAF Settings](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafsettings.htm).
469
+ # @param [OCI::Waas::Models::CreateAddressListDetails] create_address_list_details The details of the address list resource to create.
470
+ # @param [Hash] opts the optional parameters
471
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
472
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
473
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
474
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
475
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
476
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::AddressList AddressList}
477
+ def create_address_list(create_address_list_details, opts = {})
478
+ logger.debug 'Calling operation WaasClient#create_address_list.' if logger
479
+
480
+ raise "Missing the required parameter 'create_address_list_details' when calling create_address_list." if create_address_list_details.nil?
481
+
482
+ path = '/addressLists'
483
+ operation_signing_strategy = :standard
484
+
485
+ # rubocop:disable Style/NegatedIf
486
+ # Query Params
487
+ query_params = {}
488
+
489
+ # Header Params
490
+ header_params = {}
491
+ header_params[:accept] = 'application/json'
492
+ header_params[:'content-type'] = 'application/json'
493
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
494
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
495
+ # rubocop:enable Style/NegatedIf
496
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
497
+
498
+ post_body = @api_client.object_to_http_body(create_address_list_details)
499
+
500
+ # rubocop:disable Metrics/BlockLength
501
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#create_address_list') do
502
+ @api_client.call_api(
503
+ :POST,
504
+ path,
505
+ endpoint,
506
+ header_params: header_params,
507
+ query_params: query_params,
508
+ operation_signing_strategy: operation_signing_strategy,
509
+ body: post_body,
510
+ return_type: 'OCI::Waas::Models::AddressList'
511
+ )
512
+ end
513
+ # rubocop:enable Metrics/BlockLength
514
+ end
515
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
516
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
517
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
518
+
519
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
520
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
521
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
522
+
523
+
347
524
  # Allows an SSL certificate to be added to a WAAS policy. The Web Application Firewall terminates SSL connections to inspect requests in runtime, and then re-encrypts requests before sending them to the origin for fulfillment.
348
525
  #
349
526
  # For more information, see [WAF Settings](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafsettings.htm).
@@ -402,6 +579,62 @@ module OCI
402
579
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
403
580
 
404
581
 
582
+ # Creates a new Custom Protection rule in the specified compartment.
583
+ # @param [OCI::Waas::Models::CreateCustomProtectionRuleDetails] create_custom_protection_rule_details The details of the Custom Protection rule.
584
+ # @param [Hash] opts the optional parameters
585
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
586
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
587
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
588
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
589
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
590
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::CustomProtectionRule CustomProtectionRule}
591
+ def create_custom_protection_rule(create_custom_protection_rule_details, opts = {})
592
+ logger.debug 'Calling operation WaasClient#create_custom_protection_rule.' if logger
593
+
594
+ raise "Missing the required parameter 'create_custom_protection_rule_details' when calling create_custom_protection_rule." if create_custom_protection_rule_details.nil?
595
+
596
+ path = '/customProtectionRules'
597
+ operation_signing_strategy = :standard
598
+
599
+ # rubocop:disable Style/NegatedIf
600
+ # Query Params
601
+ query_params = {}
602
+
603
+ # Header Params
604
+ header_params = {}
605
+ header_params[:accept] = 'application/json'
606
+ header_params[:'content-type'] = 'application/json'
607
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
608
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
609
+ # rubocop:enable Style/NegatedIf
610
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
611
+
612
+ post_body = @api_client.object_to_http_body(create_custom_protection_rule_details)
613
+
614
+ # rubocop:disable Metrics/BlockLength
615
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#create_custom_protection_rule') do
616
+ @api_client.call_api(
617
+ :POST,
618
+ path,
619
+ endpoint,
620
+ header_params: header_params,
621
+ query_params: query_params,
622
+ operation_signing_strategy: operation_signing_strategy,
623
+ body: post_body,
624
+ return_type: 'OCI::Waas::Models::CustomProtectionRule'
625
+ )
626
+ end
627
+ # rubocop:enable Metrics/BlockLength
628
+ end
629
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
630
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
631
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
632
+
633
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
634
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
635
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
636
+
637
+
405
638
  # Creates a new Web Application Acceleration and Security (WAAS) policy in the specified compartment. A WAAS policy must be established before creating Web Application Firewall (WAF) rules. To use WAF rules, your web application's origin servers must defined in the `WaasPolicy` schema.
406
639
  #
407
640
  # A domain name must be specified when creating a WAAS policy. The domain name should be different from the origins specified in your `WaasPolicy`. Once domain name is entered and stored, it is unchangeable.
@@ -469,6 +702,64 @@ module OCI
469
702
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
470
703
 
471
704
 
705
+ # Deletes the address list from the compartment if it is not used.
706
+ # @param [String] address_list_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the address list. This number is generated when the address list is added to the compartment.
707
+ # @param [Hash] opts the optional parameters
708
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
709
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
710
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
711
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
712
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
713
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
714
+ # @return [Response] A Response object with data of type nil
715
+ def delete_address_list(address_list_id, opts = {})
716
+ logger.debug 'Calling operation WaasClient#delete_address_list.' if logger
717
+
718
+ raise "Missing the required parameter 'address_list_id' when calling delete_address_list." if address_list_id.nil?
719
+ raise "Parameter value for 'address_list_id' must not be blank" if OCI::Internal::Util.blank_string?(address_list_id)
720
+
721
+ path = '/addressLists/{addressListId}'.sub('{addressListId}', address_list_id.to_s)
722
+ operation_signing_strategy = :standard
723
+
724
+ # rubocop:disable Style/NegatedIf
725
+ # Query Params
726
+ query_params = {}
727
+
728
+ # Header Params
729
+ header_params = {}
730
+ header_params[:accept] = 'application/json'
731
+ header_params[:'content-type'] = 'application/json'
732
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
733
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
734
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
735
+ # rubocop:enable Style/NegatedIf
736
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
737
+
738
+ post_body = nil
739
+
740
+ # rubocop:disable Metrics/BlockLength
741
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#delete_address_list') do
742
+ @api_client.call_api(
743
+ :DELETE,
744
+ path,
745
+ endpoint,
746
+ header_params: header_params,
747
+ query_params: query_params,
748
+ operation_signing_strategy: operation_signing_strategy,
749
+ body: post_body
750
+ )
751
+ end
752
+ # rubocop:enable Metrics/BlockLength
753
+ end
754
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
755
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
756
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
757
+
758
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
759
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
760
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
761
+
762
+
472
763
  # Deletes an SSL certificate from the WAAS service.
473
764
  # @param [String] certificate_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.
474
765
  # @param [Hash] opts the optional parameters
@@ -527,6 +818,64 @@ module OCI
527
818
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
528
819
 
529
820
 
821
+ # Deletes a Custom Protection rule.
822
+ # @param [String] custom_protection_rule_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule. This number is generated when the Custom Protection rule is added to the compartment.
823
+ # @param [Hash] opts the optional parameters
824
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
825
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
826
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
827
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
828
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
829
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
830
+ # @return [Response] A Response object with data of type nil
831
+ def delete_custom_protection_rule(custom_protection_rule_id, opts = {})
832
+ logger.debug 'Calling operation WaasClient#delete_custom_protection_rule.' if logger
833
+
834
+ raise "Missing the required parameter 'custom_protection_rule_id' when calling delete_custom_protection_rule." if custom_protection_rule_id.nil?
835
+ raise "Parameter value for 'custom_protection_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(custom_protection_rule_id)
836
+
837
+ path = '/customProtectionRules/{customProtectionRuleId}'.sub('{customProtectionRuleId}', custom_protection_rule_id.to_s)
838
+ operation_signing_strategy = :standard
839
+
840
+ # rubocop:disable Style/NegatedIf
841
+ # Query Params
842
+ query_params = {}
843
+
844
+ # Header Params
845
+ header_params = {}
846
+ header_params[:accept] = 'application/json'
847
+ header_params[:'content-type'] = 'application/json'
848
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
849
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
850
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
851
+ # rubocop:enable Style/NegatedIf
852
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
853
+
854
+ post_body = nil
855
+
856
+ # rubocop:disable Metrics/BlockLength
857
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#delete_custom_protection_rule') do
858
+ @api_client.call_api(
859
+ :DELETE,
860
+ path,
861
+ endpoint,
862
+ header_params: header_params,
863
+ query_params: query_params,
864
+ operation_signing_strategy: operation_signing_strategy,
865
+ body: post_body
866
+ )
867
+ end
868
+ # rubocop:enable Metrics/BlockLength
869
+ end
870
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
871
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
872
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
873
+
874
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
875
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
876
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
877
+
878
+
530
879
  # Deletes a policy.
531
880
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
532
881
  # @param [Hash] opts the optional parameters
@@ -585,6 +934,59 @@ module OCI
585
934
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
586
935
 
587
936
 
937
+ # Gets the details of an address list.
938
+ # @param [String] address_list_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the address list. This number is generated when the address list is added to the compartment.
939
+ # @param [Hash] opts the optional parameters
940
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
941
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
942
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
943
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::AddressList AddressList}
944
+ def get_address_list(address_list_id, opts = {})
945
+ logger.debug 'Calling operation WaasClient#get_address_list.' if logger
946
+
947
+ raise "Missing the required parameter 'address_list_id' when calling get_address_list." if address_list_id.nil?
948
+ raise "Parameter value for 'address_list_id' must not be blank" if OCI::Internal::Util.blank_string?(address_list_id)
949
+
950
+ path = '/addressLists/{addressListId}'.sub('{addressListId}', address_list_id.to_s)
951
+ operation_signing_strategy = :standard
952
+
953
+ # rubocop:disable Style/NegatedIf
954
+ # Query Params
955
+ query_params = {}
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
+ # rubocop:enable Style/NegatedIf
963
+
964
+ post_body = nil
965
+
966
+ # rubocop:disable Metrics/BlockLength
967
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_address_list') do
968
+ @api_client.call_api(
969
+ :GET,
970
+ path,
971
+ endpoint,
972
+ header_params: header_params,
973
+ query_params: query_params,
974
+ operation_signing_strategy: operation_signing_strategy,
975
+ body: post_body,
976
+ return_type: 'OCI::Waas::Models::AddressList'
977
+ )
978
+ end
979
+ # rubocop:enable Metrics/BlockLength
980
+ end
981
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
982
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
983
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
984
+
985
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
986
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
987
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
988
+
989
+
588
990
  # Gets the details of an SSL certificate.
589
991
  # @param [String] certificate_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.
590
992
  # @param [Hash] opts the optional parameters
@@ -638,6 +1040,59 @@ module OCI
638
1040
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
639
1041
 
640
1042
 
1043
+ # Gets the details of a Custom Protection rule.
1044
+ # @param [String] custom_protection_rule_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule. This number is generated when the Custom Protection rule is added to the compartment.
1045
+ # @param [Hash] opts the optional parameters
1046
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1047
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1048
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1049
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::CustomProtectionRule CustomProtectionRule}
1050
+ def get_custom_protection_rule(custom_protection_rule_id, opts = {})
1051
+ logger.debug 'Calling operation WaasClient#get_custom_protection_rule.' if logger
1052
+
1053
+ raise "Missing the required parameter 'custom_protection_rule_id' when calling get_custom_protection_rule." if custom_protection_rule_id.nil?
1054
+ raise "Parameter value for 'custom_protection_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(custom_protection_rule_id)
1055
+
1056
+ path = '/customProtectionRules/{customProtectionRuleId}'.sub('{customProtectionRuleId}', custom_protection_rule_id.to_s)
1057
+ operation_signing_strategy = :standard
1058
+
1059
+ # rubocop:disable Style/NegatedIf
1060
+ # Query Params
1061
+ query_params = {}
1062
+
1063
+ # Header Params
1064
+ header_params = {}
1065
+ header_params[:accept] = 'application/json'
1066
+ header_params[:'content-type'] = 'application/json'
1067
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
1068
+ # rubocop:enable Style/NegatedIf
1069
+
1070
+ post_body = nil
1071
+
1072
+ # rubocop:disable Metrics/BlockLength
1073
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_custom_protection_rule') do
1074
+ @api_client.call_api(
1075
+ :GET,
1076
+ path,
1077
+ endpoint,
1078
+ header_params: header_params,
1079
+ query_params: query_params,
1080
+ operation_signing_strategy: operation_signing_strategy,
1081
+ body: post_body,
1082
+ return_type: 'OCI::Waas::Models::CustomProtectionRule'
1083
+ )
1084
+ end
1085
+ # rubocop:enable Metrics/BlockLength
1086
+ end
1087
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1088
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
1089
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
1090
+
1091
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1092
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
1093
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1094
+
1095
+
641
1096
  # Gets the device fingerprint challenge settings in the Web Application Firewall configuration for a WAAS policy.
642
1097
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
643
1098
  # @param [Hash] opts the optional parameters
@@ -916,10 +1371,116 @@ module OCI
916
1371
  def get_protection_settings(waas_policy_id, opts = {})
917
1372
  logger.debug 'Calling operation WaasClient#get_protection_settings.' if logger
918
1373
 
919
- raise "Missing the required parameter 'waas_policy_id' when calling get_protection_settings." if waas_policy_id.nil?
1374
+ raise "Missing the required parameter 'waas_policy_id' when calling get_protection_settings." if waas_policy_id.nil?
1375
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
1376
+
1377
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/protectionSettings'.sub('{waasPolicyId}', waas_policy_id.to_s)
1378
+ operation_signing_strategy = :standard
1379
+
1380
+ # rubocop:disable Style/NegatedIf
1381
+ # Query Params
1382
+ query_params = {}
1383
+
1384
+ # Header Params
1385
+ header_params = {}
1386
+ header_params[:accept] = 'application/json'
1387
+ header_params[:'content-type'] = 'application/json'
1388
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
1389
+ # rubocop:enable Style/NegatedIf
1390
+
1391
+ post_body = nil
1392
+
1393
+ # rubocop:disable Metrics/BlockLength
1394
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_protection_settings') do
1395
+ @api_client.call_api(
1396
+ :GET,
1397
+ path,
1398
+ endpoint,
1399
+ header_params: header_params,
1400
+ query_params: query_params,
1401
+ operation_signing_strategy: operation_signing_strategy,
1402
+ body: post_body,
1403
+ return_type: 'OCI::Waas::Models::ProtectionSettings'
1404
+ )
1405
+ end
1406
+ # rubocop:enable Metrics/BlockLength
1407
+ end
1408
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1409
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
1410
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
1411
+
1412
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1413
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
1414
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1415
+
1416
+
1417
+ # Gets the details of a WAAS policy.
1418
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
1419
+ # @param [Hash] opts the optional parameters
1420
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1421
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1422
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1423
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::WaasPolicy WaasPolicy}
1424
+ def get_waas_policy(waas_policy_id, opts = {})
1425
+ logger.debug 'Calling operation WaasClient#get_waas_policy.' if logger
1426
+
1427
+ raise "Missing the required parameter 'waas_policy_id' when calling get_waas_policy." if waas_policy_id.nil?
1428
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
1429
+
1430
+ path = '/waasPolicies/{waasPolicyId}'.sub('{waasPolicyId}', waas_policy_id.to_s)
1431
+ operation_signing_strategy = :standard
1432
+
1433
+ # rubocop:disable Style/NegatedIf
1434
+ # Query Params
1435
+ query_params = {}
1436
+
1437
+ # Header Params
1438
+ header_params = {}
1439
+ header_params[:accept] = 'application/json'
1440
+ header_params[:'content-type'] = 'application/json'
1441
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
1442
+ # rubocop:enable Style/NegatedIf
1443
+
1444
+ post_body = nil
1445
+
1446
+ # rubocop:disable Metrics/BlockLength
1447
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waas_policy') do
1448
+ @api_client.call_api(
1449
+ :GET,
1450
+ path,
1451
+ endpoint,
1452
+ header_params: header_params,
1453
+ query_params: query_params,
1454
+ operation_signing_strategy: operation_signing_strategy,
1455
+ body: post_body,
1456
+ return_type: 'OCI::Waas::Models::WaasPolicy'
1457
+ )
1458
+ end
1459
+ # rubocop:enable Metrics/BlockLength
1460
+ end
1461
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1462
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
1463
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
1464
+
1465
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
1466
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
1467
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1468
+
1469
+
1470
+ # Gets the address rate limiting settings of the Web Application Firewall configuration for a WAAS policy.
1471
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
1472
+ # @param [Hash] opts the optional parameters
1473
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1474
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1475
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1476
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::AddressRateLimiting AddressRateLimiting}
1477
+ def get_waf_address_rate_limiting(waas_policy_id, opts = {})
1478
+ logger.debug 'Calling operation WaasClient#get_waf_address_rate_limiting.' if logger
1479
+
1480
+ raise "Missing the required parameter 'waas_policy_id' when calling get_waf_address_rate_limiting." if waas_policy_id.nil?
920
1481
  raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
921
1482
 
922
- path = '/waasPolicies/{waasPolicyId}/wafConfig/protectionSettings'.sub('{waasPolicyId}', waas_policy_id.to_s)
1483
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/addressRateLimiting'.sub('{waasPolicyId}', waas_policy_id.to_s)
923
1484
  operation_signing_strategy = :standard
924
1485
 
925
1486
  # rubocop:disable Style/NegatedIf
@@ -936,7 +1497,7 @@ module OCI
936
1497
  post_body = nil
937
1498
 
938
1499
  # rubocop:disable Metrics/BlockLength
939
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_protection_settings') do
1500
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waf_address_rate_limiting') do
940
1501
  @api_client.call_api(
941
1502
  :GET,
942
1503
  path,
@@ -945,7 +1506,7 @@ module OCI
945
1506
  query_params: query_params,
946
1507
  operation_signing_strategy: operation_signing_strategy,
947
1508
  body: post_body,
948
- return_type: 'OCI::Waas::Models::ProtectionSettings'
1509
+ return_type: 'OCI::Waas::Models::AddressRateLimiting'
949
1510
  )
950
1511
  end
951
1512
  # rubocop:enable Metrics/BlockLength
@@ -959,20 +1520,20 @@ module OCI
959
1520
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
960
1521
 
961
1522
 
962
- # Gets the details of a WAAS policy.
1523
+ # Gets the Web Application Firewall configuration details for a WAAS policy.
963
1524
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
964
1525
  # @param [Hash] opts the optional parameters
965
1526
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
966
1527
  # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
967
1528
  # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
968
- # @return [Response] A Response object with data of type {OCI::Waas::Models::WaasPolicy WaasPolicy}
969
- def get_waas_policy(waas_policy_id, opts = {})
970
- logger.debug 'Calling operation WaasClient#get_waas_policy.' if logger
1529
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::WafConfig WafConfig}
1530
+ def get_waf_config(waas_policy_id, opts = {})
1531
+ logger.debug 'Calling operation WaasClient#get_waf_config.' if logger
971
1532
 
972
- raise "Missing the required parameter 'waas_policy_id' when calling get_waas_policy." if waas_policy_id.nil?
1533
+ raise "Missing the required parameter 'waas_policy_id' when calling get_waf_config." if waas_policy_id.nil?
973
1534
  raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
974
1535
 
975
- path = '/waasPolicies/{waasPolicyId}'.sub('{waasPolicyId}', waas_policy_id.to_s)
1536
+ path = '/waasPolicies/{waasPolicyId}/wafConfig'.sub('{waasPolicyId}', waas_policy_id.to_s)
976
1537
  operation_signing_strategy = :standard
977
1538
 
978
1539
  # rubocop:disable Style/NegatedIf
@@ -989,7 +1550,7 @@ module OCI
989
1550
  post_body = nil
990
1551
 
991
1552
  # rubocop:disable Metrics/BlockLength
992
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waas_policy') do
1553
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waf_config') do
993
1554
  @api_client.call_api(
994
1555
  :GET,
995
1556
  path,
@@ -998,7 +1559,7 @@ module OCI
998
1559
  query_params: query_params,
999
1560
  operation_signing_strategy: operation_signing_strategy,
1000
1561
  body: post_body,
1001
- return_type: 'OCI::Waas::Models::WaasPolicy'
1562
+ return_type: 'OCI::Waas::Models::WafConfig'
1002
1563
  )
1003
1564
  end
1004
1565
  # rubocop:enable Metrics/BlockLength
@@ -1012,20 +1573,20 @@ module OCI
1012
1573
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1013
1574
 
1014
1575
 
1015
- # Gets the address rate limiting settings of the Web Application Firewall configuration for a WAAS policy.
1016
- # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
1576
+ # Gets the details of a specified work request.
1577
+ # @param [String] work_request_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request. This number is generated when work request is created.
1017
1578
  # @param [Hash] opts the optional parameters
1018
1579
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1019
1580
  # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1020
1581
  # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1021
- # @return [Response] A Response object with data of type {OCI::Waas::Models::AddressRateLimiting AddressRateLimiting}
1022
- def get_waf_address_rate_limiting(waas_policy_id, opts = {})
1023
- logger.debug 'Calling operation WaasClient#get_waf_address_rate_limiting.' if logger
1582
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::WorkRequest WorkRequest}
1583
+ def get_work_request(work_request_id, opts = {})
1584
+ logger.debug 'Calling operation WaasClient#get_work_request.' if logger
1024
1585
 
1025
- raise "Missing the required parameter 'waas_policy_id' when calling get_waf_address_rate_limiting." if waas_policy_id.nil?
1026
- raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
1586
+ raise "Missing the required parameter 'work_request_id' when calling get_work_request." if work_request_id.nil?
1587
+ raise "Parameter value for 'work_request_id' must not be blank" if OCI::Internal::Util.blank_string?(work_request_id)
1027
1588
 
1028
- path = '/waasPolicies/{waasPolicyId}/wafConfig/addressRateLimiting'.sub('{waasPolicyId}', waas_policy_id.to_s)
1589
+ path = '/workRequests/{workRequestId}'.sub('{workRequestId}', work_request_id.to_s)
1029
1590
  operation_signing_strategy = :standard
1030
1591
 
1031
1592
  # rubocop:disable Style/NegatedIf
@@ -1042,7 +1603,7 @@ module OCI
1042
1603
  post_body = nil
1043
1604
 
1044
1605
  # rubocop:disable Metrics/BlockLength
1045
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waf_address_rate_limiting') do
1606
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_work_request') do
1046
1607
  @api_client.call_api(
1047
1608
  :GET,
1048
1609
  path,
@@ -1051,7 +1612,7 @@ module OCI
1051
1612
  query_params: query_params,
1052
1613
  operation_signing_strategy: operation_signing_strategy,
1053
1614
  body: post_body,
1054
- return_type: 'OCI::Waas::Models::AddressRateLimiting'
1615
+ return_type: 'OCI::Waas::Models::WorkRequest'
1055
1616
  )
1056
1617
  end
1057
1618
  # rubocop:enable Metrics/BlockLength
@@ -1065,25 +1626,30 @@ module OCI
1065
1626
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1066
1627
 
1067
1628
 
1068
- # Gets the Web Application Firewall configuration details for a WAAS policy.
1629
+ # Gets the currently configured access rules for the Web Application Firewall configuration of a specified WAAS policy.
1630
+ # The order of the access rules is important. The rules will be checked in the order they are specified and the first matching rule will be used.
1069
1631
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
1070
1632
  # @param [Hash] opts the optional parameters
1071
1633
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1072
1634
  # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1073
1635
  # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1074
- # @return [Response] A Response object with data of type {OCI::Waas::Models::WafConfig WafConfig}
1075
- def get_waf_config(waas_policy_id, opts = {})
1076
- logger.debug 'Calling operation WaasClient#get_waf_config.' if logger
1636
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated call. In unspecified, defaults to `10`. (default to 10)
1637
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call.
1638
+ # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::AccessRule AccessRule}>
1639
+ def list_access_rules(waas_policy_id, opts = {})
1640
+ logger.debug 'Calling operation WaasClient#list_access_rules.' if logger
1077
1641
 
1078
- raise "Missing the required parameter 'waas_policy_id' when calling get_waf_config." if waas_policy_id.nil?
1642
+ raise "Missing the required parameter 'waas_policy_id' when calling list_access_rules." if waas_policy_id.nil?
1079
1643
  raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
1080
1644
 
1081
- path = '/waasPolicies/{waasPolicyId}/wafConfig'.sub('{waasPolicyId}', waas_policy_id.to_s)
1645
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/accessRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
1082
1646
  operation_signing_strategy = :standard
1083
1647
 
1084
1648
  # rubocop:disable Style/NegatedIf
1085
1649
  # Query Params
1086
1650
  query_params = {}
1651
+ query_params[:limit] = opts[:limit] if opts[:limit]
1652
+ query_params[:page] = opts[:page] if opts[:page]
1087
1653
 
1088
1654
  # Header Params
1089
1655
  header_params = {}
@@ -1095,7 +1661,7 @@ module OCI
1095
1661
  post_body = nil
1096
1662
 
1097
1663
  # rubocop:disable Metrics/BlockLength
1098
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_waf_config') do
1664
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_access_rules') do
1099
1665
  @api_client.call_api(
1100
1666
  :GET,
1101
1667
  path,
@@ -1104,7 +1670,7 @@ module OCI
1104
1670
  query_params: query_params,
1105
1671
  operation_signing_strategy: operation_signing_strategy,
1106
1672
  body: post_body,
1107
- return_type: 'OCI::Waas::Models::WafConfig'
1673
+ return_type: 'Array<OCI::Waas::Models::AccessRule>'
1108
1674
  )
1109
1675
  end
1110
1676
  # rubocop:enable Metrics/BlockLength
@@ -1118,25 +1684,64 @@ module OCI
1118
1684
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1119
1685
 
1120
1686
 
1121
- # Gets the details of a specified work request.
1122
- # @param [String] work_request_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the work request. This number is generated when work request is created.
1687
+ # Gets a list of address lists that can be used in a WAAS policy.
1688
+ # @param [String] compartment_id The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. This number is generated when the compartment is created.
1123
1689
  # @param [Hash] opts the optional parameters
1124
1690
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1125
1691
  # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1126
1692
  # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1127
- # @return [Response] A Response object with data of type {OCI::Waas::Models::WorkRequest WorkRequest}
1128
- def get_work_request(work_request_id, opts = {})
1129
- logger.debug 'Calling operation WaasClient#get_work_request.' if logger
1693
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated call. In unspecified, defaults to `10`. (default to 10)
1694
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call.
1695
+ # @option opts [String] :sort_by The value by which address lists are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
1696
+ # Allowed values are: id, name, timeCreated
1697
+ # @option opts [String] :sort_order The value of the sorting direction of resources in a paginated 'List' call. If unspecified, defaults to `DESC`.
1698
+ # Allowed values are: ASC, DESC
1699
+ # @option opts [Array<String>] :id Filter address lists using a list of address lists OCIDs.
1700
+ # @option opts [Array<String>] :name Filter address lists using a list of names.
1701
+ # @option opts [Array<String>] :lifecycle_state Filter address lists using a list of lifecycle states.
1702
+ # Allowed values are: CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED
1703
+ # @option opts [DateTime] :time_created_greater_than_or_equal_to A filter that matches address lists created on or after the specified date-time.
1704
+ # @option opts [DateTime] :time_created_less_than A filter that matches address lists created before the specified date-time.
1705
+ # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::AddressListSummary AddressListSummary}>
1706
+ def list_address_lists(compartment_id, opts = {})
1707
+ logger.debug 'Calling operation WaasClient#list_address_lists.' if logger
1708
+
1709
+ raise "Missing the required parameter 'compartment_id' when calling list_address_lists." if compartment_id.nil?
1710
+
1711
+ if opts[:sort_by] && !%w[id name timeCreated].include?(opts[:sort_by])
1712
+ raise 'Invalid value for "sort_by", must be one of id, name, timeCreated.'
1713
+ end
1130
1714
 
1131
- raise "Missing the required parameter 'work_request_id' when calling get_work_request." if work_request_id.nil?
1132
- raise "Parameter value for 'work_request_id' must not be blank" if OCI::Internal::Util.blank_string?(work_request_id)
1715
+ if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
1716
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
1717
+ end
1133
1718
 
1134
- path = '/workRequests/{workRequestId}'.sub('{workRequestId}', work_request_id.to_s)
1719
+
1720
+ lifecycle_state_allowable_values = %w[CREATING ACTIVE FAILED UPDATING DELETING DELETED]
1721
+ if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
1722
+ opts[:lifecycle_state].each do |val_to_check|
1723
+ unless lifecycle_state_allowable_values.include?(val_to_check)
1724
+ raise 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED.'
1725
+ end
1726
+ end
1727
+ end
1728
+
1729
+ path = '/addressLists'
1135
1730
  operation_signing_strategy = :standard
1136
1731
 
1137
1732
  # rubocop:disable Style/NegatedIf
1138
1733
  # Query Params
1139
1734
  query_params = {}
1735
+ query_params[:compartmentId] = compartment_id
1736
+ query_params[:limit] = opts[:limit] if opts[:limit]
1737
+ query_params[:page] = opts[:page] if opts[:page]
1738
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
1739
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
1740
+ query_params[:id] = OCI::ApiClient.build_collection_params(opts[:id], :multi) if opts[:id] && !opts[:id].empty?
1741
+ query_params[:name] = OCI::ApiClient.build_collection_params(opts[:name], :multi) if opts[:name] && !opts[:name].empty?
1742
+ query_params[:lifecycleState] = OCI::ApiClient.build_collection_params(opts[:lifecycle_state], :multi) if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
1743
+ query_params[:timeCreatedGreaterThanOrEqualTo] = opts[:time_created_greater_than_or_equal_to] if opts[:time_created_greater_than_or_equal_to]
1744
+ query_params[:timeCreatedLessThan] = opts[:time_created_less_than] if opts[:time_created_less_than]
1140
1745
 
1141
1746
  # Header Params
1142
1747
  header_params = {}
@@ -1148,7 +1753,7 @@ module OCI
1148
1753
  post_body = nil
1149
1754
 
1150
1755
  # rubocop:disable Metrics/BlockLength
1151
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#get_work_request') do
1756
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_address_lists') do
1152
1757
  @api_client.call_api(
1153
1758
  :GET,
1154
1759
  path,
@@ -1157,7 +1762,7 @@ module OCI
1157
1762
  query_params: query_params,
1158
1763
  operation_signing_strategy: operation_signing_strategy,
1159
1764
  body: post_body,
1160
- return_type: 'OCI::Waas::Models::WorkRequest'
1765
+ return_type: 'Array<OCI::Waas::Models::AddressListSummary>'
1161
1766
  )
1162
1767
  end
1163
1768
  # rubocop:enable Metrics/BlockLength
@@ -1171,8 +1776,8 @@ module OCI
1171
1776
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1172
1777
 
1173
1778
 
1174
- # Gets the currently configured access rules for the Web Application Firewall configration of a specified WAAS policy.
1175
- # The order of the access rules is important. The rules will be checked in the order they are specified and the first matching rule will be used.
1779
+ # Gets the currently configured caching rules for the Web Application Firewall configuration of a specified WAAS policy.
1780
+ # The order of the caching rules is important. The rules will be checked in the order they are specified and the first matching rule will be used.
1176
1781
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
1177
1782
  # @param [Hash] opts the optional parameters
1178
1783
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
@@ -1180,14 +1785,14 @@ module OCI
1180
1785
  # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1181
1786
  # @option opts [Integer] :limit The maximum number of items to return in a paginated call. In unspecified, defaults to `10`. (default to 10)
1182
1787
  # @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call.
1183
- # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::AccessRule AccessRule}>
1184
- def list_access_rules(waas_policy_id, opts = {})
1185
- logger.debug 'Calling operation WaasClient#list_access_rules.' if logger
1788
+ # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::CachingRuleSummary CachingRuleSummary}>
1789
+ def list_caching_rules(waas_policy_id, opts = {})
1790
+ logger.debug 'Calling operation WaasClient#list_caching_rules.' if logger
1186
1791
 
1187
- raise "Missing the required parameter 'waas_policy_id' when calling list_access_rules." if waas_policy_id.nil?
1792
+ raise "Missing the required parameter 'waas_policy_id' when calling list_caching_rules." if waas_policy_id.nil?
1188
1793
  raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
1189
1794
 
1190
- path = '/waasPolicies/{waasPolicyId}/wafConfig/accessRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
1795
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/cachingRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
1191
1796
  operation_signing_strategy = :standard
1192
1797
 
1193
1798
  # rubocop:disable Style/NegatedIf
@@ -1206,7 +1811,7 @@ module OCI
1206
1811
  post_body = nil
1207
1812
 
1208
1813
  # rubocop:disable Metrics/BlockLength
1209
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_access_rules') do
1814
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_caching_rules') do
1210
1815
  @api_client.call_api(
1211
1816
  :GET,
1212
1817
  path,
@@ -1215,7 +1820,7 @@ module OCI
1215
1820
  query_params: query_params,
1216
1821
  operation_signing_strategy: operation_signing_strategy,
1217
1822
  body: post_body,
1218
- return_type: 'Array<OCI::Waas::Models::AccessRule>'
1823
+ return_type: 'Array<OCI::Waas::Models::CachingRuleSummary>'
1219
1824
  )
1220
1825
  end
1221
1826
  # rubocop:enable Metrics/BlockLength
@@ -1306,6 +1911,7 @@ module OCI
1306
1911
  # @option opts [Array<String>] :id Filter certificates using a list of certificates OCIDs.
1307
1912
  # @option opts [Array<String>] :display_name Filter certificates using a list of display names.
1308
1913
  # @option opts [Array<String>] :lifecycle_state Filter certificates using a list of lifecycle states.
1914
+ # Allowed values are: CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED
1309
1915
  # @option opts [DateTime] :time_created_greater_than_or_equal_to A filter that matches certificates created on or after the specified date-time.
1310
1916
  # @option opts [DateTime] :time_created_less_than A filter that matches certificates created before the specified date-time.
1311
1917
  # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::CertificateSummary CertificateSummary}>
@@ -1322,6 +1928,16 @@ module OCI
1322
1928
  raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
1323
1929
  end
1324
1930
 
1931
+
1932
+ lifecycle_state_allowable_values = %w[CREATING ACTIVE FAILED UPDATING DELETING DELETED]
1933
+ if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
1934
+ opts[:lifecycle_state].each do |val_to_check|
1935
+ unless lifecycle_state_allowable_values.include?(val_to_check)
1936
+ raise 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED.'
1937
+ end
1938
+ end
1939
+ end
1940
+
1325
1941
  path = '/certificates'
1326
1942
  operation_signing_strategy = :standard
1327
1943
 
@@ -1372,6 +1988,98 @@ module OCI
1372
1988
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
1373
1989
 
1374
1990
 
1991
+ # Gets a list of Custom Protection rules.
1992
+ # @param [String] compartment_id The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. This number is generated when the compartment is created.
1993
+ # @param [Hash] opts the optional parameters
1994
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
1995
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
1996
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
1997
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated call. In unspecified, defaults to `10`. (default to 10)
1998
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call.
1999
+ # @option opts [String] :sort_by The value by which Custom Protection rules are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.
2000
+ # Allowed values are: id, compartmentId, displayName, modSecurityRuleId, timeCreated
2001
+ # @option opts [String] :sort_order The value of the sorting direction of resources in a paginated 'List' call. If unspecified, defaults to `DESC`.
2002
+ # Allowed values are: ASC, DESC
2003
+ # @option opts [Array<String>] :id Filter Custom Protection rules using a list of Custom Protection rules OCIDs.
2004
+ # @option opts [Array<String>] :display_name Filter Custom Protection rules using a list of display names.
2005
+ # @option opts [Array<String>] :lifecycle_state Filter Custom Protection rules using a list of lifecycle states.
2006
+ # Allowed values are: CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED
2007
+ # @option opts [DateTime] :time_created_greater_than_or_equal_to A filter that matches Custom Protection rules created on or after the specified date-time.
2008
+ # @option opts [DateTime] :time_created_less_than A filter that matches Custom Protection rules created before the specified date-time.
2009
+ # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::CustomProtectionRuleSummary CustomProtectionRuleSummary}>
2010
+ def list_custom_protection_rules(compartment_id, opts = {})
2011
+ logger.debug 'Calling operation WaasClient#list_custom_protection_rules.' if logger
2012
+
2013
+ raise "Missing the required parameter 'compartment_id' when calling list_custom_protection_rules." if compartment_id.nil?
2014
+
2015
+ if opts[:sort_by] && !%w[id compartmentId displayName modSecurityRuleId timeCreated].include?(opts[:sort_by])
2016
+ raise 'Invalid value for "sort_by", must be one of id, compartmentId, displayName, modSecurityRuleId, timeCreated.'
2017
+ end
2018
+
2019
+ if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
2020
+ raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
2021
+ end
2022
+
2023
+
2024
+ lifecycle_state_allowable_values = %w[CREATING ACTIVE FAILED UPDATING DELETING DELETED]
2025
+ if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
2026
+ opts[:lifecycle_state].each do |val_to_check|
2027
+ unless lifecycle_state_allowable_values.include?(val_to_check)
2028
+ raise 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED.'
2029
+ end
2030
+ end
2031
+ end
2032
+
2033
+ path = '/customProtectionRules'
2034
+ operation_signing_strategy = :standard
2035
+
2036
+ # rubocop:disable Style/NegatedIf
2037
+ # Query Params
2038
+ query_params = {}
2039
+ query_params[:compartmentId] = compartment_id
2040
+ query_params[:limit] = opts[:limit] if opts[:limit]
2041
+ query_params[:page] = opts[:page] if opts[:page]
2042
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
2043
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
2044
+ query_params[:id] = OCI::ApiClient.build_collection_params(opts[:id], :multi) if opts[:id] && !opts[:id].empty?
2045
+ query_params[:displayName] = OCI::ApiClient.build_collection_params(opts[:display_name], :multi) if opts[:display_name] && !opts[:display_name].empty?
2046
+ query_params[:lifecycleState] = OCI::ApiClient.build_collection_params(opts[:lifecycle_state], :multi) if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
2047
+ query_params[:timeCreatedGreaterThanOrEqualTo] = opts[:time_created_greater_than_or_equal_to] if opts[:time_created_greater_than_or_equal_to]
2048
+ query_params[:timeCreatedLessThan] = opts[:time_created_less_than] if opts[:time_created_less_than]
2049
+
2050
+ # Header Params
2051
+ header_params = {}
2052
+ header_params[:accept] = 'application/json'
2053
+ header_params[:'content-type'] = 'application/json'
2054
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
2055
+ # rubocop:enable Style/NegatedIf
2056
+
2057
+ post_body = nil
2058
+
2059
+ # rubocop:disable Metrics/BlockLength
2060
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_custom_protection_rules') do
2061
+ @api_client.call_api(
2062
+ :GET,
2063
+ path,
2064
+ endpoint,
2065
+ header_params: header_params,
2066
+ query_params: query_params,
2067
+ operation_signing_strategy: operation_signing_strategy,
2068
+ body: post_body,
2069
+ return_type: 'Array<OCI::Waas::Models::CustomProtectionRuleSummary>'
2070
+ )
2071
+ end
2072
+ # rubocop:enable Metrics/BlockLength
2073
+ end
2074
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2075
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2076
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2077
+
2078
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2079
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2080
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2081
+
2082
+
1375
2083
  # Return the list of the tenant's edge node subnets. Use these CIDR blocks to restrict incoming traffic to your origin. These subnets are owned by OCI and forward traffic to customer origins. They are not associated with specific regions or compartments.
1376
2084
  # @param [Hash] opts the optional parameters
1377
2085
  # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
@@ -1715,6 +2423,7 @@ module OCI
1715
2423
  # @option opts [Array<String>] :id Filter policies using a list of policy OCIDs.
1716
2424
  # @option opts [Array<String>] :display_name Filter policies using a list of display names.
1717
2425
  # @option opts [Array<String>] :lifecycle_state Filter policies using a list of lifecycle states.
2426
+ # Allowed values are: CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED
1718
2427
  # @option opts [DateTime] :time_created_greater_than_or_equal_to A filter that matches policies created on or after the specified date and time.
1719
2428
  # @option opts [DateTime] :time_created_less_than A filter that matches policies created before the specified date-time.
1720
2429
  # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::WaasPolicySummary WaasPolicySummary}>
@@ -1731,22 +2440,104 @@ module OCI
1731
2440
  raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
1732
2441
  end
1733
2442
 
1734
- path = '/waasPolicies'
2443
+
2444
+ lifecycle_state_allowable_values = %w[CREATING ACTIVE FAILED UPDATING DELETING DELETED]
2445
+ if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
2446
+ opts[:lifecycle_state].each do |val_to_check|
2447
+ unless lifecycle_state_allowable_values.include?(val_to_check)
2448
+ raise 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED.'
2449
+ end
2450
+ end
2451
+ end
2452
+
2453
+ path = '/waasPolicies'
2454
+ operation_signing_strategy = :standard
2455
+
2456
+ # rubocop:disable Style/NegatedIf
2457
+ # Query Params
2458
+ query_params = {}
2459
+ query_params[:compartmentId] = compartment_id
2460
+ query_params[:limit] = opts[:limit] if opts[:limit]
2461
+ query_params[:page] = opts[:page] if opts[:page]
2462
+ query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
2463
+ query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
2464
+ query_params[:id] = OCI::ApiClient.build_collection_params(opts[:id], :multi) if opts[:id] && !opts[:id].empty?
2465
+ query_params[:displayName] = OCI::ApiClient.build_collection_params(opts[:display_name], :multi) if opts[:display_name] && !opts[:display_name].empty?
2466
+ query_params[:lifecycleState] = OCI::ApiClient.build_collection_params(opts[:lifecycle_state], :multi) if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
2467
+ query_params[:timeCreatedGreaterThanOrEqualTo] = opts[:time_created_greater_than_or_equal_to] if opts[:time_created_greater_than_or_equal_to]
2468
+ query_params[:timeCreatedLessThan] = opts[:time_created_less_than] if opts[:time_created_less_than]
2469
+
2470
+ # Header Params
2471
+ header_params = {}
2472
+ header_params[:accept] = 'application/json'
2473
+ header_params[:'content-type'] = 'application/json'
2474
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
2475
+ # rubocop:enable Style/NegatedIf
2476
+
2477
+ post_body = nil
2478
+
2479
+ # rubocop:disable Metrics/BlockLength
2480
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_waas_policies') do
2481
+ @api_client.call_api(
2482
+ :GET,
2483
+ path,
2484
+ endpoint,
2485
+ header_params: header_params,
2486
+ query_params: query_params,
2487
+ operation_signing_strategy: operation_signing_strategy,
2488
+ body: post_body,
2489
+ return_type: 'Array<OCI::Waas::Models::WaasPolicySummary>'
2490
+ )
2491
+ end
2492
+ # rubocop:enable Metrics/BlockLength
2493
+ end
2494
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2495
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
2496
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
2497
+
2498
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
2499
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
2500
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2501
+
2502
+
2503
+ # Gets the list of currently configured custom protection rules for a WAAS policy.
2504
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
2505
+ # @param [Hash] opts the optional parameters
2506
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
2507
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
2508
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
2509
+ # @option opts [Integer] :limit The maximum number of items to return in a paginated call. In unspecified, defaults to `10`. (default to 10)
2510
+ # @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call.
2511
+ # @option opts [Array<String>] :mod_security_rule_id Filter rules using a list of ModSecurity rule IDs.
2512
+ # @option opts [Array<String>] :action Filter rules using a list of actions.
2513
+ # Allowed values are: DETECT, BLOCK
2514
+ # @return [Response] A Response object with data of type Array<{OCI::Waas::Models::WaasPolicyCustomProtectionRuleSummary WaasPolicyCustomProtectionRuleSummary}>
2515
+ def list_waas_policy_custom_protection_rules(waas_policy_id, opts = {})
2516
+ logger.debug 'Calling operation WaasClient#list_waas_policy_custom_protection_rules.' if logger
2517
+
2518
+ raise "Missing the required parameter 'waas_policy_id' when calling list_waas_policy_custom_protection_rules." if waas_policy_id.nil?
2519
+
2520
+
2521
+ action_allowable_values = %w[DETECT BLOCK]
2522
+ if opts[:action] && !opts[:action].empty?
2523
+ opts[:action].each do |val_to_check|
2524
+ unless action_allowable_values.include?(val_to_check)
2525
+ raise 'Invalid value for "action", must be one of DETECT, BLOCK.'
2526
+ end
2527
+ end
2528
+ end
2529
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
2530
+
2531
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/customProtectionRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
1735
2532
  operation_signing_strategy = :standard
1736
2533
 
1737
2534
  # rubocop:disable Style/NegatedIf
1738
2535
  # Query Params
1739
2536
  query_params = {}
1740
- query_params[:compartmentId] = compartment_id
1741
2537
  query_params[:limit] = opts[:limit] if opts[:limit]
1742
2538
  query_params[:page] = opts[:page] if opts[:page]
1743
- query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]
1744
- query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
1745
- query_params[:id] = OCI::ApiClient.build_collection_params(opts[:id], :multi) if opts[:id] && !opts[:id].empty?
1746
- query_params[:displayName] = OCI::ApiClient.build_collection_params(opts[:display_name], :multi) if opts[:display_name] && !opts[:display_name].empty?
1747
- query_params[:lifecycleState] = OCI::ApiClient.build_collection_params(opts[:lifecycle_state], :multi) if opts[:lifecycle_state] && !opts[:lifecycle_state].empty?
1748
- query_params[:timeCreatedGreaterThanOrEqualTo] = opts[:time_created_greater_than_or_equal_to] if opts[:time_created_greater_than_or_equal_to]
1749
- query_params[:timeCreatedLessThan] = opts[:time_created_less_than] if opts[:time_created_less_than]
2539
+ query_params[:modSecurityRuleId] = OCI::ApiClient.build_collection_params(opts[:mod_security_rule_id], :multi) if opts[:mod_security_rule_id] && !opts[:mod_security_rule_id].empty?
2540
+ query_params[:action] = OCI::ApiClient.build_collection_params(opts[:action], :multi) if opts[:action] && !opts[:action].empty?
1750
2541
 
1751
2542
  # Header Params
1752
2543
  header_params = {}
@@ -1758,7 +2549,7 @@ module OCI
1758
2549
  post_body = nil
1759
2550
 
1760
2551
  # rubocop:disable Metrics/BlockLength
1761
- OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_waas_policies') do
2552
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#list_waas_policy_custom_protection_rules') do
1762
2553
  @api_client.call_api(
1763
2554
  :GET,
1764
2555
  path,
@@ -1767,7 +2558,7 @@ module OCI
1767
2558
  query_params: query_params,
1768
2559
  operation_signing_strategy: operation_signing_strategy,
1769
2560
  body: post_body,
1770
- return_type: 'Array<OCI::Waas::Models::WaasPolicySummary>'
2561
+ return_type: 'Array<OCI::Waas::Models::WaasPolicyCustomProtectionRuleSummary>'
1771
2562
  )
1772
2563
  end
1773
2564
  # rubocop:enable Metrics/BlockLength
@@ -2244,6 +3035,61 @@ module OCI
2244
3035
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2245
3036
 
2246
3037
 
3038
+ # Accepts a list of resources that will get it's cache purged. If resources property is not passed, then the entire cache for Web Application will be purged.
3039
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
3040
+ # @param [Hash] opts the optional parameters
3041
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
3042
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
3043
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
3044
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
3045
+ # @option opts [OCI::Waas::Models::PurgeCache] :purge_cache
3046
+ # @return [Response] A Response object with data of type nil
3047
+ def purge_cache(waas_policy_id, opts = {})
3048
+ logger.debug 'Calling operation WaasClient#purge_cache.' if logger
3049
+
3050
+ raise "Missing the required parameter 'waas_policy_id' when calling purge_cache." if waas_policy_id.nil?
3051
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
3052
+
3053
+ path = '/waasPolicies/{waasPolicyId}/actions/purgeCache'.sub('{waasPolicyId}', waas_policy_id.to_s)
3054
+ operation_signing_strategy = :standard
3055
+
3056
+ # rubocop:disable Style/NegatedIf
3057
+ # Query Params
3058
+ query_params = {}
3059
+
3060
+ # Header Params
3061
+ header_params = {}
3062
+ header_params[:accept] = 'application/json'
3063
+ header_params[:'content-type'] = 'application/json'
3064
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
3065
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
3066
+ # rubocop:enable Style/NegatedIf
3067
+
3068
+ post_body = @api_client.object_to_http_body(opts[:purge_cache])
3069
+
3070
+ # rubocop:disable Metrics/BlockLength
3071
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#purge_cache') do
3072
+ @api_client.call_api(
3073
+ :POST,
3074
+ path,
3075
+ endpoint,
3076
+ header_params: header_params,
3077
+ query_params: query_params,
3078
+ operation_signing_strategy: operation_signing_strategy,
3079
+ body: post_body
3080
+ )
3081
+ end
3082
+ # rubocop:enable Metrics/BlockLength
3083
+ end
3084
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3085
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3086
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3087
+
3088
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3089
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3090
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3091
+
3092
+
2247
3093
  # Updates the list of access rules in the Web Application Firewall configuration for a specified WAAS policy. Access rules allow explicit actions to be defined and executed for requests that meet various conditions. A rule action can be set to allow, detect, or block requests. The detect setting allows the request to pass through the Web Application Firewall and is tagged with a `DETECT` flag in the Web Application Firewall's log.
2248
3094
  #
2249
3095
  # This operation can create, delete, update, and/or reorder access rules depending on the structure of the request body.
@@ -2312,6 +3158,125 @@ module OCI
2312
3158
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2313
3159
 
2314
3160
 
3161
+ # Updates the details of an address list. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
3162
+ # @param [String] address_list_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the address list. This number is generated when the address list is added to the compartment.
3163
+ # @param [Hash] opts the optional parameters
3164
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
3165
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
3166
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
3167
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
3168
+ # @option opts [OCI::Waas::Models::UpdateAddressListDetails] :update_address_list_details The details of the address list to update.
3169
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::AddressList AddressList}
3170
+ def update_address_list(address_list_id, opts = {})
3171
+ logger.debug 'Calling operation WaasClient#update_address_list.' if logger
3172
+
3173
+ raise "Missing the required parameter 'address_list_id' when calling update_address_list." if address_list_id.nil?
3174
+ raise "Parameter value for 'address_list_id' must not be blank" if OCI::Internal::Util.blank_string?(address_list_id)
3175
+
3176
+ path = '/addressLists/{addressListId}'.sub('{addressListId}', address_list_id.to_s)
3177
+ operation_signing_strategy = :standard
3178
+
3179
+ # rubocop:disable Style/NegatedIf
3180
+ # Query Params
3181
+ query_params = {}
3182
+
3183
+ # Header Params
3184
+ header_params = {}
3185
+ header_params[:accept] = 'application/json'
3186
+ header_params[:'content-type'] = 'application/json'
3187
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
3188
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
3189
+ # rubocop:enable Style/NegatedIf
3190
+
3191
+ post_body = @api_client.object_to_http_body(opts[:update_address_list_details])
3192
+
3193
+ # rubocop:disable Metrics/BlockLength
3194
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#update_address_list') do
3195
+ @api_client.call_api(
3196
+ :PUT,
3197
+ path,
3198
+ endpoint,
3199
+ header_params: header_params,
3200
+ query_params: query_params,
3201
+ operation_signing_strategy: operation_signing_strategy,
3202
+ body: post_body,
3203
+ return_type: 'OCI::Waas::Models::AddressList'
3204
+ )
3205
+ end
3206
+ # rubocop:enable Metrics/BlockLength
3207
+ end
3208
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3209
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3210
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3211
+
3212
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3213
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3214
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3215
+
3216
+
3217
+ # Updates the configuration for each specified caching rule.
3218
+ # This operation can update or delete caching rules depending on the structure of the request body.
3219
+ # Caching rules can be updated by changing the properties of the caching rule object with the rule's key specified in the key field.
3220
+ # Any existing caching rules that are not specified with a key in the list of access rules will be deleted upon update.
3221
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
3222
+ # @param [Array<OCI::Waas::Models::OCI::Waas::Models::CachingRule>] caching_rules_details
3223
+ # @param [Hash] opts the optional parameters
3224
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
3225
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
3226
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
3227
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
3228
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
3229
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
3230
+ # @return [Response] A Response object with data of type nil
3231
+ def update_caching_rules(waas_policy_id, caching_rules_details, opts = {})
3232
+ logger.debug 'Calling operation WaasClient#update_caching_rules.' if logger
3233
+
3234
+ raise "Missing the required parameter 'waas_policy_id' when calling update_caching_rules." if waas_policy_id.nil?
3235
+ raise "Missing the required parameter 'caching_rules_details' when calling update_caching_rules." if caching_rules_details.nil?
3236
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
3237
+
3238
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/cachingRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
3239
+ operation_signing_strategy = :standard
3240
+
3241
+ # rubocop:disable Style/NegatedIf
3242
+ # Query Params
3243
+ query_params = {}
3244
+
3245
+ # Header Params
3246
+ header_params = {}
3247
+ header_params[:accept] = 'application/json'
3248
+ header_params[:'content-type'] = 'application/json'
3249
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
3250
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
3251
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
3252
+ # rubocop:enable Style/NegatedIf
3253
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
3254
+
3255
+ post_body = @api_client.object_to_http_body(caching_rules_details)
3256
+
3257
+ # rubocop:disable Metrics/BlockLength
3258
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#update_caching_rules') do
3259
+ @api_client.call_api(
3260
+ :PUT,
3261
+ path,
3262
+ endpoint,
3263
+ header_params: header_params,
3264
+ query_params: query_params,
3265
+ operation_signing_strategy: operation_signing_strategy,
3266
+ body: post_body
3267
+ )
3268
+ end
3269
+ # rubocop:enable Metrics/BlockLength
3270
+ end
3271
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3272
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3273
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3274
+
3275
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3276
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3277
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3278
+
3279
+
2315
3280
  # Updates the list of CAPTCHA challenges in the Web Application Firewall configuration for a WAAS policy.
2316
3281
  # This operation can create, update, or delete CAPTCHAs depending on the structure of the request body.
2317
3282
  # CAPTCHA challenges can be updated by changing the properties of the CAPTCHA object with the rule's key specified in the key field. CAPTCHA challenges can be reordered by changing the order of the CAPTCHA challenges in the list when updating.
@@ -2434,6 +3399,67 @@ module OCI
2434
3399
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2435
3400
 
2436
3401
 
3402
+ # Updates the details of a Custom Protection rule. Only the fields specified in the request body will be updated; all other properties will remain unchanged.
3403
+ # @param [String] custom_protection_rule_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Custom Protection rule. This number is generated when the Custom Protection rule is added to the compartment.
3404
+ # @param [OCI::Waas::Models::UpdateCustomProtectionRuleDetails] update_custom_protection_rule_details The details of the Custom Protection rule to update.
3405
+ # @param [Hash] opts the optional parameters
3406
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
3407
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
3408
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
3409
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
3410
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
3411
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
3412
+ # @return [Response] A Response object with data of type {OCI::Waas::Models::CustomProtectionRule CustomProtectionRule}
3413
+ def update_custom_protection_rule(custom_protection_rule_id, update_custom_protection_rule_details, opts = {})
3414
+ logger.debug 'Calling operation WaasClient#update_custom_protection_rule.' if logger
3415
+
3416
+ raise "Missing the required parameter 'custom_protection_rule_id' when calling update_custom_protection_rule." if custom_protection_rule_id.nil?
3417
+ raise "Missing the required parameter 'update_custom_protection_rule_details' when calling update_custom_protection_rule." if update_custom_protection_rule_details.nil?
3418
+ raise "Parameter value for 'custom_protection_rule_id' must not be blank" if OCI::Internal::Util.blank_string?(custom_protection_rule_id)
3419
+
3420
+ path = '/customProtectionRules/{customProtectionRuleId}'.sub('{customProtectionRuleId}', custom_protection_rule_id.to_s)
3421
+ operation_signing_strategy = :standard
3422
+
3423
+ # rubocop:disable Style/NegatedIf
3424
+ # Query Params
3425
+ query_params = {}
3426
+
3427
+ # Header Params
3428
+ header_params = {}
3429
+ header_params[:accept] = 'application/json'
3430
+ header_params[:'content-type'] = 'application/json'
3431
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
3432
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
3433
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
3434
+ # rubocop:enable Style/NegatedIf
3435
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
3436
+
3437
+ post_body = @api_client.object_to_http_body(update_custom_protection_rule_details)
3438
+
3439
+ # rubocop:disable Metrics/BlockLength
3440
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#update_custom_protection_rule') do
3441
+ @api_client.call_api(
3442
+ :PUT,
3443
+ path,
3444
+ endpoint,
3445
+ header_params: header_params,
3446
+ query_params: query_params,
3447
+ operation_signing_strategy: operation_signing_strategy,
3448
+ body: post_body,
3449
+ return_type: 'OCI::Waas::Models::CustomProtectionRule'
3450
+ )
3451
+ end
3452
+ # rubocop:enable Metrics/BlockLength
3453
+ end
3454
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3455
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
3456
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
3457
+
3458
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
3459
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
3460
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
3461
+
3462
+
2437
3463
  # Updates the Device Fingerprint Challenge (DFC) settings in the Web Application Firewall configuration for a policy. The DFC generates a hashed signature of both virtual and real browsers based on 50+ attributes. These proprietary signatures are then leveraged for real-time correlation to identify and block malicious bots.
2438
3464
  #
2439
3465
  # The signature is based on a library of attributes detected via JavaScript listeners; the attributes include OS, screen resolution, fonts, UserAgent, IP address, etc. We are constantly making improvements and considering new libraries to include in our DFC build. We can also exclude attributes from the signature as needed.
@@ -2976,6 +4002,66 @@ module OCI
2976
4002
  # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
2977
4003
 
2978
4004
 
4005
+ # Updates the action for each specified custom protection rule. Only the `DETECT` and `BLOCK` actions can be set. Disabled rules should not be included in the list. For more information on protection rules, see [WAF Protection Rules](https://docs.cloud.oracle.com/iaas/Content/WAF/Tasks/wafprotectionrules.htm).
4006
+ # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
4007
+ # @param [Array<OCI::Waas::Models::OCI::Waas::Models::CustomProtectionRuleSetting>] update_custom_protection_rules_details
4008
+ # @param [Hash] opts the optional parameters
4009
+ # @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level
4010
+ # retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry
4011
+ # @option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID.
4012
+ # @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
4013
+ # *Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
4014
+ # @option opts [String] :if_match For optimistic concurrency control. In the `PUT` or `DELETE` call for a resource, set the `if-match` parameter to the value of the etag from a previous `GET` or `POST` response for that resource. The resource will be updated or deleted only if the etag provided matches the resource's current etag value.
4015
+ # @return [Response] A Response object with data of type nil
4016
+ def update_waas_policy_custom_protection_rules(waas_policy_id, update_custom_protection_rules_details, opts = {})
4017
+ logger.debug 'Calling operation WaasClient#update_waas_policy_custom_protection_rules.' if logger
4018
+
4019
+ raise "Missing the required parameter 'waas_policy_id' when calling update_waas_policy_custom_protection_rules." if waas_policy_id.nil?
4020
+ raise "Missing the required parameter 'update_custom_protection_rules_details' when calling update_waas_policy_custom_protection_rules." if update_custom_protection_rules_details.nil?
4021
+ raise "Parameter value for 'waas_policy_id' must not be blank" if OCI::Internal::Util.blank_string?(waas_policy_id)
4022
+
4023
+ path = '/waasPolicies/{waasPolicyId}/wafConfig/customProtectionRules'.sub('{waasPolicyId}', waas_policy_id.to_s)
4024
+ operation_signing_strategy = :standard
4025
+
4026
+ # rubocop:disable Style/NegatedIf
4027
+ # Query Params
4028
+ query_params = {}
4029
+
4030
+ # Header Params
4031
+ header_params = {}
4032
+ header_params[:accept] = 'application/json'
4033
+ header_params[:'content-type'] = 'application/json'
4034
+ header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
4035
+ header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token]
4036
+ header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
4037
+ # rubocop:enable Style/NegatedIf
4038
+ header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token
4039
+
4040
+ post_body = @api_client.object_to_http_body(update_custom_protection_rules_details)
4041
+
4042
+ # rubocop:disable Metrics/BlockLength
4043
+ OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'WaasClient#update_waas_policy_custom_protection_rules') do
4044
+ @api_client.call_api(
4045
+ :PUT,
4046
+ path,
4047
+ endpoint,
4048
+ header_params: header_params,
4049
+ query_params: query_params,
4050
+ operation_signing_strategy: operation_signing_strategy,
4051
+ body: post_body
4052
+ )
4053
+ end
4054
+ # rubocop:enable Metrics/BlockLength
4055
+ end
4056
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4057
+ # rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists
4058
+ # rubocop:enable Metrics/MethodLength, Layout/EmptyLines
4059
+
4060
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity
4061
+ # rubocop:disable Style/IfUnlessModifier, Metrics/ParameterLists
4062
+ # rubocop:disable Metrics/MethodLength, Layout/EmptyLines
4063
+
4064
+
2979
4065
  # Updates the address rate limiting settings in the Web Application Firewall configuration for a policy. Rate limiting allows you to configure a threshold for the number of requests from a unique IP address for the given period. You can also define the response code for the requests from the same address that exceed the threshold.
2980
4066
  # @param [String] waas_policy_id The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the WAAS policy.
2981
4067
  # @param [OCI::Waas::Models::AddressRateLimiting] update_waf_address_rate_limiting_details The address rate limiting settings.