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

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

/*
 * Copyright 2010-2011 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 com.amazonaws.*;
import com.amazonaws.services.elasticloadbalancing.model.*;


/**
 * Interface for accessing AmazonElasticLoadBalancing.
 * 

* Elastic Load Balancing is a cost-effective and easy to use web * service to help you improve availability and scalability of your * application. It makes it easy for you to distribute application loads * between two or more EC2 instances. Elastic Load Balancing enables * availability through redundancy and supports traffic growth of your * application. *

*/ public interface AmazonElasticLoadBalancing { /** * Overrides the default endpoint for this client ("https://elasticloadbalancing.amazonaws.com"). * Callers can use this method to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "ec2.amazonaws.com") or a full * URL, including the protocol (ex: "https://ec2.amazonaws.com"). If the * protocol is not specified here, the default protocol from this client's * {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and * a complete list of all available endpoints for all AWS services, see: * * http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912 * * @param endpoint * The endpoint (ex: "ec2.amazonaws.com") or a full URL, * including the protocol (ex: "https://ec2.amazonaws.com") of * the region specific AWS endpoint this client will communicate * with. * * @throws IllegalArgumentException * If any problems are detected with the specified endpoint. */ public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException; /** *

* Creates one or more listeners on a LoadBalancer for the specified * port. If a listener with the given port does not already exist, it * will be created; otherwise, the properties of the new listener must * match the properties of the existing listener. *

* * @param createLoadBalancerListenersRequest Container for the necessary * parameters to execute the CreateLoadBalancerListeners service method * on AmazonElasticLoadBalancing. * * @throws DuplicateListenerException * @throws CertificateNotFoundException * @throws LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* 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 only be associated only with HTTP * listeners. *

*

* When a load balancer implements this policy, the load balancer uses a * special cookie to track the backend 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. *

* * @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 TooManyPoliciesException * @throws DuplicatePolicyNameException * @throws LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Enables the client to define an application healthcheck for the * instances. *

* * @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) throws AmazonServiceException, AmazonClientException; /** *

* Returns detailed configuration information for the specified * LoadBalancers. If no LoadBalancers are specified, the operation * returns configuration information for all LoadBalancers created by the * caller. *

*

* NOTE: The client must have created the specified input * LoadBalancers in order to retrieve this information; the client must * provide the same account credentials as those that were used to create * the LoadBalancer. *

* * @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) throws AmazonServiceException, AmazonClientException; /** *

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

* * @param setLoadBalancerListenerSSLCertificateRequest Container for the * necessary parameters to execute the * SetLoadBalancerListenerSSLCertificate service method on * AmazonElasticLoadBalancing. * * @throws CertificateNotFoundException * @throws ListenerNotFoundException * @throws LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Creates a new LoadBalancer. *

*

* Once the call has completed successfully, a new LoadBalancer is * created; however, it will not be usable until at least one instance * has been registered. When the LoadBalancer creation is completed, the * client can check whether or not it is usable by using the * DescribeInstanceHealth API. The LoadBalancer is usable as soon as any * registered instance is InService . * *

*

* NOTE: Currently, the client's quota of LoadBalancers is limited * to five per Region. *

*

* NOTE: Load balancer DNS names vary depending on the Region * they're created in. For load balancers created in the United States, * the DNS name ends with: us-east-1.elb.amazonaws.com (for the US * Standard Region) us-west-1.elb.amazonaws.com (for the Northern * California Region) For load balancers created in the EU (Ireland) * Region, the DNS name ends with: eu-west-1.elb.amazonaws.com *

* * @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 TooManyLoadBalancersException * @throws DuplicateLoadBalancerNameException * @throws CertificateNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Adds one or more EC2 Availability Zones to the LoadBalancer. *

*

* The LoadBalancer evenly distributes requests across all its * registered Availability Zones that contain instances. As a result, the * client must ensure that its LoadBalancer is appropriately scaled for * each registered Availability Zone. *

*

* NOTE: The new EC2 Availability Zones to be added must be in the * same EC2 Region as the Availability Zones for which the LoadBalancer * was created. *

* * @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) throws AmazonServiceException, AmazonClientException; /** *

* Returns the current state of the instances of the specified * LoadBalancer. If no instances are specified, the state of all the * instances for the LoadBalancer is returned. *

*

* NOTE: The client must have created the specified input * LoadBalancer in order to retrieve this information; the client must * provide the same account credentials as those that were used to create * the LoadBalancer. *

* * @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 InvalidInstanceException * @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 DescribeInstanceHealthResult describeInstanceHealth(DescribeInstanceHealthRequest describeInstanceHealthRequest) throws AmazonServiceException, AmazonClientException; /** *

* Deletes a policy from the LoadBalancer. The specified 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 LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Removes the specified EC2 Availability Zones from the set of * configured Availability Zones for the LoadBalancer. *

*

* There must be at least one Availability Zone registered with a * LoadBalancer at all times. A client cannot remove all the Availability * Zones from a LoadBalancer. Once an Availability Zone is removed, all * the instances registered with the LoadBalancer that are in the removed * Availability Zone go into the OutOfService state. Upon Availability * Zone removal, the LoadBalancer attempts to equally balance the traffic * among its remaining usable Availability Zones. Trying to remove an * Availability Zone that was not associated with the LoadBalancer does * nothing. *

*

* NOTE: In order for this call to be successful, the client must * have created the LoadBalancer. The client must provide the same * account credentials as those that were used to create the * LoadBalancer. *

* * @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 LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Deregisters instances from the LoadBalancer. Once the instance is * deregistered, it will stop receiving traffic from the LoadBalancer. *

*

* In order to successfully call this API, the same account credentials * as those used to create the LoadBalancer must be provided. *

* * @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 InvalidInstanceException * @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 DeregisterInstancesFromLoadBalancerResult deregisterInstancesFromLoadBalancer(DeregisterInstancesFromLoadBalancerRequest deregisterInstancesFromLoadBalancerRequest) throws AmazonServiceException, AmazonClientException; /** *

* Deletes listeners from the LoadBalancer for the specified port. *

* * @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) throws AmazonServiceException, AmazonClientException; /** *

* Deletes the specified LoadBalancer. *

*

* If attempting to recreate the LoadBalancer, the client must * reconfigure all the settings. The DNS name associated with a deleted * LoadBalancer will no longer be usable. Once deleted, the name and * associated DNS record of the LoadBalancer no longer exist and traffic * sent to any of its IP addresses will no longer be delivered to client * instances. The client will not receive the same DNS name even if a new * LoadBalancer with same LoadBalancerName is created. *

*

* To successfully call this API, the client must provide the same * account credentials as were used to create the LoadBalancer. *

*

* NOTE: By design, if the LoadBalancer does not exist or has * already been deleted, 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) throws AmazonServiceException, AmazonClientException; /** *

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

*

* This policy is similar to the policy created by * CreateLBCookieStickinessPolicy, except that the lifetime of the * special Elastic Load Balancing cookie 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. *

* * @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 TooManyPoliciesException * @throws DuplicatePolicyNameException * @throws LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Adds new instances to the LoadBalancer. *

*

* Once the instance is registered, it starts receiving traffic and * requests from the LoadBalancer. Any instance that is not in any of the * Availability Zones registered for the LoadBalancer will be moved to * the OutOfService state. It will move to the InService * state when the Availability Zone is added to the LoadBalancer. *

*

* NOTE: In order for this call to be successful, the client must * have created the LoadBalancer. The client must provide the same * account credentials as those that were used to create the * LoadBalancer. *

*

* NOTE: Completion of this API does not guarantee that operation * has completed. Rather, it means that the request has been registered * and the changes will happen shortly. *

* * @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 InvalidInstanceException * @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 RegisterInstancesWithLoadBalancerResult registerInstancesWithLoadBalancer(RegisterInstancesWithLoadBalancerRequest registerInstancesWithLoadBalancerRequest) throws AmazonServiceException, AmazonClientException; /** *

* Associates, updates, or disables a policy with a listener on the load * balancer. Currently only zero (0) or one (1) policy can be associated * 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 ListenerNotFoundException * @throws LoadBalancerNotFoundException * @throws InvalidConfigurationRequestException * * @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) throws AmazonServiceException, AmazonClientException; /** *

* Returns detailed configuration information for the specified * LoadBalancers. If no LoadBalancers are specified, the operation * returns configuration information for all LoadBalancers created by the * caller. *

*

* NOTE: The client must have created the specified input * LoadBalancers in order to retrieve this information; the client must * provide the same account credentials as those that were used to create * the LoadBalancer. *

* * @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; /** * Shuts down this client object, releasing any resources that might be held * open. This is an optional method, and callers are not expected to call * it, but can if they want to explicitly release any open resources. Once a * client has been shutdown, it should not be used to make any more * requests. */ public void shutdown(); /** * 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 a 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); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy