Sha256: dbb2be09fee46430b9988bab8be4b48aa18a6a2d52171308179203738db4aa4c
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
class Ufo::Cfn::Stack::Builder::Resources class ListenerSsl < Listener def build return unless vars[:create_listener_ssl] { Type: "AWS::ElasticLoadBalancingV2::Listener", Condition: "CreateElbIsTrue", Properties: properties, } end def properties props = super # 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 props[:Certificates] = [certificates.first] # first one only props end def protocol vars[:default_listener_ssl_protocol] end def port Ufo.config.elb.ssl.port end # Do not use redirect settings. Only use by normal http listener def default_actions [default_action] end # nil on purpose def certificates ssl = Ufo.config.elb.ssl normalize(ssl.certificates) if ssl.certificates end def normalize(*certs) certs = certs.flatten.compact certs.map do |cert| if cert.is_a?(String) {CertificateArn: cert} else # Assume correct Hash structure cert end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems