class StackMaster::ParameterResolvers::AcmCertificate
Constants
- CertificateNotFound
Public Class Methods
new(config, stack_definition)
click to toggle source
# File lib/stack_master/parameter_resolvers/acm_certificate.rb, line 6 def initialize(config, stack_definition) @config = config @stack_definition = stack_definition end
Public Instance Methods
resolve(domain_name)
click to toggle source
# File lib/stack_master/parameter_resolvers/acm_certificate.rb, line 11 def resolve(domain_name) cert_arn = find_cert_arn_by_domain_name(domain_name) raise CertificateNotFound, "Could not find certificate #{domain_name} in #{@stack_definition.region}" unless cert_arn cert_arn end
Private Instance Methods
all_certs()
click to toggle source
# File lib/stack_master/parameter_resolvers/acm_certificate.rb, line 19 def all_certs certs = [] next_token = nil client = Aws::ACM::Client.new(region: @stack_definition.region) loop do resp = client.list_certificates(certificate_statuses: ['ISSUED'], next_token: next_token) certs << resp.certificate_summary_list next_token = resp.next_token break if next_token.nil? end certs.flatten end
find_cert_arn_by_domain_name(domain_name)
click to toggle source
# File lib/stack_master/parameter_resolvers/acm_certificate.rb, line 32 def find_cert_arn_by_domain_name(domain_name) all_certs.map { |c| c.certificate_arn if c.domain_name == domain_name }.compact.first end