class Kelbim::DSL::EC2
Attributes
result[R]
Public Class Methods
new(context, vpc, load_balancers, &block)
click to toggle source
# File lib/kelbim/dsl/ec2.rb, line 8 def initialize(context, vpc, load_balancers, &block) @error_identifier = "EC2 `#{vpc || :classic}`" @context = context.merge(:vpc => vpc) @result = OpenStruct.new({ :vpc => vpc, :load_balancers => load_balancers, }) @names = load_balancers.map {|i| i.name } instance_eval(&block) end
Private Instance Methods
load_balancer(name, opts = {}, &block)
click to toggle source
# File lib/kelbim/dsl/ec2.rb, line 22 def load_balancer(name, opts = {}, &block) if @names.include?(name) raise "#{@error_identifier}: `#{name}` is already defined" end unless (invalid_keys = (opts.keys - [:internal])).empty? raise "LoadBalancer `#{name}`: Invalid option keys: #{invalid_keys}" end @result.load_balancers << LoadBalancer.new(@context, name, @result.vpc, opts[:internal], &block).result @names << name end