Interface AmazonElasticLoadBalancing

    • Method Detail

      • setEndpoint

        void setEndpoint​(String endpoint)
        Overrides the default endpoint for this client ("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: "elasticloadbalancing.amazonaws.com") or a full URL, including the protocol (ex: "elasticloadbalancing.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's 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

        This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

        Parameters:
        endpoint - The endpoint (ex: "elasticloadbalancing.amazonaws.com") or a full URL, including the protocol (ex: "elasticloadbalancing.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
      • addTags

        AddTagsResult addTags​(AddTagsRequest addTagsRequest)

        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.

        Parameters:
        addTagsRequest -
        Returns:
        Result of the AddTags operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        TooManyTagsException - The quota for the number of tags that can be assigned to a load balancer has been reached.
        DuplicateTagKeysException - A tag key was specified more than once.
      • configureHealthCheck

        ConfigureHealthCheckResult configureHealthCheck​(ConfigureHealthCheckRequest configureHealthCheckRequest)

        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.

        Parameters:
        configureHealthCheckRequest -
        Returns:
        Result of the ConfigureHealthCheck operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
      • createAppCookieStickinessPolicy

        CreateAppCookieStickinessPolicyResult createAppCookieStickinessPolicy​(CreateAppCookieStickinessPolicyRequest createAppCookieStickinessPolicyRequest)

        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.

        Parameters:
        createAppCookieStickinessPolicyRequest -
        Returns:
        Result of the CreateAppCookieStickinessPolicy operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        DuplicatePolicyNameException - A policy with the specified name already exists for this load balancer.
        TooManyPoliciesException - The quota for the number of policies for this load balancer has been reached.
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • createLBCookieStickinessPolicy

        CreateLBCookieStickinessPolicyResult createLBCookieStickinessPolicy​(CreateLBCookieStickinessPolicyRequest createLBCookieStickinessPolicyRequest)

        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.

        Parameters:
        createLBCookieStickinessPolicyRequest -
        Returns:
        Result of the CreateLBCookieStickinessPolicy operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        DuplicatePolicyNameException - A policy with the specified name already exists for this load balancer.
        TooManyPoliciesException - The quota for the number of policies for this load balancer has been reached.
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • createLoadBalancerListeners

        CreateLoadBalancerListenersResult createLoadBalancerListeners​(CreateLoadBalancerListenersRequest createLoadBalancerListenersRequest)

        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.

        Parameters:
        createLoadBalancerListenersRequest -
        Returns:
        Result of the CreateLoadBalancerListeners operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        DuplicateListenerException - A listener already exists for the specified LoadBalancerName and LoadBalancerPort, but with a different InstancePort, Protocol, or SSLCertificateId.
        CertificateNotFoundException - The specified SSL ID does not refer to a valid SSL certificate in AWS Identity and Access Management (IAM).
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • deleteLoadBalancer

        DeleteLoadBalancerResult deleteLoadBalancer​(DeleteLoadBalancerRequest deleteLoadBalancerRequest)

        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.

        Parameters:
        deleteLoadBalancerRequest -
        Returns:
        Result of the DeleteLoadBalancer operation returned by the service.
      • describeInstanceHealth

        DescribeInstanceHealthResult describeInstanceHealth​(DescribeInstanceHealthRequest describeInstanceHealthRequest)

        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.

        Parameters:
        describeInstanceHealthRequest -
        Returns:
        Result of the DescribeInstanceHealth operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        InvalidInstanceException - The specified endpoint is not valid.
      • describeLoadBalancerPolicies

        DescribeLoadBalancerPoliciesResult describeLoadBalancerPolicies​(DescribeLoadBalancerPoliciesRequest describeLoadBalancerPoliciesRequest)

        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.

        Parameters:
        describeLoadBalancerPoliciesRequest -
        Returns:
        Result of the DescribeLoadBalancerPolicies operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        PolicyNotFoundException - One or more of the specified policies do not exist.
      • describeLoadBalancers

        DescribeLoadBalancersResult describeLoadBalancers​(DescribeLoadBalancersRequest describeLoadBalancersRequest)

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

        Parameters:
        describeLoadBalancersRequest -
        Returns:
        Result of the DescribeLoadBalancers operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
      • describeTags

        DescribeTagsResult describeTags​(DescribeTagsRequest describeTagsRequest)

        Describes the tags associated with the specified load balancers.

        Parameters:
        describeTagsRequest -
        Returns:
        Result of the DescribeTags operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
      • detachLoadBalancerFromSubnets

        DetachLoadBalancerFromSubnetsResult detachLoadBalancerFromSubnets​(DetachLoadBalancerFromSubnetsRequest detachLoadBalancerFromSubnetsRequest)

        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.

        Parameters:
        detachLoadBalancerFromSubnetsRequest -
        Returns:
        Result of the DetachLoadBalancerFromSubnets operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • disableAvailabilityZonesForLoadBalancer

        DisableAvailabilityZonesForLoadBalancerResult disableAvailabilityZonesForLoadBalancer​(DisableAvailabilityZonesForLoadBalancerRequest disableAvailabilityZonesForLoadBalancerRequest)

        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.

        Parameters:
        disableAvailabilityZonesForLoadBalancerRequest -
        Returns:
        Result of the DisableAvailabilityZonesForLoadBalancer operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • enableAvailabilityZonesForLoadBalancer

        EnableAvailabilityZonesForLoadBalancerResult enableAvailabilityZonesForLoadBalancer​(EnableAvailabilityZonesForLoadBalancerRequest enableAvailabilityZonesForLoadBalancerRequest)

        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.

        Parameters:
        enableAvailabilityZonesForLoadBalancerRequest -
        Returns:
        Result of the EnableAvailabilityZonesForLoadBalancer operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
      • registerInstancesWithLoadBalancer

        RegisterInstancesWithLoadBalancerResult registerInstancesWithLoadBalancer​(RegisterInstancesWithLoadBalancerRequest registerInstancesWithLoadBalancerRequest)

        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.

        Parameters:
        registerInstancesWithLoadBalancerRequest -
        Returns:
        Result of the RegisterInstancesWithLoadBalancer operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        InvalidInstanceException - The specified endpoint is not valid.
      • removeTags

        RemoveTagsResult removeTags​(RemoveTagsRequest removeTagsRequest)

        Removes one or more tags from the specified load balancer.

        Parameters:
        removeTagsRequest -
        Returns:
        Result of the RemoveTags operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
      • setLoadBalancerPoliciesForBackendServer

        SetLoadBalancerPoliciesForBackendServerResult setLoadBalancerPoliciesForBackendServer​(SetLoadBalancerPoliciesForBackendServerRequest setLoadBalancerPoliciesForBackendServerRequest)

        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.

        Parameters:
        setLoadBalancerPoliciesForBackendServerRequest -
        Returns:
        Result of the SetLoadBalancerPoliciesForBackendServer operation returned by the service.
        Throws:
        LoadBalancerNotFoundException - The specified load balancer does not exist.
        PolicyNotFoundException - One or more of the specified policies do not exist.
        InvalidConfigurationRequestException - The requested configuration change is not valid.
      • shutdown

        void shutdown()
        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.
      • getCachedResponseMetadata

        ResponseMetadata getCachedResponseMetadata​(AmazonWebServiceRequest request)
        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.

        Parameters:
        request - The originally executed request.
        Returns:
        The response metadata for the specified request, or null if none is available.