All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingClient Maven / Gradle / Ivy

/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.elasticloadbalancing;

import org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;

import com.amazonaws.services.elasticloadbalancing.model.*;
import com.amazonaws.services.elasticloadbalancing.model.transform.*;

/**
 * Client for accessing AmazonElasticLoadBalancing.  All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

* Elastic Load Balancing

* Elastic Load Balancing distributes incoming traffic across your EC2 * instances. *

*

* For information about the features of Elastic Load Balancing, see * What Is Elastic Load Balancing? * in the Elastic Load Balancing Developer Guide . *

*

* For information about the AWS regions supported by Elastic Load * Balancing, see * Regions and Endpoints - Elastic Load Balancing * in the Amazon Web Services General Reference . *

*

* 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 class AmazonElasticLoadBalancingClient extends AmazonWebServiceClient implements AmazonElasticLoadBalancing { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; /** * List of exception unmarshallers for all AmazonElasticLoadBalancing exceptions. */ protected final List> exceptionUnmarshallers = new ArrayList>(); /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AmazonElasticLoadBalancingClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonElasticLoadBalancing * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonElasticLoadBalancingClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AmazonElasticLoadBalancingClient(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonElasticLoadBalancing * (ex: proxy settings, retry counts, etc.). */ public AmazonElasticLoadBalancingClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); init(); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AmazonElasticLoadBalancingClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonElasticLoadBalancing * (ex: proxy settings, retry counts, etc.). */ public AmazonElasticLoadBalancingClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on * AmazonElasticLoadBalancing using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AmazonElasticLoadBalancing * (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector optional request metric collector */ public AmazonElasticLoadBalancingClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { exceptionUnmarshallers.add(new ListenerNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new SubnetNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidConfigurationRequestExceptionUnmarshaller()); exceptionUnmarshallers.add(new LoadBalancerAttributeNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new CertificateNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new TooManyPoliciesExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidSubnetExceptionUnmarshaller()); exceptionUnmarshallers.add(new TooManyTagsExceptionUnmarshaller()); exceptionUnmarshallers.add(new DuplicateTagKeysExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidSecurityGroupExceptionUnmarshaller()); exceptionUnmarshallers.add(new LoadBalancerNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new PolicyNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new DuplicateListenerExceptionUnmarshaller()); exceptionUnmarshallers.add(new TooManyLoadBalancersExceptionUnmarshaller()); exceptionUnmarshallers.add(new PolicyTypeNotFoundExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidSchemeExceptionUnmarshaller()); exceptionUnmarshallers.add(new InvalidInstanceExceptionUnmarshaller()); exceptionUnmarshallers.add(new DuplicatePolicyNameExceptionUnmarshaller()); exceptionUnmarshallers.add(new DuplicateLoadBalancerNameExceptionUnmarshaller()); exceptionUnmarshallers.add(new StandardErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("elasticloadbalancing.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain( "/com/amazonaws/services/elasticloadbalancing/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain( "/com/amazonaws/services/elasticloadbalancing/request.handler2s")); } /** *

* Describes the specified load balancer policy types. *

*

* You can use these policy types with CreateLoadBalancerPolicy to * create policy configurations for a load balancer. *

* * @param describeLoadBalancerPolicyTypesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerPolicyTypes * service method on AmazonElasticLoadBalancing. * * @return The response from the DescribeLoadBalancerPolicyTypes service * method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyTypeNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancerPolicyTypesResult describeLoadBalancerPolicyTypes(DescribeLoadBalancerPolicyTypesRequest describeLoadBalancerPolicyTypesRequest) { ExecutionContext executionContext = createExecutionContext(describeLoadBalancerPolicyTypesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeLoadBalancerPolicyTypesRequestMarshaller().marshall(super.beforeMarshalling(describeLoadBalancerPolicyTypesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeLoadBalancerPolicyTypesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Specifies the health check settings to use when evaluating the health * state of your back-end instances. *

*

* For more information, see * Configure Health Checks * in the Elastic Load Balancing Developer Guide . *

* * @param configureHealthCheckRequest Container for the necessary * parameters to execute the ConfigureHealthCheck service method on * AmazonElasticLoadBalancing. * * @return The response from the ConfigureHealthCheck service method, as * returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public ConfigureHealthCheckResult configureHealthCheck(ConfigureHealthCheckRequest configureHealthCheckRequest) { ExecutionContext executionContext = createExecutionContext(configureHealthCheckRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ConfigureHealthCheckRequestMarshaller().marshall(super.beforeMarshalling(configureHealthCheckRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new ConfigureHealthCheckResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

* * @param detachLoadBalancerFromSubnetsRequest Container for the * necessary parameters to execute the DetachLoadBalancerFromSubnets * service method on AmazonElasticLoadBalancing. * * @return The response from the DetachLoadBalancerFromSubnets service * method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DetachLoadBalancerFromSubnetsResult detachLoadBalancerFromSubnets(DetachLoadBalancerFromSubnetsRequest detachLoadBalancerFromSubnetsRequest) { ExecutionContext executionContext = createExecutionContext(detachLoadBalancerFromSubnetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DetachLoadBalancerFromSubnetsRequestMarshaller().marshall(super.beforeMarshalling(detachLoadBalancerFromSubnetsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DetachLoadBalancerFromSubnetsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param addTagsRequest Container for the necessary parameters to * execute the AddTags service method on AmazonElasticLoadBalancing. * * @return The response from the AddTags service method, as returned by * AmazonElasticLoadBalancing. * * @throws TooManyTagsException * @throws DuplicateTagKeysException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public AddTagsResult addTags(AddTagsRequest addTagsRequest) { ExecutionContext executionContext = createExecutionContext(addTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddTagsRequestMarshaller().marshall(super.beforeMarshalling(addTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new AddTagsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 Elastic Load * Balancing Developer Guide : *

* * * * @param modifyLoadBalancerAttributesRequest Container for the necessary * parameters to execute the ModifyLoadBalancerAttributes service method * on AmazonElasticLoadBalancing. * * @return The response from the ModifyLoadBalancerAttributes service * method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws LoadBalancerAttributeNotFoundException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public ModifyLoadBalancerAttributesResult modifyLoadBalancerAttributes(ModifyLoadBalancerAttributesRequest modifyLoadBalancerAttributesRequest) { ExecutionContext executionContext = createExecutionContext(modifyLoadBalancerAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ModifyLoadBalancerAttributesRequestMarshaller().marshall(super.beforeMarshalling(modifyLoadBalancerAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new ModifyLoadBalancerAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 * Add a Listener to Your Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param createLoadBalancerListenersRequest Container for the necessary * parameters to execute the CreateLoadBalancerListeners service method * on AmazonElasticLoadBalancing. * * * @throws InvalidConfigurationRequestException * @throws DuplicateListenerException * @throws CertificateNotFoundException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public void createLoadBalancerListeners(CreateLoadBalancerListenersRequest createLoadBalancerListenersRequest) { ExecutionContext executionContext = createExecutionContext(createLoadBalancerListenersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLoadBalancerListenersRequestMarshaller().marshall(super.beforeMarshalling(createLoadBalancerListenersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, null); } } /** *

* Deletes the specified listeners from the specified load balancer. *

* * @param deleteLoadBalancerListenersRequest Container for the necessary * parameters to execute the DeleteLoadBalancerListeners service method * on AmazonElasticLoadBalancing. * * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public void deleteLoadBalancerListeners(DeleteLoadBalancerListenersRequest deleteLoadBalancerListenersRequest) { ExecutionContext executionContext = createExecutionContext(deleteLoadBalancerListenersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteLoadBalancerListenersRequestMarshaller().marshall(super.beforeMarshalling(deleteLoadBalancerListenersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, null); } } /** *

* 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 Elastic Load Balancing Developer Guide . *

* * @param createAppCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateAppCookieStickinessPolicy * service method on AmazonElasticLoadBalancing. * * @return The response from the CreateAppCookieStickinessPolicy service * method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws DuplicatePolicyNameException * @throws TooManyPoliciesException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public CreateAppCookieStickinessPolicyResult createAppCookieStickinessPolicy(CreateAppCookieStickinessPolicyRequest createAppCookieStickinessPolicyRequest) { ExecutionContext executionContext = createExecutionContext(createAppCookieStickinessPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateAppCookieStickinessPolicyRequestMarshaller().marshall(super.beforeMarshalling(createAppCookieStickinessPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new CreateAppCookieStickinessPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 Elastic Load Balancing Developer Guide . *

* * @param applySecurityGroupsToLoadBalancerRequest Container for the * necessary parameters to execute the ApplySecurityGroupsToLoadBalancer * service method on AmazonElasticLoadBalancing. * * @return The response from the ApplySecurityGroupsToLoadBalancer * service method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws InvalidSecurityGroupException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public ApplySecurityGroupsToLoadBalancerResult applySecurityGroupsToLoadBalancer(ApplySecurityGroupsToLoadBalancerRequest applySecurityGroupsToLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(applySecurityGroupsToLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ApplySecurityGroupsToLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(applySecurityGroupsToLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new ApplySecurityGroupsToLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

* * @param describeLoadBalancerPoliciesRequest Container for the necessary * parameters to execute the DescribeLoadBalancerPolicies service method * on AmazonElasticLoadBalancing. * * @return The response from the DescribeLoadBalancerPolicies service * method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyNotFoundException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancerPoliciesResult describeLoadBalancerPolicies(DescribeLoadBalancerPoliciesRequest describeLoadBalancerPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(describeLoadBalancerPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeLoadBalancerPoliciesRequestMarshaller().marshall(super.beforeMarshalling(describeLoadBalancerPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeLoadBalancerPoliciesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Associates, updates, or disables a policy with a listener for the * specified load balancer. You can associate multiple policies with a * listener. *

* * @param setLoadBalancerPoliciesOfListenerRequest Container for the * necessary parameters to execute the SetLoadBalancerPoliciesOfListener * service method on AmazonElasticLoadBalancing. * * @return The response from the SetLoadBalancerPoliciesOfListener * service method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyNotFoundException * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * @throws ListenerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public SetLoadBalancerPoliciesOfListenerResult setLoadBalancerPoliciesOfListener(SetLoadBalancerPoliciesOfListenerRequest setLoadBalancerPoliciesOfListenerRequest) { ExecutionContext executionContext = createExecutionContext(setLoadBalancerPoliciesOfListenerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetLoadBalancerPoliciesOfListenerRequestMarshaller().marshall(super.beforeMarshalling(setLoadBalancerPoliciesOfListenerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new SetLoadBalancerPoliciesOfListenerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes the specified Availability Zones from the set of Availability * Zones for the specified load balancer. *

*

* 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 * Disable an Availability Zone from a Load-Balanced Application * in the Elastic Load Balancing Developer Guide . *

* * @param disableAvailabilityZonesForLoadBalancerRequest Container for * the necessary parameters to execute the * DisableAvailabilityZonesForLoadBalancer service method on * AmazonElasticLoadBalancing. * * @return The response from the DisableAvailabilityZonesForLoadBalancer * service method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DisableAvailabilityZonesForLoadBalancerResult disableAvailabilityZonesForLoadBalancer(DisableAvailabilityZonesForLoadBalancerRequest disableAvailabilityZonesForLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(disableAvailabilityZonesForLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableAvailabilityZonesForLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(disableAvailabilityZonesForLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DisableAvailabilityZonesForLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

* * @param describeInstanceHealthRequest Container for the necessary * parameters to execute the DescribeInstanceHealth service method on * AmazonElasticLoadBalancing. * * @return The response from the DescribeInstanceHealth service method, * as returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * @throws InvalidInstanceException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeInstanceHealthResult describeInstanceHealth(DescribeInstanceHealthRequest describeInstanceHealthRequest) { ExecutionContext executionContext = createExecutionContext(describeInstanceHealthRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeInstanceHealthRequestMarshaller().marshall(super.beforeMarshalling(describeInstanceHealthRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeInstanceHealthResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param deleteLoadBalancerPolicyRequest Container for the necessary * parameters to execute the DeleteLoadBalancerPolicy service method on * AmazonElasticLoadBalancing. * * @return The response from the DeleteLoadBalancerPolicy service method, * as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DeleteLoadBalancerPolicyResult deleteLoadBalancerPolicy(DeleteLoadBalancerPolicyRequest deleteLoadBalancerPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteLoadBalancerPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteLoadBalancerPolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteLoadBalancerPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DeleteLoadBalancerPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the tags associated with the specified load balancers. *

* * @param describeTagsRequest Container for the necessary parameters to * execute the DescribeTags service method on AmazonElasticLoadBalancing. * * @return The response from the DescribeTags service method, as returned * by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeTagsResult describeTags(DescribeTagsRequest describeTagsRequest) { ExecutionContext executionContext = createExecutionContext(describeTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTagsRequestMarshaller().marshall(super.beforeMarshalling(describeTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeTagsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 front-end listener or the back-end application * server, depending on the policy type. *

* * @param createLoadBalancerPolicyRequest Container for the necessary * parameters to execute the CreateLoadBalancerPolicy service method on * AmazonElasticLoadBalancing. * * @return The response from the CreateLoadBalancerPolicy service method, * as returned by AmazonElasticLoadBalancing. * * @throws PolicyTypeNotFoundException * @throws InvalidConfigurationRequestException * @throws DuplicatePolicyNameException * @throws TooManyPoliciesException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public CreateLoadBalancerPolicyResult createLoadBalancerPolicy(CreateLoadBalancerPolicyRequest createLoadBalancerPolicyRequest) { ExecutionContext executionContext = createExecutionContext(createLoadBalancerPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLoadBalancerPolicyRequestMarshaller().marshall(super.beforeMarshalling(createLoadBalancerPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new CreateLoadBalancerPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes one or more tags from the specified load balancer. *

* * @param removeTagsRequest Container for the necessary parameters to * execute the RemoveTags service method on AmazonElasticLoadBalancing. * * @return The response from the RemoveTags service method, as returned * by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public RemoveTagsResult removeTags(RemoveTagsRequest removeTagsRequest) { ExecutionContext executionContext = createExecutionContext(removeTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RemoveTagsRequestMarshaller().marshall(super.beforeMarshalling(removeTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new RemoveTagsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds the specified Availability Zones to the set of Availability * Zones for the specified load balancer. *

*

* The load balancer evenly distributes requests across all its * registered Availability Zones that contain instances. *

*

* For more information, see * Add Availability Zone * in the Elastic Load Balancing Developer Guide . *

* * @param enableAvailabilityZonesForLoadBalancerRequest Container for the * necessary parameters to execute the * EnableAvailabilityZonesForLoadBalancer service method on * AmazonElasticLoadBalancing. * * @return The response from the EnableAvailabilityZonesForLoadBalancer * service method, as returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public EnableAvailabilityZonesForLoadBalancerResult enableAvailabilityZonesForLoadBalancer(EnableAvailabilityZonesForLoadBalancerRequest enableAvailabilityZonesForLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(enableAvailabilityZonesForLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableAvailabilityZonesForLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(enableAvailabilityZonesForLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new EnableAvailabilityZonesForLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 back-end instances. *

*

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

* * @param deleteLoadBalancerRequest Container for the necessary * parameters to execute the DeleteLoadBalancer service method on * AmazonElasticLoadBalancing. * * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public void deleteLoadBalancer(DeleteLoadBalancerRequest deleteLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(deleteLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(deleteLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, null); } } /** *

* Creates a load balancer. *

*

* If the call completes successfully, a new load balancer is created * with a unique Domain Name Service (DNS) name. The load balancer * receives incoming traffic and routes it to the registered instances. * For more information, see * How Elastic Load Balancing Works * in the Elastic Load Balancing Developer Guide . *

*

* 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 * Elastic Load Balancing Limits * in the Elastic Load Balancing Developer Guide . *

* * @param createLoadBalancerRequest Container for the necessary * parameters to execute the CreateLoadBalancer service method on * AmazonElasticLoadBalancing. * * @return The response from the CreateLoadBalancer service method, as * returned by AmazonElasticLoadBalancing. * * @throws InvalidSubnetException * @throws TooManyTagsException * @throws InvalidConfigurationRequestException * @throws DuplicateTagKeysException * @throws InvalidSecurityGroupException * @throws CertificateNotFoundException * @throws InvalidSchemeException * @throws DuplicateLoadBalancerNameException * @throws TooManyLoadBalancersException * @throws SubnetNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public CreateLoadBalancerResult createLoadBalancer(CreateLoadBalancerRequest createLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(createLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(createLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new CreateLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Replaces the set of policies associated with the specified port on * which the back-end server is listening with a new set of policies. At * this time, only the back-end server authentication policy type can be * applied to the back-end 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 back-end server. *

* * @param setLoadBalancerPoliciesForBackendServerRequest Container for * the necessary parameters to execute the * SetLoadBalancerPoliciesForBackendServer service method on * AmazonElasticLoadBalancing. * * @return The response from the SetLoadBalancerPoliciesForBackendServer * service method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyNotFoundException * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public SetLoadBalancerPoliciesForBackendServerResult setLoadBalancerPoliciesForBackendServer(SetLoadBalancerPoliciesForBackendServerRequest setLoadBalancerPoliciesForBackendServerRequest) { ExecutionContext executionContext = createExecutionContext(setLoadBalancerPoliciesForBackendServerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetLoadBalancerPoliciesForBackendServerRequestMarshaller().marshall(super.beforeMarshalling(setLoadBalancerPoliciesForBackendServerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new SetLoadBalancerPoliciesForBackendServerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 * Deregister and Register Amazon EC2 Instances * in the Elastic Load Balancing Developer Guide . *

* * @param deregisterInstancesFromLoadBalancerRequest Container for the * necessary parameters to execute the * DeregisterInstancesFromLoadBalancer service method on * AmazonElasticLoadBalancing. * * @return The response from the DeregisterInstancesFromLoadBalancer * service method, as returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * @throws InvalidInstanceException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DeregisterInstancesFromLoadBalancerResult deregisterInstancesFromLoadBalancer(DeregisterInstancesFromLoadBalancerRequest deregisterInstancesFromLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(deregisterInstancesFromLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeregisterInstancesFromLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(deregisterInstancesFromLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DeregisterInstancesFromLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 * Updating an SSL Certificate for a Load Balancer * in the Elastic Load Balancing Developer Guide . *

* * @param setLoadBalancerListenerSSLCertificateRequest Container for the * necessary parameters to execute the * SetLoadBalancerListenerSSLCertificate service method on * AmazonElasticLoadBalancing. * * * @throws InvalidConfigurationRequestException * @throws CertificateNotFoundException * @throws LoadBalancerNotFoundException * @throws ListenerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public void setLoadBalancerListenerSSLCertificate(SetLoadBalancerListenerSSLCertificateRequest setLoadBalancerListenerSSLCertificateRequest) { ExecutionContext executionContext = createExecutionContext(setLoadBalancerListenerSSLCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); Request request = null; awsRequestMetrics.startEvent(Field.ClientExecuteTime); try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetLoadBalancerListenerSSLCertificateRequestMarshaller().marshall(super.beforeMarshalling(setLoadBalancerListenerSSLCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } invoke(request, null, executionContext); } finally { endClientExecution(awsRequestMetrics, request, null); } } /** *

* Describes the attributes for the specified load balancer. *

* * @param describeLoadBalancerAttributesRequest Container for the * necessary parameters to execute the DescribeLoadBalancerAttributes * service method on AmazonElasticLoadBalancing. * * @return The response from the DescribeLoadBalancerAttributes service * method, as returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerAttributeNotFoundException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancerAttributesResult describeLoadBalancerAttributes(DescribeLoadBalancerAttributesRequest describeLoadBalancerAttributesRequest) { ExecutionContext executionContext = createExecutionContext(describeLoadBalancerAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeLoadBalancerAttributesRequestMarshaller().marshall(super.beforeMarshalling(describeLoadBalancerAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeLoadBalancerAttributesResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 back-end server 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 Elastic Load Balancing Developer Guide . *

* * @param createLBCookieStickinessPolicyRequest Container for the * necessary parameters to execute the CreateLBCookieStickinessPolicy * service method on AmazonElasticLoadBalancing. * * @return The response from the CreateLBCookieStickinessPolicy service * method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidConfigurationRequestException * @throws DuplicatePolicyNameException * @throws TooManyPoliciesException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public CreateLBCookieStickinessPolicyResult createLBCookieStickinessPolicy(CreateLBCookieStickinessPolicyRequest createLBCookieStickinessPolicyRequest) { ExecutionContext executionContext = createExecutionContext(createLBCookieStickinessPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLBCookieStickinessPolicyRequestMarshaller().marshall(super.beforeMarshalling(createLBCookieStickinessPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new CreateLBCookieStickinessPolicyResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 Elastic Load Balancing Developer Guide . *

* * @param attachLoadBalancerToSubnetsRequest Container for the necessary * parameters to execute the AttachLoadBalancerToSubnets service method * on AmazonElasticLoadBalancing. * * @return The response from the AttachLoadBalancerToSubnets service * method, as returned by AmazonElasticLoadBalancing. * * @throws InvalidSubnetException * @throws InvalidConfigurationRequestException * @throws LoadBalancerNotFoundException * @throws SubnetNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public AttachLoadBalancerToSubnetsResult attachLoadBalancerToSubnets(AttachLoadBalancerToSubnetsRequest attachLoadBalancerToSubnetsRequest) { ExecutionContext executionContext = createExecutionContext(attachLoadBalancerToSubnetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AttachLoadBalancerToSubnetsRequestMarshaller().marshall(super.beforeMarshalling(attachLoadBalancerToSubnetsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new AttachLoadBalancerToSubnetsResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

*

* If you stop an instance registered with a load balancer and then * start it, the IP addresses associated with the instance changes. * Elastic Load Balancing cannot recognize the new IP address, which * prevents it from routing traffic to the instances. We recommend that * you use the following sequence: stop the instance, deregister the * instance, start the instance, and then register the instance. To * deregister instances from a load balancer, use * DeregisterInstancesFromLoadBalancer. *

*

* For more information, see * Deregister and Register EC2 Instances * in the Elastic Load Balancing Developer Guide . *

* * @param registerInstancesWithLoadBalancerRequest Container for the * necessary parameters to execute the RegisterInstancesWithLoadBalancer * service method on AmazonElasticLoadBalancing. * * @return The response from the RegisterInstancesWithLoadBalancer * service method, as returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * @throws InvalidInstanceException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public RegisterInstancesWithLoadBalancerResult registerInstancesWithLoadBalancer(RegisterInstancesWithLoadBalancerRequest registerInstancesWithLoadBalancerRequest) { ExecutionContext executionContext = createExecutionContext(registerInstancesWithLoadBalancerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RegisterInstancesWithLoadBalancerRequestMarshaller().marshall(super.beforeMarshalling(registerInstancesWithLoadBalancerRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new RegisterInstancesWithLoadBalancerResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param describeLoadBalancersRequest Container for the necessary * parameters to execute the DescribeLoadBalancers service method on * AmazonElasticLoadBalancing. * * @return The response from the DescribeLoadBalancers service method, as * returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancersResult describeLoadBalancers(DescribeLoadBalancersRequest describeLoadBalancersRequest) { ExecutionContext executionContext = createExecutionContext(describeLoadBalancersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeLoadBalancersRequestMarshaller().marshall(super.beforeMarshalling(describeLoadBalancersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } response = invoke(request, new DescribeLoadBalancersResultStaxUnmarshaller(), executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified load balancer policy types. *

*

* You can use these policy types with CreateLoadBalancerPolicy to * create policy configurations for a load balancer. *

* * @return The response from the DescribeLoadBalancerPolicyTypes service * method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyTypeNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancerPolicyTypesResult describeLoadBalancerPolicyTypes() throws AmazonServiceException, AmazonClientException { return describeLoadBalancerPolicyTypes(new DescribeLoadBalancerPolicyTypesRequest()); } /** *

* 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. *

* * @return The response from the DescribeLoadBalancerPolicies service * method, as returned by AmazonElasticLoadBalancing. * * @throws PolicyNotFoundException * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancerPoliciesResult describeLoadBalancerPolicies() throws AmazonServiceException, AmazonClientException { return describeLoadBalancerPolicies(new DescribeLoadBalancerPoliciesRequest()); } /** *

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

* * @return The response from the DescribeLoadBalancers service method, as * returned by AmazonElasticLoadBalancing. * * @throws LoadBalancerNotFoundException * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AmazonElasticLoadBalancing indicating * either a problem with the data in the request, or a server side issue. */ public DescribeLoadBalancersResult describeLoadBalancers() throws AmazonServiceException, AmazonClientException { return describeLoadBalancers(new DescribeLoadBalancersRequest()); } /** * Returns additional metadata for a previously executed successful, request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private Response invoke(Request request, Unmarshaller unmarshaller, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); AWSCredentials credentials = awsCredentialsProvider.getCredentials(); if (originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); StaxResponseHandler responseHandler = new StaxResponseHandler(unmarshaller); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallers); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy