1. Packages
  2. AWS
  3. API Docs
  4. elb
  5. LoadBalancer
AWS v6.75.0 published on Wednesday, Apr 2, 2025 by Pulumi

aws.elb.LoadBalancer

Explore with Pulumi AI

Provides an Elastic Load Balancer resource, also known as a “Classic Load Balancer” after the release of Application/Network Load Balancers.

NOTE on ELB Instances and ELB Attachments: This provider currently provides both a standalone ELB Attachment resource (describing an instance attached to an ELB), and an ELB resource with instances defined in-line. At this time you cannot use an ELB with in-line instances in conjunction with a ELB Attachment resources. Doing so will cause a conflict and will overwrite attachments.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Create a new load balancer
const bar = new aws.elb.LoadBalancer("bar", {
    name: "foobar-elb",
    availabilityZones: [
        "us-west-2a",
        "us-west-2b",
        "us-west-2c",
    ],
    accessLogs: {
        bucket: "foo",
        bucketPrefix: "bar",
        interval: 60,
    },
    listeners: [
        {
            instancePort: 8000,
            instanceProtocol: "http",
            lbPort: 80,
            lbProtocol: "http",
        },
        {
            instancePort: 8000,
            instanceProtocol: "http",
            lbPort: 443,
            lbProtocol: "https",
            sslCertificateId: "arn:aws:iam::123456789012:server-certificate/certName",
        },
    ],
    healthCheck: {
        healthyThreshold: 2,
        unhealthyThreshold: 2,
        timeout: 3,
        target: "HTTP:8000/",
        interval: 30,
    },
    instances: [foo.id],
    crossZoneLoadBalancing: true,
    idleTimeout: 400,
    connectionDraining: true,
    connectionDrainingTimeout: 400,
    tags: {
        Name: "foobar-elb",
    },
});
Copy
import pulumi
import pulumi_aws as aws

# Create a new load balancer
bar = aws.elb.LoadBalancer("bar",
    name="foobar-elb",
    availability_zones=[
        "us-west-2a",
        "us-west-2b",
        "us-west-2c",
    ],
    access_logs={
        "bucket": "foo",
        "bucket_prefix": "bar",
        "interval": 60,
    },
    listeners=[
        {
            "instance_port": 8000,
            "instance_protocol": "http",
            "lb_port": 80,
            "lb_protocol": "http",
        },
        {
            "instance_port": 8000,
            "instance_protocol": "http",
            "lb_port": 443,
            "lb_protocol": "https",
            "ssl_certificate_id": "arn:aws:iam::123456789012:server-certificate/certName",
        },
    ],
    health_check={
        "healthy_threshold": 2,
        "unhealthy_threshold": 2,
        "timeout": 3,
        "target": "HTTP:8000/",
        "interval": 30,
    },
    instances=[foo["id"]],
    cross_zone_load_balancing=True,
    idle_timeout=400,
    connection_draining=True,
    connection_draining_timeout=400,
    tags={
        "Name": "foobar-elb",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elb"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Create a new load balancer
		_, err := elb.NewLoadBalancer(ctx, "bar", &elb.LoadBalancerArgs{
			Name: pulumi.String("foobar-elb"),
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
				pulumi.String("us-west-2c"),
			},
			AccessLogs: &elb.LoadBalancerAccessLogsArgs{
				Bucket:       pulumi.String("foo"),
				BucketPrefix: pulumi.String("bar"),
				Interval:     pulumi.Int(60),
			},
			Listeners: elb.LoadBalancerListenerArray{
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(80),
					LbProtocol:       pulumi.String("http"),
				},
				&elb.LoadBalancerListenerArgs{
					InstancePort:     pulumi.Int(8000),
					InstanceProtocol: pulumi.String("http"),
					LbPort:           pulumi.Int(443),
					LbProtocol:       pulumi.String("https"),
					SslCertificateId: pulumi.String("arn:aws:iam::123456789012:server-certificate/certName"),
				},
			},
			HealthCheck: &elb.LoadBalancerHealthCheckArgs{
				HealthyThreshold:   pulumi.Int(2),
				UnhealthyThreshold: pulumi.Int(2),
				Timeout:            pulumi.Int(3),
				Target:             pulumi.String("HTTP:8000/"),
				Interval:           pulumi.Int(30),
			},
			Instances: pulumi.StringArray{
				foo.Id,
			},
			CrossZoneLoadBalancing:    pulumi.Bool(true),
			IdleTimeout:               pulumi.Int(400),
			ConnectionDraining:        pulumi.Bool(true),
			ConnectionDrainingTimeout: pulumi.Int(400),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("foobar-elb"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    // Create a new load balancer
    var bar = new Aws.Elb.LoadBalancer("bar", new()
    {
        Name = "foobar-elb",
        AvailabilityZones = new[]
        {
            "us-west-2a",
            "us-west-2b",
            "us-west-2c",
        },
        AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs
        {
            Bucket = "foo",
            BucketPrefix = "bar",
            Interval = 60,
        },
        Listeners = new[]
        {
            new Aws.Elb.Inputs.LoadBalancerListenerArgs
            {
                InstancePort = 8000,
                InstanceProtocol = "http",
                LbPort = 80,
                LbProtocol = "http",
            },
            new Aws.Elb.Inputs.LoadBalancerListenerArgs
            {
                InstancePort = 8000,
                InstanceProtocol = "http",
                LbPort = 443,
                LbProtocol = "https",
                SslCertificateId = "arn:aws:iam::123456789012:server-certificate/certName",
            },
        },
        HealthCheck = new Aws.Elb.Inputs.LoadBalancerHealthCheckArgs
        {
            HealthyThreshold = 2,
            UnhealthyThreshold = 2,
            Timeout = 3,
            Target = "HTTP:8000/",
            Interval = 30,
        },
        Instances = new[]
        {
            foo.Id,
        },
        CrossZoneLoadBalancing = true,
        IdleTimeout = 400,
        ConnectionDraining = true,
        ConnectionDrainingTimeout = 400,
        Tags = 
        {
            { "Name", "foobar-elb" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.elb.LoadBalancer;
import com.pulumi.aws.elb.LoadBalancerArgs;
import com.pulumi.aws.elb.inputs.LoadBalancerAccessLogsArgs;
import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs;
import com.pulumi.aws.elb.inputs.LoadBalancerHealthCheckArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        // Create a new load balancer
        var bar = new LoadBalancer("bar", LoadBalancerArgs.builder()
            .name("foobar-elb")
            .availabilityZones(            
                "us-west-2a",
                "us-west-2b",
                "us-west-2c")
            .accessLogs(LoadBalancerAccessLogsArgs.builder()
                .bucket("foo")
                .bucketPrefix("bar")
                .interval(60)
                .build())
            .listeners(            
                LoadBalancerListenerArgs.builder()
                    .instancePort(8000)
                    .instanceProtocol("http")
                    .lbPort(80)
                    .lbProtocol("http")
                    .build(),
                LoadBalancerListenerArgs.builder()
                    .instancePort(8000)
                    .instanceProtocol("http")
                    .lbPort(443)
                    .lbProtocol("https")
                    .sslCertificateId("arn:aws:iam::123456789012:server-certificate/certName")
                    .build())
            .healthCheck(LoadBalancerHealthCheckArgs.builder()
                .healthyThreshold(2)
                .unhealthyThreshold(2)
                .timeout(3)
                .target("HTTP:8000/")
                .interval(30)
                .build())
            .instances(foo.id())
            .crossZoneLoadBalancing(true)
            .idleTimeout(400)
            .connectionDraining(true)
            .connectionDrainingTimeout(400)
            .tags(Map.of("Name", "foobar-elb"))
            .build());

    }
}
Copy
resources:
  # Create a new load balancer
  bar:
    type: aws:elb:LoadBalancer
    properties:
      name: foobar-elb
      availabilityZones:
        - us-west-2a
        - us-west-2b
        - us-west-2c
      accessLogs:
        bucket: foo
        bucketPrefix: bar
        interval: 60
      listeners:
        - instancePort: 8000
          instanceProtocol: http
          lbPort: 80
          lbProtocol: http
        - instancePort: 8000
          instanceProtocol: http
          lbPort: 443
          lbProtocol: https
          sslCertificateId: arn:aws:iam::123456789012:server-certificate/certName
      healthCheck:
        healthyThreshold: 2
        unhealthyThreshold: 2
        timeout: 3
        target: HTTP:8000/
        interval: 30
      instances:
        - ${foo.id}
      crossZoneLoadBalancing: true
      idleTimeout: 400
      connectionDraining: true
      connectionDrainingTimeout: 400
      tags:
        Name: foobar-elb
Copy

Note on ECDSA Key Algorithm

If the ARN of the ssl_certificate_id that is pointed to references a certificate that was signed by an ECDSA key, note that ELB only supports the P256 and P384 curves. Using a certificate signed by a key using a different curve could produce the error ERR_SSL_VERSION_OR_CIPHER_MISMATCH in your browser.

Create LoadBalancer Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new LoadBalancer(name: string, args: LoadBalancerArgs, opts?: CustomResourceOptions);
@overload
def LoadBalancer(resource_name: str,
                 args: LoadBalancerArgs,
                 opts: Optional[ResourceOptions] = None)

@overload
def LoadBalancer(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 listeners: Optional[Sequence[LoadBalancerListenerArgs]] = None,
                 instances: Optional[Sequence[str]] = None,
                 idle_timeout: Optional[int] = None,
                 connection_draining_timeout: Optional[int] = None,
                 cross_zone_load_balancing: Optional[bool] = None,
                 internal: Optional[bool] = None,
                 health_check: Optional[LoadBalancerHealthCheckArgs] = None,
                 connection_draining: Optional[bool] = None,
                 access_logs: Optional[LoadBalancerAccessLogsArgs] = None,
                 desync_mitigation_mode: Optional[str] = None,
                 availability_zones: Optional[Sequence[str]] = None,
                 name: Optional[str] = None,
                 name_prefix: Optional[str] = None,
                 security_groups: Optional[Sequence[str]] = None,
                 source_security_group: Optional[str] = None,
                 subnets: Optional[Sequence[str]] = None,
                 tags: Optional[Mapping[str, str]] = None)
func NewLoadBalancer(ctx *Context, name string, args LoadBalancerArgs, opts ...ResourceOption) (*LoadBalancer, error)
public LoadBalancer(string name, LoadBalancerArgs args, CustomResourceOptions? opts = null)
public LoadBalancer(String name, LoadBalancerArgs args)
public LoadBalancer(String name, LoadBalancerArgs args, CustomResourceOptions options)
type: aws:elb:LoadBalancer
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. LoadBalancerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. LoadBalancerArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. LoadBalancerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. LoadBalancerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. LoadBalancerArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var awsLoadBalancerResource = new Aws.Elb.LoadBalancer("awsLoadBalancerResource", new()
{
    Listeners = new[]
    {
        new Aws.Elb.Inputs.LoadBalancerListenerArgs
        {
            InstancePort = 0,
            InstanceProtocol = "string",
            LbPort = 0,
            LbProtocol = "string",
            SslCertificateId = "string",
        },
    },
    Instances = new[]
    {
        "string",
    },
    IdleTimeout = 0,
    ConnectionDrainingTimeout = 0,
    CrossZoneLoadBalancing = false,
    Internal = false,
    HealthCheck = new Aws.Elb.Inputs.LoadBalancerHealthCheckArgs
    {
        HealthyThreshold = 0,
        Interval = 0,
        Target = "string",
        Timeout = 0,
        UnhealthyThreshold = 0,
    },
    ConnectionDraining = false,
    AccessLogs = new Aws.Elb.Inputs.LoadBalancerAccessLogsArgs
    {
        Bucket = "string",
        BucketPrefix = "string",
        Enabled = false,
        Interval = 0,
    },
    DesyncMitigationMode = "string",
    AvailabilityZones = new[]
    {
        "string",
    },
    Name = "string",
    NamePrefix = "string",
    SecurityGroups = new[]
    {
        "string",
    },
    SourceSecurityGroup = "string",
    Subnets = new[]
    {
        "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
});
Copy
example, err := elb.NewLoadBalancer(ctx, "awsLoadBalancerResource", &elb.LoadBalancerArgs{
	Listeners: elb.LoadBalancerListenerArray{
		&elb.LoadBalancerListenerArgs{
			InstancePort:     pulumi.Int(0),
			InstanceProtocol: pulumi.String("string"),
			LbPort:           pulumi.Int(0),
			LbProtocol:       pulumi.String("string"),
			SslCertificateId: pulumi.String("string"),
		},
	},
	Instances: pulumi.StringArray{
		pulumi.String("string"),
	},
	IdleTimeout:               pulumi.Int(0),
	ConnectionDrainingTimeout: pulumi.Int(0),
	CrossZoneLoadBalancing:    pulumi.Bool(false),
	Internal:                  pulumi.Bool(false),
	HealthCheck: &elb.LoadBalancerHealthCheckArgs{
		HealthyThreshold:   pulumi.Int(0),
		Interval:           pulumi.Int(0),
		Target:             pulumi.String("string"),
		Timeout:            pulumi.Int(0),
		UnhealthyThreshold: pulumi.Int(0),
	},
	ConnectionDraining: pulumi.Bool(false),
	AccessLogs: &elb.LoadBalancerAccessLogsArgs{
		Bucket:       pulumi.String("string"),
		BucketPrefix: pulumi.String("string"),
		Enabled:      pulumi.Bool(false),
		Interval:     pulumi.Int(0),
	},
	DesyncMitigationMode: pulumi.String("string"),
	AvailabilityZones: pulumi.StringArray{
		pulumi.String("string"),
	},
	Name:       pulumi.String("string"),
	NamePrefix: pulumi.String("string"),
	SecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	SourceSecurityGroup: pulumi.String("string"),
	Subnets: pulumi.StringArray{
		pulumi.String("string"),
	},
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
var awsLoadBalancerResource = new LoadBalancer("awsLoadBalancerResource", LoadBalancerArgs.builder()
    .listeners(LoadBalancerListenerArgs.builder()
        .instancePort(0)
        .instanceProtocol("string")
        .lbPort(0)
        .lbProtocol("string")
        .sslCertificateId("string")
        .build())
    .instances("string")
    .idleTimeout(0)
    .connectionDrainingTimeout(0)
    .crossZoneLoadBalancing(false)
    .internal(false)
    .healthCheck(LoadBalancerHealthCheckArgs.builder()
        .healthyThreshold(0)
        .interval(0)
        .target("string")
        .timeout(0)
        .unhealthyThreshold(0)
        .build())
    .connectionDraining(false)
    .accessLogs(LoadBalancerAccessLogsArgs.builder()
        .bucket("string")
        .bucketPrefix("string")
        .enabled(false)
        .interval(0)
        .build())
    .desyncMitigationMode("string")
    .availabilityZones("string")
    .name("string")
    .namePrefix("string")
    .securityGroups("string")
    .sourceSecurityGroup("string")
    .subnets("string")
    .tags(Map.of("string", "string"))
    .build());
Copy
aws_load_balancer_resource = aws.elb.LoadBalancer("awsLoadBalancerResource",
    listeners=[{
        "instance_port": 0,
        "instance_protocol": "string",
        "lb_port": 0,
        "lb_protocol": "string",
        "ssl_certificate_id": "string",
    }],
    instances=["string"],
    idle_timeout=0,
    connection_draining_timeout=0,
    cross_zone_load_balancing=False,
    internal=False,
    health_check={
        "healthy_threshold": 0,
        "interval": 0,
        "target": "string",
        "timeout": 0,
        "unhealthy_threshold": 0,
    },
    connection_draining=False,
    access_logs={
        "bucket": "string",
        "bucket_prefix": "string",
        "enabled": False,
        "interval": 0,
    },
    desync_mitigation_mode="string",
    availability_zones=["string"],
    name="string",
    name_prefix="string",
    security_groups=["string"],
    source_security_group="string",
    subnets=["string"],
    tags={
        "string": "string",
    })
Copy
const awsLoadBalancerResource = new aws.elb.LoadBalancer("awsLoadBalancerResource", {
    listeners: [{
        instancePort: 0,
        instanceProtocol: "string",
        lbPort: 0,
        lbProtocol: "string",
        sslCertificateId: "string",
    }],
    instances: ["string"],
    idleTimeout: 0,
    connectionDrainingTimeout: 0,
    crossZoneLoadBalancing: false,
    internal: false,
    healthCheck: {
        healthyThreshold: 0,
        interval: 0,
        target: "string",
        timeout: 0,
        unhealthyThreshold: 0,
    },
    connectionDraining: false,
    accessLogs: {
        bucket: "string",
        bucketPrefix: "string",
        enabled: false,
        interval: 0,
    },
    desyncMitigationMode: "string",
    availabilityZones: ["string"],
    name: "string",
    namePrefix: "string",
    securityGroups: ["string"],
    sourceSecurityGroup: "string",
    subnets: ["string"],
    tags: {
        string: "string",
    },
});
Copy
type: aws:elb:LoadBalancer
properties:
    accessLogs:
        bucket: string
        bucketPrefix: string
        enabled: false
        interval: 0
    availabilityZones:
        - string
    connectionDraining: false
    connectionDrainingTimeout: 0
    crossZoneLoadBalancing: false
    desyncMitigationMode: string
    healthCheck:
        healthyThreshold: 0
        interval: 0
        target: string
        timeout: 0
        unhealthyThreshold: 0
    idleTimeout: 0
    instances:
        - string
    internal: false
    listeners:
        - instancePort: 0
          instanceProtocol: string
          lbPort: 0
          lbProtocol: string
          sslCertificateId: string
    name: string
    namePrefix: string
    securityGroups:
        - string
    sourceSecurityGroup: string
    subnets:
        - string
    tags:
        string: string
Copy

LoadBalancer Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The LoadBalancer resource accepts the following input properties:

Listeners This property is required. List<LoadBalancerListener>
A list of listener blocks. Listeners documented below.
AccessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
AvailabilityZones List<string>
The AZ's to serve traffic in.
ConnectionDraining bool
Boolean to enable connection draining. Default: false
ConnectionDrainingTimeout int
The time in seconds to allow for connections to drain. Default: 300
CrossZoneLoadBalancing bool
Enable cross-zone load balancing. Default: true
DesyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
HealthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
IdleTimeout int
The time in seconds that the connection is allowed to be idle. Default: 60
Instances List<string>
A list of instance ids to place in the ELB pool.
Internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
Name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
SecurityGroups List<string>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
SourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
Subnets List<string>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
Tags Dictionary<string, string>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

Listeners This property is required. []LoadBalancerListenerArgs
A list of listener blocks. Listeners documented below.
AccessLogs LoadBalancerAccessLogsArgs
An Access Logs block. Access Logs documented below.
AvailabilityZones []string
The AZ's to serve traffic in.
ConnectionDraining bool
Boolean to enable connection draining. Default: false
ConnectionDrainingTimeout int
The time in seconds to allow for connections to drain. Default: 300
CrossZoneLoadBalancing bool
Enable cross-zone load balancing. Default: true
DesyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
HealthCheck LoadBalancerHealthCheckArgs
A health_check block. Health Check documented below.
IdleTimeout int
The time in seconds that the connection is allowed to be idle. Default: 60
Instances []string
A list of instance ids to place in the ELB pool.
Internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
Name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
SecurityGroups []string
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
SourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
Subnets []string
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
Tags map[string]string

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

listeners This property is required. List<LoadBalancerListener>
A list of listener blocks. Listeners documented below.
accessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
availabilityZones List<String>
The AZ's to serve traffic in.
connectionDraining Boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout Integer
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing Boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode String
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
healthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
idleTimeout Integer
The time in seconds that the connection is allowed to be idle. Default: 60
instances List<String>
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. Boolean
If true, ELB will be an internal ELB.
name Changes to this property will trigger replacement. String
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups List<String>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup String
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
subnets List<String>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Map<String,String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

listeners This property is required. LoadBalancerListener[]
A list of listener blocks. Listeners documented below.
accessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
availabilityZones string[]
The AZ's to serve traffic in.
connectionDraining boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout number
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
healthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
idleTimeout number
The time in seconds that the connection is allowed to be idle. Default: 60
instances string[]
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. boolean
If true, ELB will be an internal ELB.
name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups string[]
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
subnets string[]
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags {[key: string]: string}

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

listeners This property is required. Sequence[LoadBalancerListenerArgs]
A list of listener blocks. Listeners documented below.
access_logs LoadBalancerAccessLogsArgs
An Access Logs block. Access Logs documented below.
availability_zones Sequence[str]
The AZ's to serve traffic in.
connection_draining bool
Boolean to enable connection draining. Default: false
connection_draining_timeout int
The time in seconds to allow for connections to drain. Default: 300
cross_zone_load_balancing bool
Enable cross-zone load balancing. Default: true
desync_mitigation_mode str
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
health_check LoadBalancerHealthCheckArgs
A health_check block. Health Check documented below.
idle_timeout int
The time in seconds that the connection is allowed to be idle. Default: 60
instances Sequence[str]
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
name Changes to this property will trigger replacement. str
The name of the ELB. By default generated by this provider.
name_prefix Changes to this property will trigger replacement. str
Creates a unique name beginning with the specified prefix. Conflicts with name.
security_groups Sequence[str]
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
source_security_group str
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
subnets Sequence[str]
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Mapping[str, str]

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

listeners This property is required. List<Property Map>
A list of listener blocks. Listeners documented below.
accessLogs Property Map
An Access Logs block. Access Logs documented below.
availabilityZones List<String>
The AZ's to serve traffic in.
connectionDraining Boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout Number
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing Boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode String
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
healthCheck Property Map
A health_check block. Health Check documented below.
idleTimeout Number
The time in seconds that the connection is allowed to be idle. Default: 60
instances List<String>
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. Boolean
If true, ELB will be an internal ELB.
name Changes to this property will trigger replacement. String
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups List<String>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup String
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
subnets List<String>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Map<String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

Outputs

All input properties are implicitly available as output properties. Additionally, the LoadBalancer resource produces the following output properties:

Arn string
The ARN of the ELB
DnsName string
The DNS name of the ELB
Id string
The provider-assigned unique ID for this managed resource.
SourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ZoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
Arn string
The ARN of the ELB
DnsName string
The DNS name of the ELB
Id string
The provider-assigned unique ID for this managed resource.
SourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ZoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
arn String
The ARN of the ELB
dnsName String
The DNS name of the ELB
id String
The provider-assigned unique ID for this managed resource.
sourceSecurityGroupId String
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId String
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
arn string
The ARN of the ELB
dnsName string
The DNS name of the ELB
id string
The provider-assigned unique ID for this managed resource.
sourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
arn str
The ARN of the ELB
dns_name str
The DNS name of the ELB
id str
The provider-assigned unique ID for this managed resource.
source_security_group_id str
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zone_id str
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
arn String
The ARN of the ELB
dnsName String
The DNS name of the ELB
id String
The provider-assigned unique ID for this managed resource.
sourceSecurityGroupId String
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId String
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)

Look up Existing LoadBalancer Resource

Get an existing LoadBalancer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: LoadBalancerState, opts?: CustomResourceOptions): LoadBalancer
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_logs: Optional[LoadBalancerAccessLogsArgs] = None,
        arn: Optional[str] = None,
        availability_zones: Optional[Sequence[str]] = None,
        connection_draining: Optional[bool] = None,
        connection_draining_timeout: Optional[int] = None,
        cross_zone_load_balancing: Optional[bool] = None,
        desync_mitigation_mode: Optional[str] = None,
        dns_name: Optional[str] = None,
        health_check: Optional[LoadBalancerHealthCheckArgs] = None,
        idle_timeout: Optional[int] = None,
        instances: Optional[Sequence[str]] = None,
        internal: Optional[bool] = None,
        listeners: Optional[Sequence[LoadBalancerListenerArgs]] = None,
        name: Optional[str] = None,
        name_prefix: Optional[str] = None,
        security_groups: Optional[Sequence[str]] = None,
        source_security_group: Optional[str] = None,
        source_security_group_id: Optional[str] = None,
        subnets: Optional[Sequence[str]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        zone_id: Optional[str] = None) -> LoadBalancer
func GetLoadBalancer(ctx *Context, name string, id IDInput, state *LoadBalancerState, opts ...ResourceOption) (*LoadBalancer, error)
public static LoadBalancer Get(string name, Input<string> id, LoadBalancerState? state, CustomResourceOptions? opts = null)
public static LoadBalancer get(String name, Output<String> id, LoadBalancerState state, CustomResourceOptions options)
resources:  _:    type: aws:elb:LoadBalancer    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
Arn string
The ARN of the ELB
AvailabilityZones List<string>
The AZ's to serve traffic in.
ConnectionDraining bool
Boolean to enable connection draining. Default: false
ConnectionDrainingTimeout int
The time in seconds to allow for connections to drain. Default: 300
CrossZoneLoadBalancing bool
Enable cross-zone load balancing. Default: true
DesyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
DnsName string
The DNS name of the ELB
HealthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
IdleTimeout int
The time in seconds that the connection is allowed to be idle. Default: 60
Instances List<string>
A list of instance ids to place in the ELB pool.
Internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
Listeners List<LoadBalancerListener>
A list of listener blocks. Listeners documented below.
Name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
SecurityGroups List<string>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
SourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
SourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
Subnets List<string>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
Tags Dictionary<string, string>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ZoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
AccessLogs LoadBalancerAccessLogsArgs
An Access Logs block. Access Logs documented below.
Arn string
The ARN of the ELB
AvailabilityZones []string
The AZ's to serve traffic in.
ConnectionDraining bool
Boolean to enable connection draining. Default: false
ConnectionDrainingTimeout int
The time in seconds to allow for connections to drain. Default: 300
CrossZoneLoadBalancing bool
Enable cross-zone load balancing. Default: true
DesyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
DnsName string
The DNS name of the ELB
HealthCheck LoadBalancerHealthCheckArgs
A health_check block. Health Check documented below.
IdleTimeout int
The time in seconds that the connection is allowed to be idle. Default: 60
Instances []string
A list of instance ids to place in the ELB pool.
Internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
Listeners []LoadBalancerListenerArgs
A list of listener blocks. Listeners documented below.
Name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
SecurityGroups []string
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
SourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
SourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
Subnets []string
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
Tags map[string]string

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

ZoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
accessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
arn String
The ARN of the ELB
availabilityZones List<String>
The AZ's to serve traffic in.
connectionDraining Boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout Integer
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing Boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode String
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
dnsName String
The DNS name of the ELB
healthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
idleTimeout Integer
The time in seconds that the connection is allowed to be idle. Default: 60
instances List<String>
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. Boolean
If true, ELB will be an internal ELB.
listeners List<LoadBalancerListener>
A list of listener blocks. Listeners documented below.
name Changes to this property will trigger replacement. String
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups List<String>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup String
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
sourceSecurityGroupId String
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
subnets List<String>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Map<String,String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId String
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
accessLogs LoadBalancerAccessLogs
An Access Logs block. Access Logs documented below.
arn string
The ARN of the ELB
availabilityZones string[]
The AZ's to serve traffic in.
connectionDraining boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout number
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode string
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
dnsName string
The DNS name of the ELB
healthCheck LoadBalancerHealthCheck
A health_check block. Health Check documented below.
idleTimeout number
The time in seconds that the connection is allowed to be idle. Default: 60
instances string[]
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. boolean
If true, ELB will be an internal ELB.
listeners LoadBalancerListener[]
A list of listener blocks. Listeners documented below.
name Changes to this property will trigger replacement. string
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups string[]
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup string
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
sourceSecurityGroupId string
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
subnets string[]
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags {[key: string]: string}

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId string
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
access_logs LoadBalancerAccessLogsArgs
An Access Logs block. Access Logs documented below.
arn str
The ARN of the ELB
availability_zones Sequence[str]
The AZ's to serve traffic in.
connection_draining bool
Boolean to enable connection draining. Default: false
connection_draining_timeout int
The time in seconds to allow for connections to drain. Default: 300
cross_zone_load_balancing bool
Enable cross-zone load balancing. Default: true
desync_mitigation_mode str
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
dns_name str
The DNS name of the ELB
health_check LoadBalancerHealthCheckArgs
A health_check block. Health Check documented below.
idle_timeout int
The time in seconds that the connection is allowed to be idle. Default: 60
instances Sequence[str]
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. bool
If true, ELB will be an internal ELB.
listeners Sequence[LoadBalancerListenerArgs]
A list of listener blocks. Listeners documented below.
name Changes to this property will trigger replacement. str
The name of the ELB. By default generated by this provider.
name_prefix Changes to this property will trigger replacement. str
Creates a unique name beginning with the specified prefix. Conflicts with name.
security_groups Sequence[str]
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
source_security_group str
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
source_security_group_id str
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
subnets Sequence[str]
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Mapping[str, str]

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zone_id str
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)
accessLogs Property Map
An Access Logs block. Access Logs documented below.
arn String
The ARN of the ELB
availabilityZones List<String>
The AZ's to serve traffic in.
connectionDraining Boolean
Boolean to enable connection draining. Default: false
connectionDrainingTimeout Number
The time in seconds to allow for connections to drain. Default: 300
crossZoneLoadBalancing Boolean
Enable cross-zone load balancing. Default: true
desyncMitigationMode String
Determines how the load balancer handles requests that might pose a security risk to an application due to HTTP desync. Valid values are monitor, defensive (default), strictest.
dnsName String
The DNS name of the ELB
healthCheck Property Map
A health_check block. Health Check documented below.
idleTimeout Number
The time in seconds that the connection is allowed to be idle. Default: 60
instances List<String>
A list of instance ids to place in the ELB pool.
internal Changes to this property will trigger replacement. Boolean
If true, ELB will be an internal ELB.
listeners List<Property Map>
A list of listener blocks. Listeners documented below.
name Changes to this property will trigger replacement. String
The name of the ELB. By default generated by this provider.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
securityGroups List<String>
A list of security group IDs to assign to the ELB. Only valid if creating an ELB within a VPC
sourceSecurityGroup String
The name of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Use this for Classic or Default VPC only.
sourceSecurityGroupId String
The ID of the security group that you can use as part of your inbound rules for your load balancer's back-end application instances. Only available on ELBs launched in a VPC.
subnets List<String>
A list of subnet IDs to attach to the ELB. When an update to subnets will remove all current subnets, this will force a new resource.
tags Map<String>

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Exactly one of availability_zones or subnets must be specified: this determines if the ELB exists in a VPC or in EC2-classic.

tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

zoneId String
The canonical hosted zone ID of the ELB (to be used in a Route 53 Alias record)

Supporting Types

LoadBalancerAccessLogs
, LoadBalancerAccessLogsArgs

Bucket This property is required. string
The S3 bucket name to store the logs in.
BucketPrefix string
The S3 bucket prefix. Logs are stored in the root if not configured.
Enabled bool
Boolean to enable / disable access_logs. Default is true
Interval int
The publishing interval in minutes. Valid values: 5 and 60. Default: 60
Bucket This property is required. string
The S3 bucket name to store the logs in.
BucketPrefix string
The S3 bucket prefix. Logs are stored in the root if not configured.
Enabled bool
Boolean to enable / disable access_logs. Default is true
Interval int
The publishing interval in minutes. Valid values: 5 and 60. Default: 60
bucket This property is required. String
The S3 bucket name to store the logs in.
bucketPrefix String
The S3 bucket prefix. Logs are stored in the root if not configured.
enabled Boolean
Boolean to enable / disable access_logs. Default is true
interval Integer
The publishing interval in minutes. Valid values: 5 and 60. Default: 60
bucket This property is required. string
The S3 bucket name to store the logs in.
bucketPrefix string
The S3 bucket prefix. Logs are stored in the root if not configured.
enabled boolean
Boolean to enable / disable access_logs. Default is true
interval number
The publishing interval in minutes. Valid values: 5 and 60. Default: 60
bucket This property is required. str
The S3 bucket name to store the logs in.
bucket_prefix str
The S3 bucket prefix. Logs are stored in the root if not configured.
enabled bool
Boolean to enable / disable access_logs. Default is true
interval int
The publishing interval in minutes. Valid values: 5 and 60. Default: 60
bucket This property is required. String
The S3 bucket name to store the logs in.
bucketPrefix String
The S3 bucket prefix. Logs are stored in the root if not configured.
enabled Boolean
Boolean to enable / disable access_logs. Default is true
interval Number
The publishing interval in minutes. Valid values: 5 and 60. Default: 60

LoadBalancerHealthCheck
, LoadBalancerHealthCheckArgs

HealthyThreshold This property is required. int
The number of checks before the instance is declared healthy.
Interval This property is required. int
The interval between checks.
Target This property is required. string
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
Timeout This property is required. int
The length of time before the check times out.
UnhealthyThreshold This property is required. int
The number of checks before the instance is declared unhealthy.
HealthyThreshold This property is required. int
The number of checks before the instance is declared healthy.
Interval This property is required. int
The interval between checks.
Target This property is required. string
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
Timeout This property is required. int
The length of time before the check times out.
UnhealthyThreshold This property is required. int
The number of checks before the instance is declared unhealthy.
healthyThreshold This property is required. Integer
The number of checks before the instance is declared healthy.
interval This property is required. Integer
The interval between checks.
target This property is required. String
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
timeout This property is required. Integer
The length of time before the check times out.
unhealthyThreshold This property is required. Integer
The number of checks before the instance is declared unhealthy.
healthyThreshold This property is required. number
The number of checks before the instance is declared healthy.
interval This property is required. number
The interval between checks.
target This property is required. string
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
timeout This property is required. number
The length of time before the check times out.
unhealthyThreshold This property is required. number
The number of checks before the instance is declared unhealthy.
healthy_threshold This property is required. int
The number of checks before the instance is declared healthy.
interval This property is required. int
The interval between checks.
target This property is required. str
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
timeout This property is required. int
The length of time before the check times out.
unhealthy_threshold This property is required. int
The number of checks before the instance is declared unhealthy.
healthyThreshold This property is required. Number
The number of checks before the instance is declared healthy.
interval This property is required. Number
The interval between checks.
target This property is required. String
The target of the check. Valid pattern is "${PROTOCOL}:${PORT}${PATH}", where PROTOCOL values are:

  • HTTP, HTTPS - PORT and PATH are required
  • TCP, SSL - PORT is required, PATH is not supported
timeout This property is required. Number
The length of time before the check times out.
unhealthyThreshold This property is required. Number
The number of checks before the instance is declared unhealthy.

LoadBalancerListener
, LoadBalancerListenerArgs

InstancePort This property is required. int
The port on the instance to route to
InstanceProtocol This property is required. string
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
LbPort This property is required. int
The port to listen on for the load balancer
LbProtocol This property is required. string
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
SslCertificateId string
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL
InstancePort This property is required. int
The port on the instance to route to
InstanceProtocol This property is required. string
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
LbPort This property is required. int
The port to listen on for the load balancer
LbProtocol This property is required. string
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
SslCertificateId string
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL
instancePort This property is required. Integer
The port on the instance to route to
instanceProtocol This property is required. String
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
lbPort This property is required. Integer
The port to listen on for the load balancer
lbProtocol This property is required. String
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
sslCertificateId String
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL
instancePort This property is required. number
The port on the instance to route to
instanceProtocol This property is required. string
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
lbPort This property is required. number
The port to listen on for the load balancer
lbProtocol This property is required. string
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
sslCertificateId string
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL
instance_port This property is required. int
The port on the instance to route to
instance_protocol This property is required. str
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
lb_port This property is required. int
The port to listen on for the load balancer
lb_protocol This property is required. str
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
ssl_certificate_id str
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL
instancePort This property is required. Number
The port on the instance to route to
instanceProtocol This property is required. String
The protocol to use to the instance. Valid values are HTTP, HTTPS, TCP, or SSL
lbPort This property is required. Number
The port to listen on for the load balancer
lbProtocol This property is required. String
The protocol to listen on. Valid values are HTTP, HTTPS, TCP, or SSL
sslCertificateId String
The ARN of an SSL certificate you have uploaded to AWS IAM. Note ECDSA-specific restrictions below. Only valid when lb_protocol is either HTTPS or SSL

Import

Using pulumi import, import ELBs using the name. For example:

$ pulumi import aws:elb/loadBalancer:LoadBalancer bar elb-production-12345
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.