class Yao::Resources::SecurityGroupRule

Public Class Methods

define_attribute_with_guard(_name, _guard_name) click to toggle source

@param _name [Symbol] @param _guard_name [Symbol]

# File lib/yao/resources/security_group_rule.rb, line 8
def self.define_attribute_with_guard(_name, _guard_name)
  name = _name.to_s
  guard_name = _guard_name.to_s
  define_method name do
    self[name] || self[guard_name]
  end
end

Public Instance Methods

port() click to toggle source

if port_range_max == port_range_min @return [Integer] else @return [Range]

# File lib/yao/resources/security_group_rule.rb, line 30
def port
  if port_range_max == port_range_min
    port_range_max
  else
    port_range
  end
end
port_range() click to toggle source

@return [Range]

# File lib/yao/resources/security_group_rule.rb, line 48
def port_range
  port_range_max..port_range_min
end
remote_group() click to toggle source

@return [Yao::Resources::SecurityGroup]

# File lib/yao/resources/security_group_rule.rb, line 53
def remote_group
  return nil if self["remote_group_id"].nil? && (self["group"].nil? || self["group"].empty?)

  SecurityGroup.new(
    {"id" => self["remote_group_id"]}.merge(self["group"] || {})
  )
end
remote_ip_cidr() click to toggle source

@return [String]

# File lib/yao/resources/security_group_rule.rb, line 39
def remote_ip_cidr
  if cidr = self["remote_ip_prefix"]
    cidr
  elsif ip_range = self["ip_range"]
    ip_range["cidr"]
  end
end
security_group() click to toggle source

@return [Yao::Resources::SecurityGroup]

# File lib/yao/resources/security_group_rule.rb, line 22
def security_group
  SecurityGroup.find(security_group_id)
end