/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace GlobalAccelerator
{
/**
* Global Accelerator This is the Global Accelerator API
* Reference. This guide is for developers who need detailed information about
* Global Accelerator API actions, data types, and errors. For more information
* about Global Accelerator features, see the Global
* Accelerator Developer Guide.
Global Accelerator is a service in which
* you create accelerators to improve the performance of your applications
* for local and global users. Depending on the type of accelerator you choose, you
* can gain additional benefits.
-
By using a standard accelerator,
* you can improve availability of your internet applications that are used by a
* global audience. With a standard accelerator, Global Accelerator directs traffic
* to optimal endpoints over the Amazon Web Services global network.
* -
For other scenarios, you might choose a custom routing accelerator. With
* a custom routing accelerator, you can use application logic to directly map one
* or more users to a specific endpoint among many endpoints.
* Global Accelerator is a global service that supports endpoints in
* multiple Amazon Web Services Regions but you must specify the US West (Oregon)
* Region to create, update, or otherwise work with accelerators. That is, for
* example, specify --region us-west-2
on AWS CLI commands.
* By default, Global Accelerator provides you with static IP
* addresses that you associate with your accelerator. The static IP addresses are
* anycast from the Amazon Web Services edge network. For IPv4, Global Accelerator
* provides two static IPv4 addresses. For dual-stack, Global Accelerator provides
* a total of four addresses: two static IPv4 addresses and two static IPv6
* addresses. With a standard accelerator for IPv4, instead of using the addresses
* that Global Accelerator provides, you can configure these entry points to be
* IPv4 addresses from your own IP address ranges that you bring toGlobal
* Accelerator (BYOIP).
For a standard accelerator, they distribute
* incoming application traffic across multiple endpoint resources in multiple
* Amazon Web Services Regions , which increases the availability of your
* applications. Endpoints for standard accelerators can be Network Load Balancers,
* Application Load Balancers, Amazon EC2 instances, or Elastic IP addresses that
* are located in one Amazon Web Services Region or multiple Amazon Web Services
* Regions. For custom routing accelerators, you map traffic that arrives to the
* static IP addresses to specific Amazon EC2 servers in endpoints that are virtual
* private cloud (VPC) subnets.
The static IP addresses remain
* assigned to your accelerator for as long as it exists, even if you disable the
* accelerator and it no longer accepts or routes traffic. However, when you
* delete an accelerator, you lose the static IP addresses that are assigned
* to it, so you can no longer route traffic by using them. You can use IAM
* policies like tag-based permissions with Global Accelerator to limit the users
* who have permissions to delete an accelerator. For more information, see Tag-based
* policies.
For standard accelerators, Global Accelerator
* uses the Amazon Web Services 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 always directed to healthy
* endpoints.
For more information about understanding and using Global
* Accelerator, see the Global
* Accelerator Developer Guide.
*/
class AWS_GLOBALACCELERATOR_API GlobalAcceleratorClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef GlobalAcceleratorClientConfiguration ClientConfigurationType;
typedef GlobalAcceleratorEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
GlobalAcceleratorClient(const Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration& clientConfiguration = Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
GlobalAcceleratorClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration& clientConfiguration = Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
GlobalAcceleratorClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration& clientConfiguration = Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
GlobalAcceleratorClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
GlobalAcceleratorClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
GlobalAcceleratorClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~GlobalAcceleratorClient();
/**
* Associate a virtual private cloud (VPC) subnet endpoint with your custom
* routing accelerator.
The listener port range must be large enough to
* support the number of IP addresses that can be specified in your subnet. The
* number of ports required is: subnet size times the number of ports per
* destination EC2 instances. For example, a subnet defined as /24 requires a
* listener port range of at least 255 ports.
Note: You must have enough
* remaining listener ports available to map to the subnet ports, or the call will
* fail with a LimitExceededException.
By default, all destinations in a
* subnet in a custom routing accelerator cannot receive traffic. To enable all
* destinations to receive traffic, or to specify individual port mappings that can
* receive traffic, see the
* AllowCustomRoutingTraffic operation.
See Also:
AWS
* API Reference
*/
virtual Model::AddCustomRoutingEndpointsOutcome AddCustomRoutingEndpoints(const Model::AddCustomRoutingEndpointsRequest& request) const;
/**
* A Callable wrapper for AddCustomRoutingEndpoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddCustomRoutingEndpointsOutcomeCallable AddCustomRoutingEndpointsCallable(const AddCustomRoutingEndpointsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::AddCustomRoutingEndpoints, request);
}
/**
* An Async wrapper for AddCustomRoutingEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddCustomRoutingEndpointsAsync(const AddCustomRoutingEndpointsRequestT& request, const AddCustomRoutingEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::AddCustomRoutingEndpoints, request, handler, context);
}
/**
* Add endpoints to an endpoint group. The AddEndpoints
API
* operation is the recommended option for adding endpoints. The alternative
* options are to add endpoints when you create an endpoint group (with the CreateEndpointGroup
* API) or when you update an endpoint group (with the UpdateEndpointGroup
* API).
There are two advantages to using AddEndpoints
to add
* endpoints:
-
It's faster, because Global Accelerator only has to
* resolve the new endpoints that you're adding.
-
It's more
* convenient, because you don't need to specify all of the current endpoints that
* are already in the endpoint group in addition to the new endpoints that you want
* to add.
See Also:
AWS
* API Reference
*/
virtual Model::AddEndpointsOutcome AddEndpoints(const Model::AddEndpointsRequest& request) const;
/**
* A Callable wrapper for AddEndpoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddEndpointsOutcomeCallable AddEndpointsCallable(const AddEndpointsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::AddEndpoints, request);
}
/**
* An Async wrapper for AddEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddEndpointsAsync(const AddEndpointsRequestT& request, const AddEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::AddEndpoints, request, handler, context);
}
/**
* Advertises an IPv4 address range that is provisioned for use with your Amazon
* Web Services resources through bring your own IP addresses (BYOIP). It can take
* a few minutes before traffic to the specified addresses starts routing to Amazon
* Web Services because of propagation delays.
To stop advertising the
* BYOIP address range, use
* WithdrawByoipCidr.
For more information, see Bring
* your own IP addresses (BYOIP) in the Global Accelerator Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::AdvertiseByoipCidrOutcome AdvertiseByoipCidr(const Model::AdvertiseByoipCidrRequest& request) const;
/**
* A Callable wrapper for AdvertiseByoipCidr that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AdvertiseByoipCidrOutcomeCallable AdvertiseByoipCidrCallable(const AdvertiseByoipCidrRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::AdvertiseByoipCidr, request);
}
/**
* An Async wrapper for AdvertiseByoipCidr that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AdvertiseByoipCidrAsync(const AdvertiseByoipCidrRequestT& request, const AdvertiseByoipCidrResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::AdvertiseByoipCidr, request, handler, context);
}
/**
* Specify the Amazon EC2 instance (destination) IP addresses and ports for a
* VPC subnet endpoint that can receive traffic for a custom routing accelerator.
* You can allow traffic to all destinations in the subnet endpoint, or allow
* traffic to a specified list of destination IP addresses and ports in the subnet.
* Note that you cannot specify IP addresses or ports outside of the range that you
* configured for the endpoint group.
After you make changes, you can verify
* that the updates are complete by checking the status of your accelerator: the
* status changes from IN_PROGRESS to DEPLOYED.
See Also:
AWS
* API Reference
*/
virtual Model::AllowCustomRoutingTrafficOutcome AllowCustomRoutingTraffic(const Model::AllowCustomRoutingTrafficRequest& request) const;
/**
* A Callable wrapper for AllowCustomRoutingTraffic that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AllowCustomRoutingTrafficOutcomeCallable AllowCustomRoutingTrafficCallable(const AllowCustomRoutingTrafficRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::AllowCustomRoutingTraffic, request);
}
/**
* An Async wrapper for AllowCustomRoutingTraffic that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AllowCustomRoutingTrafficAsync(const AllowCustomRoutingTrafficRequestT& request, const AllowCustomRoutingTrafficResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::AllowCustomRoutingTraffic, request, handler, context);
}
/**
* 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.
* Global Accelerator is a global service that supports endpoints in
* multiple Amazon Web Services Regions but you must specify the US West (Oregon)
* Region to create, update, or otherwise work with accelerators. That is, for
* example, specify --region us-west-2
on AWS CLI commands.
* See Also:
AWS
* API Reference
*/
virtual Model::CreateAcceleratorOutcome CreateAccelerator(const Model::CreateAcceleratorRequest& request) const;
/**
* A Callable wrapper for CreateAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateAcceleratorOutcomeCallable CreateAcceleratorCallable(const CreateAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateAccelerator, request);
}
/**
* An Async wrapper for CreateAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateAcceleratorAsync(const CreateAcceleratorRequestT& request, const CreateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateAccelerator, request, handler, context);
}
/**
* Create a custom routing accelerator. A custom routing accelerator directs
* traffic to one of possibly thousands of Amazon EC2 instance destinations running
* in a single or multiple virtual private clouds (VPC) subnet endpoints.
Be
* aware that, by default, all destination EC2 instances in a VPC subnet endpoint
* cannot receive traffic. To enable all destinations to receive traffic, or to
* specify individual port mappings that can receive traffic, see the
* AllowCustomRoutingTraffic operation.
Global Accelerator
* is a global service that supports endpoints in multiple Amazon Web Services
* Regions but you must specify the US West (Oregon) Region to create, update, or
* otherwise work with accelerators. That is, for example, specify --region
* us-west-2
on AWS CLI commands.
See Also:
AWS
* API Reference
*/
virtual Model::CreateCustomRoutingAcceleratorOutcome CreateCustomRoutingAccelerator(const Model::CreateCustomRoutingAcceleratorRequest& request) const;
/**
* A Callable wrapper for CreateCustomRoutingAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCustomRoutingAcceleratorOutcomeCallable CreateCustomRoutingAcceleratorCallable(const CreateCustomRoutingAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateCustomRoutingAccelerator, request);
}
/**
* An Async wrapper for CreateCustomRoutingAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCustomRoutingAcceleratorAsync(const CreateCustomRoutingAcceleratorRequestT& request, const CreateCustomRoutingAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateCustomRoutingAccelerator, request, handler, context);
}
/**
* Create an endpoint group for the specified listener for a custom routing
* accelerator. An endpoint group is a collection of endpoints in one Amazon Web
* Services Region.
See Also:
AWS
* API Reference
*/
virtual Model::CreateCustomRoutingEndpointGroupOutcome CreateCustomRoutingEndpointGroup(const Model::CreateCustomRoutingEndpointGroupRequest& request) const;
/**
* A Callable wrapper for CreateCustomRoutingEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCustomRoutingEndpointGroupOutcomeCallable CreateCustomRoutingEndpointGroupCallable(const CreateCustomRoutingEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateCustomRoutingEndpointGroup, request);
}
/**
* An Async wrapper for CreateCustomRoutingEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCustomRoutingEndpointGroupAsync(const CreateCustomRoutingEndpointGroupRequestT& request, const CreateCustomRoutingEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateCustomRoutingEndpointGroup, request, handler, context);
}
/**
* Create a listener to process inbound connections from clients to a custom
* routing accelerator. Connections arrive to assigned static IP addresses on the
* port range that you specify.
See Also:
AWS
* API Reference
*/
virtual Model::CreateCustomRoutingListenerOutcome CreateCustomRoutingListener(const Model::CreateCustomRoutingListenerRequest& request) const;
/**
* A Callable wrapper for CreateCustomRoutingListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCustomRoutingListenerOutcomeCallable CreateCustomRoutingListenerCallable(const CreateCustomRoutingListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateCustomRoutingListener, request);
}
/**
* An Async wrapper for CreateCustomRoutingListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCustomRoutingListenerAsync(const CreateCustomRoutingListenerRequestT& request, const CreateCustomRoutingListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateCustomRoutingListener, request, handler, context);
}
/**
* Create an endpoint group for the specified listener. An endpoint group is a
* collection of endpoints in one Amazon Web Services Region. A resource must be
* valid and active when you add it as an endpoint.
See Also:
AWS
* API Reference
*/
virtual Model::CreateEndpointGroupOutcome CreateEndpointGroup(const Model::CreateEndpointGroupRequest& request) const;
/**
* A Callable wrapper for CreateEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateEndpointGroupOutcomeCallable CreateEndpointGroupCallable(const CreateEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateEndpointGroup, request);
}
/**
* An Async wrapper for CreateEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateEndpointGroupAsync(const CreateEndpointGroupRequestT& request, const CreateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateEndpointGroup, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateListenerOutcome CreateListener(const Model::CreateListenerRequest& request) const;
/**
* A Callable wrapper for CreateListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateListenerOutcomeCallable CreateListenerCallable(const CreateListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::CreateListener, request);
}
/**
* An Async wrapper for CreateListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateListenerAsync(const CreateListenerRequestT& request, const CreateListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::CreateListener, request, handler, context);
}
/**
* Delete an accelerator. Before you can delete an accelerator, you must disable
* it and remove all dependent resources (listeners and endpoint groups). To
* disable the accelerator, update the accelerator to set Enabled
to
* false.
When you create an accelerator, by default, Global
* Accelerator provides you with a set of two static IP addresses. Alternatively,
* you can bring your own IP address ranges to Global Accelerator and assign IP
* addresses from those ranges.
The IP addresses are assigned to your
* accelerator for as long as it exists, even if you disable the accelerator and it
* no longer accepts or routes traffic. However, when you delete an
* accelerator, you lose the static IP addresses that are assigned to the
* accelerator, so you can no longer route traffic by using them. As a best
* practice, ensure that you have permissions in place to avoid inadvertently
* deleting accelerators. You can use IAM policies with Global Accelerator to limit
* the users who have permissions to delete an accelerator. For more information,
* see Identity
* and access management in the Global Accelerator Developer Guide.
* See Also:
AWS
* API Reference
*/
virtual Model::DeleteAcceleratorOutcome DeleteAccelerator(const Model::DeleteAcceleratorRequest& request) const;
/**
* A Callable wrapper for DeleteAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAcceleratorOutcomeCallable DeleteAcceleratorCallable(const DeleteAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteAccelerator, request);
}
/**
* An Async wrapper for DeleteAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAcceleratorAsync(const DeleteAcceleratorRequestT& request, const DeleteAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteAccelerator, request, handler, context);
}
/**
* Delete a custom routing accelerator. Before you can delete an accelerator,
* you must disable it and remove all dependent resources (listeners and endpoint
* groups). To disable the accelerator, update the accelerator to set
* Enabled
to false.
When you create a custom
* routing accelerator, by default, Global Accelerator provides you with a set of
* two static IP addresses.
The IP addresses are assigned to your
* accelerator for as long as it exists, even if you disable the accelerator and it
* no longer accepts or routes traffic. However, when you delete an
* accelerator, you lose the static IP addresses that are assigned to the
* accelerator, so you can no longer route traffic by using them. As a best
* practice, ensure that you have permissions in place to avoid inadvertently
* deleting accelerators. You can use IAM policies with Global Accelerator to limit
* the users who have permissions to delete an accelerator. For more information,
* see Identity
* and access management in the Global Accelerator Developer Guide.
* See Also:
AWS
* API Reference
*/
virtual Model::DeleteCustomRoutingAcceleratorOutcome DeleteCustomRoutingAccelerator(const Model::DeleteCustomRoutingAcceleratorRequest& request) const;
/**
* A Callable wrapper for DeleteCustomRoutingAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteCustomRoutingAcceleratorOutcomeCallable DeleteCustomRoutingAcceleratorCallable(const DeleteCustomRoutingAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteCustomRoutingAccelerator, request);
}
/**
* An Async wrapper for DeleteCustomRoutingAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteCustomRoutingAcceleratorAsync(const DeleteCustomRoutingAcceleratorRequestT& request, const DeleteCustomRoutingAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteCustomRoutingAccelerator, request, handler, context);
}
/**
* Delete an endpoint group from a listener for a custom routing
* accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteCustomRoutingEndpointGroupOutcome DeleteCustomRoutingEndpointGroup(const Model::DeleteCustomRoutingEndpointGroupRequest& request) const;
/**
* A Callable wrapper for DeleteCustomRoutingEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteCustomRoutingEndpointGroupOutcomeCallable DeleteCustomRoutingEndpointGroupCallable(const DeleteCustomRoutingEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteCustomRoutingEndpointGroup, request);
}
/**
* An Async wrapper for DeleteCustomRoutingEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteCustomRoutingEndpointGroupAsync(const DeleteCustomRoutingEndpointGroupRequestT& request, const DeleteCustomRoutingEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteCustomRoutingEndpointGroup, request, handler, context);
}
/**
* Delete a listener for a custom routing accelerator.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteCustomRoutingListenerOutcome DeleteCustomRoutingListener(const Model::DeleteCustomRoutingListenerRequest& request) const;
/**
* A Callable wrapper for DeleteCustomRoutingListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteCustomRoutingListenerOutcomeCallable DeleteCustomRoutingListenerCallable(const DeleteCustomRoutingListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteCustomRoutingListener, request);
}
/**
* An Async wrapper for DeleteCustomRoutingListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteCustomRoutingListenerAsync(const DeleteCustomRoutingListenerRequestT& request, const DeleteCustomRoutingListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteCustomRoutingListener, request, handler, context);
}
/**
* Delete an endpoint group from a listener.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteEndpointGroupOutcome DeleteEndpointGroup(const Model::DeleteEndpointGroupRequest& request) const;
/**
* A Callable wrapper for DeleteEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteEndpointGroupOutcomeCallable DeleteEndpointGroupCallable(const DeleteEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteEndpointGroup, request);
}
/**
* An Async wrapper for DeleteEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteEndpointGroupAsync(const DeleteEndpointGroupRequestT& request, const DeleteEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteEndpointGroup, request, handler, context);
}
/**
* Delete a listener from an accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteListenerOutcome DeleteListener(const Model::DeleteListenerRequest& request) const;
/**
* A Callable wrapper for DeleteListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteListenerOutcomeCallable DeleteListenerCallable(const DeleteListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeleteListener, request);
}
/**
* An Async wrapper for DeleteListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteListenerAsync(const DeleteListenerRequestT& request, const DeleteListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeleteListener, request, handler, context);
}
/**
* Specify the Amazon EC2 instance (destination) IP addresses and ports for a
* VPC subnet endpoint that cannot receive traffic for a custom routing
* accelerator. You can deny traffic to all destinations in the VPC endpoint, or
* deny traffic to a specified list of destination IP addresses and ports. Note
* that you cannot specify IP addresses or ports outside of the range that you
* configured for the endpoint group.
After you make changes, you can verify
* that the updates are complete by checking the status of your accelerator: the
* status changes from IN_PROGRESS to DEPLOYED.
See Also:
AWS
* API Reference
*/
virtual Model::DenyCustomRoutingTrafficOutcome DenyCustomRoutingTraffic(const Model::DenyCustomRoutingTrafficRequest& request) const;
/**
* A Callable wrapper for DenyCustomRoutingTraffic that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DenyCustomRoutingTrafficOutcomeCallable DenyCustomRoutingTrafficCallable(const DenyCustomRoutingTrafficRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DenyCustomRoutingTraffic, request);
}
/**
* An Async wrapper for DenyCustomRoutingTraffic that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DenyCustomRoutingTrafficAsync(const DenyCustomRoutingTrafficRequestT& request, const DenyCustomRoutingTrafficResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DenyCustomRoutingTraffic, request, handler, context);
}
/**
* Releases the specified address range that you provisioned to use with your
* Amazon Web Services resources through bring your own IP addresses (BYOIP) and
* deletes the corresponding address pool.
Before you can release an
* address range, you must stop advertising it by using WithdrawByoipCidr
* and you must not have any accelerators that are using static IP addresses
* allocated from its address range.
For more information, see Bring
* your own IP addresses (BYOIP) in the Global Accelerator Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::DeprovisionByoipCidrOutcome DeprovisionByoipCidr(const Model::DeprovisionByoipCidrRequest& request) const;
/**
* A Callable wrapper for DeprovisionByoipCidr that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeprovisionByoipCidrOutcomeCallable DeprovisionByoipCidrCallable(const DeprovisionByoipCidrRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DeprovisionByoipCidr, request);
}
/**
* An Async wrapper for DeprovisionByoipCidr that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeprovisionByoipCidrAsync(const DeprovisionByoipCidrRequestT& request, const DeprovisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DeprovisionByoipCidr, request, handler, context);
}
/**
* Describe an accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeAcceleratorOutcome DescribeAccelerator(const Model::DescribeAcceleratorRequest& request) const;
/**
* A Callable wrapper for DescribeAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAcceleratorOutcomeCallable DescribeAcceleratorCallable(const DescribeAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeAccelerator, request);
}
/**
* An Async wrapper for DescribeAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAcceleratorAsync(const DescribeAcceleratorRequestT& request, const DescribeAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeAccelerator, request, handler, context);
}
/**
* Describe the attributes of an accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeAcceleratorAttributesOutcome DescribeAcceleratorAttributes(const Model::DescribeAcceleratorAttributesRequest& request) const;
/**
* A Callable wrapper for DescribeAcceleratorAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAcceleratorAttributesOutcomeCallable DescribeAcceleratorAttributesCallable(const DescribeAcceleratorAttributesRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeAcceleratorAttributes, request);
}
/**
* An Async wrapper for DescribeAcceleratorAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAcceleratorAttributesAsync(const DescribeAcceleratorAttributesRequestT& request, const DescribeAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeAcceleratorAttributes, request, handler, context);
}
/**
* Describe a custom routing accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeCustomRoutingAcceleratorOutcome DescribeCustomRoutingAccelerator(const Model::DescribeCustomRoutingAcceleratorRequest& request) const;
/**
* A Callable wrapper for DescribeCustomRoutingAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCustomRoutingAcceleratorOutcomeCallable DescribeCustomRoutingAcceleratorCallable(const DescribeCustomRoutingAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeCustomRoutingAccelerator, request);
}
/**
* An Async wrapper for DescribeCustomRoutingAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCustomRoutingAcceleratorAsync(const DescribeCustomRoutingAcceleratorRequestT& request, const DescribeCustomRoutingAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeCustomRoutingAccelerator, request, handler, context);
}
/**
* Describe the attributes of a custom routing accelerator.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeCustomRoutingAcceleratorAttributesOutcome DescribeCustomRoutingAcceleratorAttributes(const Model::DescribeCustomRoutingAcceleratorAttributesRequest& request) const;
/**
* A Callable wrapper for DescribeCustomRoutingAcceleratorAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCustomRoutingAcceleratorAttributesOutcomeCallable DescribeCustomRoutingAcceleratorAttributesCallable(const DescribeCustomRoutingAcceleratorAttributesRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeCustomRoutingAcceleratorAttributes, request);
}
/**
* An Async wrapper for DescribeCustomRoutingAcceleratorAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCustomRoutingAcceleratorAttributesAsync(const DescribeCustomRoutingAcceleratorAttributesRequestT& request, const DescribeCustomRoutingAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeCustomRoutingAcceleratorAttributes, request, handler, context);
}
/**
* Describe an endpoint group for a custom routing accelerator.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeCustomRoutingEndpointGroupOutcome DescribeCustomRoutingEndpointGroup(const Model::DescribeCustomRoutingEndpointGroupRequest& request) const;
/**
* A Callable wrapper for DescribeCustomRoutingEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCustomRoutingEndpointGroupOutcomeCallable DescribeCustomRoutingEndpointGroupCallable(const DescribeCustomRoutingEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeCustomRoutingEndpointGroup, request);
}
/**
* An Async wrapper for DescribeCustomRoutingEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCustomRoutingEndpointGroupAsync(const DescribeCustomRoutingEndpointGroupRequestT& request, const DescribeCustomRoutingEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeCustomRoutingEndpointGroup, request, handler, context);
}
/**
* The description of a listener for a custom routing accelerator.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeCustomRoutingListenerOutcome DescribeCustomRoutingListener(const Model::DescribeCustomRoutingListenerRequest& request) const;
/**
* A Callable wrapper for DescribeCustomRoutingListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCustomRoutingListenerOutcomeCallable DescribeCustomRoutingListenerCallable(const DescribeCustomRoutingListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeCustomRoutingListener, request);
}
/**
* An Async wrapper for DescribeCustomRoutingListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCustomRoutingListenerAsync(const DescribeCustomRoutingListenerRequestT& request, const DescribeCustomRoutingListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeCustomRoutingListener, request, handler, context);
}
/**
* Describe an endpoint group.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeEndpointGroupOutcome DescribeEndpointGroup(const Model::DescribeEndpointGroupRequest& request) const;
/**
* A Callable wrapper for DescribeEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeEndpointGroupOutcomeCallable DescribeEndpointGroupCallable(const DescribeEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeEndpointGroup, request);
}
/**
* An Async wrapper for DescribeEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeEndpointGroupAsync(const DescribeEndpointGroupRequestT& request, const DescribeEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeEndpointGroup, request, handler, context);
}
/**
* Describe a listener.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeListenerOutcome DescribeListener(const Model::DescribeListenerRequest& request) const;
/**
* A Callable wrapper for DescribeListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeListenerOutcomeCallable DescribeListenerCallable(const DescribeListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::DescribeListener, request);
}
/**
* An Async wrapper for DescribeListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeListenerAsync(const DescribeListenerRequestT& request, const DescribeListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::DescribeListener, request, handler, context);
}
/**
* List the accelerators for an Amazon Web Services account.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListAcceleratorsOutcome ListAccelerators(const Model::ListAcceleratorsRequest& request) const;
/**
* A Callable wrapper for ListAccelerators that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAcceleratorsOutcomeCallable ListAcceleratorsCallable(const ListAcceleratorsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListAccelerators, request);
}
/**
* An Async wrapper for ListAccelerators that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAcceleratorsAsync(const ListAcceleratorsRequestT& request, const ListAcceleratorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListAccelerators, request, handler, context);
}
/**
* Lists the IP address ranges that were specified in calls to ProvisionByoipCidr,
* including the current state and a history of state changes.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListByoipCidrsOutcome ListByoipCidrs(const Model::ListByoipCidrsRequest& request) const;
/**
* A Callable wrapper for ListByoipCidrs that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListByoipCidrsOutcomeCallable ListByoipCidrsCallable(const ListByoipCidrsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListByoipCidrs, request);
}
/**
* An Async wrapper for ListByoipCidrs that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListByoipCidrsAsync(const ListByoipCidrsRequestT& request, const ListByoipCidrsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListByoipCidrs, request, handler, context);
}
/**
* List the custom routing accelerators for an Amazon Web Services account.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListCustomRoutingAcceleratorsOutcome ListCustomRoutingAccelerators(const Model::ListCustomRoutingAcceleratorsRequest& request) const;
/**
* A Callable wrapper for ListCustomRoutingAccelerators that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCustomRoutingAcceleratorsOutcomeCallable ListCustomRoutingAcceleratorsCallable(const ListCustomRoutingAcceleratorsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListCustomRoutingAccelerators, request);
}
/**
* An Async wrapper for ListCustomRoutingAccelerators that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCustomRoutingAcceleratorsAsync(const ListCustomRoutingAcceleratorsRequestT& request, const ListCustomRoutingAcceleratorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListCustomRoutingAccelerators, request, handler, context);
}
/**
* List the endpoint groups that are associated with a listener for a custom
* routing accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::ListCustomRoutingEndpointGroupsOutcome ListCustomRoutingEndpointGroups(const Model::ListCustomRoutingEndpointGroupsRequest& request) const;
/**
* A Callable wrapper for ListCustomRoutingEndpointGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCustomRoutingEndpointGroupsOutcomeCallable ListCustomRoutingEndpointGroupsCallable(const ListCustomRoutingEndpointGroupsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListCustomRoutingEndpointGroups, request);
}
/**
* An Async wrapper for ListCustomRoutingEndpointGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCustomRoutingEndpointGroupsAsync(const ListCustomRoutingEndpointGroupsRequestT& request, const ListCustomRoutingEndpointGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListCustomRoutingEndpointGroups, request, handler, context);
}
/**
* List the listeners for a custom routing accelerator.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListCustomRoutingListenersOutcome ListCustomRoutingListeners(const Model::ListCustomRoutingListenersRequest& request) const;
/**
* A Callable wrapper for ListCustomRoutingListeners that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCustomRoutingListenersOutcomeCallable ListCustomRoutingListenersCallable(const ListCustomRoutingListenersRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListCustomRoutingListeners, request);
}
/**
* An Async wrapper for ListCustomRoutingListeners that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCustomRoutingListenersAsync(const ListCustomRoutingListenersRequestT& request, const ListCustomRoutingListenersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListCustomRoutingListeners, request, handler, context);
}
/**
* Provides a complete mapping from the public accelerator IP address and port
* to destination EC2 instance IP addresses and ports in the virtual public cloud
* (VPC) subnet endpoint for a custom routing accelerator. For each subnet endpoint
* that you add, Global Accelerator creates a new static port mapping for the
* accelerator. The port mappings don't change after Global Accelerator generates
* them, so you can retrieve and cache the full mapping on your servers.
If
* you remove a subnet from your accelerator, Global Accelerator removes (reclaims)
* the port mappings. If you add a subnet to your accelerator, Global Accelerator
* creates new port mappings (the existing ones don't change). If you add or remove
* EC2 instances in your subnet, the port mappings don't change, because the
* mappings are created when you add the subnet to Global Accelerator.
The
* mappings also include a flag for each destination denoting which destination IP
* addresses and ports are allowed or denied traffic.
See Also:
AWS
* API Reference
*/
virtual Model::ListCustomRoutingPortMappingsOutcome ListCustomRoutingPortMappings(const Model::ListCustomRoutingPortMappingsRequest& request) const;
/**
* A Callable wrapper for ListCustomRoutingPortMappings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCustomRoutingPortMappingsOutcomeCallable ListCustomRoutingPortMappingsCallable(const ListCustomRoutingPortMappingsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListCustomRoutingPortMappings, request);
}
/**
* An Async wrapper for ListCustomRoutingPortMappings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCustomRoutingPortMappingsAsync(const ListCustomRoutingPortMappingsRequestT& request, const ListCustomRoutingPortMappingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListCustomRoutingPortMappings, request, handler, context);
}
/**
* List the port mappings for a specific EC2 instance (destination) in a VPC
* subnet endpoint. The response is the mappings for one destination IP address.
* This is useful when your subnet endpoint has mappings that span multiple custom
* routing accelerators in your account, or for scenarios where you only want to
* list the port mappings for a specific destination instance.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListCustomRoutingPortMappingsByDestinationOutcome ListCustomRoutingPortMappingsByDestination(const Model::ListCustomRoutingPortMappingsByDestinationRequest& request) const;
/**
* A Callable wrapper for ListCustomRoutingPortMappingsByDestination that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCustomRoutingPortMappingsByDestinationOutcomeCallable ListCustomRoutingPortMappingsByDestinationCallable(const ListCustomRoutingPortMappingsByDestinationRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListCustomRoutingPortMappingsByDestination, request);
}
/**
* An Async wrapper for ListCustomRoutingPortMappingsByDestination that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCustomRoutingPortMappingsByDestinationAsync(const ListCustomRoutingPortMappingsByDestinationRequestT& request, const ListCustomRoutingPortMappingsByDestinationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListCustomRoutingPortMappingsByDestination, request, handler, context);
}
/**
* List the endpoint groups that are associated with a listener.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListEndpointGroupsOutcome ListEndpointGroups(const Model::ListEndpointGroupsRequest& request) const;
/**
* A Callable wrapper for ListEndpointGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEndpointGroupsOutcomeCallable ListEndpointGroupsCallable(const ListEndpointGroupsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListEndpointGroups, request);
}
/**
* An Async wrapper for ListEndpointGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEndpointGroupsAsync(const ListEndpointGroupsRequestT& request, const ListEndpointGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListEndpointGroups, request, handler, context);
}
/**
* List the listeners for an accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::ListListenersOutcome ListListeners(const Model::ListListenersRequest& request) const;
/**
* A Callable wrapper for ListListeners that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListListenersOutcomeCallable ListListenersCallable(const ListListenersRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListListeners, request);
}
/**
* An Async wrapper for ListListeners that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListListenersAsync(const ListListenersRequestT& request, const ListListenersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListListeners, request, handler, context);
}
/**
* List all tags for an accelerator.
For more information, see Tagging
* in Global Accelerator in the Global Accelerator Developer Guide.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ListTagsForResource, request, handler, context);
}
/**
* Provisions an IP address range to use with your Amazon Web Services resources
* through bring your own IP addresses (BYOIP) and creates a corresponding address
* pool. After the address range is provisioned, it is ready to be advertised using
*
* AdvertiseByoipCidr.
For more information, see Bring
* your own IP addresses (BYOIP) in the Global Accelerator Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::ProvisionByoipCidrOutcome ProvisionByoipCidr(const Model::ProvisionByoipCidrRequest& request) const;
/**
* A Callable wrapper for ProvisionByoipCidr that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ProvisionByoipCidrOutcomeCallable ProvisionByoipCidrCallable(const ProvisionByoipCidrRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::ProvisionByoipCidr, request);
}
/**
* An Async wrapper for ProvisionByoipCidr that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ProvisionByoipCidrAsync(const ProvisionByoipCidrRequestT& request, const ProvisionByoipCidrResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::ProvisionByoipCidr, request, handler, context);
}
/**
* Remove endpoints from a custom routing accelerator.
See Also:
* AWS
* API Reference
*/
virtual Model::RemoveCustomRoutingEndpointsOutcome RemoveCustomRoutingEndpoints(const Model::RemoveCustomRoutingEndpointsRequest& request) const;
/**
* A Callable wrapper for RemoveCustomRoutingEndpoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveCustomRoutingEndpointsOutcomeCallable RemoveCustomRoutingEndpointsCallable(const RemoveCustomRoutingEndpointsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::RemoveCustomRoutingEndpoints, request);
}
/**
* An Async wrapper for RemoveCustomRoutingEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveCustomRoutingEndpointsAsync(const RemoveCustomRoutingEndpointsRequestT& request, const RemoveCustomRoutingEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::RemoveCustomRoutingEndpoints, request, handler, context);
}
/**
* Remove endpoints from an endpoint group.
The
* RemoveEndpoints
API operation is the recommended option for
* removing endpoints. The alternative is to remove endpoints by updating an
* endpoint group by using the UpdateEndpointGroup
* API operation. There are two advantages to using AddEndpoints
to
* remove endpoints instead:
-
It's more convenient, because you
* only need to specify the endpoints that you want to remove. With the
* UpdateEndpointGroup
API operation, you must specify all of the
* endpoints in the endpoint group except the ones that you want to remove from the
* group.
-
It's faster, because Global Accelerator doesn't need to
* resolve any endpoints. With the UpdateEndpointGroup
API operation,
* Global Accelerator must resolve all of the endpoints that remain in the
* group.
See Also:
AWS
* API Reference
*/
virtual Model::RemoveEndpointsOutcome RemoveEndpoints(const Model::RemoveEndpointsRequest& request) const;
/**
* A Callable wrapper for RemoveEndpoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveEndpointsOutcomeCallable RemoveEndpointsCallable(const RemoveEndpointsRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::RemoveEndpoints, request);
}
/**
* An Async wrapper for RemoveEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveEndpointsAsync(const RemoveEndpointsRequestT& request, const RemoveEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::RemoveEndpoints, request, handler, context);
}
/**
* Add tags to an accelerator resource.
For more information, see Tagging
* in Global Accelerator in the Global Accelerator Developer Guide.
*
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::TagResource, request, handler, context);
}
/**
* Remove tags from a Global Accelerator resource. When you specify a tag key,
* the action removes both that key and its associated value. The operation
* succeeds even if you attempt to remove tags from an accelerator that was already
* removed.
For more information, see Tagging
* in Global Accelerator in the Global Accelerator Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UntagResource, request, handler, context);
}
/**
* Update an accelerator.
Global Accelerator is a global
* service that supports endpoints in multiple Amazon Web Services Regions but you
* must specify the US West (Oregon) Region to create, update, or otherwise work
* with accelerators. That is, for example, specify --region us-west-2
* on AWS CLI commands.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateAcceleratorOutcome UpdateAccelerator(const Model::UpdateAcceleratorRequest& request) const;
/**
* A Callable wrapper for UpdateAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAcceleratorOutcomeCallable UpdateAcceleratorCallable(const UpdateAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateAccelerator, request);
}
/**
* An Async wrapper for UpdateAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAcceleratorAsync(const UpdateAcceleratorRequestT& request, const UpdateAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateAccelerator, request, handler, context);
}
/**
* Update the attributes for an accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateAcceleratorAttributesOutcome UpdateAcceleratorAttributes(const Model::UpdateAcceleratorAttributesRequest& request) const;
/**
* A Callable wrapper for UpdateAcceleratorAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAcceleratorAttributesOutcomeCallable UpdateAcceleratorAttributesCallable(const UpdateAcceleratorAttributesRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateAcceleratorAttributes, request);
}
/**
* An Async wrapper for UpdateAcceleratorAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAcceleratorAttributesAsync(const UpdateAcceleratorAttributesRequestT& request, const UpdateAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateAcceleratorAttributes, request, handler, context);
}
/**
* Update a custom routing accelerator.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateCustomRoutingAcceleratorOutcome UpdateCustomRoutingAccelerator(const Model::UpdateCustomRoutingAcceleratorRequest& request) const;
/**
* A Callable wrapper for UpdateCustomRoutingAccelerator that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateCustomRoutingAcceleratorOutcomeCallable UpdateCustomRoutingAcceleratorCallable(const UpdateCustomRoutingAcceleratorRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateCustomRoutingAccelerator, request);
}
/**
* An Async wrapper for UpdateCustomRoutingAccelerator that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateCustomRoutingAcceleratorAsync(const UpdateCustomRoutingAcceleratorRequestT& request, const UpdateCustomRoutingAcceleratorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateCustomRoutingAccelerator, request, handler, context);
}
/**
* Update the attributes for a custom routing accelerator.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateCustomRoutingAcceleratorAttributesOutcome UpdateCustomRoutingAcceleratorAttributes(const Model::UpdateCustomRoutingAcceleratorAttributesRequest& request) const;
/**
* A Callable wrapper for UpdateCustomRoutingAcceleratorAttributes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateCustomRoutingAcceleratorAttributesOutcomeCallable UpdateCustomRoutingAcceleratorAttributesCallable(const UpdateCustomRoutingAcceleratorAttributesRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateCustomRoutingAcceleratorAttributes, request);
}
/**
* An Async wrapper for UpdateCustomRoutingAcceleratorAttributes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateCustomRoutingAcceleratorAttributesAsync(const UpdateCustomRoutingAcceleratorAttributesRequestT& request, const UpdateCustomRoutingAcceleratorAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateCustomRoutingAcceleratorAttributes, request, handler, context);
}
/**
* Update a listener for a custom routing accelerator.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateCustomRoutingListenerOutcome UpdateCustomRoutingListener(const Model::UpdateCustomRoutingListenerRequest& request) const;
/**
* A Callable wrapper for UpdateCustomRoutingListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateCustomRoutingListenerOutcomeCallable UpdateCustomRoutingListenerCallable(const UpdateCustomRoutingListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateCustomRoutingListener, request);
}
/**
* An Async wrapper for UpdateCustomRoutingListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateCustomRoutingListenerAsync(const UpdateCustomRoutingListenerRequestT& request, const UpdateCustomRoutingListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateCustomRoutingListener, request, handler, context);
}
/**
* Update an endpoint group. A resource must be valid and active when you add it
* as an endpoint.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateEndpointGroupOutcome UpdateEndpointGroup(const Model::UpdateEndpointGroupRequest& request) const;
/**
* A Callable wrapper for UpdateEndpointGroup that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateEndpointGroupOutcomeCallable UpdateEndpointGroupCallable(const UpdateEndpointGroupRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateEndpointGroup, request);
}
/**
* An Async wrapper for UpdateEndpointGroup that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateEndpointGroupAsync(const UpdateEndpointGroupRequestT& request, const UpdateEndpointGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateEndpointGroup, request, handler, context);
}
/**
* Update a listener.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateListenerOutcome UpdateListener(const Model::UpdateListenerRequest& request) const;
/**
* A Callable wrapper for UpdateListener that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateListenerOutcomeCallable UpdateListenerCallable(const UpdateListenerRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::UpdateListener, request);
}
/**
* An Async wrapper for UpdateListener that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateListenerAsync(const UpdateListenerRequestT& request, const UpdateListenerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::UpdateListener, request, handler, context);
}
/**
* Stops advertising an address range that is provisioned as an address pool.
* You can perform this operation at most once every 10 seconds, even if you
* specify different address ranges each time.
It can take a few minutes
* before traffic to the specified addresses stops routing to Amazon Web Services
* because of propagation delays.
For more information, see Bring
* your own IP addresses (BYOIP) in the Global Accelerator Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::WithdrawByoipCidrOutcome WithdrawByoipCidr(const Model::WithdrawByoipCidrRequest& request) const;
/**
* A Callable wrapper for WithdrawByoipCidr that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::WithdrawByoipCidrOutcomeCallable WithdrawByoipCidrCallable(const WithdrawByoipCidrRequestT& request) const
{
return SubmitCallable(&GlobalAcceleratorClient::WithdrawByoipCidr, request);
}
/**
* An Async wrapper for WithdrawByoipCidr that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void WithdrawByoipCidrAsync(const WithdrawByoipCidrRequestT& request, const WithdrawByoipCidrResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&GlobalAcceleratorClient::WithdrawByoipCidr, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const GlobalAcceleratorClientConfiguration& clientConfiguration);
GlobalAcceleratorClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace GlobalAccelerator
} // namespace Aws