com.amazonaws.services.globalaccelerator.AWSGlobalAcceleratorAsync Maven / Gradle / Ivy
/*
* Copyright 2013-2018 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.globalaccelerator;
import javax.annotation.Generated;
import com.amazonaws.services.globalaccelerator.model.*;
/**
* Interface for accessing AWS Global Accelerator asynchronously. Each asynchronous method will return a Java Future
* object representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.globalaccelerator.AbstractAWSGlobalAcceleratorAsync} instead.
*
*
* AWS Global Accelerator
*
* This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information
* about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator
* features, see the AWS Global
* Accelerator Developer Guide.
*
*
* AWS Global Accelerator is a network layer service in which you create accelerators to improve availability and
* performance for internet applications used by a global audience.
*
*
* Global Accelerator provides you with static IP addresses that you associate with your accelerator. These IP addresses
* are anycast from the AWS edge network and distribute incoming application traffic across multiple endpoint resources
* in multiple AWS Regions, which increases the availability of your applications. Endpoints can be Elastic IP
* addresses, Network Load Balancers, and Application Load Balancers that are located in one AWS Region or multiple
* Regions.
*
*
* Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health,
* client location, and policies that you configure. The service reacts instantly to changes in health or configuration
* to ensure that internet traffic from clients is directed to only healthy endpoints.
*
*
* Global Accelerator includes components that work together to help you improve performance and availability for your
* applications:
*
*
* - Static IP address
* -
*
* AWS Global Accelerator provides you with a set of static IP addresses which are anycast from the AWS edge network and
* serve as the single fixed entry points for your clients. If you already have Elastic Load Balancing or Elastic IP
* address resources set up for your applications, you can easily add those to Global Accelerator to allow the resources
* to be accessed by a Global Accelerator static IP address.
*
*
* - Accelerator
* -
*
* An accelerator directs traffic to optimal endpoints over the AWS global network to improve availability and
* performance for your internet applications that have a global audience. Each accelerator includes one or more
* listeners.
*
*
* - Network zone
* -
*
* A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS
* Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure
* an accelerator, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes
* unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications
* can retry on the healthy static IP address from the other isolated network zone.
*
*
* - Listener
* -
*
* A listener processes inbound connections from clients to Global Accelerator, based on the protocol and port that you
* configure. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in
* one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute
* traffic to. Traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.
*
*
* - Endpoint group
* -
*
* Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the
* Region. You can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by
* adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or
* blue/green deployment testing for new releases across different AWS Regions, for example.
*
*
* - Endpoint
* -
*
* An endpoint is an Elastic IP address, Network Load Balancer, or Application Load Balancer. Traffic is routed to
* endpoints based on several factors, including the geo-proximity to the user, the health of the endpoint, and the
* configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which
* are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for
* example, to do performance testing within a Region.
*
*
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSGlobalAcceleratorAsync extends AWSGlobalAccelerator {
/**
*
* Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct
* traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see
* an AWS CLI example of creating an accelerator, scroll down to Example.
*
*
* @param createAcceleratorRequest
* @return A Java Future containing the result of the CreateAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.CreateAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future createAcceleratorAsync(CreateAcceleratorRequest createAcceleratorRequest);
/**
*
* Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct
* traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see
* an AWS CLI example of creating an accelerator, scroll down to Example.
*
*
* @param createAcceleratorRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.CreateAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future createAcceleratorAsync(CreateAcceleratorRequest createAcceleratorRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS
* Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.
*
*
* @param createEndpointGroupRequest
* @return A Java Future containing the result of the CreateEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.CreateEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future createEndpointGroupAsync(CreateEndpointGroupRequest createEndpointGroupRequest);
/**
*
* Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS
* Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.
*
*
* @param createEndpointGroupRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.CreateEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future createEndpointGroupAsync(CreateEndpointGroupRequest createEndpointGroupRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned
* static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of
* creating a listener, scroll down to Example.
*
*
* @param createListenerRequest
* @return A Java Future containing the result of the CreateListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.CreateListener
* @see AWS API Documentation
*/
java.util.concurrent.Future createListenerAsync(CreateListenerRequest createListenerRequest);
/**
*
* Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned
* static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of
* creating a listener, scroll down to Example.
*
*
* @param createListenerRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.CreateListener
* @see AWS API Documentation
*/
java.util.concurrent.Future createListenerAsync(CreateListenerRequest createListenerRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Delete an accelerator. Note: before you can delete an accelerator, you must disable it and remove all dependent
* resources (listeners and endpoint groups).
*
*
* @param deleteAcceleratorRequest
* @return A Java Future containing the result of the DeleteAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DeleteAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteAcceleratorAsync(DeleteAcceleratorRequest deleteAcceleratorRequest);
/**
*
* Delete an accelerator. Note: before you can delete an accelerator, you must disable it and remove all dependent
* resources (listeners and endpoint groups).
*
*
* @param deleteAcceleratorRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DeleteAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteAcceleratorAsync(DeleteAcceleratorRequest deleteAcceleratorRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Delete an endpoint group from a listener.
*
*
* @param deleteEndpointGroupRequest
* @return A Java Future containing the result of the DeleteEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DeleteEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteEndpointGroupAsync(DeleteEndpointGroupRequest deleteEndpointGroupRequest);
/**
*
* Delete an endpoint group from a listener.
*
*
* @param deleteEndpointGroupRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DeleteEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteEndpointGroupAsync(DeleteEndpointGroupRequest deleteEndpointGroupRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Delete a listener from an accelerator.
*
*
* @param deleteListenerRequest
* @return A Java Future containing the result of the DeleteListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DeleteListener
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteListenerAsync(DeleteListenerRequest deleteListenerRequest);
/**
*
* Delete a listener from an accelerator.
*
*
* @param deleteListenerRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DeleteListener
* @see AWS API Documentation
*/
java.util.concurrent.Future deleteListenerAsync(DeleteListenerRequest deleteListenerRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.
*
*
* @param describeAcceleratorRequest
* @return A Java Future containing the result of the DescribeAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DescribeAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future describeAcceleratorAsync(DescribeAcceleratorRequest describeAcceleratorRequest);
/**
*
* Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.
*
*
* @param describeAcceleratorRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DescribeAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future describeAcceleratorAsync(DescribeAcceleratorRequest describeAcceleratorRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Describe the attributes of an accelerator.
*
*
* @param describeAcceleratorAttributesRequest
* @return A Java Future containing the result of the DescribeAcceleratorAttributes operation returned by the
* service.
* @sample AWSGlobalAcceleratorAsync.DescribeAcceleratorAttributes
* @see AWS API Documentation
*/
java.util.concurrent.Future describeAcceleratorAttributesAsync(
DescribeAcceleratorAttributesRequest describeAcceleratorAttributesRequest);
/**
*
* Describe the attributes of an accelerator.
*
*
* @param describeAcceleratorAttributesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeAcceleratorAttributes operation returned by the
* service.
* @sample AWSGlobalAcceleratorAsyncHandler.DescribeAcceleratorAttributes
* @see AWS API Documentation
*/
java.util.concurrent.Future describeAcceleratorAttributesAsync(
DescribeAcceleratorAttributesRequest describeAcceleratorAttributesRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Describe an endpoint group.
*
*
* @param describeEndpointGroupRequest
* @return A Java Future containing the result of the DescribeEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DescribeEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future describeEndpointGroupAsync(DescribeEndpointGroupRequest describeEndpointGroupRequest);
/**
*
* Describe an endpoint group.
*
*
* @param describeEndpointGroupRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DescribeEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future describeEndpointGroupAsync(DescribeEndpointGroupRequest describeEndpointGroupRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Describe a listener.
*
*
* @param describeListenerRequest
* @return A Java Future containing the result of the DescribeListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.DescribeListener
* @see AWS API Documentation
*/
java.util.concurrent.Future describeListenerAsync(DescribeListenerRequest describeListenerRequest);
/**
*
* Describe a listener.
*
*
* @param describeListenerRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.DescribeListener
* @see AWS API Documentation
*/
java.util.concurrent.Future describeListenerAsync(DescribeListenerRequest describeListenerRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* List the accelerators for an AWS account.
*
*
* @param listAcceleratorsRequest
* @return A Java Future containing the result of the ListAccelerators operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.ListAccelerators
* @see AWS API Documentation
*/
java.util.concurrent.Future listAcceleratorsAsync(ListAcceleratorsRequest listAcceleratorsRequest);
/**
*
* List the accelerators for an AWS account.
*
*
* @param listAcceleratorsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListAccelerators operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.ListAccelerators
* @see AWS API Documentation
*/
java.util.concurrent.Future listAcceleratorsAsync(ListAcceleratorsRequest listAcceleratorsRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* List the endpoint groups that are associated with a listener.
*
*
* @param listEndpointGroupsRequest
* @return A Java Future containing the result of the ListEndpointGroups operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.ListEndpointGroups
* @see AWS API Documentation
*/
java.util.concurrent.Future listEndpointGroupsAsync(ListEndpointGroupsRequest listEndpointGroupsRequest);
/**
*
* List the endpoint groups that are associated with a listener.
*
*
* @param listEndpointGroupsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListEndpointGroups operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.ListEndpointGroups
* @see AWS API Documentation
*/
java.util.concurrent.Future listEndpointGroupsAsync(ListEndpointGroupsRequest listEndpointGroupsRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* List the listeners for an accelerator.
*
*
* @param listListenersRequest
* @return A Java Future containing the result of the ListListeners operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.ListListeners
* @see AWS API Documentation
*/
java.util.concurrent.Future listListenersAsync(ListListenersRequest listListenersRequest);
/**
*
* List the listeners for an accelerator.
*
*
* @param listListenersRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListListeners operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.ListListeners
* @see AWS API Documentation
*/
java.util.concurrent.Future listListenersAsync(ListListenersRequest listListenersRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Update an accelerator.
*
*
* @param updateAcceleratorRequest
* @return A Java Future containing the result of the UpdateAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.UpdateAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future updateAcceleratorAsync(UpdateAcceleratorRequest updateAcceleratorRequest);
/**
*
* Update an accelerator.
*
*
* @param updateAcceleratorRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateAccelerator operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.UpdateAccelerator
* @see AWS API Documentation
*/
java.util.concurrent.Future updateAcceleratorAsync(UpdateAcceleratorRequest updateAcceleratorRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow
* logs, scroll down to Example.
*
*
* @param updateAcceleratorAttributesRequest
* @return A Java Future containing the result of the UpdateAcceleratorAttributes operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.UpdateAcceleratorAttributes
* @see AWS API Documentation
*/
java.util.concurrent.Future updateAcceleratorAttributesAsync(
UpdateAcceleratorAttributesRequest updateAcceleratorAttributesRequest);
/**
*
* Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow
* logs, scroll down to Example.
*
*
* @param updateAcceleratorAttributesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateAcceleratorAttributes operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.UpdateAcceleratorAttributes
* @see AWS API Documentation
*/
java.util.concurrent.Future updateAcceleratorAttributesAsync(
UpdateAcceleratorAttributesRequest updateAcceleratorAttributesRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example.
*
*
* @param updateEndpointGroupRequest
* @return A Java Future containing the result of the UpdateEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.UpdateEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future updateEndpointGroupAsync(UpdateEndpointGroupRequest updateEndpointGroupRequest);
/**
*
* Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example.
*
*
* @param updateEndpointGroupRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateEndpointGroup operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.UpdateEndpointGroup
* @see AWS API Documentation
*/
java.util.concurrent.Future updateEndpointGroupAsync(UpdateEndpointGroupRequest updateEndpointGroupRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Update a listener.
*
*
* @param updateListenerRequest
* @return A Java Future containing the result of the UpdateListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsync.UpdateListener
* @see AWS API Documentation
*/
java.util.concurrent.Future updateListenerAsync(UpdateListenerRequest updateListenerRequest);
/**
*
* Update a listener.
*
*
* @param updateListenerRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateListener operation returned by the service.
* @sample AWSGlobalAcceleratorAsyncHandler.UpdateListener
* @see AWS API Documentation
*/
java.util.concurrent.Future updateListenerAsync(UpdateListenerRequest updateListenerRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
}