Class: OCI::Apigateway::Models::BodyValidationRequestPolicy
- Inherits:
-
Object
- Object
- OCI::Apigateway::Models::BodyValidationRequestPolicy
- Defined in:
- lib/oci/apigateway/models/body_validation_request_policy.rb
Overview
Validate the payload body of the incoming API requests on a specific route.
Constant Summary collapse
- VALIDATION_MODE_ENUM =
[ VALIDATION_MODE_ENFORCING = 'ENFORCING'.freeze, VALIDATION_MODE_PERMISSIVE = 'PERMISSIVE'.freeze, VALIDATION_MODE_DISABLED = 'DISABLED'.freeze, VALIDATION_MODE_UNKNOWN_ENUM_VALUE = 'UNKNOWN_ENUM_VALUE'.freeze ].freeze
Instance Attribute Summary collapse
-
#content ⇒ Hash<String, OCI::Apigateway::Models::ContentValidation>
[Required] The content of the request body.
-
#required ⇒ BOOLEAN
Determines if the request body is required in the request.
-
#validation_mode ⇒ String
Validation behavior mode.
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 = {}) ⇒ BodyValidationRequestPolicy
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 = {}) ⇒ BodyValidationRequestPolicy
Initializes the object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 82 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.required = attributes[:'required'] unless attributes[:'required'].nil? self.required = false if required.nil? && !attributes.key?(:'required') # rubocop:disable Style/StringLiterals self.content = attributes[:'content'] if attributes[:'content'] self.validation_mode = attributes[:'validationMode'] if attributes[:'validationMode'] self.validation_mode = "ENFORCING" if validation_mode.nil? && !attributes.key?(:'validationMode') # rubocop:disable Style/StringLiterals raise 'You cannot provide both :validationMode and :validation_mode' if attributes.key?(:'validationMode') && attributes.key?(:'validation_mode') self.validation_mode = attributes[:'validation_mode'] if attributes[:'validation_mode'] self.validation_mode = "ENFORCING" if validation_mode.nil? && !attributes.key?(:'validationMode') && !attributes.key?(:'validation_mode') # rubocop:disable Style/StringLiterals end |
Instance Attribute Details
#content ⇒ Hash<String, OCI::Apigateway::Models::ContentValidation>
[Required] The content of the request body. The key is a media type range subset restricted to the following schema
key ::= (
/ ( \"*\" \"/\" \"*\" )
/ ( type \"/\" \"*\" )
/ ( type \"/\" subtype )
)
For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain
overrides text/*
36 37 38 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 36 def content @content end |
#required ⇒ BOOLEAN
Determines if the request body is required in the request.
21 22 23 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 21 def required @required end |
#validation_mode ⇒ String
Validation behavior mode.
In ENFORCING
mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.
In PERMISSIVE
mode, the result of the validation will be exposed as metrics while the request will follow the normal path.
DISABLED
type turns the validation off.
49 50 51 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 49 def validation_mode @validation_mode end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
52 53 54 55 56 57 58 59 60 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 52 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'required': :'required', 'content': :'content', 'validation_mode': :'validationMode' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
63 64 65 66 67 68 69 70 71 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 63 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'required': :'BOOLEAN', 'content': :'Hash<String, OCI::Apigateway::Models::ContentValidation>', 'validation_mode': :'String' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
122 123 124 125 126 127 128 129 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 122 def ==(other) return true if equal?(other) self.class == other.class && required == other.required && content == other.content && validation_mode == other.validation_mode end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 154 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
134 135 136 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 134 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
143 144 145 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 143 def hash [required, content, validation_mode].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
187 188 189 190 191 192 193 194 195 196 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 187 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
181 182 183 |
# File 'lib/oci/apigateway/models/body_validation_request_policy.rb', line 181 def to_s to_hash.to_s end |