import { type HostHeaderInputConfig, type HostHeaderResolvedConfig, type UserAgentInputConfig, type UserAgentResolvedConfig } from "@aws-sdk/core/client"; import { type DefaultsMode as __DefaultsMode, type SmithyConfiguration as __SmithyConfiguration, type SmithyResolvedConfiguration as __SmithyResolvedConfiguration, Client as __Client } from "@smithy/core/client"; import { type RegionInputConfig, type RegionResolvedConfig } from "@smithy/core/config"; import { type EndpointInputConfig, type EndpointResolvedConfig } from "@smithy/core/endpoints"; import { type HttpHandlerUserInput as __HttpHandlerUserInput } from "@smithy/core/protocols"; import { type RetryInputConfig, type RetryResolvedConfig } from "@smithy/core/retry"; import type { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types"; import { type HttpAuthSchemeInputConfig, type HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider"; import type { AddTagsCommandInput, AddTagsCommandOutput } from "./commands/AddTagsCommand"; import type { ApplySecurityGroupsToLoadBalancerCommandInput, ApplySecurityGroupsToLoadBalancerCommandOutput } from "./commands/ApplySecurityGroupsToLoadBalancerCommand"; import type { AttachLoadBalancerToSubnetsCommandInput, AttachLoadBalancerToSubnetsCommandOutput } from "./commands/AttachLoadBalancerToSubnetsCommand"; import type { ConfigureHealthCheckCommandInput, ConfigureHealthCheckCommandOutput } from "./commands/ConfigureHealthCheckCommand"; import type { CreateAppCookieStickinessPolicyCommandInput, CreateAppCookieStickinessPolicyCommandOutput } from "./commands/CreateAppCookieStickinessPolicyCommand"; import type { CreateLBCookieStickinessPolicyCommandInput, CreateLBCookieStickinessPolicyCommandOutput } from "./commands/CreateLBCookieStickinessPolicyCommand"; import type { CreateLoadBalancerCommandInput, CreateLoadBalancerCommandOutput } from "./commands/CreateLoadBalancerCommand"; import type { CreateLoadBalancerListenersCommandInput, CreateLoadBalancerListenersCommandOutput } from "./commands/CreateLoadBalancerListenersCommand"; import type { CreateLoadBalancerPolicyCommandInput, CreateLoadBalancerPolicyCommandOutput } from "./commands/CreateLoadBalancerPolicyCommand"; import type { DeleteLoadBalancerCommandInput, DeleteLoadBalancerCommandOutput } from "./commands/DeleteLoadBalancerCommand"; import type { DeleteLoadBalancerListenersCommandInput, DeleteLoadBalancerListenersCommandOutput } from "./commands/DeleteLoadBalancerListenersCommand"; import type { DeleteLoadBalancerPolicyCommandInput, DeleteLoadBalancerPolicyCommandOutput } from "./commands/DeleteLoadBalancerPolicyCommand"; import type { DeregisterInstancesFromLoadBalancerCommandInput, DeregisterInstancesFromLoadBalancerCommandOutput } from "./commands/DeregisterInstancesFromLoadBalancerCommand"; import type { DescribeAccountLimitsCommandInput, DescribeAccountLimitsCommandOutput } from "./commands/DescribeAccountLimitsCommand"; import type { DescribeInstanceHealthCommandInput, DescribeInstanceHealthCommandOutput } from "./commands/DescribeInstanceHealthCommand"; import type { DescribeLoadBalancerAttributesCommandInput, DescribeLoadBalancerAttributesCommandOutput } from "./commands/DescribeLoadBalancerAttributesCommand"; import type { DescribeLoadBalancerPoliciesCommandInput, DescribeLoadBalancerPoliciesCommandOutput } from "./commands/DescribeLoadBalancerPoliciesCommand"; import type { DescribeLoadBalancerPolicyTypesCommandInput, DescribeLoadBalancerPolicyTypesCommandOutput } from "./commands/DescribeLoadBalancerPolicyTypesCommand"; import type { DescribeLoadBalancersCommandInput, DescribeLoadBalancersCommandOutput } from "./commands/DescribeLoadBalancersCommand"; import type { DescribeTagsCommandInput, DescribeTagsCommandOutput } from "./commands/DescribeTagsCommand"; import type { DetachLoadBalancerFromSubnetsCommandInput, DetachLoadBalancerFromSubnetsCommandOutput } from "./commands/DetachLoadBalancerFromSubnetsCommand"; import type { DisableAvailabilityZonesForLoadBalancerCommandInput, DisableAvailabilityZonesForLoadBalancerCommandOutput } from "./commands/DisableAvailabilityZonesForLoadBalancerCommand"; import type { EnableAvailabilityZonesForLoadBalancerCommandInput, EnableAvailabilityZonesForLoadBalancerCommandOutput } from "./commands/EnableAvailabilityZonesForLoadBalancerCommand"; import type { ModifyLoadBalancerAttributesCommandInput, ModifyLoadBalancerAttributesCommandOutput } from "./commands/ModifyLoadBalancerAttributesCommand"; import type { RegisterInstancesWithLoadBalancerCommandInput, RegisterInstancesWithLoadBalancerCommandOutput } from "./commands/RegisterInstancesWithLoadBalancerCommand"; import type { RemoveTagsCommandInput, RemoveTagsCommandOutput } from "./commands/RemoveTagsCommand"; import type { SetLoadBalancerListenerSSLCertificateCommandInput, SetLoadBalancerListenerSSLCertificateCommandOutput } from "./commands/SetLoadBalancerListenerSSLCertificateCommand"; import type { SetLoadBalancerPoliciesForBackendServerCommandInput, SetLoadBalancerPoliciesForBackendServerCommandOutput } from "./commands/SetLoadBalancerPoliciesForBackendServerCommand"; import type { SetLoadBalancerPoliciesOfListenerCommandInput, SetLoadBalancerPoliciesOfListenerCommandOutput } from "./commands/SetLoadBalancerPoliciesOfListenerCommand"; import { type ClientInputEndpointParameters, type ClientResolvedEndpointParameters, type EndpointParameters } from "./endpoint/EndpointParameters"; import { type RuntimeExtension, type RuntimeExtensionsConfig } from "./runtimeExtensions"; export { __Client }; /** * @public */ export type ServiceInputTypes = AddTagsCommandInput | ApplySecurityGroupsToLoadBalancerCommandInput | AttachLoadBalancerToSubnetsCommandInput | ConfigureHealthCheckCommandInput | CreateAppCookieStickinessPolicyCommandInput | CreateLBCookieStickinessPolicyCommandInput | CreateLoadBalancerCommandInput | CreateLoadBalancerListenersCommandInput | CreateLoadBalancerPolicyCommandInput | DeleteLoadBalancerCommandInput | DeleteLoadBalancerListenersCommandInput | DeleteLoadBalancerPolicyCommandInput | DeregisterInstancesFromLoadBalancerCommandInput | DescribeAccountLimitsCommandInput | DescribeInstanceHealthCommandInput | DescribeLoadBalancerAttributesCommandInput | DescribeLoadBalancerPoliciesCommandInput | DescribeLoadBalancerPolicyTypesCommandInput | DescribeLoadBalancersCommandInput | DescribeTagsCommandInput | DetachLoadBalancerFromSubnetsCommandInput | DisableAvailabilityZonesForLoadBalancerCommandInput | EnableAvailabilityZonesForLoadBalancerCommandInput | ModifyLoadBalancerAttributesCommandInput | RegisterInstancesWithLoadBalancerCommandInput | RemoveTagsCommandInput | SetLoadBalancerListenerSSLCertificateCommandInput | SetLoadBalancerPoliciesForBackendServerCommandInput | SetLoadBalancerPoliciesOfListenerCommandInput; /** * @public */ export type ServiceOutputTypes = AddTagsCommandOutput | ApplySecurityGroupsToLoadBalancerCommandOutput | AttachLoadBalancerToSubnetsCommandOutput | ConfigureHealthCheckCommandOutput | CreateAppCookieStickinessPolicyCommandOutput | CreateLBCookieStickinessPolicyCommandOutput | CreateLoadBalancerCommandOutput | CreateLoadBalancerListenersCommandOutput | CreateLoadBalancerPolicyCommandOutput | DeleteLoadBalancerCommandOutput | DeleteLoadBalancerListenersCommandOutput | DeleteLoadBalancerPolicyCommandOutput | DeregisterInstancesFromLoadBalancerCommandOutput | DescribeAccountLimitsCommandOutput | DescribeInstanceHealthCommandOutput | DescribeLoadBalancerAttributesCommandOutput | DescribeLoadBalancerPoliciesCommandOutput | DescribeLoadBalancerPolicyTypesCommandOutput | DescribeLoadBalancersCommandOutput | DescribeTagsCommandOutput | DetachLoadBalancerFromSubnetsCommandOutput | DisableAvailabilityZonesForLoadBalancerCommandOutput | EnableAvailabilityZonesForLoadBalancerCommandOutput | ModifyLoadBalancerAttributesCommandOutput | RegisterInstancesWithLoadBalancerCommandOutput | RemoveTagsCommandOutput | SetLoadBalancerListenerSSLCertificateCommandOutput | SetLoadBalancerPoliciesForBackendServerCommandOutput | SetLoadBalancerPoliciesOfListenerCommandOutput; /** * @public */ export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHandlerOptions>> { /** * The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs. */ requestHandler?: __HttpHandlerUserInput; /** * A constructor for a class implementing the {@link @smithy/types#ChecksumConstructor} interface * that computes the SHA-256 HMAC or checksum of a string or binary buffer. * @internal */ sha256?: __ChecksumConstructor | __HashConstructor; /** * The function that will be used to convert strings into HTTP endpoints. * @internal */ urlParser?: __UrlParser; /** * A function that can calculate the length of a request body. * @internal */ bodyLengthChecker?: __BodyLengthCalculator; /** * A function that converts a stream into an array of bytes. * @internal */ streamCollector?: __StreamCollector; /** * The function that will be used to convert a base64-encoded string to a byte array. * @internal */ base64Decoder?: __Decoder; /** * The function that will be used to convert binary data to a base64-encoded string. * @internal */ base64Encoder?: __Encoder; /** * The function that will be used to convert a UTF8-encoded string to a byte array. * @internal */ utf8Decoder?: __Decoder; /** * The function that will be used to convert binary data to a UTF-8 encoded string. * @internal */ utf8Encoder?: __Encoder; /** * The runtime environment. * @internal */ runtime?: string; /** * Disable dynamically changing the endpoint of the client based on the hostPrefix * trait of an operation. */ disableHostPrefix?: boolean; /** * Unique service identifier. * @internal */ serviceId?: string; /** * Enables IPv6/IPv4 dualstack endpoint. */ useDualstackEndpoint?: boolean | __Provider; /** * Enables FIPS compatible endpoints. */ useFipsEndpoint?: boolean | __Provider; /** * The AWS region to which this client will send requests */ region?: string | __Provider; /** * Setting a client profile is similar to setting a value for the * AWS_PROFILE environment variable. Setting a profile on a client * in code only affects the single client instance, unlike AWS_PROFILE. * * When set, and only for environments where an AWS configuration * file exists, fields configurable by this file will be retrieved * from the specified profile within that file. * Conflicting code configuration and environment variables will * still have higher priority. * * For client credential resolution that involves checking the AWS * configuration file, the client's profile (this value) will be * used unless a different profile is set in the credential * provider options. * */ profile?: string; /** * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header * @internal */ defaultUserAgentProvider?: __Provider<__UserAgent>; /** * Default credentials provider; Not available in browser runtime. * @deprecated * @internal */ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider; /** * Value for how many times a request will be made at most in case of retry. */ maxAttempts?: number | __Provider; /** * Specifies which retry algorithm to use. * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/ * */ retryMode?: string | __Provider; /** * Optional logger for logging debug/info/warn/error. */ logger?: __Logger; /** * Optional extensions */ extensions?: RuntimeExtension[]; /** * The {@link @smithy/smithy-client#DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK. */ defaultsMode?: __DefaultsMode | __Provider<__DefaultsMode>; } /** * @public */ export type ElasticLoadBalancingClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & UserAgentInputConfig & RetryInputConfig & RegionInputConfig & HostHeaderInputConfig & EndpointInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters; /** * @public * * The configuration interface of ElasticLoadBalancingClient class constructor that set the region, credentials and other options. */ export interface ElasticLoadBalancingClientConfig extends ElasticLoadBalancingClientConfigType { } /** * @public */ export type ElasticLoadBalancingClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required & RuntimeExtensionsConfig & UserAgentResolvedConfig & RetryResolvedConfig & RegionResolvedConfig & HostHeaderResolvedConfig & EndpointResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters; /** * @public * * The resolved configuration interface of ElasticLoadBalancingClient class. This is resolved and normalized from the {@link ElasticLoadBalancingClientConfig | constructor configuration interface}. */ export interface ElasticLoadBalancingClientResolvedConfig extends ElasticLoadBalancingClientResolvedConfigType { } /** * Elastic Load Balancing * *

A load balancer can distribute incoming traffic across your EC2 instances. * This enables you to increase the availability of your application. The load balancer * also monitors the health of its registered instances and ensures that it routes traffic * only to healthy instances. You configure your load balancer to accept incoming traffic * by specifying one or more listeners, which are configured with a protocol and port * number for connections from clients to the load balancer and a protocol and port number * for connections from the load balancer to the instances.

*

Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, * and Classic Load Balancers. You can select a load balancer based on your application needs. For more * information, see the Elastic Load Balancing User Guide.

*

This reference covers the 2012-06-01 API, which supports Classic Load Balancers. * The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.

* *

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. * Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

* *

All Elastic Load Balancing operations are idempotent, which means * that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK * response code.

* @public */ export declare class ElasticLoadBalancingClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, ElasticLoadBalancingClientResolvedConfig> { /** * The resolved configuration of ElasticLoadBalancingClient class. This is resolved and normalized from the {@link ElasticLoadBalancingClientConfig | constructor configuration interface}. */ readonly config: ElasticLoadBalancingClientResolvedConfig; constructor(...[configuration]: __CheckOptionalClientConfig); /** * Destroy underlying resources, like sockets. It's usually not necessary to do this. * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. * Otherwise, sockets might stay open for quite a long time before the server terminates them. */ destroy(): void; }