Class: OCI::Waas::Models::WafConfigDetails
- Inherits:
-
Object
- Object
- OCI::Waas::Models::WafConfigDetails
- Defined in:
- lib/oci/waas/models/waf_config_details.rb
Overview
The Web Application Firewall configuration for the WAAS policy creation.
Instance Attribute Summary collapse
-
#access_rules ⇒ Array<OCI::Waas::Models::AccessRule>
The access rules applied to the Web Application Firewall.
-
#address_rate_limiting ⇒ OCI::Waas::Models::AddressRateLimiting
The IP address rate limiting settings used to limit the number of requests from an address.
-
#captchas ⇒ Array<OCI::Waas::Models::Captcha>
A list of CAPTCHA challenge settings.
-
#device_fingerprint_challenge ⇒ OCI::Waas::Models::DeviceFingerprintChallenge
The device fingerprint challenge settings.
-
#human_interaction_challenge ⇒ OCI::Waas::Models::HumanInteractionChallenge
The human interaction challenge settings.
-
#js_challenge ⇒ OCI::Waas::Models::JsChallenge
The JavaScript challenge settings.
-
#origin ⇒ String
The key in the map of origins referencing the origin used for the Web Application Firewall.
-
#protection_settings ⇒ OCI::Waas::Models::ProtectionSettings
The settings to apply to protection rules.
-
#whitelists ⇒ Array<OCI::Waas::Models::Whitelist>
A list of IP addresses that bypass the Web Application Firewall.
Class Method Summary collapse
-
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
-
.swagger_types ⇒ Object
Attribute type mapping.
Instance Method Summary collapse
-
#==(other) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ WafConfigDetails
constructor
Initializes the object.
-
#to_hash ⇒ Hash
Returns the object in the form of hash.
-
#to_s ⇒ String
Returns the string representation of the object.
Constructor Details
#initialize(attributes = {}) ⇒ WafConfigDetails
Initializes the object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 94 def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.access_rules = attributes[:'accessRules'] if attributes[:'accessRules'] raise 'You cannot provide both :accessRules and :access_rules' if attributes.key?(:'accessRules') && attributes.key?(:'access_rules') self.access_rules = attributes[:'access_rules'] if attributes[:'access_rules'] self.address_rate_limiting = attributes[:'addressRateLimiting'] if attributes[:'addressRateLimiting'] raise 'You cannot provide both :addressRateLimiting and :address_rate_limiting' if attributes.key?(:'addressRateLimiting') && attributes.key?(:'address_rate_limiting') self.address_rate_limiting = attributes[:'address_rate_limiting'] if attributes[:'address_rate_limiting'] self.captchas = attributes[:'captchas'] if attributes[:'captchas'] self.device_fingerprint_challenge = attributes[:'deviceFingerprintChallenge'] if attributes[:'deviceFingerprintChallenge'] raise 'You cannot provide both :deviceFingerprintChallenge and :device_fingerprint_challenge' if attributes.key?(:'deviceFingerprintChallenge') && attributes.key?(:'device_fingerprint_challenge') self.device_fingerprint_challenge = attributes[:'device_fingerprint_challenge'] if attributes[:'device_fingerprint_challenge'] self.human_interaction_challenge = attributes[:'humanInteractionChallenge'] if attributes[:'humanInteractionChallenge'] raise 'You cannot provide both :humanInteractionChallenge and :human_interaction_challenge' if attributes.key?(:'humanInteractionChallenge') && attributes.key?(:'human_interaction_challenge') self.human_interaction_challenge = attributes[:'human_interaction_challenge'] if attributes[:'human_interaction_challenge'] self.js_challenge = attributes[:'jsChallenge'] if attributes[:'jsChallenge'] raise 'You cannot provide both :jsChallenge and :js_challenge' if attributes.key?(:'jsChallenge') && attributes.key?(:'js_challenge') self.js_challenge = attributes[:'js_challenge'] if attributes[:'js_challenge'] self.origin = attributes[:'origin'] if attributes[:'origin'] self.protection_settings = attributes[:'protectionSettings'] if attributes[:'protectionSettings'] raise 'You cannot provide both :protectionSettings and :protection_settings' if attributes.key?(:'protectionSettings') && attributes.key?(:'protection_settings') self.protection_settings = attributes[:'protection_settings'] if attributes[:'protection_settings'] self.whitelists = attributes[:'whitelists'] if attributes[:'whitelists'] end |
Instance Attribute Details
#access_rules ⇒ Array<OCI::Waas::Models::AccessRule>
The access rules applied to the Web Application Firewall. Used for defining custom access policies with the combination of ‘ALLOW`, `DETECT`, and `BLOCK` rules, based on different criteria.
11 12 13 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 11 def access_rules @access_rules end |
#address_rate_limiting ⇒ OCI::Waas::Models::AddressRateLimiting
The IP address rate limiting settings used to limit the number of requests from an address.
15 16 17 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 15 def address_rate_limiting @address_rate_limiting end |
#captchas ⇒ Array<OCI::Waas::Models::Captcha>
A list of CAPTCHA challenge settings. These are used to challenge requests with a CAPTCHA to block bots.
19 20 21 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 19 def captchas @captchas end |
#device_fingerprint_challenge ⇒ OCI::Waas::Models::DeviceFingerprintChallenge
The device fingerprint challenge settings. Used to detect unique devices based on the device fingerprint information collected in order to block bots.
23 24 25 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 23 def device_fingerprint_challenge @device_fingerprint_challenge end |
#human_interaction_challenge ⇒ OCI::Waas::Models::HumanInteractionChallenge
The human interaction challenge settings. Used to look for natural human interactions such as mouse movements, time on site, and page scrolling to identify bots.
27 28 29 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 27 def human_interaction_challenge @human_interaction_challenge end |
#js_challenge ⇒ OCI::Waas::Models::JsChallenge
The JavaScript challenge settings. Used to challenge requests with a JavaScript challenge and take the action if a browser has no JavaScript support in order to block bots.
31 32 33 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 31 def js_challenge @js_challenge end |
#origin ⇒ String
The key in the map of origins referencing the origin used for the Web Application Firewall. The origin must already be included in ‘Origins`. Required when creating the `WafConfig` resource, but not on update.
35 36 37 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 35 def origin @origin end |
#protection_settings ⇒ OCI::Waas::Models::ProtectionSettings
The settings to apply to protection rules.
39 40 41 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 39 def protection_settings @protection_settings end |
#whitelists ⇒ Array<OCI::Waas::Models::Whitelist>
A list of IP addresses that bypass the Web Application Firewall.
43 44 45 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 43 def whitelists @whitelists end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 46 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'access_rules': :'accessRules', 'address_rate_limiting': :'addressRateLimiting', 'captchas': :'captchas', 'device_fingerprint_challenge': :'deviceFingerprintChallenge', 'human_interaction_challenge': :'humanInteractionChallenge', 'js_challenge': :'jsChallenge', 'origin': :'origin', 'protection_settings': :'protectionSettings', 'whitelists': :'whitelists' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 63 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'access_rules': :'Array<OCI::Waas::Models::AccessRule>', 'address_rate_limiting': :'OCI::Waas::Models::AddressRateLimiting', 'captchas': :'Array<OCI::Waas::Models::Captcha>', 'device_fingerprint_challenge': :'OCI::Waas::Models::DeviceFingerprintChallenge', 'human_interaction_challenge': :'OCI::Waas::Models::HumanInteractionChallenge', 'js_challenge': :'OCI::Waas::Models::JsChallenge', 'origin': :'String', 'protection_settings': :'OCI::Waas::Models::ProtectionSettings', 'whitelists': :'Array<OCI::Waas::Models::Whitelist>' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 150 def ==(other) return true if equal?(other) self.class == other.class && access_rules == other.access_rules && address_rate_limiting == other.address_rate_limiting && captchas == other.captchas && device_fingerprint_challenge == other.device_fingerprint_challenge && human_interaction_challenge == other.human_interaction_challenge && js_challenge == other.js_challenge && origin == other.origin && protection_settings == other.protection_settings && whitelists == other.whitelists end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 188 def build_from_hash(attributes) return nil unless attributes.is_a?(Hash) self.class.swagger_types.each_pair do |key, type| if type =~ /^Array<(.*)>/i # check to ensure the input is an array given that the the attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) public_method("#{key}=").call( attributes[self.class.attribute_map[key]] .map { |v| OCI::Internal::Util.convert_to_type(Regexp.last_match(1), v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? public_method("#{key}=").call( OCI::Internal::Util.convert_to_type(type, attributes[self.class.attribute_map[key]]) ) end # or else data not found in attributes(hash), not an issue as the data can be optional end self end |
#eql?(other) ⇒ Boolean
168 169 170 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 168 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
177 178 179 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 177 def hash [access_rules, address_rate_limiting, captchas, device_fingerprint_challenge, human_interaction_challenge, js_challenge, origin, protection_settings, whitelists].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
221 222 223 224 225 226 227 228 229 230 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 221 def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = public_method(attr).call next if value.nil? && !instance_variable_defined?("@#{attr}") hash[param] = _to_hash(value) end hash end |
#to_s ⇒ String
Returns the string representation of the object
215 216 217 |
# File 'lib/oci/waas/models/waf_config_details.rb', line 215 def to_s to_hash.to_s end |