@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
147 lines (146 loc) • 5.04 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* > **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
*
* ```typescript
* 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,
* });
* ```
*/
export declare function getLoadBalancer(args?: GetLoadBalancerArgs, opts?: pulumi.InvokeOptions): Promise<GetLoadBalancerResult>;
/**
* A collection of arguments for invoking getLoadBalancer.
*/
export interface GetLoadBalancerArgs {
/**
* Full ARN of the load balancer.
*/
arn?: string;
/**
* Unique name of the load balancer.
*/
name?: string;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: string;
/**
* Mapping of tags, each pair of which must exactly match a pair on the desired load balancer.
*
* > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has lowest precedence.
*/
tags?: {
[key: string]: string;
};
}
/**
* A collection of values returned by getLoadBalancer.
*/
export interface GetLoadBalancerResult {
readonly accessLogs: outputs.alb.GetLoadBalancerAccessLogs;
readonly arn: string;
readonly arnSuffix: string;
readonly clientKeepAlive: number;
readonly connectionLogs: outputs.alb.GetLoadBalancerConnectionLog[];
readonly customerOwnedIpv4Pool: string;
readonly desyncMitigationMode: string;
readonly dnsName: string;
readonly dnsRecordClientRoutingPolicy: string;
readonly dropInvalidHeaderFields: boolean;
readonly enableCrossZoneLoadBalancing: boolean;
readonly enableDeletionProtection: boolean;
readonly enableHttp2: boolean;
readonly enableTlsVersionAndCipherSuiteHeaders: boolean;
readonly enableWafFailOpen: boolean;
readonly enableXffClientPort: boolean;
readonly enableZonalShift: boolean;
readonly enforceSecurityGroupInboundRulesOnPrivateLinkTraffic: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly idleTimeout: number;
readonly internal: boolean;
readonly ipAddressType: string;
readonly ipamPools: outputs.alb.GetLoadBalancerIpamPool[];
readonly loadBalancerType: string;
readonly name: string;
readonly preserveHostHeader: boolean;
readonly region: string;
readonly securityGroups: string[];
readonly subnetMappings: outputs.alb.GetLoadBalancerSubnetMapping[];
readonly subnets: string[];
readonly tags: {
[key: string]: string;
};
readonly vpcId: string;
readonly xffHeaderProcessingMode: string;
readonly zoneId: string;
}
/**
* > **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
*
* ```typescript
* 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,
* });
* ```
*/
export declare function getLoadBalancerOutput(args?: GetLoadBalancerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLoadBalancerResult>;
/**
* A collection of arguments for invoking getLoadBalancer.
*/
export interface GetLoadBalancerOutputArgs {
/**
* Full ARN of the load balancer.
*/
arn?: pulumi.Input<string>;
/**
* Unique name of the load balancer.
*/
name?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Mapping of tags, each pair of which must exactly match a pair on the desired load balancer.
*
* > **NOTE:** When both `arn` and `name` are specified, `arn` takes precedence. `tags` has lowest precedence.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}