class Kelbim::DSL::EC2::LoadBalancer::Listeners::Listener

Attributes

result[R]

Public Class Methods

new(context, load_balancer, protocol_ports, &block) click to toggle source
# File lib/kelbim/dsl/listener.rb, line 10
def initialize(context, load_balancer, protocol_ports, &block)
  @error_identifier = "LoadBalancer `#{load_balancer}`: #{protocol_ports}"
  @context = context.merge(:protocol_ports => protocol_ports)

  @result = OpenStruct.new({
    :policies => []
  })

  instance_eval(&block)
end

Public Instance Methods

policies(value) click to toggle source
# File lib/kelbim/dsl/listener.rb, line 33
def policies(value)
  call_once(:policies)
  expected_type(value, Hash)

  unless value.kind_of?(Hash)
    raise "LoadBalancer `#{@load_balancer}`: #{@protocol_ports}: Invalid policies: #{value}"
  end

  value = value.map do |policy, name_or_attrs|
    expected_type(name_or_attrs, String, Hash)
    policy = PolicyTypes.symbol_to_string(policy)
    [policy, name_or_attrs]
  end

  @result.policies = value
end
server_certificate(value) click to toggle source
# File lib/kelbim/dsl/listener.rb, line 23
def server_certificate(value)
  call_once(:server_certificate)
  @result.server_certificate = value
end
ssl_certificate_id(value) click to toggle source
# File lib/kelbim/dsl/listener.rb, line 28
def ssl_certificate_id(value)
  call_once(:ssl_certificate_id)
  @result.ssl_certificate_id = value
end