com.amazonaws.services.globalaccelerator.AWSGlobalAccelerator Maven / Gradle / Ivy
/*
* Copyright 2019-2024 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.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.globalaccelerator.model.*;
/**
* Interface for accessing AWS Global Accelerator.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.globalaccelerator.AbstractAWSGlobalAccelerator} instead.
*
*
* 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 Amazon Web Services 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 to Global 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.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSGlobalAccelerator {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "globalaccelerator";
/**
*
* 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.
*
*
* @param addCustomRoutingEndpointsRequest
* @return Result of the AddCustomRoutingEndpoints operation returned by the service.
* @throws EndpointAlreadyExistsException
* The endpoint that you specified doesn't exist.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @throws ConflictException
* You can't use both of those options.
* @sample AWSGlobalAccelerator.AddCustomRoutingEndpoints
* @see AWS API Documentation
*/
AddCustomRoutingEndpointsResult addCustomRoutingEndpoints(AddCustomRoutingEndpointsRequest addCustomRoutingEndpointsRequest);
/**
*
* 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 in Global Accelerator:
*
*
* -
*
* It's faster, because Global Accelerator only has to resolve the new endpoints that you're adding, rather than
* resolving new and existing endpoints.
*
*
* -
*
* It's more convenient, because you don't need to specify the current endpoints that are already in the endpoint
* group, in addition to the new endpoints that you want to add.
*
*
*
*
* For information about endpoint types and requirements for endpoints that you can add to Global Accelerator, see
* Endpoints for standard
* accelerators in the Global Accelerator Developer Guide.
*
*
* @param addEndpointsRequest
* @return Result of the AddEndpoints operation returned by the service.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @sample AWSGlobalAccelerator.AddEndpoints
* @see AWS
* API Documentation
*/
AddEndpointsResult addEndpoints(AddEndpointsRequest addEndpointsRequest);
/**
*
* 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.
*
*
* @param advertiseByoipCidrRequest
* @return Result of the AdvertiseByoipCidr operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws ByoipCidrNotFoundException
* The CIDR that you specified was not found or is incorrect.
* @throws IncorrectCidrStateException
* The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be
* incorrect for this action.
* @sample AWSGlobalAccelerator.AdvertiseByoipCidr
* @see AWS API Documentation
*/
AdvertiseByoipCidrResult advertiseByoipCidr(AdvertiseByoipCidrRequest advertiseByoipCidrRequest);
/**
*
* 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.
*
*
* @param allowCustomRoutingTrafficRequest
* @return Result of the AllowCustomRoutingTraffic operation returned by the service.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.AllowCustomRoutingTraffic
* @see AWS API Documentation
*/
AllowCustomRoutingTrafficResult allowCustomRoutingTraffic(AllowCustomRoutingTrafficRequest allowCustomRoutingTrafficRequest);
/**
*
* 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 Amazon Web Services CLI commands.
*
*
*
* @param createAcceleratorRequest
* @return Result of the CreateAccelerator operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.CreateAccelerator
* @see AWS API Documentation
*/
CreateAcceleratorResult createAccelerator(CreateAcceleratorRequest createAcceleratorRequest);
/**
*
* Create a cross-account attachment in Global Accelerator. You create a cross-account attachment to specify the
* principals who have permission to work with resources in accelerators in their own account. You
* specify, in the same attachment, the resources that are shared.
*
*
* A principal can be an Amazon Web Services account number or the Amazon Resource Name (ARN) for an accelerator.
* For account numbers that are listed as principals, to work with a resource listed in the attachment, you must
* sign in to an account specified as a principal. Then, you can work with resources that are listed, with any of
* your accelerators. If an accelerator ARN is listed in the cross-account attachment as a principal, anyone with
* permission to make updates to the accelerator can work with resources that are listed in the attachment.
*
*
* Specify each principal and resource separately. To specify two CIDR address pools, list them individually under
* Resources
, and so on. For a command line operation, for example, you might use a statement like the
* following:
*
*
* "Resources": [{"Cidr": "169.254.60.0/24"},{"Cidr": "169.254.59.0/24"}]
*
*
* For more information, see Working with
* cross-account attachments and resources in Global Accelerator in the Global Accelerator Developer
* Guide.
*
*
* @param createCrossAccountAttachmentRequest
* @return Result of the CreateCrossAccountAttachment operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.CreateCrossAccountAttachment
* @see AWS API Documentation
*/
CreateCrossAccountAttachmentResult createCrossAccountAttachment(CreateCrossAccountAttachmentRequest createCrossAccountAttachmentRequest);
/**
*
* 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 Amazon Web Services CLI commands.
*
*
*
* @param createCustomRoutingAcceleratorRequest
* @return Result of the CreateCustomRoutingAccelerator operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.CreateCustomRoutingAccelerator
* @see AWS API Documentation
*/
CreateCustomRoutingAcceleratorResult createCustomRoutingAccelerator(CreateCustomRoutingAcceleratorRequest createCustomRoutingAcceleratorRequest);
/**
*
* 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.
*
*
* @param createCustomRoutingEndpointGroupRequest
* @return Result of the CreateCustomRoutingEndpointGroup operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws EndpointGroupAlreadyExistsException
* The endpoint group that you specified already exists.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidPortRangeException
* The port numbers that you specified are not valid numbers or are not unique for this accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @sample AWSGlobalAccelerator.CreateCustomRoutingEndpointGroup
* @see AWS API Documentation
*/
CreateCustomRoutingEndpointGroupResult createCustomRoutingEndpointGroup(CreateCustomRoutingEndpointGroupRequest createCustomRoutingEndpointGroupRequest);
/**
*
* 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.
*
*
* @param createCustomRoutingListenerRequest
* @return Result of the CreateCustomRoutingListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InvalidPortRangeException
* The port numbers that you specified are not valid numbers or are not unique for this accelerator.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @sample AWSGlobalAccelerator.CreateCustomRoutingListener
* @see AWS API Documentation
*/
CreateCustomRoutingListenerResult createCustomRoutingListener(CreateCustomRoutingListenerRequest createCustomRoutingListenerRequest);
/**
*
* 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.
*
*
* For more information about endpoint types and requirements for endpoints that you can add to Global Accelerator,
* see Endpoints for
* standard accelerators in the Global Accelerator Developer Guide.
*
*
* @param createEndpointGroupRequest
* @return Result of the CreateEndpointGroup operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws EndpointGroupAlreadyExistsException
* The endpoint group that you specified already exists.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @sample AWSGlobalAccelerator.CreateEndpointGroup
* @see AWS API Documentation
*/
CreateEndpointGroupResult createEndpointGroup(CreateEndpointGroupRequest createEndpointGroupRequest);
/**
*
* 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.
*
*
* @param createListenerRequest
* @return Result of the CreateListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InvalidPortRangeException
* The port numbers that you specified are not valid numbers or are not unique for this accelerator.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @sample AWSGlobalAccelerator.CreateListener
* @see AWS API Documentation
*/
CreateListenerResult createListener(CreateListenerRequest createListenerRequest);
/**
*
* 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.
*
*
*
* @param deleteAcceleratorRequest
* @return Result of the DeleteAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws AcceleratorNotDisabledException
* The accelerator that you specified could not be disabled.
* @throws AssociatedListenerFoundException
* The accelerator that you specified has a listener associated with it. You must remove all dependent
* resources from an accelerator before you can delete it.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.DeleteAccelerator
* @see AWS API Documentation
*/
DeleteAcceleratorResult deleteAccelerator(DeleteAcceleratorRequest deleteAcceleratorRequest);
/**
*
* Delete a cross-account attachment. When you delete an attachment, Global Accelerator revokes the permission to
* use the resources in the attachment from all principals in the list of principals. Global Accelerator revokes the
* permission for specific resources.
*
*
* For more information, see Working with
* cross-account attachments and resources in Global Accelerator in the Global Accelerator Developer
* Guide.
*
*
* @param deleteCrossAccountAttachmentRequest
* @return Result of the DeleteCrossAccountAttachment operation returned by the service.
* @throws AttachmentNotFoundException
* No cross-account attachment was found.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.DeleteCrossAccountAttachment
* @see AWS API Documentation
*/
DeleteCrossAccountAttachmentResult deleteCrossAccountAttachment(DeleteCrossAccountAttachmentRequest deleteCrossAccountAttachmentRequest);
/**
*
* 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.
*
*
*
* @param deleteCustomRoutingAcceleratorRequest
* @return Result of the DeleteCustomRoutingAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws AcceleratorNotDisabledException
* The accelerator that you specified could not be disabled.
* @throws AssociatedListenerFoundException
* The accelerator that you specified has a listener associated with it. You must remove all dependent
* resources from an accelerator before you can delete it.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.DeleteCustomRoutingAccelerator
* @see AWS API Documentation
*/
DeleteCustomRoutingAcceleratorResult deleteCustomRoutingAccelerator(DeleteCustomRoutingAcceleratorRequest deleteCustomRoutingAcceleratorRequest);
/**
*
* Delete an endpoint group from a listener for a custom routing accelerator.
*
*
* @param deleteCustomRoutingEndpointGroupRequest
* @return Result of the DeleteCustomRoutingEndpointGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DeleteCustomRoutingEndpointGroup
* @see AWS API Documentation
*/
DeleteCustomRoutingEndpointGroupResult deleteCustomRoutingEndpointGroup(DeleteCustomRoutingEndpointGroupRequest deleteCustomRoutingEndpointGroupRequest);
/**
*
* Delete a listener for a custom routing accelerator.
*
*
* @param deleteCustomRoutingListenerRequest
* @return Result of the DeleteCustomRoutingListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws AssociatedEndpointGroupFoundException
* The listener that you specified has an endpoint group associated with it. You must remove all dependent
* resources from a listener before you can delete it.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DeleteCustomRoutingListener
* @see AWS API Documentation
*/
DeleteCustomRoutingListenerResult deleteCustomRoutingListener(DeleteCustomRoutingListenerRequest deleteCustomRoutingListenerRequest);
/**
*
* Delete an endpoint group from a listener.
*
*
* @param deleteEndpointGroupRequest
* @return Result of the DeleteEndpointGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DeleteEndpointGroup
* @see AWS API Documentation
*/
DeleteEndpointGroupResult deleteEndpointGroup(DeleteEndpointGroupRequest deleteEndpointGroupRequest);
/**
*
* Delete a listener from an accelerator.
*
*
* @param deleteListenerRequest
* @return Result of the DeleteListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws AssociatedEndpointGroupFoundException
* The listener that you specified has an endpoint group associated with it. You must remove all dependent
* resources from a listener before you can delete it.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DeleteListener
* @see AWS API Documentation
*/
DeleteListenerResult deleteListener(DeleteListenerRequest deleteListenerRequest);
/**
*
* 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.
*
*
* @param denyCustomRoutingTrafficRequest
* @return Result of the DenyCustomRoutingTraffic operation returned by the service.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DenyCustomRoutingTraffic
* @see AWS API Documentation
*/
DenyCustomRoutingTrafficResult denyCustomRoutingTraffic(DenyCustomRoutingTrafficRequest denyCustomRoutingTrafficRequest);
/**
*
* 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.
*
*
* @param deprovisionByoipCidrRequest
* @return Result of the DeprovisionByoipCidr operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws ByoipCidrNotFoundException
* The CIDR that you specified was not found or is incorrect.
* @throws IncorrectCidrStateException
* The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be
* incorrect for this action.
* @sample AWSGlobalAccelerator.DeprovisionByoipCidr
* @see AWS API Documentation
*/
DeprovisionByoipCidrResult deprovisionByoipCidr(DeprovisionByoipCidrRequest deprovisionByoipCidrRequest);
/**
*
* Describe an accelerator.
*
*
* @param describeAcceleratorRequest
* @return Result of the DescribeAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.DescribeAccelerator
* @see AWS API Documentation
*/
DescribeAcceleratorResult describeAccelerator(DescribeAcceleratorRequest describeAcceleratorRequest);
/**
*
* Describe the attributes of an accelerator.
*
*
* @param describeAcceleratorAttributesRequest
* @return Result of the DescribeAcceleratorAttributes operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.DescribeAcceleratorAttributes
* @see AWS API Documentation
*/
DescribeAcceleratorAttributesResult describeAcceleratorAttributes(DescribeAcceleratorAttributesRequest describeAcceleratorAttributesRequest);
/**
*
* Gets configuration information about a cross-account attachment.
*
*
* @param describeCrossAccountAttachmentRequest
* @return Result of the DescribeCrossAccountAttachment operation returned by the service.
* @throws AttachmentNotFoundException
* No cross-account attachment was found.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.DescribeCrossAccountAttachment
* @see AWS API Documentation
*/
DescribeCrossAccountAttachmentResult describeCrossAccountAttachment(DescribeCrossAccountAttachmentRequest describeCrossAccountAttachmentRequest);
/**
*
* Describe a custom routing accelerator.
*
*
* @param describeCustomRoutingAcceleratorRequest
* @return Result of the DescribeCustomRoutingAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.DescribeCustomRoutingAccelerator
* @see AWS API Documentation
*/
DescribeCustomRoutingAcceleratorResult describeCustomRoutingAccelerator(DescribeCustomRoutingAcceleratorRequest describeCustomRoutingAcceleratorRequest);
/**
*
* Describe the attributes of a custom routing accelerator.
*
*
* @param describeCustomRoutingAcceleratorAttributesRequest
* @return Result of the DescribeCustomRoutingAcceleratorAttributes operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.DescribeCustomRoutingAcceleratorAttributes
* @see AWS API Documentation
*/
DescribeCustomRoutingAcceleratorAttributesResult describeCustomRoutingAcceleratorAttributes(
DescribeCustomRoutingAcceleratorAttributesRequest describeCustomRoutingAcceleratorAttributesRequest);
/**
*
* Describe an endpoint group for a custom routing accelerator.
*
*
* @param describeCustomRoutingEndpointGroupRequest
* @return Result of the DescribeCustomRoutingEndpointGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DescribeCustomRoutingEndpointGroup
* @see AWS API Documentation
*/
DescribeCustomRoutingEndpointGroupResult describeCustomRoutingEndpointGroup(
DescribeCustomRoutingEndpointGroupRequest describeCustomRoutingEndpointGroupRequest);
/**
*
* The description of a listener for a custom routing accelerator.
*
*
* @param describeCustomRoutingListenerRequest
* @return Result of the DescribeCustomRoutingListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DescribeCustomRoutingListener
* @see AWS API Documentation
*/
DescribeCustomRoutingListenerResult describeCustomRoutingListener(DescribeCustomRoutingListenerRequest describeCustomRoutingListenerRequest);
/**
*
* Describe an endpoint group.
*
*
* @param describeEndpointGroupRequest
* @return Result of the DescribeEndpointGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DescribeEndpointGroup
* @see AWS API Documentation
*/
DescribeEndpointGroupResult describeEndpointGroup(DescribeEndpointGroupRequest describeEndpointGroupRequest);
/**
*
* Describe a listener.
*
*
* @param describeListenerRequest
* @return Result of the DescribeListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.DescribeListener
* @see AWS API Documentation
*/
DescribeListenerResult describeListener(DescribeListenerRequest describeListenerRequest);
/**
*
* List the accelerators for an Amazon Web Services account.
*
*
* @param listAcceleratorsRequest
* @return Result of the ListAccelerators operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListAccelerators
* @see AWS API Documentation
*/
ListAcceleratorsResult listAccelerators(ListAcceleratorsRequest listAcceleratorsRequest);
/**
*
* Lists the IP address ranges that were specified in calls to ProvisionByoipCidr,
* including the current state and a history of state changes.
*
*
* @param listByoipCidrsRequest
* @return Result of the ListByoipCidrs operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @sample AWSGlobalAccelerator.ListByoipCidrs
* @see AWS API Documentation
*/
ListByoipCidrsResult listByoipCidrs(ListByoipCidrsRequest listByoipCidrsRequest);
/**
*
* List the cross-account attachments that have been created in Global Accelerator.
*
*
* @param listCrossAccountAttachmentsRequest
* @return Result of the ListCrossAccountAttachments operation returned by the service.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCrossAccountAttachments
* @see AWS API Documentation
*/
ListCrossAccountAttachmentsResult listCrossAccountAttachments(ListCrossAccountAttachmentsRequest listCrossAccountAttachmentsRequest);
/**
*
* List the accounts that have cross-account resources.
*
*
* For more information, see Working with
* cross-account attachments and resources in Global Accelerator in the Global Accelerator Developer
* Guide.
*
*
* @param listCrossAccountResourceAccountsRequest
* @return Result of the ListCrossAccountResourceAccounts operation returned by the service.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCrossAccountResourceAccounts
* @see AWS API Documentation
*/
ListCrossAccountResourceAccountsResult listCrossAccountResourceAccounts(ListCrossAccountResourceAccountsRequest listCrossAccountResourceAccountsRequest);
/**
*
* List the cross-account resources available to work with.
*
*
* @param listCrossAccountResourcesRequest
* @return Result of the ListCrossAccountResources operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws AccessDeniedException
* You don't have access permission.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @sample AWSGlobalAccelerator.ListCrossAccountResources
* @see AWS API Documentation
*/
ListCrossAccountResourcesResult listCrossAccountResources(ListCrossAccountResourcesRequest listCrossAccountResourcesRequest);
/**
*
* List the custom routing accelerators for an Amazon Web Services account.
*
*
* @param listCustomRoutingAcceleratorsRequest
* @return Result of the ListCustomRoutingAccelerators operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCustomRoutingAccelerators
* @see AWS API Documentation
*/
ListCustomRoutingAcceleratorsResult listCustomRoutingAccelerators(ListCustomRoutingAcceleratorsRequest listCustomRoutingAcceleratorsRequest);
/**
*
* List the endpoint groups that are associated with a listener for a custom routing accelerator.
*
*
* @param listCustomRoutingEndpointGroupsRequest
* @return Result of the ListCustomRoutingEndpointGroups operation returned by the service.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCustomRoutingEndpointGroups
* @see AWS API Documentation
*/
ListCustomRoutingEndpointGroupsResult listCustomRoutingEndpointGroups(ListCustomRoutingEndpointGroupsRequest listCustomRoutingEndpointGroupsRequest);
/**
*
* List the listeners for a custom routing accelerator.
*
*
* @param listCustomRoutingListenersRequest
* @return Result of the ListCustomRoutingListeners operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCustomRoutingListeners
* @see AWS API Documentation
*/
ListCustomRoutingListenersResult listCustomRoutingListeners(ListCustomRoutingListenersRequest listCustomRoutingListenersRequest);
/**
*
* 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.
*
*
* @param listCustomRoutingPortMappingsRequest
* @return Result of the ListCustomRoutingPortMappings operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCustomRoutingPortMappings
* @see AWS API Documentation
*/
ListCustomRoutingPortMappingsResult listCustomRoutingPortMappings(ListCustomRoutingPortMappingsRequest listCustomRoutingPortMappingsRequest);
/**
*
* 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.
*
*
* @param listCustomRoutingPortMappingsByDestinationRequest
* @return Result of the ListCustomRoutingPortMappingsByDestination operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws EndpointNotFoundException
* The endpoint that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListCustomRoutingPortMappingsByDestination
* @see AWS API Documentation
*/
ListCustomRoutingPortMappingsByDestinationResult listCustomRoutingPortMappingsByDestination(
ListCustomRoutingPortMappingsByDestinationRequest listCustomRoutingPortMappingsByDestinationRequest);
/**
*
* List the endpoint groups that are associated with a listener.
*
*
* @param listEndpointGroupsRequest
* @return Result of the ListEndpointGroups operation returned by the service.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListEndpointGroups
* @see AWS API Documentation
*/
ListEndpointGroupsResult listEndpointGroups(ListEndpointGroupsRequest listEndpointGroupsRequest);
/**
*
* List the listeners for an accelerator.
*
*
* @param listListenersRequest
* @return Result of the ListListeners operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InvalidNextTokenException
* There isn't another item to return.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @sample AWSGlobalAccelerator.ListListeners
* @see AWS API Documentation
*/
ListListenersResult listListeners(ListListenersRequest listListenersRequest);
/**
*
* List all tags for an accelerator.
*
*
* For more information, see Tagging in
* Global Accelerator in the Global Accelerator Developer Guide.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws AttachmentNotFoundException
* No cross-account attachment was found.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.ListTagsForResource
* @see AWS API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* 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.
*
*
* @param provisionByoipCidrRequest
* @return Result of the ProvisionByoipCidr operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @throws IncorrectCidrStateException
* The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be
* incorrect for this action.
* @sample AWSGlobalAccelerator.ProvisionByoipCidr
* @see AWS API Documentation
*/
ProvisionByoipCidrResult provisionByoipCidr(ProvisionByoipCidrRequest provisionByoipCidrRequest);
/**
*
* Remove endpoints from a custom routing accelerator.
*
*
* @param removeCustomRoutingEndpointsRequest
* @return Result of the RemoveCustomRoutingEndpoints operation returned by the service.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws EndpointNotFoundException
* The endpoint that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws ConflictException
* You can't use both of those options.
* @sample AWSGlobalAccelerator.RemoveCustomRoutingEndpoints
* @see AWS API Documentation
*/
RemoveCustomRoutingEndpointsResult removeCustomRoutingEndpoints(RemoveCustomRoutingEndpointsRequest removeCustomRoutingEndpointsRequest);
/**
*
* 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.
*
*
*
*
* @param removeEndpointsRequest
* @return Result of the RemoveEndpoints operation returned by the service.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.RemoveEndpoints
* @see AWS API Documentation
*/
RemoveEndpointsResult removeEndpoints(RemoveEndpointsRequest removeEndpointsRequest);
/**
*
* Add tags to an accelerator resource.
*
*
* For more information, see Tagging in
* Global Accelerator in the Global Accelerator Developer Guide.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.TagResource
* @see AWS
* API Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* 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.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @sample AWSGlobalAccelerator.UntagResource
* @see AWS API Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Update an accelerator to make changes, such as the following:
*
*
* -
*
* Change the name of the accelerator.
*
*
* -
*
* Disable the accelerator so that it no longer accepts or routes traffic, or so that you can delete it.
*
*
* -
*
* Enable the accelerator, if it is disabled.
*
*
* -
*
* Change the IP address type to dual-stack if it is IPv4, or change the IP address type to IPv4 if it's dual-stack.
*
*
*
*
* Be aware that 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 the accelerator, you
* lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them.
*
*
*
* 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 Amazon Web Services CLI commands.
*
*
*
* @param updateAcceleratorRequest
* @return Result of the UpdateAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @throws ConflictException
* You can't use both of those options.
* @sample AWSGlobalAccelerator.UpdateAccelerator
* @see AWS API Documentation
*/
UpdateAcceleratorResult updateAccelerator(UpdateAcceleratorRequest updateAcceleratorRequest);
/**
*
* Update the attributes for an accelerator.
*
*
* @param updateAcceleratorAttributesRequest
* @return Result of the UpdateAcceleratorAttributes operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.UpdateAcceleratorAttributes
* @see AWS API Documentation
*/
UpdateAcceleratorAttributesResult updateAcceleratorAttributes(UpdateAcceleratorAttributesRequest updateAcceleratorAttributesRequest);
/**
*
* Update a cross-account attachment to add or remove principals or resources. When you update an attachment to
* remove a principal (account ID or accelerator) or a resource, Global Accelerator revokes the permission for
* specific resources.
*
*
* For more information, see Working with
* cross-account attachments and resources in Global Accelerator in the Global Accelerator Developer
* Guide.
*
*
* @param updateCrossAccountAttachmentRequest
* @return Result of the UpdateCrossAccountAttachment operation returned by the service.
* @throws AttachmentNotFoundException
* No cross-account attachment was found.
* @throws AccessDeniedException
* You don't have access permission.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.UpdateCrossAccountAttachment
* @see AWS API Documentation
*/
UpdateCrossAccountAttachmentResult updateCrossAccountAttachment(UpdateCrossAccountAttachmentRequest updateCrossAccountAttachmentRequest);
/**
*
* Update a custom routing accelerator.
*
*
* @param updateCustomRoutingAcceleratorRequest
* @return Result of the UpdateCustomRoutingAccelerator operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @throws ConflictException
* You can't use both of those options.
* @sample AWSGlobalAccelerator.UpdateCustomRoutingAccelerator
* @see AWS API Documentation
*/
UpdateCustomRoutingAcceleratorResult updateCustomRoutingAccelerator(UpdateCustomRoutingAcceleratorRequest updateCustomRoutingAcceleratorRequest);
/**
*
* Update the attributes for a custom routing accelerator.
*
*
* @param updateCustomRoutingAcceleratorAttributesRequest
* @return Result of the UpdateCustomRoutingAcceleratorAttributes operation returned by the service.
* @throws AcceleratorNotFoundException
* The accelerator that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws TransactionInProgressException
* There's already a transaction in progress. Another transaction can't be processed.
* @sample AWSGlobalAccelerator.UpdateCustomRoutingAcceleratorAttributes
* @see AWS API Documentation
*/
UpdateCustomRoutingAcceleratorAttributesResult updateCustomRoutingAcceleratorAttributes(
UpdateCustomRoutingAcceleratorAttributesRequest updateCustomRoutingAcceleratorAttributesRequest);
/**
*
* Update a listener for a custom routing accelerator.
*
*
* @param updateCustomRoutingListenerRequest
* @return Result of the UpdateCustomRoutingListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidPortRangeException
* The port numbers that you specified are not valid numbers or are not unique for this accelerator.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @sample AWSGlobalAccelerator.UpdateCustomRoutingListener
* @see AWS API Documentation
*/
UpdateCustomRoutingListenerResult updateCustomRoutingListener(UpdateCustomRoutingListenerRequest updateCustomRoutingListenerRequest);
/**
*
* Update an endpoint group. A resource must be valid and active when you add it as an endpoint.
*
*
* @param updateEndpointGroupRequest
* @return Result of the UpdateEndpointGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws EndpointGroupNotFoundException
* The endpoint group that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @throws AccessDeniedException
* You don't have access permission.
* @sample AWSGlobalAccelerator.UpdateEndpointGroup
* @see AWS API Documentation
*/
UpdateEndpointGroupResult updateEndpointGroup(UpdateEndpointGroupRequest updateEndpointGroupRequest);
/**
*
* Update a listener.
*
*
* @param updateListenerRequest
* @return Result of the UpdateListener operation returned by the service.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws InvalidPortRangeException
* The port numbers that you specified are not valid numbers or are not unique for this accelerator.
* @throws ListenerNotFoundException
* The listener that you specified doesn't exist.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws LimitExceededException
* Processing your request would cause you to exceed an Global Accelerator limit.
* @sample AWSGlobalAccelerator.UpdateListener
* @see AWS API Documentation
*/
UpdateListenerResult updateListener(UpdateListenerRequest updateListenerRequest);
/**
*
* 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.
*
*
* @param withdrawByoipCidrRequest
* @return Result of the WithdrawByoipCidr operation returned by the service.
* @throws InternalServiceErrorException
* There was an internal error for Global Accelerator.
* @throws InvalidArgumentException
* An argument that you specified is invalid.
* @throws AccessDeniedException
* You don't have access permission.
* @throws ByoipCidrNotFoundException
* The CIDR that you specified was not found or is incorrect.
* @throws IncorrectCidrStateException
* The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be
* incorrect for this action.
* @sample AWSGlobalAccelerator.WithdrawByoipCidr
* @see AWS API Documentation
*/
WithdrawByoipCidrResult withdrawByoipCidr(WithdrawByoipCidrRequest withdrawByoipCidrRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}