Class: Yao::Resources::SecurityGroupRule

Inherits:
Base
  • Object
show all
Defined in:
lib/yao/resources/security_group_rule.rb

Instance Attribute Summary

Attributes included from RestfullyAccessible

#service

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#[], #[]=, add_instantiation_name_list, #destroy, friendly_attributes, #id, #initialize, instantiation?, map_attribute_to_attribute, map_attribute_to_resource, map_attribute_to_resources, map_attributes_to_time, #to_hash, #update

Methods included from RestfullyAccessible

#admin=, #api_version, #api_version=, #as_member, #client, #create, #destroy, extended, #find_by_name, #get, #get!, #list, #resources_path, #resources_path=, #return_single_on_querying, #return_single_on_querying=, #update

Constructor Details

This class inherits a constructor from Yao::Resources::Base

Class Method Details

.define_attribute_with_guard(_name, _guard_name) ⇒ Object

Parameters:

  • _name (Symbol)
  • _guard_name (Symbol)


8
9
10
11
12
13
14
# 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

Instance Method Details

#portInteger, Range

if port_range_max == port_range_min else

Returns:

  • (Integer)
  • (Range)


30
31
32
33
34
35
36
# 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_rangeRange

Returns:

  • (Range)


48
49
50
# File 'lib/yao/resources/security_group_rule.rb', line 48

def port_range
  port_range_max..port_range_min
end

#remote_groupYao::Resources::SecurityGroup



53
54
55
56
57
58
59
# 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_cidrString

Returns:

  • (String)


39
40
41
42
43
44
45
# 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_groupYao::Resources::SecurityGroup



22
23
24
# File 'lib/yao/resources/security_group_rule.rb', line 22

def security_group
  SecurityGroup.find(security_group_id)
end