import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer */ export declare class LoadBalancer extends pulumi.CustomResource { /** * Get an existing LoadBalancer resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): LoadBalancer; /** * Returns true if the given object is an instance of LoadBalancer. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is LoadBalancer; /** * Information about where and how access logs are stored for the load balancer. */ readonly accessLoggingPolicy: pulumi.Output; /** * Information about a policy for application-controlled session stickiness. */ readonly appCookieStickinessPolicy: pulumi.Output; /** * The Availability Zones for a load balancer in a default VPC. For a load balancer in a nondefault VPC, specify `Subnets` instead. * * Update requires replacement if you did not previously specify an Availability Zone or if you are removing all Availability Zones. Otherwise, update requires no interruption. */ readonly availabilityZones: pulumi.Output; readonly awsId: pulumi.Output; /** * The name of the Route 53 hosted zone that is associated with the load balancer. Internal-facing load balancers don't use this value, use `DNSName` instead. */ readonly canonicalHostedZoneName: pulumi.Output; /** * The ID of the Route 53 hosted zone name that is associated with the load balancer. */ readonly canonicalHostedZoneNameId: pulumi.Output; /** * If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance. * * For more information, see [Configure connection draining](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) in the *User Guide for Classic Load Balancers* . */ readonly connectionDrainingPolicy: pulumi.Output; /** * If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration. * * By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see [Configure idle connection timeout](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) in the *User Guide for Classic Load Balancers* . */ readonly connectionSettings: pulumi.Output; /** * If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones. * * For more information, see [Configure cross-zone load balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) in the *User Guide for Classic Load Balancers* . */ readonly crossZone: pulumi.Output; /** * The DNS name for the load balancer. */ readonly dnsName: pulumi.Output; /** * The health check settings to use when evaluating the health of your EC2 instances. * * Update requires replacement if you did not previously specify health check settings or if you are removing the health check settings. Otherwise, update requires no interruption. */ readonly healthCheck: pulumi.Output; /** * The IDs of the instances for the load balancer. */ readonly instances: pulumi.Output; /** * Information about a policy for duration-based session stickiness. */ readonly lbCookieStickinessPolicy: pulumi.Output; /** * The listeners for the load balancer. You can specify at most one listener per port. * * If you update the properties for a listener, AWS CloudFormation deletes the existing listener and creates a new one with the specified properties. While the new listener is being created, clients cannot connect to the load balancer. */ readonly listeners: pulumi.Output; /** * The name of the load balancer. This name must be unique within your set of load balancers for the region. * * If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name. */ readonly loadBalancerName: pulumi.Output; /** * The policies defined for your Classic Load Balancer. Specify only back-end server policies. */ readonly policies: pulumi.Output; /** * The type of load balancer. Valid only for load balancers in a VPC. * * If `Scheme` is `internet-facing` , the load balancer has a public DNS name that resolves to a public IP address. * * If `Scheme` is `internal` , the load balancer has a public DNS name that resolves to a private IP address. */ readonly scheme: pulumi.Output; /** * The security groups for the load balancer. Valid only for load balancers in a VPC. */ readonly securityGroups: pulumi.Output; readonly sourceSecurityGroupGroupName: pulumi.Output; readonly sourceSecurityGroupOwnerAlias: pulumi.Output; /** * The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone. * * Update requires replacement if you did not previously specify a subnet or if you are removing all subnets. Otherwise, update requires no interruption. To update to a different subnet in the current Availability Zone, you must first update to a subnet in a different Availability Zone, then update to the new subnet in the original Availability Zone. */ readonly subnets: pulumi.Output; /** * The tags associated with a load balancer. */ readonly tags: pulumi.Output; /** * Create a LoadBalancer resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: LoadBalancerArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a LoadBalancer resource. */ export interface LoadBalancerArgs { /** * Information about where and how access logs are stored for the load balancer. */ accessLoggingPolicy?: pulumi.Input; /** * Information about a policy for application-controlled session stickiness. */ appCookieStickinessPolicy?: pulumi.Input[]>; /** * The Availability Zones for a load balancer in a default VPC. For a load balancer in a nondefault VPC, specify `Subnets` instead. * * Update requires replacement if you did not previously specify an Availability Zone or if you are removing all Availability Zones. Otherwise, update requires no interruption. */ availabilityZones?: pulumi.Input[]>; /** * If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance. * * For more information, see [Configure connection draining](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) in the *User Guide for Classic Load Balancers* . */ connectionDrainingPolicy?: pulumi.Input; /** * If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration. * * By default, Elastic Load Balancing maintains a 60-second idle connection timeout for both front-end and back-end connections of your load balancer. For more information, see [Configure idle connection timeout](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) in the *User Guide for Classic Load Balancers* . */ connectionSettings?: pulumi.Input; /** * If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones. * * For more information, see [Configure cross-zone load balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) in the *User Guide for Classic Load Balancers* . */ crossZone?: pulumi.Input; /** * The health check settings to use when evaluating the health of your EC2 instances. * * Update requires replacement if you did not previously specify health check settings or if you are removing the health check settings. Otherwise, update requires no interruption. */ healthCheck?: pulumi.Input; /** * The IDs of the instances for the load balancer. */ instances?: pulumi.Input[]>; /** * Information about a policy for duration-based session stickiness. */ lbCookieStickinessPolicy?: pulumi.Input[]>; /** * The listeners for the load balancer. You can specify at most one listener per port. * * If you update the properties for a listener, AWS CloudFormation deletes the existing listener and creates a new one with the specified properties. While the new listener is being created, clients cannot connect to the load balancer. */ listeners: pulumi.Input[]>; /** * The name of the load balancer. This name must be unique within your set of load balancers for the region. * * If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name. */ loadBalancerName?: pulumi.Input; /** * The policies defined for your Classic Load Balancer. Specify only back-end server policies. */ policies?: pulumi.Input[]>; /** * The type of load balancer. Valid only for load balancers in a VPC. * * If `Scheme` is `internet-facing` , the load balancer has a public DNS name that resolves to a public IP address. * * If `Scheme` is `internal` , the load balancer has a public DNS name that resolves to a private IP address. */ scheme?: pulumi.Input; /** * The security groups for the load balancer. Valid only for load balancers in a VPC. */ securityGroups?: pulumi.Input[]>; sourceSecurityGroupGroupName?: pulumi.Input; sourceSecurityGroupOwnerAlias?: pulumi.Input; /** * The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone. * * Update requires replacement if you did not previously specify a subnet or if you are removing all subnets. Otherwise, update requires no interruption. To update to a different subnet in the current Availability Zone, you must first update to a subnet in a different Availability Zone, then update to the new subnet in the original Availability Zone. */ subnets?: pulumi.Input[]>; /** * The tags associated with a load balancer. */ tags?: pulumi.Input[]>; }