Class: Cecha::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/cecha/client.rb

Defined Under Namespace

Classes: ElbCert

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cli_options = {}, aws_configuration = {}) ⇒ Client

Returns a new instance of Client.



23
24
25
26
27
28
29
30
31
32
# File 'lib/cecha/client.rb', line 23

def initialize(cli_options = {}, aws_configuration = {})
  @cli_options = cli_options
  @logger ||= Logger.new STDOUT

  aws_configuration[:logger] = Logger.new STDOUT if @cli_options[:verbose]

  @elasticloadbalancing = Aws::ElasticLoadBalancing::Resource.new aws_configuration
  @iam = Aws::IAM::Resource.new aws_configuration
  @region = aws_configuration[:region]
end

Instance Attribute Details

#loggerObject (readonly)

Returns the value of attribute logger.



6
7
8
# File 'lib/cecha/client.rb', line 6

def logger
  @logger
end

Instance Method Details

#listObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/cecha/client.rb', line 34

def list
  certlist = []
  begin
    resp = @elasticloadbalancing.client.describe_load_balancers
    resp.load_balancer_descriptions.each do |elb|
      elb.listener_descriptions.each do |desc|
        p desc
        cert = ssl_certificate(desc.listener.ssl_certificate_id)
        if cert
          elbcert = ElbCert.new
          elbcert. = (desc.listener.ssl_certificate_id)
          elbcert.region = @region
          elbcert.elb_name = elb.load_balancer_name
          elbcert.elb_port = desc.listener.load_balancer_port
          elbcert.policy_names = desc.policy_names.join(',')
          elbcert.ssl_certificate_name = cert.name
          elbcert.signature_algorithm = OpenSSL::X509::Certificate.new(cert.certificate_body).signature_algorithm
          certlist << elbcert
        end
      end
    end
  rescue Aws::ElasticLoadBalancing::Errors::ServiceError => e
    @logger.err e
  end
  certlist
end