AWS Classic

Pulumi Official
Package maintained by Pulumi
v5.10.0 published on Monday, Jul 11, 2022 by Pulumi

getLoadBalancer

Note: aws.alb.LoadBalancer is known as aws.lb.LoadBalancer. The functionality is identical.

Provides information about a Load Balancer.

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 lbArn = config.Get("lbArn") ?? "";
        var lbName = config.Get("lbName") ?? "";
        var test = Output.Create(Aws.LB.GetLoadBalancer.InvokeAsync(new Aws.LB.GetLoadBalancerArgs
        {
            Arn = lbArn,
            Name = lbName,
        }));
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lb"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

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

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

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

    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var lbArn = config.get("lbArn").orElse("");
        final var lbName = config.get("lbName").orElse("");
        final var test = Output.of(LbFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
            .arn(lbArn)
            .name(lbName)
            .build()));

    }
}
import pulumi
import pulumi_aws as aws

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

const config = new pulumi.Config();
const lbArn = config.get("lbArn") || "";
const lbName = config.get("lbName") || "";
const test = aws.lb.getLoadBalancer({
    arn: lbArn,
    name: lbName,
});
configuration:
  lbArn:
    type: string
    default:
  lbName:
    type: string
    default:
variables:
  test:
    Fn::Invoke:
      Function: aws:lb:getLoadBalancer
      Arguments:
        arn: ${lbArn}
        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(arn: Optional[str] = None,
                      name: Optional[str] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      opts: Optional[InvokeOptions] = None) -> GetLoadBalancerResult
def get_load_balancer_output(arn: Optional[pulumi.Input[str]] = None,
                      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
Fn::Invoke:
  Function: aws:alb/getLoadBalancer:getLoadBalancer
  Arguments:
    # Arguments dictionary

The following arguments are supported:

Arn string

The full ARN of the load balancer.

Name string

The unique name of the load balancer.

Tags Dictionary<string, string>

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

Arn string

The full ARN of the load balancer.

Name string

The unique name of the load balancer.

Tags map[string]string

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

arn String

The full ARN of the load balancer.

name String

The unique name of the load balancer.

tags Map<String,String>

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

arn string

The full ARN of the load balancer.

name string

The unique name of the load balancer.

tags {[key: string]: string}

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

arn str

The full ARN of the load balancer.

name str

The unique name of the load balancer.

tags Mapping[str, str]

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

arn String

The full ARN of the load balancer.

name String

The unique name of the load balancer.

tags Map<String>

A mapping of tags, each pair of which must exactly match a pair on the desired load balancer.

getLoadBalancer Result

The following output properties are available:

AccessLogs GetLoadBalancerAccessLogs
Arn string
ArnSuffix string
CustomerOwnedIpv4Pool string
DesyncMitigationMode string
DnsName string
DropInvalidHeaderFields bool
EnableDeletionProtection bool
EnableHttp2 bool
EnableWafFailOpen bool
Id string

The provider-assigned unique ID for this managed resource.

IdleTimeout int
Internal bool
IpAddressType string
LoadBalancerType string
Name string
SecurityGroups List<string>
SubnetMappings List<GetLoadBalancerSubnetMapping>
Subnets List<string>
Tags Dictionary<string, string>
VpcId string
ZoneId string
accessLogs GetLoadBalancerAccessLogs
arn String
arnSuffix String
customerOwnedIpv4Pool String
desyncMitigationMode String
dnsName String
dropInvalidHeaderFields Boolean
enableDeletionProtection Boolean
enableHttp2 Boolean
enableWafFailOpen Boolean
id String

The provider-assigned unique ID for this managed resource.

idleTimeout Integer
internal Boolean
ipAddressType String
loadBalancerType String
name String
securityGroups List<String>
subnetMappings List<GetLoadBalancerSubnetMapping>
subnets List<String>
tags Map<String,String>
vpcId String
zoneId String
accessLogs GetLoadBalancerAccessLogs
arn string
arnSuffix string
customerOwnedIpv4Pool string
desyncMitigationMode string
dnsName string
dropInvalidHeaderFields boolean
enableDeletionProtection boolean
enableHttp2 boolean
enableWafFailOpen boolean
id string

The provider-assigned unique ID for this managed resource.

idleTimeout number
internal boolean
ipAddressType string
loadBalancerType string
name string
securityGroups string[]
subnetMappings GetLoadBalancerSubnetMapping[]
subnets string[]
tags {[key: string]: string}
vpcId string
zoneId string
accessLogs Property Map
arn String
arnSuffix String
customerOwnedIpv4Pool String
desyncMitigationMode String
dnsName String
dropInvalidHeaderFields Boolean
enableDeletionProtection Boolean
enableHttp2 Boolean
enableWafFailOpen Boolean
id String

The provider-assigned unique ID for this managed resource.

idleTimeout Number
internal Boolean
ipAddressType String
loadBalancerType String
name String
securityGroups List<String>
subnetMappings List<Property Map>
subnets List<String>
tags Map<String>
vpcId String
zoneId String

Supporting Types

GetLoadBalancerAccessLogs

Bucket string
Enabled bool
Prefix string
Bucket string
Enabled bool
Prefix string
bucket String
enabled Boolean
prefix String
bucket string
enabled boolean
prefix string
bucket str
enabled bool
prefix str
bucket String
enabled Boolean
prefix String

GetLoadBalancerSubnetMapping

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.