Table of Contents

Module Members



Create a reference to an externally managed Application LoadBalancer

Example usage:

lb: ELBv2.ApplicationLoadBalancer.external("arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188")

Type Signature

 fun (String) -> LoadBalancer
Argument: arn

The ARN of an existing LoadBalancer.

Type: String


A reference to the specified LoadBalancer.

Type: LoadBalancer



new ApplicationLoadBalancer (Constructor)

Example usage:

alb: ELBv2.ApplicationLoadBalancer.new {
  name: "example-lb",
  subnets: mySubnets
  securityGroups: [mySG]
  listeners: [
    ELBv2.Listener.new {
      port: 80,
      protocol: ELBv2.HTTP,
      defaultAction: ELBv2.Action.forward {
        targetGroup: myTargetGroup,

Type Signature

 fun { name: String,
       subnets: List<Subnet>,
       securityGroups: List<SecurityGroup>,
       listeners: Optional<List<Listener>>,
       scheme: Optional<LoadBalancerScheme>,
       accessLog: Optional<AccessLog>,
       deletionProtection: Optional<Bool>,
       idleTimeoutSeconds: Optional<Int>,
       tags: Optional<List<Tag>>,
       resourceId: Optional<String> } -> LoadBalancer
Argument: name

The name of the load balancer. Names are unique within a region and account and may be up to 32 characters in length, containing letters, numbers, and hyphens. The name may not start or end with a hyphen.

Type: String

Argument: subnets

List of subnets attached to the load balancer. Minimum of two subnets must be specified with no more than one subnet specified per availability zone. All subnets must be attached to the same VPC. Mutable.

Type: List<Subnet>

Argument: securityGroups

List of security groups assigned to the load balancer. At least one security group must be specified and all security groups must reside in the same VPC as the load balancer. Mutable.

Type: List<SecurityGroup>

Argument: listeners

List of listeners to attach to the load balancer. See Fugue.AWS.ELBv2.Listener for details on declaring listeners. Mutable.

Type: Optional<List<Listener>>

Argument: scheme

The load balancing scheme to use. Defaults to ELBv2.InternetFacing.

Type: Optional<LoadBalancerScheme>

Argument: accessLog

Optional S3 bucket and prefix to send access logs to. If specified the bucket must live in the same region as the load balancer and have a bucket policy allowing write access from Elastic Load Balancing. Defaults to None, which disables storing access logs. Mutable.

Type: Optional<AccessLog>

Argument: deletionProtection

Specifies deletion protection for the load balancer when enabled. Defaults to False. Mutable.

Type: Optional<Bool>

Argument: idleTimeoutSeconds

The load balancer’s idle timeout value. Must be between 1 and 3600. Defaults to 60 seconds. Mutable.

Type: Optional<Int>

Argument: tags

List of tags assigned to the load balancer. Mutable.

Type: Optional<List<Tag>>

Argument: resourceId

Resource ID of the resource to import with Fugue Import. This field is only honored on fugue run. The resource ID is the ARN. Mutable. Example: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188

Type: Optional<String>


A new Fugue.Core.AWS.ELBv2.LoadBalancer value.

Type: LoadBalancer