AWS Classic

Pulumi Official
Package maintained by Pulumi
v5.4.0 published on Wednesday, May 4, 2022 by Pulumi



aws.elasticloadbalancing.getLoadBalancer has been deprecated in favor of aws.elb.getLoadBalancer

Provides information about a “classic” Elastic Load Balancer (ELB). See LB Data Source if you are looking for “v2” Application Load Balancer (ALB) or Network Load Balancer (NLB).

This data source can prove useful when a module accepts an LB as an input variable and needs to, for example, determine the security groups associated with it, etc.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
    public MyStack()
        var config = new Config();
        var lbName = config.Get("lbName") ?? "";
        var test = Output.Create(Aws.Elb.GetLoadBalancer.InvokeAsync(new Aws.Elb.GetLoadBalancerArgs
            Name = lbName,

package main

import (

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		lbName := ""
		if param := cfg.Get("lbName"); param != "" {
			lbName = param
		_, err := elb.LookupLoadBalancer(ctx, &elb.LookupLoadBalancerArgs{
			Name: lbName,
		}, nil)
		if err != nil {
			return err
		return nil
package generated_program;

import java.util.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {;

    public static void stack(Context ctx) {
        final var config = Config.of();
        final var lbName = config.get("lbName").orElse("");
        final var test = Output.of(ElbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()

import pulumi
import pulumi_aws as aws

config = pulumi.Config()
lb_name = config.get("lbName")
if lb_name is None:
    lb_name = ""
test = aws.elb.get_load_balancer(name=lb_name)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const lbName = config.get("lbName") || "";
const test = aws.elb.getLoadBalancer({
    name: lbName,
    type: string
      Function: aws:elb:getLoadBalancer
        name: ${lbName}

Using getLoadBalancer

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getLoadBalancer(args: GetLoadBalancerArgs, opts?: InvokeOptions): Promise<GetLoadBalancerResult>
function getLoadBalancerOutput(args: GetLoadBalancerOutputArgs, opts?: InvokeOptions): Output<GetLoadBalancerResult>
def get_load_balancer(name: Optional[str] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      opts: Optional[InvokeOptions] = None) -> GetLoadBalancerResult
def get_load_balancer_output(name: Optional[pulumi.Input[str]] = None,
                      tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetLoadBalancerResult]
func LookupLoadBalancer(ctx *Context, args *LookupLoadBalancerArgs, opts ...InvokeOption) (*LookupLoadBalancerResult, error)
func LookupLoadBalancerOutput(ctx *Context, args *LookupLoadBalancerOutputArgs, opts ...InvokeOption) LookupLoadBalancerResultOutput

> Note: This function is named LookupLoadBalancer in the Go SDK.

public static class GetLoadBalancer 
    public static Task<GetLoadBalancerResult> InvokeAsync(GetLoadBalancerArgs args, InvokeOptions? opts = null)
    public static Output<GetLoadBalancerResult> Invoke(GetLoadBalancerInvokeArgs args, InvokeOptions? opts = null)
public static CompletableFuture<GetLoadBalancerResult> getLoadBalancer(GetLoadBalancerArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
  Function: aws:elasticloadbalancing/getLoadBalancer:getLoadBalancer
    # Arguments dictionary

The following arguments are supported:

Name string

The unique name of the load balancer.

Tags Dictionary<string, string>
Name string

The unique name of the load balancer.

Tags map[string]string
name String

The unique name of the load balancer.

tags Map
name string

The unique name of the load balancer.

tags {[key: string]: string}
name str

The unique name of the load balancer.

tags Mapping[str, str]
name String

The unique name of the load balancer.

tags Map

getLoadBalancer Result

The following output properties are available:

AccessLogs GetLoadBalancerAccessLogs
Arn string
AvailabilityZones List<string>
ConnectionDraining bool
ConnectionDrainingTimeout int
CrossZoneLoadBalancing bool
DesyncMitigationMode string
DnsName string
HealthCheck GetLoadBalancerHealthCheck
Id string

The provider-assigned unique ID for this managed resource.

IdleTimeout int
Instances List<string>
Internal bool
Listeners List<GetLoadBalancerListener>
Name string
SecurityGroups List<string>
SourceSecurityGroup string
SourceSecurityGroupId string
Subnets List<string>
Tags Dictionary<string, string>
ZoneId string

Supporting Types


Bucket string
BucketPrefix string
Enabled bool
Interval int
Bucket string
BucketPrefix string
Enabled bool
Interval int
bucket String
bucketPrefix String
enabled Boolean
interval Integer
bucket string
bucketPrefix string
enabled boolean
interval number
bucket String
bucketPrefix String
enabled Boolean
interval Number


healthyThreshold Integer
interval Integer
target String
timeout Integer
unhealthyThreshold Integer


Package Details


This Pulumi package is based on the aws Terraform Provider.