class Applb::DSL::EC2

Attributes

result[R]

Public Class Methods

new(context, vpc_id, lbs, &block) click to toggle source
# File lib/applb/dsl/ec2.rb, line 11
def initialize(context, vpc_id, lbs, &block)
  @context = context.merge(vpc_id: vpc_id)

  @result = OpenStruct.new({
    vpc_id: vpc_id,
    load_balancers: lbs,
  })

  @names = lbs.map(&:name)
  instance_eval(&block)
end

Private Instance Methods

elb_v2(name, &block) click to toggle source
# File lib/applb/dsl/ec2.rb, line 25
def elb_v2(name, &block)
  if @names.include?(name)
    raise "#{@result.vpc_id}: #{name} is already defined"
  end

  @result.load_balancers << LoadBalancer.new(@context, name, @result.vpc_id, &block).result
  @names << name
end