/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace ElasticLoadBalancing { namespace Model { class AddTagsRequest; class ApplySecurityGroupsToLoadBalancerRequest; class AttachLoadBalancerToSubnetsRequest; class ConfigureHealthCheckRequest; class CreateAppCookieStickinessPolicyRequest; class CreateLBCookieStickinessPolicyRequest; class CreateLoadBalancerRequest; class CreateLoadBalancerListenersRequest; class CreateLoadBalancerPolicyRequest; class DeleteLoadBalancerRequest; class DeleteLoadBalancerListenersRequest; class DeleteLoadBalancerPolicyRequest; class DeregisterInstancesFromLoadBalancerRequest; class DescribeAccountLimitsRequest; class DescribeInstanceHealthRequest; class DescribeLoadBalancerAttributesRequest; class DescribeLoadBalancerPoliciesRequest; class DescribeLoadBalancerPolicyTypesRequest; class DescribeLoadBalancersRequest; class DescribeTagsRequest; class DetachLoadBalancerFromSubnetsRequest; class DisableAvailabilityZonesForLoadBalancerRequest; class EnableAvailabilityZonesForLoadBalancerRequest; class ModifyLoadBalancerAttributesRequest; class RegisterInstancesWithLoadBalancerRequest; class RemoveTagsRequest; class SetLoadBalancerListenerSSLCertificateRequest; class SetLoadBalancerPoliciesForBackendServerRequest; class SetLoadBalancerPoliciesOfListenerRequest; typedef Aws::Utils::Outcome AddTagsOutcome; typedef Aws::Utils::Outcome ApplySecurityGroupsToLoadBalancerOutcome; typedef Aws::Utils::Outcome AttachLoadBalancerToSubnetsOutcome; typedef Aws::Utils::Outcome ConfigureHealthCheckOutcome; typedef Aws::Utils::Outcome CreateAppCookieStickinessPolicyOutcome; typedef Aws::Utils::Outcome CreateLBCookieStickinessPolicyOutcome; typedef Aws::Utils::Outcome CreateLoadBalancerOutcome; typedef Aws::Utils::Outcome CreateLoadBalancerListenersOutcome; typedef Aws::Utils::Outcome CreateLoadBalancerPolicyOutcome; typedef Aws::Utils::Outcome DeleteLoadBalancerOutcome; typedef Aws::Utils::Outcome DeleteLoadBalancerListenersOutcome; typedef Aws::Utils::Outcome DeleteLoadBalancerPolicyOutcome; typedef Aws::Utils::Outcome DeregisterInstancesFromLoadBalancerOutcome; typedef Aws::Utils::Outcome DescribeAccountLimitsOutcome; typedef Aws::Utils::Outcome DescribeInstanceHealthOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancerAttributesOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancerPoliciesOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancerPolicyTypesOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancersOutcome; typedef Aws::Utils::Outcome DescribeTagsOutcome; typedef Aws::Utils::Outcome DetachLoadBalancerFromSubnetsOutcome; typedef Aws::Utils::Outcome DisableAvailabilityZonesForLoadBalancerOutcome; typedef Aws::Utils::Outcome EnableAvailabilityZonesForLoadBalancerOutcome; typedef Aws::Utils::Outcome ModifyLoadBalancerAttributesOutcome; typedef Aws::Utils::Outcome RegisterInstancesWithLoadBalancerOutcome; typedef Aws::Utils::Outcome RemoveTagsOutcome; typedef Aws::Utils::Outcome SetLoadBalancerListenerSSLCertificateOutcome; typedef Aws::Utils::Outcome SetLoadBalancerPoliciesForBackendServerOutcome; typedef Aws::Utils::Outcome SetLoadBalancerPoliciesOfListenerOutcome; typedef std::future AddTagsOutcomeCallable; typedef std::future ApplySecurityGroupsToLoadBalancerOutcomeCallable; typedef std::future AttachLoadBalancerToSubnetsOutcomeCallable; typedef std::future ConfigureHealthCheckOutcomeCallable; typedef std::future CreateAppCookieStickinessPolicyOutcomeCallable; typedef std::future CreateLBCookieStickinessPolicyOutcomeCallable; typedef std::future CreateLoadBalancerOutcomeCallable; typedef std::future CreateLoadBalancerListenersOutcomeCallable; typedef std::future CreateLoadBalancerPolicyOutcomeCallable; typedef std::future DeleteLoadBalancerOutcomeCallable; typedef std::future DeleteLoadBalancerListenersOutcomeCallable; typedef std::future DeleteLoadBalancerPolicyOutcomeCallable; typedef std::future DeregisterInstancesFromLoadBalancerOutcomeCallable; typedef std::future DescribeAccountLimitsOutcomeCallable; typedef std::future DescribeInstanceHealthOutcomeCallable; typedef std::future DescribeLoadBalancerAttributesOutcomeCallable; typedef std::future DescribeLoadBalancerPoliciesOutcomeCallable; typedef std::future DescribeLoadBalancerPolicyTypesOutcomeCallable; typedef std::future DescribeLoadBalancersOutcomeCallable; typedef std::future DescribeTagsOutcomeCallable; typedef std::future DetachLoadBalancerFromSubnetsOutcomeCallable; typedef std::future DisableAvailabilityZonesForLoadBalancerOutcomeCallable; typedef std::future EnableAvailabilityZonesForLoadBalancerOutcomeCallable; typedef std::future ModifyLoadBalancerAttributesOutcomeCallable; typedef std::future RegisterInstancesWithLoadBalancerOutcomeCallable; typedef std::future RemoveTagsOutcomeCallable; typedef std::future SetLoadBalancerListenerSSLCertificateOutcomeCallable; typedef std::future SetLoadBalancerPoliciesForBackendServerOutcomeCallable; typedef std::future SetLoadBalancerPoliciesOfListenerOutcomeCallable; } // namespace Model class ElasticLoadBalancingClient; typedef std::function&) > AddTagsResponseReceivedHandler; typedef std::function&) > ApplySecurityGroupsToLoadBalancerResponseReceivedHandler; typedef std::function&) > AttachLoadBalancerToSubnetsResponseReceivedHandler; typedef std::function&) > ConfigureHealthCheckResponseReceivedHandler; typedef std::function&) > CreateAppCookieStickinessPolicyResponseReceivedHandler; typedef std::function&) > CreateLBCookieStickinessPolicyResponseReceivedHandler; typedef std::function&) > CreateLoadBalancerResponseReceivedHandler; typedef std::function&) > CreateLoadBalancerListenersResponseReceivedHandler; typedef std::function&) > CreateLoadBalancerPolicyResponseReceivedHandler; typedef std::function&) > DeleteLoadBalancerResponseReceivedHandler; typedef std::function&) > DeleteLoadBalancerListenersResponseReceivedHandler; typedef std::function&) > DeleteLoadBalancerPolicyResponseReceivedHandler; typedef std::function&) > DeregisterInstancesFromLoadBalancerResponseReceivedHandler; typedef std::function&) > DescribeAccountLimitsResponseReceivedHandler; typedef std::function&) > DescribeInstanceHealthResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancerAttributesResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancerPoliciesResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancerPolicyTypesResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancersResponseReceivedHandler; typedef std::function&) > DescribeTagsResponseReceivedHandler; typedef std::function&) > DetachLoadBalancerFromSubnetsResponseReceivedHandler; typedef std::function&) > DisableAvailabilityZonesForLoadBalancerResponseReceivedHandler; typedef std::function&) > EnableAvailabilityZonesForLoadBalancerResponseReceivedHandler; typedef std::function&) > ModifyLoadBalancerAttributesResponseReceivedHandler; typedef std::function&) > RegisterInstancesWithLoadBalancerResponseReceivedHandler; typedef std::function&) > RemoveTagsResponseReceivedHandler; typedef std::function&) > SetLoadBalancerListenerSSLCertificateResponseReceivedHandler; typedef std::function&) > SetLoadBalancerPoliciesForBackendServerResponseReceivedHandler; typedef std::function&) > SetLoadBalancerPoliciesOfListenerResponseReceivedHandler; /** * 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.

*/ class AWS_ELASTICLOADBALANCING_API ElasticLoadBalancingClient : public Aws::Client::AWSXMLClient { public: typedef Aws::Client::AWSXMLClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ElasticLoadBalancingClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ ElasticLoadBalancingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ ElasticLoadBalancingClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~ElasticLoadBalancingClient(); /** * Converts any request object to a presigned URL with the GET method, using region for the signer and a timeout of 15 minutes. */ Aws::String ConvertRequestToPresignedUrl(const Aws::AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const; /** *

Adds the specified tags to the specified load balancer. Each load balancer * can have a maximum of 10 tags.

Each tag consists of a key and an optional * value. If a tag with the same key is already associated with the load balancer, * AddTags updates its value.

For more information, see Tag * Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::AddTagsOutcome AddTags(const Model::AddTagsRequest& request) const; /** *

Adds the specified tags to the specified load balancer. Each load balancer * can have a maximum of 10 tags.

Each tag consists of a key and an optional * value. If a tag with the same key is already associated with the load balancer, * AddTags updates its value.

For more information, see Tag * Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AddTagsOutcomeCallable AddTagsCallable(const Model::AddTagsRequest& request) const; /** *

Adds the specified tags to the specified load balancer. Each load balancer * can have a maximum of 10 tags.

Each tag consists of a key and an optional * value. If a tag with the same key is already associated with the load balancer, * AddTags updates its value.

For more information, see Tag * Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AddTagsAsync(const Model::AddTagsRequest& request, const AddTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Associates one or more security groups with your load balancer in a virtual * private cloud (VPC). The specified security groups override the previously * associated security groups.

For more information, see Security * Groups for Load Balancers in a VPC in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ApplySecurityGroupsToLoadBalancerOutcome ApplySecurityGroupsToLoadBalancer(const Model::ApplySecurityGroupsToLoadBalancerRequest& request) const; /** *

Associates one or more security groups with your load balancer in a virtual * private cloud (VPC). The specified security groups override the previously * associated security groups.

For more information, see Security * Groups for Load Balancers in a VPC in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ApplySecurityGroupsToLoadBalancerOutcomeCallable ApplySecurityGroupsToLoadBalancerCallable(const Model::ApplySecurityGroupsToLoadBalancerRequest& request) const; /** *

Associates one or more security groups with your load balancer in a virtual * private cloud (VPC). The specified security groups override the previously * associated security groups.

For more information, see Security * Groups for Load Balancers in a VPC in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ApplySecurityGroupsToLoadBalancerAsync(const Model::ApplySecurityGroupsToLoadBalancerRequest& request, const ApplySecurityGroupsToLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds one or more subnets to the set of configured subnets for the specified * load balancer.

The load balancer evenly distributes requests across all * registered subnets. For more information, see Add * or Remove Subnets for Your Load Balancer in a VPC in the Classic Load * Balancers Guide.

See Also:

AWS * API Reference

*/ virtual Model::AttachLoadBalancerToSubnetsOutcome AttachLoadBalancerToSubnets(const Model::AttachLoadBalancerToSubnetsRequest& request) const; /** *

Adds one or more subnets to the set of configured subnets for the specified * load balancer.

The load balancer evenly distributes requests across all * registered subnets. For more information, see Add * or Remove Subnets for Your Load Balancer in a VPC in the Classic Load * Balancers Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AttachLoadBalancerToSubnetsOutcomeCallable AttachLoadBalancerToSubnetsCallable(const Model::AttachLoadBalancerToSubnetsRequest& request) const; /** *

Adds one or more subnets to the set of configured subnets for the specified * load balancer.

The load balancer evenly distributes requests across all * registered subnets. For more information, see Add * or Remove Subnets for Your Load Balancer in a VPC in the Classic Load * Balancers Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AttachLoadBalancerToSubnetsAsync(const Model::AttachLoadBalancerToSubnetsRequest& request, const AttachLoadBalancerToSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Specifies the health check settings to use when evaluating the health state * of your EC2 instances.

For more information, see Configure * Health Checks for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::ConfigureHealthCheckOutcome ConfigureHealthCheck(const Model::ConfigureHealthCheckRequest& request) const; /** *

Specifies the health check settings to use when evaluating the health state * of your EC2 instances.

For more information, see Configure * Health Checks for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ConfigureHealthCheckOutcomeCallable ConfigureHealthCheckCallable(const Model::ConfigureHealthCheckRequest& request) const; /** *

Specifies the health check settings to use when evaluating the health state * of your EC2 instances.

For more information, see Configure * Health Checks for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ConfigureHealthCheckAsync(const Model::ConfigureHealthCheckRequest& request, const ConfigureHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Generates a stickiness policy with sticky session lifetimes that follow that * of an application-generated cookie. This policy can be associated only with * HTTP/HTTPS listeners.

This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the special * Elastic Load Balancing cookie, AWSELB, follows the lifetime of the * application-generated cookie specified in the policy configuration. The load * balancer only inserts a new stickiness cookie when the application response * includes a new application cookie.

If the application cookie is * explicitly removed or expires, the session stops being sticky until a new * application cookie is issued.

For more information, see Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

*/ virtual Model::CreateAppCookieStickinessPolicyOutcome CreateAppCookieStickinessPolicy(const Model::CreateAppCookieStickinessPolicyRequest& request) const; /** *

Generates a stickiness policy with sticky session lifetimes that follow that * of an application-generated cookie. This policy can be associated only with * HTTP/HTTPS listeners.

This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the special * Elastic Load Balancing cookie, AWSELB, follows the lifetime of the * application-generated cookie specified in the policy configuration. The load * balancer only inserts a new stickiness cookie when the application response * includes a new application cookie.

If the application cookie is * explicitly removed or expires, the session stops being sticky until a new * application cookie is issued.

For more information, see Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateAppCookieStickinessPolicyOutcomeCallable CreateAppCookieStickinessPolicyCallable(const Model::CreateAppCookieStickinessPolicyRequest& request) const; /** *

Generates a stickiness policy with sticky session lifetimes that follow that * of an application-generated cookie. This policy can be associated only with * HTTP/HTTPS listeners.

This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the special * Elastic Load Balancing cookie, AWSELB, follows the lifetime of the * application-generated cookie specified in the policy configuration. The load * balancer only inserts a new stickiness cookie when the application response * includes a new application cookie.

If the application cookie is * explicitly removed or expires, the session stops being sticky until a new * application cookie is issued.

For more information, see Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateAppCookieStickinessPolicyAsync(const Model::CreateAppCookieStickinessPolicyRequest& request, const CreateAppCookieStickinessPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Generates a stickiness policy with sticky session lifetimes controlled by the * lifetime of the browser (user-agent) or a specified expiration period. This * policy can be associated only with HTTP/HTTPS listeners.

When a load * balancer implements this policy, the load balancer uses a special cookie to * track the instance for each request. When the load balancer receives a request, * it first checks to see if this cookie is present in the request. If so, the load * balancer sends the request to the application server specified in the cookie. If * not, the load balancer sends the request to a server that is chosen based on the * existing load-balancing algorithm.

A cookie is inserted into the response * for binding subsequent requests from the same user to that server. The validity * of the cookie is based on the cookie expiration time, which is specified in the * policy configuration.

For more information, see Duration-Based * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

*/ virtual Model::CreateLBCookieStickinessPolicyOutcome CreateLBCookieStickinessPolicy(const Model::CreateLBCookieStickinessPolicyRequest& request) const; /** *

Generates a stickiness policy with sticky session lifetimes controlled by the * lifetime of the browser (user-agent) or a specified expiration period. This * policy can be associated only with HTTP/HTTPS listeners.

When a load * balancer implements this policy, the load balancer uses a special cookie to * track the instance for each request. When the load balancer receives a request, * it first checks to see if this cookie is present in the request. If so, the load * balancer sends the request to the application server specified in the cookie. If * not, the load balancer sends the request to a server that is chosen based on the * existing load-balancing algorithm.

A cookie is inserted into the response * for binding subsequent requests from the same user to that server. The validity * of the cookie is based on the cookie expiration time, which is specified in the * policy configuration.

For more information, see Duration-Based * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLBCookieStickinessPolicyOutcomeCallable CreateLBCookieStickinessPolicyCallable(const Model::CreateLBCookieStickinessPolicyRequest& request) const; /** *

Generates a stickiness policy with sticky session lifetimes controlled by the * lifetime of the browser (user-agent) or a specified expiration period. This * policy can be associated only with HTTP/HTTPS listeners.

When a load * balancer implements this policy, the load balancer uses a special cookie to * track the instance for each request. When the load balancer receives a request, * it first checks to see if this cookie is present in the request. If so, the load * balancer sends the request to the application server specified in the cookie. If * not, the load balancer sends the request to a server that is chosen based on the * existing load-balancing algorithm.

A cookie is inserted into the response * for binding subsequent requests from the same user to that server. The validity * of the cookie is based on the cookie expiration time, which is specified in the * policy configuration.

For more information, see Duration-Based * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLBCookieStickinessPolicyAsync(const Model::CreateLBCookieStickinessPolicyRequest& request, const CreateLBCookieStickinessPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a Classic Load Balancer.

You can add listeners, security * groups, subnets, and tags when you create your load balancer, or you can add * them later using CreateLoadBalancerListeners, * ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, * and AddTags.

To describe your current load balancers, see * DescribeLoadBalancers. When you are finished with a load balancer, you * can delete it using DeleteLoadBalancer.

You can create up to 20 * load balancers per region per account. You can request an increase for the * number of load balancers for your account. For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateLoadBalancerOutcome CreateLoadBalancer(const Model::CreateLoadBalancerRequest& request) const; /** *

Creates a Classic Load Balancer.

You can add listeners, security * groups, subnets, and tags when you create your load balancer, or you can add * them later using CreateLoadBalancerListeners, * ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, * and AddTags.

To describe your current load balancers, see * DescribeLoadBalancers. When you are finished with a load balancer, you * can delete it using DeleteLoadBalancer.

You can create up to 20 * load balancers per region per account. You can request an increase for the * number of load balancers for your account. For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLoadBalancerOutcomeCallable CreateLoadBalancerCallable(const Model::CreateLoadBalancerRequest& request) const; /** *

Creates a Classic Load Balancer.

You can add listeners, security * groups, subnets, and tags when you create your load balancer, or you can add * them later using CreateLoadBalancerListeners, * ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, * and AddTags.

To describe your current load balancers, see * DescribeLoadBalancers. When you are finished with a load balancer, you * can delete it using DeleteLoadBalancer.

You can create up to 20 * load balancers per region per account. You can request an increase for the * number of load balancers for your account. For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLoadBalancerAsync(const Model::CreateLoadBalancerRequest& request, const CreateLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates one or more listeners for the specified load balancer. If a listener * with the specified port does not already exist, it is created; otherwise, the * properties of the new listener must match the properties of the existing * listener.

For more information, see Listeners * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateLoadBalancerListenersOutcome CreateLoadBalancerListeners(const Model::CreateLoadBalancerListenersRequest& request) const; /** *

Creates one or more listeners for the specified load balancer. If a listener * with the specified port does not already exist, it is created; otherwise, the * properties of the new listener must match the properties of the existing * listener.

For more information, see Listeners * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLoadBalancerListenersOutcomeCallable CreateLoadBalancerListenersCallable(const Model::CreateLoadBalancerListenersRequest& request) const; /** *

Creates one or more listeners for the specified load balancer. If a listener * with the specified port does not already exist, it is created; otherwise, the * properties of the new listener must match the properties of the existing * listener.

For more information, see Listeners * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLoadBalancerListenersAsync(const Model::CreateLoadBalancerListenersRequest& request, const CreateLoadBalancerListenersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a policy with the specified attributes for the specified load * balancer.

Policies are settings that are saved for your load balancer and * that can be applied to the listener or the application server, depending on the * policy type.

See Also:

AWS * API Reference

*/ virtual Model::CreateLoadBalancerPolicyOutcome CreateLoadBalancerPolicy(const Model::CreateLoadBalancerPolicyRequest& request) const; /** *

Creates a policy with the specified attributes for the specified load * balancer.

Policies are settings that are saved for your load balancer and * that can be applied to the listener or the application server, depending on the * policy type.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateLoadBalancerPolicyOutcomeCallable CreateLoadBalancerPolicyCallable(const Model::CreateLoadBalancerPolicyRequest& request) const; /** *

Creates a policy with the specified attributes for the specified load * balancer.

Policies are settings that are saved for your load balancer and * that can be applied to the listener or the application server, depending on the * policy type.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateLoadBalancerPolicyAsync(const Model::CreateLoadBalancerPolicyRequest& request, const CreateLoadBalancerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified load balancer.

If you are attempting to recreate * a load balancer, you must reconfigure all settings. The DNS name associated with * a deleted load balancer are no longer usable. The name and associated DNS record * of the deleted load balancer no longer exist and traffic sent to any of its IP * addresses is no longer delivered to your instances.

If the load balancer * does not exist or has already been deleted, the call to * DeleteLoadBalancer still succeeds.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLoadBalancerOutcome DeleteLoadBalancer(const Model::DeleteLoadBalancerRequest& request) const; /** *

Deletes the specified load balancer.

If you are attempting to recreate * a load balancer, you must reconfigure all settings. The DNS name associated with * a deleted load balancer are no longer usable. The name and associated DNS record * of the deleted load balancer no longer exist and traffic sent to any of its IP * addresses is no longer delivered to your instances.

If the load balancer * does not exist or has already been deleted, the call to * DeleteLoadBalancer still succeeds.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLoadBalancerOutcomeCallable DeleteLoadBalancerCallable(const Model::DeleteLoadBalancerRequest& request) const; /** *

Deletes the specified load balancer.

If you are attempting to recreate * a load balancer, you must reconfigure all settings. The DNS name associated with * a deleted load balancer are no longer usable. The name and associated DNS record * of the deleted load balancer no longer exist and traffic sent to any of its IP * addresses is no longer delivered to your instances.

If the load balancer * does not exist or has already been deleted, the call to * DeleteLoadBalancer still succeeds.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLoadBalancerAsync(const Model::DeleteLoadBalancerRequest& request, const DeleteLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified listeners from the specified load * balancer.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLoadBalancerListenersOutcome DeleteLoadBalancerListeners(const Model::DeleteLoadBalancerListenersRequest& request) const; /** *

Deletes the specified listeners from the specified load * balancer.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLoadBalancerListenersOutcomeCallable DeleteLoadBalancerListenersCallable(const Model::DeleteLoadBalancerListenersRequest& request) const; /** *

Deletes the specified listeners from the specified load * balancer.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLoadBalancerListenersAsync(const Model::DeleteLoadBalancerListenersRequest& request, const DeleteLoadBalancerListenersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified policy from the specified load balancer. This policy * must not be enabled for any listeners.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLoadBalancerPolicyOutcome DeleteLoadBalancerPolicy(const Model::DeleteLoadBalancerPolicyRequest& request) const; /** *

Deletes the specified policy from the specified load balancer. This policy * must not be enabled for any listeners.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLoadBalancerPolicyOutcomeCallable DeleteLoadBalancerPolicyCallable(const Model::DeleteLoadBalancerPolicyRequest& request) const; /** *

Deletes the specified policy from the specified load balancer. This policy * must not be enabled for any listeners.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLoadBalancerPolicyAsync(const Model::DeleteLoadBalancerPolicyRequest& request, const DeleteLoadBalancerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deregisters the specified instances from the specified load balancer. After * the instance is deregistered, it no longer receives traffic from the load * balancer.

You can use DescribeLoadBalancers to verify that the * instance is deregistered from the load balancer.

For more information, * see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::DeregisterInstancesFromLoadBalancerOutcome DeregisterInstancesFromLoadBalancer(const Model::DeregisterInstancesFromLoadBalancerRequest& request) const; /** *

Deregisters the specified instances from the specified load balancer. After * the instance is deregistered, it no longer receives traffic from the load * balancer.

You can use DescribeLoadBalancers to verify that the * instance is deregistered from the load balancer.

For more information, * see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeregisterInstancesFromLoadBalancerOutcomeCallable DeregisterInstancesFromLoadBalancerCallable(const Model::DeregisterInstancesFromLoadBalancerRequest& request) const; /** *

Deregisters the specified instances from the specified load balancer. After * the instance is deregistered, it no longer receives traffic from the load * balancer.

You can use DescribeLoadBalancers to verify that the * instance is deregistered from the load balancer.

For more information, * see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeregisterInstancesFromLoadBalancerAsync(const Model::DeregisterInstancesFromLoadBalancerRequest& request, const DeregisterInstancesFromLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the current Elastic Load Balancing resource limits for your AWS * account.

For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::DescribeAccountLimitsOutcome DescribeAccountLimits(const Model::DescribeAccountLimitsRequest& request) const; /** *

Describes the current Elastic Load Balancing resource limits for your AWS * account.

For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeAccountLimitsOutcomeCallable DescribeAccountLimitsCallable(const Model::DescribeAccountLimitsRequest& request) const; /** *

Describes the current Elastic Load Balancing resource limits for your AWS * account.

For more information, see Limits * for Your Classic Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeAccountLimitsAsync(const Model::DescribeAccountLimitsRequest& request, const DescribeAccountLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the state of the specified instances with respect to the specified * load balancer. If no instances are specified, the call describes the state of * all instances that are currently registered with the load balancer. If instances * are specified, their state is returned even if they are no longer registered * with the load balancer. The state of terminated instances is not * returned.

See Also:

AWS * API Reference

*/ virtual Model::DescribeInstanceHealthOutcome DescribeInstanceHealth(const Model::DescribeInstanceHealthRequest& request) const; /** *

Describes the state of the specified instances with respect to the specified * load balancer. If no instances are specified, the call describes the state of * all instances that are currently registered with the load balancer. If instances * are specified, their state is returned even if they are no longer registered * with the load balancer. The state of terminated instances is not * returned.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeInstanceHealthOutcomeCallable DescribeInstanceHealthCallable(const Model::DescribeInstanceHealthRequest& request) const; /** *

Describes the state of the specified instances with respect to the specified * load balancer. If no instances are specified, the call describes the state of * all instances that are currently registered with the load balancer. If instances * are specified, their state is returned even if they are no longer registered * with the load balancer. The state of terminated instances is not * returned.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeInstanceHealthAsync(const Model::DescribeInstanceHealthRequest& request, const DescribeInstanceHealthResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the attributes for the specified load balancer.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeLoadBalancerAttributesOutcome DescribeLoadBalancerAttributes(const Model::DescribeLoadBalancerAttributesRequest& request) const; /** *

Describes the attributes for the specified load balancer.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLoadBalancerAttributesOutcomeCallable DescribeLoadBalancerAttributesCallable(const Model::DescribeLoadBalancerAttributesRequest& request) const; /** *

Describes the attributes for the specified load balancer.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLoadBalancerAttributesAsync(const Model::DescribeLoadBalancerAttributesRequest& request, const DescribeLoadBalancerAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the specified policies.

If you specify a load balancer name, * the action returns the descriptions of all policies created for the load * balancer. If you specify a policy name associated with your load balancer, the * action returns the description of that policy. If you don't specify a load * balancer name, the action returns descriptions of the specified sample policies, * or descriptions of all sample policies. The names of the sample policies have * the ELBSample- prefix.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLoadBalancerPoliciesOutcome DescribeLoadBalancerPolicies(const Model::DescribeLoadBalancerPoliciesRequest& request) const; /** *

Describes the specified policies.

If you specify a load balancer name, * the action returns the descriptions of all policies created for the load * balancer. If you specify a policy name associated with your load balancer, the * action returns the description of that policy. If you don't specify a load * balancer name, the action returns descriptions of the specified sample policies, * or descriptions of all sample policies. The names of the sample policies have * the ELBSample- prefix.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLoadBalancerPoliciesOutcomeCallable DescribeLoadBalancerPoliciesCallable(const Model::DescribeLoadBalancerPoliciesRequest& request) const; /** *

Describes the specified policies.

If you specify a load balancer name, * the action returns the descriptions of all policies created for the load * balancer. If you specify a policy name associated with your load balancer, the * action returns the description of that policy. If you don't specify a load * balancer name, the action returns descriptions of the specified sample policies, * or descriptions of all sample policies. The names of the sample policies have * the ELBSample- prefix.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLoadBalancerPoliciesAsync(const Model::DescribeLoadBalancerPoliciesRequest& request, const DescribeLoadBalancerPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the specified load balancer policy types or all load balancer * policy types.

The description of each type indicates how it can be used. * For example, some policies can be used only with layer 7 listeners, some * policies can be used only with layer 4 listeners, and some policies can be used * only with your EC2 instances.

You can use CreateLoadBalancerPolicy * to create a policy configuration for any of these policy types. Then, depending * on the policy type, use either SetLoadBalancerPoliciesOfListener or * SetLoadBalancerPoliciesForBackendServer to set the policy.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeLoadBalancerPolicyTypesOutcome DescribeLoadBalancerPolicyTypes(const Model::DescribeLoadBalancerPolicyTypesRequest& request) const; /** *

Describes the specified load balancer policy types or all load balancer * policy types.

The description of each type indicates how it can be used. * For example, some policies can be used only with layer 7 listeners, some * policies can be used only with layer 4 listeners, and some policies can be used * only with your EC2 instances.

You can use CreateLoadBalancerPolicy * to create a policy configuration for any of these policy types. Then, depending * on the policy type, use either SetLoadBalancerPoliciesOfListener or * SetLoadBalancerPoliciesForBackendServer to set the policy.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLoadBalancerPolicyTypesOutcomeCallable DescribeLoadBalancerPolicyTypesCallable(const Model::DescribeLoadBalancerPolicyTypesRequest& request) const; /** *

Describes the specified load balancer policy types or all load balancer * policy types.

The description of each type indicates how it can be used. * For example, some policies can be used only with layer 7 listeners, some * policies can be used only with layer 4 listeners, and some policies can be used * only with your EC2 instances.

You can use CreateLoadBalancerPolicy * to create a policy configuration for any of these policy types. Then, depending * on the policy type, use either SetLoadBalancerPoliciesOfListener or * SetLoadBalancerPoliciesForBackendServer to set the policy.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLoadBalancerPolicyTypesAsync(const Model::DescribeLoadBalancerPolicyTypesRequest& request, const DescribeLoadBalancerPolicyTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the specified the load balancers. If no load balancers are * specified, the call describes all of your load balancers.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeLoadBalancersOutcome DescribeLoadBalancers(const Model::DescribeLoadBalancersRequest& request) const; /** *

Describes the specified the load balancers. If no load balancers are * specified, the call describes all of your load balancers.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeLoadBalancersOutcomeCallable DescribeLoadBalancersCallable(const Model::DescribeLoadBalancersRequest& request) const; /** *

Describes the specified the load balancers. If no load balancers are * specified, the call describes all of your load balancers.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeLoadBalancersAsync(const Model::DescribeLoadBalancersRequest& request, const DescribeLoadBalancersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the tags associated with the specified load * balancers.

See Also:

AWS * API Reference

*/ virtual Model::DescribeTagsOutcome DescribeTags(const Model::DescribeTagsRequest& request) const; /** *

Describes the tags associated with the specified load * balancers.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeTagsOutcomeCallable DescribeTagsCallable(const Model::DescribeTagsRequest& request) const; /** *

Describes the tags associated with the specified load * balancers.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeTagsAsync(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the specified subnets from the set of configured subnets for the load * balancer.

After a subnet is removed, all EC2 instances registered with * the load balancer in the removed subnet go into the OutOfService * state. Then, the load balancer balances the traffic among the remaining routable * subnets.

See Also:

AWS * API Reference

*/ virtual Model::DetachLoadBalancerFromSubnetsOutcome DetachLoadBalancerFromSubnets(const Model::DetachLoadBalancerFromSubnetsRequest& request) const; /** *

Removes the specified subnets from the set of configured subnets for the load * balancer.

After a subnet is removed, all EC2 instances registered with * the load balancer in the removed subnet go into the OutOfService * state. Then, the load balancer balances the traffic among the remaining routable * subnets.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DetachLoadBalancerFromSubnetsOutcomeCallable DetachLoadBalancerFromSubnetsCallable(const Model::DetachLoadBalancerFromSubnetsRequest& request) const; /** *

Removes the specified subnets from the set of configured subnets for the load * balancer.

After a subnet is removed, all EC2 instances registered with * the load balancer in the removed subnet go into the OutOfService * state. Then, the load balancer balances the traffic among the remaining routable * subnets.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DetachLoadBalancerFromSubnetsAsync(const Model::DetachLoadBalancerFromSubnetsRequest& request, const DetachLoadBalancerFromSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the specified Availability Zones from the set of Availability Zones * for the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

*

There must be at least one Availability Zone registered with a load balancer * at all times. After an Availability Zone is removed, all instances registered * with the load balancer that are in the removed Availability Zone go into the * OutOfService state. Then, the load balancer attempts to equally * balance the traffic among its remaining Availability Zones.

For more * information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::DisableAvailabilityZonesForLoadBalancerOutcome DisableAvailabilityZonesForLoadBalancer(const Model::DisableAvailabilityZonesForLoadBalancerRequest& request) const; /** *

Removes the specified Availability Zones from the set of Availability Zones * for the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

*

There must be at least one Availability Zone registered with a load balancer * at all times. After an Availability Zone is removed, all instances registered * with the load balancer that are in the removed Availability Zone go into the * OutOfService state. Then, the load balancer attempts to equally * balance the traffic among its remaining Availability Zones.

For more * information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableAvailabilityZonesForLoadBalancerOutcomeCallable DisableAvailabilityZonesForLoadBalancerCallable(const Model::DisableAvailabilityZonesForLoadBalancerRequest& request) const; /** *

Removes the specified Availability Zones from the set of Availability Zones * for the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

*

There must be at least one Availability Zone registered with a load balancer * at all times. After an Availability Zone is removed, all instances registered * with the load balancer that are in the removed Availability Zone go into the * OutOfService state. Then, the load balancer attempts to equally * balance the traffic among its remaining Availability Zones.

For more * information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableAvailabilityZonesForLoadBalancerAsync(const Model::DisableAvailabilityZonesForLoadBalancerRequest& request, const DisableAvailabilityZonesForLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds the specified Availability Zones to the set of Availability Zones for * the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use AttachLoadBalancerToSubnets.

*

The load balancer evenly distributes requests across all its registered * Availability Zones that contain instances. For more information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::EnableAvailabilityZonesForLoadBalancerOutcome EnableAvailabilityZonesForLoadBalancer(const Model::EnableAvailabilityZonesForLoadBalancerRequest& request) const; /** *

Adds the specified Availability Zones to the set of Availability Zones for * the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use AttachLoadBalancerToSubnets.

*

The load balancer evenly distributes requests across all its registered * Availability Zones that contain instances. For more information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableAvailabilityZonesForLoadBalancerOutcomeCallable EnableAvailabilityZonesForLoadBalancerCallable(const Model::EnableAvailabilityZonesForLoadBalancerRequest& request) const; /** *

Adds the specified Availability Zones to the set of Availability Zones for * the specified load balancer in EC2-Classic or a default VPC.

For load * balancers in a non-default VPC, use AttachLoadBalancerToSubnets.

*

The load balancer evenly distributes requests across all its registered * Availability Zones that contain instances. For more information, see Add * or Remove Availability Zones in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableAvailabilityZonesForLoadBalancerAsync(const Model::EnableAvailabilityZonesForLoadBalancerRequest& request, const EnableAvailabilityZonesForLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Modifies the attributes of the specified load balancer.

You can modify * the load balancer attributes, such as AccessLogs, * ConnectionDraining, and CrossZoneLoadBalancing by * either enabling or disabling them. Or, you can modify the load balancer * attribute ConnectionSettings by specifying an idle connection * timeout value for your load balancer.

For more information, see the * following in the Classic Load Balancers Guide:

See Also:

AWS * API Reference

*/ virtual Model::ModifyLoadBalancerAttributesOutcome ModifyLoadBalancerAttributes(const Model::ModifyLoadBalancerAttributesRequest& request) const; /** *

Modifies the attributes of the specified load balancer.

You can modify * the load balancer attributes, such as AccessLogs, * ConnectionDraining, and CrossZoneLoadBalancing by * either enabling or disabling them. Or, you can modify the load balancer * attribute ConnectionSettings by specifying an idle connection * timeout value for your load balancer.

For more information, see the * following in the Classic Load Balancers Guide:

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ModifyLoadBalancerAttributesOutcomeCallable ModifyLoadBalancerAttributesCallable(const Model::ModifyLoadBalancerAttributesRequest& request) const; /** *

Modifies the attributes of the specified load balancer.

You can modify * the load balancer attributes, such as AccessLogs, * ConnectionDraining, and CrossZoneLoadBalancing by * either enabling or disabling them. Or, you can modify the load balancer * attribute ConnectionSettings by specifying an idle connection * timeout value for your load balancer.

For more information, see the * following in the Classic Load Balancers Guide:

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ModifyLoadBalancerAttributesAsync(const Model::ModifyLoadBalancerAttributesRequest& request, const ModifyLoadBalancerAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds the specified instances to the specified load balancer.

The * instance must be a running instance in the same network as the load balancer * (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load * balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic * instances to that VPC and then register the linked EC2-Classic instances with * the load balancer in the VPC.

Note that * RegisterInstanceWithLoadBalancer completes when the request has * been registered. Instance registration takes a little time to complete. To check * the state of the registered instances, use DescribeLoadBalancers or * DescribeInstanceHealth.

After the instance is registered, it * starts receiving traffic and requests from the load balancer. Any instance that * is not in one of the Availability Zones registered for the load balancer is * moved to the OutOfService state. If an Availability Zone is added * to the load balancer later, any instances registered with the load balancer move * to the InService state.

To deregister instances from a load * balancer, use DeregisterInstancesFromLoadBalancer.

For more * information, see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::RegisterInstancesWithLoadBalancerOutcome RegisterInstancesWithLoadBalancer(const Model::RegisterInstancesWithLoadBalancerRequest& request) const; /** *

Adds the specified instances to the specified load balancer.

The * instance must be a running instance in the same network as the load balancer * (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load * balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic * instances to that VPC and then register the linked EC2-Classic instances with * the load balancer in the VPC.

Note that * RegisterInstanceWithLoadBalancer completes when the request has * been registered. Instance registration takes a little time to complete. To check * the state of the registered instances, use DescribeLoadBalancers or * DescribeInstanceHealth.

After the instance is registered, it * starts receiving traffic and requests from the load balancer. Any instance that * is not in one of the Availability Zones registered for the load balancer is * moved to the OutOfService state. If an Availability Zone is added * to the load balancer later, any instances registered with the load balancer move * to the InService state.

To deregister instances from a load * balancer, use DeregisterInstancesFromLoadBalancer.

For more * information, see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RegisterInstancesWithLoadBalancerOutcomeCallable RegisterInstancesWithLoadBalancerCallable(const Model::RegisterInstancesWithLoadBalancerRequest& request) const; /** *

Adds the specified instances to the specified load balancer.

The * instance must be a running instance in the same network as the load balancer * (EC2-Classic or the same VPC). If you have EC2-Classic instances and a load * balancer in a VPC with ClassicLink enabled, you can link the EC2-Classic * instances to that VPC and then register the linked EC2-Classic instances with * the load balancer in the VPC.

Note that * RegisterInstanceWithLoadBalancer completes when the request has * been registered. Instance registration takes a little time to complete. To check * the state of the registered instances, use DescribeLoadBalancers or * DescribeInstanceHealth.

After the instance is registered, it * starts receiving traffic and requests from the load balancer. Any instance that * is not in one of the Availability Zones registered for the load balancer is * moved to the OutOfService state. If an Availability Zone is added * to the load balancer later, any instances registered with the load balancer move * to the InService state.

To deregister instances from a load * balancer, use DeregisterInstancesFromLoadBalancer.

For more * information, see Register * or De-Register EC2 Instances in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RegisterInstancesWithLoadBalancerAsync(const Model::RegisterInstancesWithLoadBalancerRequest& request, const RegisterInstancesWithLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes one or more tags from the specified load balancer.

See * Also:

AWS * API Reference

*/ virtual Model::RemoveTagsOutcome RemoveTags(const Model::RemoveTagsRequest& request) const; /** *

Removes one or more tags from the specified load balancer.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveTagsOutcomeCallable RemoveTagsCallable(const Model::RemoveTagsRequest& request) const; /** *

Removes one or more tags from the specified load balancer.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveTagsAsync(const Model::RemoveTagsRequest& request, const RemoveTagsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sets the certificate that terminates the specified listener's SSL * connections. The specified certificate replaces any prior certificate that was * used on the same load balancer and port.

For more information about * updating your SSL certificate, see Replace * the SSL Certificate for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::SetLoadBalancerListenerSSLCertificateOutcome SetLoadBalancerListenerSSLCertificate(const Model::SetLoadBalancerListenerSSLCertificateRequest& request) const; /** *

Sets the certificate that terminates the specified listener's SSL * connections. The specified certificate replaces any prior certificate that was * used on the same load balancer and port.

For more information about * updating your SSL certificate, see Replace * the SSL Certificate for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SetLoadBalancerListenerSSLCertificateOutcomeCallable SetLoadBalancerListenerSSLCertificateCallable(const Model::SetLoadBalancerListenerSSLCertificateRequest& request) const; /** *

Sets the certificate that terminates the specified listener's SSL * connections. The specified certificate replaces any prior certificate that was * used on the same load balancer and port.

For more information about * updating your SSL certificate, see Replace * the SSL Certificate for Your Load Balancer in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SetLoadBalancerListenerSSLCertificateAsync(const Model::SetLoadBalancerListenerSSLCertificateRequest& request, const SetLoadBalancerListenerSSLCertificateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Replaces the set of policies associated with the specified port on which the * EC2 instance is listening with a new set of policies. At this time, only the * back-end server authentication policy type can be applied to the instance ports; * this policy type is composed of multiple public key policies.

Each time * you use SetLoadBalancerPoliciesForBackendServer to enable the * policies, use the PolicyNames parameter to list the policies that * you want to enable.

You can use DescribeLoadBalancers or * DescribeLoadBalancerPolicies to verify that the policy is associated with * the EC2 instance.

For more information about enabling back-end instance * authentication, see Configure * Back-end Instance Authentication in the Classic Load Balancers Guide. * For more information about Proxy Protocol, see Configure * Proxy Protocol Support in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

*/ virtual Model::SetLoadBalancerPoliciesForBackendServerOutcome SetLoadBalancerPoliciesForBackendServer(const Model::SetLoadBalancerPoliciesForBackendServerRequest& request) const; /** *

Replaces the set of policies associated with the specified port on which the * EC2 instance is listening with a new set of policies. At this time, only the * back-end server authentication policy type can be applied to the instance ports; * this policy type is composed of multiple public key policies.

Each time * you use SetLoadBalancerPoliciesForBackendServer to enable the * policies, use the PolicyNames parameter to list the policies that * you want to enable.

You can use DescribeLoadBalancers or * DescribeLoadBalancerPolicies to verify that the policy is associated with * the EC2 instance.

For more information about enabling back-end instance * authentication, see Configure * Back-end Instance Authentication in the Classic Load Balancers Guide. * For more information about Proxy Protocol, see Configure * Proxy Protocol Support in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SetLoadBalancerPoliciesForBackendServerOutcomeCallable SetLoadBalancerPoliciesForBackendServerCallable(const Model::SetLoadBalancerPoliciesForBackendServerRequest& request) const; /** *

Replaces the set of policies associated with the specified port on which the * EC2 instance is listening with a new set of policies. At this time, only the * back-end server authentication policy type can be applied to the instance ports; * this policy type is composed of multiple public key policies.

Each time * you use SetLoadBalancerPoliciesForBackendServer to enable the * policies, use the PolicyNames parameter to list the policies that * you want to enable.

You can use DescribeLoadBalancers or * DescribeLoadBalancerPolicies to verify that the policy is associated with * the EC2 instance.

For more information about enabling back-end instance * authentication, see Configure * Back-end Instance Authentication in the Classic Load Balancers Guide. * For more information about Proxy Protocol, see Configure * Proxy Protocol Support in the Classic Load Balancers * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SetLoadBalancerPoliciesForBackendServerAsync(const Model::SetLoadBalancerPoliciesForBackendServerRequest& request, const SetLoadBalancerPoliciesForBackendServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Replaces the current set of policies for the specified load balancer port * with the specified set of policies.

To enable back-end server * authentication, use SetLoadBalancerPoliciesForBackendServer.

For * more information about setting policies, see Update * the SSL Negotiation Configuration, Duration-Based * Session Stickiness, and Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

*/ virtual Model::SetLoadBalancerPoliciesOfListenerOutcome SetLoadBalancerPoliciesOfListener(const Model::SetLoadBalancerPoliciesOfListenerRequest& request) const; /** *

Replaces the current set of policies for the specified load balancer port * with the specified set of policies.

To enable back-end server * authentication, use SetLoadBalancerPoliciesForBackendServer.

For * more information about setting policies, see Update * the SSL Negotiation Configuration, Duration-Based * Session Stickiness, and Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SetLoadBalancerPoliciesOfListenerOutcomeCallable SetLoadBalancerPoliciesOfListenerCallable(const Model::SetLoadBalancerPoliciesOfListenerRequest& request) const; /** *

Replaces the current set of policies for the specified load balancer port * with the specified set of policies.

To enable back-end server * authentication, use SetLoadBalancerPoliciesForBackendServer.

For * more information about setting policies, see Update * the SSL Negotiation Configuration, Duration-Based * Session Stickiness, and Application-Controlled * Session Stickiness in the Classic Load Balancers Guide.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SetLoadBalancerPoliciesOfListenerAsync(const Model::SetLoadBalancerPoliciesOfListenerRequest& request, const SetLoadBalancerPoliciesOfListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AddTagsAsyncHelper(const Model::AddTagsRequest& request, const AddTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ApplySecurityGroupsToLoadBalancerAsyncHelper(const Model::ApplySecurityGroupsToLoadBalancerRequest& request, const ApplySecurityGroupsToLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AttachLoadBalancerToSubnetsAsyncHelper(const Model::AttachLoadBalancerToSubnetsRequest& request, const AttachLoadBalancerToSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ConfigureHealthCheckAsyncHelper(const Model::ConfigureHealthCheckRequest& request, const ConfigureHealthCheckResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateAppCookieStickinessPolicyAsyncHelper(const Model::CreateAppCookieStickinessPolicyRequest& request, const CreateAppCookieStickinessPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLBCookieStickinessPolicyAsyncHelper(const Model::CreateLBCookieStickinessPolicyRequest& request, const CreateLBCookieStickinessPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLoadBalancerAsyncHelper(const Model::CreateLoadBalancerRequest& request, const CreateLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLoadBalancerListenersAsyncHelper(const Model::CreateLoadBalancerListenersRequest& request, const CreateLoadBalancerListenersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateLoadBalancerPolicyAsyncHelper(const Model::CreateLoadBalancerPolicyRequest& request, const CreateLoadBalancerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLoadBalancerAsyncHelper(const Model::DeleteLoadBalancerRequest& request, const DeleteLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLoadBalancerListenersAsyncHelper(const Model::DeleteLoadBalancerListenersRequest& request, const DeleteLoadBalancerListenersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLoadBalancerPolicyAsyncHelper(const Model::DeleteLoadBalancerPolicyRequest& request, const DeleteLoadBalancerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeregisterInstancesFromLoadBalancerAsyncHelper(const Model::DeregisterInstancesFromLoadBalancerRequest& request, const DeregisterInstancesFromLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeAccountLimitsAsyncHelper(const Model::DescribeAccountLimitsRequest& request, const DescribeAccountLimitsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeInstanceHealthAsyncHelper(const Model::DescribeInstanceHealthRequest& request, const DescribeInstanceHealthResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLoadBalancerAttributesAsyncHelper(const Model::DescribeLoadBalancerAttributesRequest& request, const DescribeLoadBalancerAttributesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLoadBalancerPoliciesAsyncHelper(const Model::DescribeLoadBalancerPoliciesRequest& request, const DescribeLoadBalancerPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLoadBalancerPolicyTypesAsyncHelper(const Model::DescribeLoadBalancerPolicyTypesRequest& request, const DescribeLoadBalancerPolicyTypesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeLoadBalancersAsyncHelper(const Model::DescribeLoadBalancersRequest& request, const DescribeLoadBalancersResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeTagsAsyncHelper(const Model::DescribeTagsRequest& request, const DescribeTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DetachLoadBalancerFromSubnetsAsyncHelper(const Model::DetachLoadBalancerFromSubnetsRequest& request, const DetachLoadBalancerFromSubnetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableAvailabilityZonesForLoadBalancerAsyncHelper(const Model::DisableAvailabilityZonesForLoadBalancerRequest& request, const DisableAvailabilityZonesForLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableAvailabilityZonesForLoadBalancerAsyncHelper(const Model::EnableAvailabilityZonesForLoadBalancerRequest& request, const EnableAvailabilityZonesForLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ModifyLoadBalancerAttributesAsyncHelper(const Model::ModifyLoadBalancerAttributesRequest& request, const ModifyLoadBalancerAttributesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RegisterInstancesWithLoadBalancerAsyncHelper(const Model::RegisterInstancesWithLoadBalancerRequest& request, const RegisterInstancesWithLoadBalancerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveTagsAsyncHelper(const Model::RemoveTagsRequest& request, const RemoveTagsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SetLoadBalancerListenerSSLCertificateAsyncHelper(const Model::SetLoadBalancerListenerSSLCertificateRequest& request, const SetLoadBalancerListenerSSLCertificateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SetLoadBalancerPoliciesForBackendServerAsyncHelper(const Model::SetLoadBalancerPoliciesForBackendServerRequest& request, const SetLoadBalancerPoliciesForBackendServerResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SetLoadBalancerPoliciesOfListenerAsyncHelper(const Model::SetLoadBalancerPoliciesOfListenerRequest& request, const SetLoadBalancerPoliciesOfListenerResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace ElasticLoadBalancing } // namespace Aws