Class: OCI::Core::Models::IcmpOptions
- Inherits:
-
Object
- Object
- OCI::Core::Models::IcmpOptions
- Defined in:
- lib/oci/core/models/icmp_options.rb
Overview
Optional object to specify a particular ICMP type and code. If you specify ICMP as the protocol but do not provide this object, then all ICMP types and codes are allowed. If you do provide this object, the type is required and the code is optional. See [ICMP Parameters](www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml) for allowed values. To enable MTU negotiation for ingress internet traffic, make sure to allow type 3 ("Destination Unreachable") code 4 ("Fragmentation Needed and Don’t Fragment was Set"). If you need to specify multiple codes for a single type, create a separate security list rule for each.
Instance Attribute Summary collapse
-
#code ⇒ Integer
The ICMP code (optional).
-
#type ⇒ Integer
[Required] The ICMP type.
Instance Method Summary collapse
-
#==(other_object) ⇒ Object
Checks equality by comparing each attribute.
-
#build_from_hash(attributes) ⇒ Object
Builds the object from hash.
- #eql?(other_object) ⇒ Boolean
-
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
-
#initialize(attributes = {}) ⇒ IcmpOptions
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 = {}) ⇒ IcmpOptions
Initializes the object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/oci/core/models/icmp_options.rb', line 28 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} if attributes[:'code'] self.code = attributes[:'code'] end if attributes[:'type'] self.type = attributes[:'type'] end end |
Instance Attribute Details
#code ⇒ Integer
The ICMP code (optional).
17 18 19 |
# File 'lib/oci/core/models/icmp_options.rb', line 17 def code @code end |
#type ⇒ Integer
[Required] The ICMP type.
21 22 23 |
# File 'lib/oci/core/models/icmp_options.rb', line 21 def type @type end |
Instance Method Details
#==(other_object) ⇒ Object
Checks equality by comparing each attribute.
46 47 48 49 50 51 |
# File 'lib/oci/core/models/icmp_options.rb', line 46 def ==(other_object) return true if self.equal?(other_object) self.class == other_object.class && code == other_object.code && type == other_object.type end |
#build_from_hash(attributes) ⇒ Object
Builds the object from hash
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/oci/core/models/icmp_options.rb', line 68 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) self.public_method("#{key}=").call(attributes[self.class.attribute_map[key]].map{ |v| OCI::Internal::Util.convert_to_type($1, v) } ) end elsif !attributes[self.class.attribute_map[key]].nil? self.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_object) ⇒ Boolean
55 56 57 |
# File 'lib/oci/core/models/icmp_options.rb', line 55 def eql?(other_object) self == other_object end |
#hash ⇒ Fixnum
Calculates hash code according to all attributes.
61 62 63 |
# File 'lib/oci/core/models/icmp_options.rb', line 61 def hash [code, type].hash end |
#to_hash ⇒ Hash
Returns the object in the form of hash
93 94 95 96 97 98 99 100 101 |
# File 'lib/oci/core/models/icmp_options.rb', line 93 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
87 88 89 |
# File 'lib/oci/core/models/icmp_options.rb', line 87 def to_s to_hash.to_s end |