class DrawCloud::NetworkAcl

Attributes

entries[RW]
name[RW]

Public Class Methods

new(name, options={}, &block) click to toggle source
Calls superclass method DrawCloud::Base::new
# File lib/draw_cloud/network_acl.rb, line 22
def initialize(name, options={}, &block)
  @name = name
  @entries = []
  super(options, &block)
end

Public Instance Methods

allow_in(protocol, cidr=:any, ports_or_types=[]) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 32
def allow_in(protocol, cidr=:any, ports_or_types=[])
  add_entry :allow, protocol, :ingress, cidr, ports_or_types
end
allow_out(protocol, cidr=:any, ports_or_types=[]) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 36
def allow_out(protocol, cidr=:any, ports_or_types=[])
  add_entry :allow, protocol, :egress, cidr, ports_or_types
end
consumes(service) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 51
def consumes(service)
end
deny_in(protocol, cidr=:any, ports_or_types=[]) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 40
def deny_in(protocol, cidr=:any, ports_or_types=[])
  add_entry :deny, protocol, :ingress, cidr, ports_or_types
end
deny_out(protocol, cidr=:any, ports_or_types=[]) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 44
def deny_out(protocol, cidr=:any, ports_or_types=[])
  add_entry :deny, protocol, :egress, cidr, ports_or_types
end
load_into_config(config) click to toggle source
Calls superclass method DrawCloud::Base#load_into_config
# File lib/draw_cloud/network_acl.rb, line 60
def load_into_config(config)
  config.cf_add_resource resource_name, self
  ingress_index = 1
  egress_index = 1
  entries.each do |e|
    if e.outgoing?
      e.index = egress_index * 10
      egress_index += 1
    else
      e.index = ingress_index * 10
      ingress_index += 1
    end

    e.load_into_config(config)
  end
  super(config)
end
network_acl() click to toggle source
# File lib/draw_cloud/network_acl.rb, line 28
def network_acl
  self
end
provides(service) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 48
def provides(service)
end
resource_name() click to toggle source
# File lib/draw_cloud/network_acl.rb, line 78
def resource_name
  resource_style(name) + "NetworkACL"
end
to_h() click to toggle source
# File lib/draw_cloud/network_acl.rb, line 82
def to_h
  h = {
    "Type" => "AWS::EC2::NetworkAcl",
    "Properties" => {}
  }
  h["Properties"]["VpcId"] = DrawCloud.ref(vpc) if vpc
  add_standard_properties(h)
end

Private Instance Methods

add_entry(action, protocol, direction, cidr, ports_or_types) click to toggle source
# File lib/draw_cloud/network_acl.rb, line 54
def add_entry(action, protocol, direction, cidr, ports_or_types)
  entries.concat NetworkAclEntry.entries_from_spec(action, protocol, direction,
                                                   cidr, ports_or_types, :parent => self)
end