Class: OCI::Dns::Models::SteeringPolicyLimitRule
- Inherits:
-
SteeringPolicyRule
- Object
- SteeringPolicyRule
- OCI::Dns::Models::SteeringPolicyLimitRule
- Defined in:
- lib/oci/dns/models/steering_policy_limit_rule.rb
Overview
SteeringPolicyLimitRule model.
Constant Summary
Constants inherited from SteeringPolicyRule
OCI::Dns::Models::SteeringPolicyRule::RULE_TYPE_ENUM
Instance Attribute Summary collapse
-
#cases ⇒ Array<OCI::Dns::Models::SteeringPolicyLimitRuleCase>
An array of
caseConditions
. -
#default_count ⇒ Integer
Defines a default count if
cases
is not defined for the rule or a matching case does not definecount
.
Attributes inherited from SteeringPolicyRule
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 = {}) ⇒ SteeringPolicyLimitRule
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.
Methods inherited from SteeringPolicyRule
Constructor Details
#initialize(attributes = {}) ⇒ SteeringPolicyLimitRule
Initializes the object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 65 def initialize(attributes = {}) return unless attributes.is_a?(Hash) attributes['ruleType'] = 'LIMIT' super(attributes) # convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v } self.cases = attributes[:'cases'] if attributes[:'cases'] self.default_count = attributes[:'defaultCount'] if attributes[:'defaultCount'] self.default_count = 65535 if default_count.nil? && !attributes.key?(:'defaultCount') # rubocop:disable Style/StringLiterals raise 'You cannot provide both :defaultCount and :default_count' if attributes.key?(:'defaultCount') && attributes.key?(:'default_count') self.default_count = attributes[:'default_count'] if attributes[:'default_count'] self.default_count = 65535 if default_count.nil? && !attributes.key?(:'defaultCount') && !attributes.key?(:'default_count') # rubocop:disable Style/StringLiterals end |
Instance Attribute Details
#cases ⇒ Array<OCI::Dns::Models::SteeringPolicyLimitRuleCase>
An array of caseConditions
. A rule may optionally include a sequence of cases defining alternate configurations for how it should behave during processing for any given DNS query. When a rule has no sequence of cases
, it is always evaluated with the same configuration during processing. When a rule has an empty sequence of cases
, it is always ignored during processing. When a rule has a non-empty sequence of cases
, its behavior during processing is configured by the first matching case
in the sequence. When a rule has no matching cases the rule is ignored. A rule case with no caseCondition
always matches. A rule case with a caseCondition
matches only when that expression evaluates to true for the given query.
22 23 24 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 22 def cases @cases end |
#default_count ⇒ Integer
Defines a default count if cases
is not defined for the rule or a matching case does not define count
. defaultCount
is not applied if cases
is defined and there are no matching cases. In this scenario, the next rule will be processed. If no rules remain to be processed, the answer will be chosen from the remaining list of answers.
30 31 32 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 30 def default_count @default_count end |
Class Method Details
.attribute_map ⇒ Object
Attribute mapping from ruby-style variable name to JSON key.
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 33 def self.attribute_map { # rubocop:disable Style/SymbolLiteral 'description': :'description', 'rule_type': :'ruleType', 'cases': :'cases', 'default_count': :'defaultCount' # rubocop:enable Style/SymbolLiteral } end |
.swagger_types ⇒ Object
Attribute type mapping.
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 45 def self.swagger_types { # rubocop:disable Style/SymbolLiteral 'description': :'String', 'rule_type': :'String', 'cases': :'Array<OCI::Dns::Models::SteeringPolicyLimitRuleCase>', 'default_count': :'Integer' # rubocop:enable Style/SymbolLiteral } end |
Instance Method Details
#==(other) ⇒ Object
Checks equality by comparing each attribute.
93 94 95 96 97 98 99 100 101 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 93 def ==(other) return true if equal?(other) self.class == other.class && description == other.description && rule_type == other.rule_type && cases == other.cases && default_count == other.default_count end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 126 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
106 107 108 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 106 def eql?(other) self == other end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
115 116 117 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 115 def hash [description, rule_type, cases, default_count].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
159 160 161 162 163 164 165 166 167 168 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 159 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
153 154 155 |
# File 'lib/oci/dns/models/steering_policy_limit_rule.rb', line 153 def to_s to_hash.to_s end |