class Applb::DSL::EC2::LoadBalancer

Public Class Methods

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

  @result = Result.new(@context)
  @result.name = name
  @result.attributes = Attributes.new(@context, @name) {}.result
  @result.instances = []
  @result.target_groups = []
  @result.listeners = []

  instance_eval(&block)
end

Public Instance Methods

result() click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 166
def result
  required(:subnets, @result.subnets)
  required(:security_groups, @result.security_groups)
  
  @result
end

Private Instance Methods

attributes(&block) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 195
def attributes(&block)
  @result.attributes = Attributes.new(@context, @name, &block).result
end
ip_address_type(ip_address_type) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 191
def ip_address_type(ip_address_type)
  @result.ip_address_type = ip_address_type
end
listeners(&block) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 203
def listeners(&block)
  @result.listeners = Listeners.new(@context, @name, &block).result
end
scheme(scheme) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 183
def scheme(scheme)
  @result.scheme = scheme
end
security_groups(*security_groups) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 179
def security_groups(*security_groups)
  @result.security_groups = security_groups
end
subnets(*subnets) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 175
def subnets(*subnets)
  @result.subnets = subnets
end
tags(tags) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 187
def tags(tags)
  @result.tags = tags.map { |k, v| { key: k, value: v } }
end
target_groups(&block) click to toggle source
# File lib/applb/dsl/load_balancer.rb, line 199
def target_groups(&block)
  @result.target_groups = TargetGroups.new(@context, @name, &block).result
end