class Kelbim::ELBWrapper::LoadBalancerCollection::LoadBalancer::ListenerCollection::Listener
Public Class Methods
new(listener, options)
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 14 def initialize(listener, options) @listener = listener @options = options end
Public Instance Methods
delete()
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 74 def delete log(:info, 'Delete Listener', :red, log_id) related_policies = self.policies unless @options.dry_run @listener.delete @options.updated = true end unless @options.without_deleting_policy related_policies.each do |plcy| plcy.delete end end end
eql?(dsl)
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 23 def eql?(dsl) not has_difference_protocol_port?(dsl) and compare_server_certificate(dsl) and compare_ssl_certificate_id(dsl) end
has_difference_protocol_port?(dsl)
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 91 def has_difference_protocol_port?(dsl) not ( @listener.protocol == dsl.protocol && @listener.port == dsl.port && @listener.instance_protocol == dsl.instance_protocol && @listener.instance_port == dsl.instance_port ) end
log_id()
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 100 def log_id log_id = [[@listener.protocol, @listener.port], [@listener.instance_protocol, @listener.instance_port]].map {|i| i.inspect }.join(' => ') "#{@listener.load_balancer.vpc_id || :classic} > #{@listener.load_balancer.name} > #{log_id}" end
policies()
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 19 def policies PolicyCollection.new(@listener.policies, self, @options) end
update(dsl)
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 27 def update(dsl) log(:info, 'Update Listener', :green, log_id) compare_server_certificate(dsl) do |old_data, new_data| log(:info, " server_certificate:", :green) log(:info, Kelbim::Utils.diff(old_data, new_data, :color => @options[:color], :indent => ' '), false) unless @options.dry_run ss = @options.iam.server_certificates[dsl.server_certificate] unless ss raise "Can't find ServerCertificate: #{ss_name} in #{log_id}" end @listener.server_certificate = ss @options.updated = true end end compare_ssl_certificate_id(dsl) do |old_data, new_data| log(:info, " ssl_certificate_id:", :green) log(:info, Kelbim::Utils.diff(old_data, new_data, :color => @options[:color], :indent => ' '), false) unless @options.dry_run @listener.ssl_certificate_id = dsl.ssl_certificate_id @options.updated = true end end end
update_policies(policy_list, old_policy_list)
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 57 def update_policies(policy_list, old_policy_list) old_data = old_policy_list.map {|i| i.name }.sort new_data = policy_list.map {|i| i.name }.sort log(:info, 'Update Listener Policies', :green, log_id) log(:info, Kelbim::Utils.diff(old_data, new_data, :color => @options[:color], :indent => ' '), false) unless @options.dry_run @options.elb.client.set_load_balancer_policies_of_listener({ :load_balancer_name => @listener.load_balancer.name, :load_balancer_port => @listener.port, :policy_names => policy_list.map {|i| i.name }, }) @options.updated = true end end
Private Instance Methods
compare_server_certificate(dsl) { |aws_server_certificate, server_certificate| ... }
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 106 def compare_server_certificate(dsl) aws_server_certificate = @listener.server_certificate aws_server_certificate = aws_server_certificate.name if aws_server_certificate # XXX: if not aws_server_certificate.nil? and dsl.server_certificate.nil? return true end same = (aws_server_certificate == dsl.server_certificate) yield(aws_server_certificate, dsl.server_certificate) if !same && block_given? return same end
compare_ssl_certificate_id(dsl) { |ssl_certificate_id, ssl_certificate_id| ... }
click to toggle source
# File lib/kelbim/wrapper/listener.rb, line 120 def compare_ssl_certificate_id(dsl) # XXX: if not @listener.ssl_certificate_id.nil? and dsl.ssl_certificate_id.nil? return true end same = (@listener.ssl_certificate_id == dsl.ssl_certificate_id) yield(@listener.ssl_certificate_id, dsl.ssl_certificate_id) if !same && block_given? return same end