class Kelbim::DSL::EC2::LoadBalancer::Listeners
Public Class Methods
new(context, load_balancer, &block)
click to toggle source
# File lib/kelbim/dsl/listeners.rb, line 9 def initialize(context, load_balancer, &block) @error_identifier = "LoadBalancer `#{load_balancer}`" @context = context.dup @result = {} instance_eval(&block) end
Public Instance Methods
result()
click to toggle source
# File lib/kelbim/dsl/listeners.rb, line 16 def result required(:listener, @result) @result.map do |protocol_ports, listener| protocol, port, instance_protocol, instance_port = protocol_ports.first.flatten OpenStruct.new({ :protocol => protocol, :port => port, :instance_protocol => instance_protocol, :instance_port => instance_port, :server_certificate => listener.server_certificate, :policies => listener.policies, :ssl_certificate_id => listener.ssl_certificate_id, }) end end
Private Instance Methods
listener(protocol_ports, &block)
click to toggle source
# File lib/kelbim/dsl/listeners.rb, line 35 def listener(protocol_ports, &block) expected_type(protocol_ports, Hash) expected_length(protocol_ports, 1) block = proc {} unless block protocol_ports.first.each do |protocol_port| protocol, port = protocol_port expected_type(protocol_port, Array) expected_length(protocol_port, 2) expected_value(protocol, :http, :https, :tcp, :ssl) expected_type(port, Integer) end @result[protocol_ports] = Listener.new(@context, @load_balancer, protocol_ports, &block).result end