Class: Outliers::Resources::Aws::Elb::LoadBalancer

Inherits:
Outliers::Resource show all
Defined in:
lib/outliers/resources/aws/elb/load_balancer.rb

Instance Attribute Summary

Attributes inherited from Outliers::Resource

#source

Instance Method Summary collapse

Methods inherited from Outliers::Resource

#id, #initialize, key, #method_missing, verifications

Constructor Details

This class inherits a constructor from Outliers::Resource

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Outliers::Resource

Instance Method Details

#ssl_certificates_valid?(args) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/outliers/resources/aws/elb/load_balancer.rb', line 7

def ssl_certificates_valid?(args)
  days = args[:days]
  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