class Outliers::Resources::Aws::Elb::LoadBalancer

Public Instance Methods

ssl_certificates_valid?(args) click to toggle source
# File lib/outliers/resources/aws/elb/load_balancer.rb, line 7
def ssl_certificates_valid?(args)
  days = args
  pass = true

  logger.debug "Load Balancer '#{id}' has no certificates." unless certificates.any?

  date = Time.now + (days.to_i * 86400)

  logger.debug "Validating no certs expire before '#{date.to_s}'."

  certificates.each do |c|
    certificate = OpenSSL::X509::Certificate.new c.certificate_body
    subject     = certificate.subject
    not_after   = certificate.not_after

    logger.debug "Certificate '#{subject}' expires '#{not_after}'."
    result = not_after > date
    logger.debug "Certificate #{result ? "valid" : "invalid"}."
    pass = false unless result
  end
  pass
end

Private Instance Methods

certificates() click to toggle source
# File lib/outliers/resources/aws/elb/load_balancer.rb, line 32
def certificates
  listeners.map {|l| l.server_certificate}.reject {|s| s.nil?}
end
listeners() click to toggle source
# File lib/outliers/resources/aws/elb/load_balancer.rb, line 36
def listeners
  @listeners ||= source.listeners
end