@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
177 lines (176 loc) • 8.53 kB
TypeScript
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<pulumi.ID>, 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<outputs.elasticloadbalancing.LoadBalancerAccessLoggingPolicy | undefined>;
/**
* Information about a policy for application-controlled session stickiness.
*/
readonly appCookieStickinessPolicy: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerAppCookieStickinessPolicy[] | undefined>;
/**
* The Availability Zones for a load balancer in a default VPC. For a load balancer in a nondefault VPC, specify Subnets instead.
*/
readonly availabilityZones: pulumi.Output<string[] | undefined>;
/**
* The name of the Route 53 hosted zone that is associated with the load balancer. Internal-facing load balancers.
*/
readonly canonicalHostedZoneName: pulumi.Output<string>;
/**
* The ID of the Route 53 hosted zone name that is associated with the load balancer.
*/
readonly canonicalHostedZoneNameId: pulumi.Output<string>;
/**
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
*/
readonly connectionDrainingPolicy: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerConnectionDrainingPolicy | undefined>;
/**
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
*/
readonly connectionSettings: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerConnectionSettings | undefined>;
/**
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
*/
readonly crossZone: pulumi.Output<boolean | undefined>;
/**
* The DNS name for the load balancer
*/
readonly dnsName: pulumi.Output<string>;
/**
* The health check settings to use when evaluating the health of your EC2 instances.
*/
readonly healthCheck: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerHealthCheck | undefined>;
/**
* The IDs of the instances for the load balancer.
*/
readonly instances: pulumi.Output<string[] | undefined>;
/**
* Information about a policy for duration-based session stickiness.
*/
readonly lbCookieStickinessPolicy: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerLbCookieStickinessPolicy[] | undefined>;
/**
* The Listeners for the load balancer. You can specify at most one listener per port.
*/
readonly listeners: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerListeners[]>;
/**
* The name of the load balancer. This name must be unique within your set of load balancers for the region.
*/
readonly loadBalancerName: pulumi.Output<string | undefined>;
/**
* The policies defined for your Classic Load Balancer. Specify only back-end server policies.
*/
readonly policies: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerPolicies[] | undefined>;
/**
* The type of load balancer. Valid only for load balancers in a VPC.
*/
readonly scheme: pulumi.Output<string | undefined>;
/**
* The security groups for the load balancer. Valid only for load balancers in a VPC.
*/
readonly securityGroups: pulumi.Output<string[] | undefined>;
readonly sourceSecurityGroup: pulumi.Output<outputs.elasticloadbalancing.LoadBalancerSourceSecurityGroup>;
/**
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
*/
readonly subnets: pulumi.Output<string[] | undefined>;
/**
* The tags associated with a load balancer.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* 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<inputs.elasticloadbalancing.LoadBalancerAccessLoggingPolicyArgs>;
/**
* Information about a policy for application-controlled session stickiness.
*/
appCookieStickinessPolicy?: pulumi.Input<pulumi.Input<inputs.elasticloadbalancing.LoadBalancerAppCookieStickinessPolicyArgs>[]>;
/**
* The Availability Zones for a load balancer in a default VPC. For a load balancer in a nondefault VPC, specify Subnets instead.
*/
availabilityZones?: pulumi.Input<pulumi.Input<string>[]>;
/**
* If enabled, the load balancer allows existing requests to complete before the load balancer shifts traffic away from a deregistered or unhealthy instance.
*/
connectionDrainingPolicy?: pulumi.Input<inputs.elasticloadbalancing.LoadBalancerConnectionDrainingPolicyArgs>;
/**
* If enabled, the load balancer allows the connections to remain idle (no data is sent over the connection) for the specified duration.
*/
connectionSettings?: pulumi.Input<inputs.elasticloadbalancing.LoadBalancerConnectionSettingsArgs>;
/**
* If enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones.
*/
crossZone?: pulumi.Input<boolean>;
/**
* The health check settings to use when evaluating the health of your EC2 instances.
*/
healthCheck?: pulumi.Input<inputs.elasticloadbalancing.LoadBalancerHealthCheckArgs>;
/**
* The IDs of the instances for the load balancer.
*/
instances?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Information about a policy for duration-based session stickiness.
*/
lbCookieStickinessPolicy?: pulumi.Input<pulumi.Input<inputs.elasticloadbalancing.LoadBalancerLbCookieStickinessPolicyArgs>[]>;
/**
* The Listeners for the load balancer. You can specify at most one listener per port.
*/
listeners: pulumi.Input<pulumi.Input<inputs.elasticloadbalancing.LoadBalancerListenersArgs>[]>;
/**
* The name of the load balancer. This name must be unique within your set of load balancers for the region.
*/
loadBalancerName?: pulumi.Input<string>;
/**
* The policies defined for your Classic Load Balancer. Specify only back-end server policies.
*/
policies?: pulumi.Input<pulumi.Input<inputs.elasticloadbalancing.LoadBalancerPoliciesArgs>[]>;
/**
* The type of load balancer. Valid only for load balancers in a VPC.
*/
scheme?: pulumi.Input<string>;
/**
* The security groups for the load balancer. Valid only for load balancers in a VPC.
*/
securityGroups?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The IDs of the subnets for the load balancer. You can specify at most one subnet per Availability Zone.
*/
subnets?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The tags associated with a load balancer.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}