Fugue.AWS.ELB.Listener

This is the preferred interface for creating ELB Listeners with Fugue. The new function is the best place to start.

Module Members

new

(Function)

new ELB Listener (Constructor)

Call this constructor to create a new Fugue.Core.AWS.ELB.Listener value.

Example usage:

ELB.Listener.new {
  protocol: ELB.HTTP,
  loadBalancerPort: 80,
  instanceProtocol: ELB.HTTP,
  instancePort: 3000
}

Type Signature

 fun (ListenerSpec) -> Listener
Argument: spec

An ELB Listener specification record.

Type: ListenerSpec

Returns:

A Fugue.Core.AWS.ELB.Listener value.

Type: Listener

ListenerSpec

(Type)

type ListenerSpec:
  protocol: Protocol
  loadBalancerPort: Int
  instanceProtocol: Optional<Protocol>
  instancePort: Int
  serverCertificate: Optional<ListenerServerCertificate>
  policies: Optional<List<LoadBalancerPolicy>>

ELB Listener Specification (Resource)

This type of value is used to specify an ELB Listener for the Listener. new() constructor.

Record {

Field: protocol

The protocol to listen with on the ELB. This value is important for enabling certain load balancing schemes and SSL termination options.

Type: Protocol

Field: loadBalancerPort

The port on the load balancer to listen on. This is where clients make requests.

Type: Int

Field: instanceProtocol

The protocol to use when forwarding connections from the ELB to instances. This is optional, and really only necessary when it differs from the protocol property. In such a case, some kind of protocol translation behavior in the ELB is implied, for example HTTPS to HTTP by way of SSL termination.

Type: Optional<Protocol>

Field: instancePort

The port on which to forward requests to instances in the ELB pool. For instance, you might have a loadBalancerPort of 80 but an instancePort of 8080.

Type: Int

Field: serverCertificate

The IAM or ACM Server Certificate for HTTPS. Mutable.

Type: Optional<ListenerServerCertificate>

Field: policies

Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type. Mutable.

Type: Optional<List<LoadBalancerPolicy>>

}

default

(Value)

default:
  instanceProtocol: None

ELB Listener Specification (Default Values)

elbSecurityPolicy-2011-08

(Value)

elbSecurityPolicy-2011-08:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2011-08")])

The ELBSecurityPolicy-2011-08 predefined policy.

elbSecurityPolicy-2014-01

(Value)

elbSecurityPolicy-2014-01:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2014-01")])

The ELBSecurityPolicy-2014-01 predefined policy.

elbSecurityPolicy-2014-10

(Value)

elbSecurityPolicy-2014-10:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2014-10")])

The ELBSecurityPolicy-2014-10 predefined policy.

elbSecurityPolicy-2015-02

(Value)

elbSecurityPolicy-2015-02:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2015-02")])

The ELBSecurityPolicy-2015-02 predefined policy.

elbSecurityPolicy-2015-03

(Value)

elbSecurityPolicy-2015-03:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2015-03")])

The ELBSecurityPolicy-2015-03 predefined policy.

elbSecurityPolicy-2015-05

(Value)

elbSecurityPolicy-2015-05:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2015-05")])

The ELBSecurityPolicy-2015-05 predefined policy.

elbSecurityPolicy-2016-08

(Value)

elbSecurityPolicy-2016-08:
  SSLNegotiation(sslNegotiationPolicies:
                   [ReferenceSecurityPolicy("ELBSecurityPolicy-2016-08")])

The ELBSecurityPolicy-2016-08 predefined policy. This is the default policy if no other policy is specified when using a SSL or HTTPS Listener.