Sha256: 4e1625c010f924d2ba637af9069844638c3b4bc02e1d31a8e9fa7885e22f01cb

Contents?: true

Size: 1.02 KB

Versions: 7

Compression:

Stored size: 1.02 KB

Contents

class Ufo::Cfn::Stack::Builder::Resources
  class ListenerCertificate < ListenerSsl
    def build
      return unless certificates && certificates.size >= 1 # already removed firt cert
      {
        Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate",
        Condition: "CreateElbIsTrue",
        Properties: properties,
      }
    end

    def properties
      {
        Certificates: certificates,
        ListenerArn: {Ref: "ListenerSsl"}
      }
    end

    def certificates
      ssl = Ufo.config.elb.ssl
      if ssl.certificates
        certs = normalize(ssl.certificates)
        # CloudFormation has weird interface
        # Only one cert allowed at the AWS::ElasticLoadBalancingV2::Listener
        # https://stackoverflow.com/questions/54447250/how-to-set-multiple-certificates-for-awselasticloadbalancingv2listener
        # Also note the docs say "You can specify one certificate per resource."
        # But tested and multiple certs here work
        certs[1..-1] # dont include the first one
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ufo-6.3.13 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.12 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.11 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.10 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.9 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.8 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb
ufo-6.3.7 lib/ufo/cfn/stack/builder/resources/listener_certificate.rb