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

software.amazon.awssdk.services.globalaccelerator.DefaultGlobalAcceleratorClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Global Accelerator module holds the client classes that are used for communicating with Global Accelerator.

There is a newer version: 2.29.39
Show newest version
/*
 * Copyright 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 software.amazon.awssdk.services.globalaccelerator;

import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata;
import software.amazon.awssdk.awscore.internal.AwsServiceProtocol;
import software.amazon.awssdk.awscore.retry.AwsRetryStrategy;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkPlugin;
import software.amazon.awssdk.core.SdkRequest;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.metrics.MetricCollector;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.metrics.NoOpMetricCollector;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.retries.api.RetryStrategy;
import software.amazon.awssdk.services.globalaccelerator.internal.GlobalAcceleratorServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.globalaccelerator.model.AcceleratorNotDisabledException;
import software.amazon.awssdk.services.globalaccelerator.model.AcceleratorNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.AccessDeniedException;
import software.amazon.awssdk.services.globalaccelerator.model.AddCustomRoutingEndpointsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.AddCustomRoutingEndpointsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.AddEndpointsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.AddEndpointsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.AdvertiseByoipCidrRequest;
import software.amazon.awssdk.services.globalaccelerator.model.AdvertiseByoipCidrResponse;
import software.amazon.awssdk.services.globalaccelerator.model.AllowCustomRoutingTrafficRequest;
import software.amazon.awssdk.services.globalaccelerator.model.AllowCustomRoutingTrafficResponse;
import software.amazon.awssdk.services.globalaccelerator.model.AssociatedEndpointGroupFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.AssociatedListenerFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.AttachmentNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.ByoipCidrNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.ConflictException;
import software.amazon.awssdk.services.globalaccelerator.model.CreateAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCrossAccountAttachmentRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCrossAccountAttachmentResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateCustomRoutingListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.CreateListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.CreateListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCrossAccountAttachmentRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCrossAccountAttachmentResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteCustomRoutingListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeleteListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DenyCustomRoutingTrafficRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DenyCustomRoutingTrafficResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DeprovisionByoipCidrRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DeprovisionByoipCidrResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeAcceleratorAttributesRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeAcceleratorAttributesResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCrossAccountAttachmentRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCrossAccountAttachmentResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingAcceleratorAttributesRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingAcceleratorAttributesResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeCustomRoutingListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.DescribeListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.EndpointAlreadyExistsException;
import software.amazon.awssdk.services.globalaccelerator.model.EndpointGroupAlreadyExistsException;
import software.amazon.awssdk.services.globalaccelerator.model.EndpointGroupNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.EndpointNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.GlobalAcceleratorException;
import software.amazon.awssdk.services.globalaccelerator.model.IncorrectCidrStateException;
import software.amazon.awssdk.services.globalaccelerator.model.InternalServiceErrorException;
import software.amazon.awssdk.services.globalaccelerator.model.InvalidArgumentException;
import software.amazon.awssdk.services.globalaccelerator.model.InvalidNextTokenException;
import software.amazon.awssdk.services.globalaccelerator.model.InvalidPortRangeException;
import software.amazon.awssdk.services.globalaccelerator.model.LimitExceededException;
import software.amazon.awssdk.services.globalaccelerator.model.ListAcceleratorsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListAcceleratorsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListByoipCidrsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListByoipCidrsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountAttachmentsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountAttachmentsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountResourceAccountsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountResourceAccountsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountResourcesRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCrossAccountResourcesResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingAcceleratorsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingAcceleratorsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingEndpointGroupsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingEndpointGroupsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingListenersRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingListenersResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingPortMappingsByDestinationRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingPortMappingsByDestinationResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingPortMappingsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListCustomRoutingPortMappingsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListEndpointGroupsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListEndpointGroupsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListListenersRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListListenersResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.globalaccelerator.model.ListenerNotFoundException;
import software.amazon.awssdk.services.globalaccelerator.model.ProvisionByoipCidrRequest;
import software.amazon.awssdk.services.globalaccelerator.model.ProvisionByoipCidrResponse;
import software.amazon.awssdk.services.globalaccelerator.model.RemoveCustomRoutingEndpointsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.RemoveCustomRoutingEndpointsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.RemoveEndpointsRequest;
import software.amazon.awssdk.services.globalaccelerator.model.RemoveEndpointsResponse;
import software.amazon.awssdk.services.globalaccelerator.model.TagResourceRequest;
import software.amazon.awssdk.services.globalaccelerator.model.TagResourceResponse;
import software.amazon.awssdk.services.globalaccelerator.model.TransactionInProgressException;
import software.amazon.awssdk.services.globalaccelerator.model.UntagResourceRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UntagResourceResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateAcceleratorAttributesRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateAcceleratorAttributesResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCrossAccountAttachmentRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCrossAccountAttachmentResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingAcceleratorAttributesRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingAcceleratorAttributesResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingAcceleratorRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingAcceleratorResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateCustomRoutingListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateEndpointGroupRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateEndpointGroupResponse;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateListenerRequest;
import software.amazon.awssdk.services.globalaccelerator.model.UpdateListenerResponse;
import software.amazon.awssdk.services.globalaccelerator.model.WithdrawByoipCidrRequest;
import software.amazon.awssdk.services.globalaccelerator.model.WithdrawByoipCidrResponse;
import software.amazon.awssdk.services.globalaccelerator.transform.AddCustomRoutingEndpointsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.AddEndpointsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.AdvertiseByoipCidrRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.AllowCustomRoutingTrafficRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateCrossAccountAttachmentRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateCustomRoutingAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateCustomRoutingEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateCustomRoutingListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.CreateListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteCrossAccountAttachmentRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteCustomRoutingAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteCustomRoutingEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteCustomRoutingListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeleteListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DenyCustomRoutingTrafficRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DeprovisionByoipCidrRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeAcceleratorAttributesRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeCrossAccountAttachmentRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeCustomRoutingAcceleratorAttributesRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeCustomRoutingAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeCustomRoutingEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeCustomRoutingListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.DescribeListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListAcceleratorsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListByoipCidrsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCrossAccountAttachmentsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCrossAccountResourceAccountsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCrossAccountResourcesRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCustomRoutingAcceleratorsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCustomRoutingEndpointGroupsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCustomRoutingListenersRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCustomRoutingPortMappingsByDestinationRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListCustomRoutingPortMappingsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListEndpointGroupsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListListenersRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.ProvisionByoipCidrRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.RemoveCustomRoutingEndpointsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.RemoveEndpointsRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateAcceleratorAttributesRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateCrossAccountAttachmentRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateCustomRoutingAcceleratorAttributesRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateCustomRoutingAcceleratorRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateCustomRoutingListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateEndpointGroupRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.UpdateListenerRequestMarshaller;
import software.amazon.awssdk.services.globalaccelerator.transform.WithdrawByoipCidrRequestMarshaller;
import software.amazon.awssdk.utils.Logger;

/**
 * Internal implementation of {@link GlobalAcceleratorClient}.
 *
 * @see GlobalAcceleratorClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultGlobalAcceleratorClient implements GlobalAcceleratorClient {
    private static final Logger log = Logger.loggerFor(DefaultGlobalAcceleratorClient.class);

    private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
            .serviceProtocol(AwsServiceProtocol.AWS_JSON).build();

    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultGlobalAcceleratorClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    /**
     * 

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.AddCustomRoutingEndpoints * @see AWS API Documentation */ @Override public AddCustomRoutingEndpointsResponse addCustomRoutingEndpoints( AddCustomRoutingEndpointsRequest addCustomRoutingEndpointsRequest) throws EndpointAlreadyExistsException, EndpointGroupNotFoundException, InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, ConflictException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AddCustomRoutingEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addCustomRoutingEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addCustomRoutingEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddCustomRoutingEndpoints"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AddCustomRoutingEndpoints").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(addCustomRoutingEndpointsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AddCustomRoutingEndpointsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.AddEndpoints * @see AWS API Documentation */ @Override public AddEndpointsResponse addEndpoints(AddEndpointsRequest addEndpointsRequest) throws TransactionInProgressException, EndpointGroupNotFoundException, InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AddEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(addEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, addEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AddEndpoints"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AddEndpoints").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(addEndpointsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AddEndpointsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.AdvertiseByoipCidr * @see AWS API Documentation */ @Override public AdvertiseByoipCidrResponse advertiseByoipCidr(AdvertiseByoipCidrRequest advertiseByoipCidrRequest) throws InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, ByoipCidrNotFoundException, IncorrectCidrStateException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AdvertiseByoipCidrResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(advertiseByoipCidrRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, advertiseByoipCidrRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AdvertiseByoipCidr"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AdvertiseByoipCidr").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(advertiseByoipCidrRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AdvertiseByoipCidrRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.AllowCustomRoutingTraffic * @see AWS API Documentation */ @Override public AllowCustomRoutingTrafficResponse allowCustomRoutingTraffic( AllowCustomRoutingTrafficRequest allowCustomRoutingTrafficRequest) throws EndpointGroupNotFoundException, InvalidArgumentException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AllowCustomRoutingTrafficResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(allowCustomRoutingTrafficRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, allowCustomRoutingTrafficRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AllowCustomRoutingTraffic"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AllowCustomRoutingTraffic").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(allowCustomRoutingTrafficRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AllowCustomRoutingTrafficRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateAccelerator * @see AWS API Documentation */ @Override public CreateAcceleratorResponse createAccelerator(CreateAcceleratorRequest createAcceleratorRequest) throws InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createAcceleratorRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAccelerator"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateCrossAccountAttachment * @see AWS API Documentation */ @Override public CreateCrossAccountAttachmentResponse createCrossAccountAttachment( CreateCrossAccountAttachmentRequest createCrossAccountAttachmentRequest) throws InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCrossAccountAttachmentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCrossAccountAttachmentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCrossAccountAttachmentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCrossAccountAttachment"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCrossAccountAttachment").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createCrossAccountAttachmentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateCrossAccountAttachmentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateCustomRoutingAccelerator * @see AWS API Documentation */ @Override public CreateCustomRoutingAcceleratorResponse createCustomRoutingAccelerator( CreateCustomRoutingAcceleratorRequest createCustomRoutingAcceleratorRequest) throws InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCustomRoutingAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomRoutingAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCustomRoutingAcceleratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomRoutingAccelerator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCustomRoutingAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createCustomRoutingAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateCustomRoutingAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateCustomRoutingEndpointGroup * @see AWS API Documentation */ @Override public CreateCustomRoutingEndpointGroupResponse createCustomRoutingEndpointGroup( CreateCustomRoutingEndpointGroupRequest createCustomRoutingEndpointGroupRequest) throws AcceleratorNotFoundException, EndpointGroupAlreadyExistsException, ListenerNotFoundException, InternalServiceErrorException, InvalidArgumentException, InvalidPortRangeException, LimitExceededException, AccessDeniedException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCustomRoutingEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomRoutingEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCustomRoutingEndpointGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomRoutingEndpointGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCustomRoutingEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createCustomRoutingEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateCustomRoutingEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateCustomRoutingListener * @see AWS API Documentation */ @Override public CreateCustomRoutingListenerResponse createCustomRoutingListener( CreateCustomRoutingListenerRequest createCustomRoutingListenerRequest) throws InvalidArgumentException, AcceleratorNotFoundException, InvalidPortRangeException, InternalServiceErrorException, LimitExceededException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCustomRoutingListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCustomRoutingListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCustomRoutingListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCustomRoutingListener"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateCustomRoutingListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createCustomRoutingListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateCustomRoutingListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateEndpointGroup * @see AWS API Documentation */ @Override public CreateEndpointGroupResponse createEndpointGroup(CreateEndpointGroupRequest createEndpointGroupRequest) throws AcceleratorNotFoundException, EndpointGroupAlreadyExistsException, ListenerNotFoundException, InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createEndpointGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateEndpointGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.CreateListener * @see AWS API Documentation */ @Override public CreateListenerResponse createListener(CreateListenerRequest createListenerRequest) throws InvalidArgumentException, AcceleratorNotFoundException, InvalidPortRangeException, InternalServiceErrorException, LimitExceededException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateListener"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteAccelerator * @see AWS API Documentation */ @Override public DeleteAcceleratorResponse deleteAccelerator(DeleteAcceleratorRequest deleteAcceleratorRequest) throws AcceleratorNotFoundException, AcceleratorNotDisabledException, AssociatedListenerFoundException, InternalServiceErrorException, InvalidArgumentException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteAcceleratorRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteAccelerator"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteCrossAccountAttachment * @see AWS API Documentation */ @Override public DeleteCrossAccountAttachmentResponse deleteCrossAccountAttachment( DeleteCrossAccountAttachmentRequest deleteCrossAccountAttachmentRequest) throws AttachmentNotFoundException, AccessDeniedException, InternalServiceErrorException, InvalidArgumentException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCrossAccountAttachmentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCrossAccountAttachmentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCrossAccountAttachmentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCrossAccountAttachment"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCrossAccountAttachment").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteCrossAccountAttachmentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteCrossAccountAttachmentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteCustomRoutingAccelerator * @see AWS API Documentation */ @Override public DeleteCustomRoutingAcceleratorResponse deleteCustomRoutingAccelerator( DeleteCustomRoutingAcceleratorRequest deleteCustomRoutingAcceleratorRequest) throws AcceleratorNotFoundException, AcceleratorNotDisabledException, AssociatedListenerFoundException, InternalServiceErrorException, InvalidArgumentException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCustomRoutingAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomRoutingAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCustomRoutingAcceleratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomRoutingAccelerator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCustomRoutingAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteCustomRoutingAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteCustomRoutingAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteCustomRoutingEndpointGroup * @see AWS API Documentation */ @Override public DeleteCustomRoutingEndpointGroupResponse deleteCustomRoutingEndpointGroup( DeleteCustomRoutingEndpointGroupRequest deleteCustomRoutingEndpointGroupRequest) throws InvalidArgumentException, EndpointGroupNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCustomRoutingEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomRoutingEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCustomRoutingEndpointGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomRoutingEndpointGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCustomRoutingEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteCustomRoutingEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteCustomRoutingEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteCustomRoutingListener * @see AWS API Documentation */ @Override public DeleteCustomRoutingListenerResponse deleteCustomRoutingListener( DeleteCustomRoutingListenerRequest deleteCustomRoutingListenerRequest) throws InvalidArgumentException, ListenerNotFoundException, AssociatedEndpointGroupFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCustomRoutingListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCustomRoutingListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCustomRoutingListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCustomRoutingListener"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteCustomRoutingListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteCustomRoutingListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteCustomRoutingListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteEndpointGroup * @see AWS API Documentation */ @Override public DeleteEndpointGroupResponse deleteEndpointGroup(DeleteEndpointGroupRequest deleteEndpointGroupRequest) throws InvalidArgumentException, EndpointGroupNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteEndpointGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteEndpointGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeleteListener * @see AWS API Documentation */ @Override public DeleteListenerResponse deleteListener(DeleteListenerRequest deleteListenerRequest) throws InvalidArgumentException, ListenerNotFoundException, AssociatedEndpointGroupFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteListener"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DenyCustomRoutingTraffic * @see AWS API Documentation */ @Override public DenyCustomRoutingTrafficResponse denyCustomRoutingTraffic( DenyCustomRoutingTrafficRequest denyCustomRoutingTrafficRequest) throws EndpointGroupNotFoundException, InvalidArgumentException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DenyCustomRoutingTrafficResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(denyCustomRoutingTrafficRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, denyCustomRoutingTrafficRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DenyCustomRoutingTraffic"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DenyCustomRoutingTraffic").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(denyCustomRoutingTrafficRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DenyCustomRoutingTrafficRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DeprovisionByoipCidr * @see AWS API Documentation */ @Override public DeprovisionByoipCidrResponse deprovisionByoipCidr(DeprovisionByoipCidrRequest deprovisionByoipCidrRequest) throws InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, ByoipCidrNotFoundException, IncorrectCidrStateException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeprovisionByoipCidrResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deprovisionByoipCidrRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deprovisionByoipCidrRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeprovisionByoipCidr"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeprovisionByoipCidr").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deprovisionByoipCidrRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeprovisionByoipCidrRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeAccelerator * @see AWS API Documentation */ @Override public DescribeAcceleratorResponse describeAccelerator(DescribeAcceleratorRequest describeAcceleratorRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAcceleratorRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAccelerator"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeAcceleratorAttributes * @see AWS API Documentation */ @Override public DescribeAcceleratorAttributesResponse describeAcceleratorAttributes( DescribeAcceleratorAttributesRequest describeAcceleratorAttributesRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeAcceleratorAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAcceleratorAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAcceleratorAttributesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAcceleratorAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeAcceleratorAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeAcceleratorAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeAcceleratorAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeCrossAccountAttachment * @see AWS API Documentation */ @Override public DescribeCrossAccountAttachmentResponse describeCrossAccountAttachment( DescribeCrossAccountAttachmentRequest describeCrossAccountAttachmentRequest) throws AttachmentNotFoundException, AccessDeniedException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeCrossAccountAttachmentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCrossAccountAttachmentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCrossAccountAttachmentRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCrossAccountAttachment"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCrossAccountAttachment").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeCrossAccountAttachmentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCrossAccountAttachmentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeCustomRoutingAccelerator * @see AWS API Documentation */ @Override public DescribeCustomRoutingAcceleratorResponse describeCustomRoutingAccelerator( DescribeCustomRoutingAcceleratorRequest describeCustomRoutingAcceleratorRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeCustomRoutingAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCustomRoutingAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCustomRoutingAcceleratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCustomRoutingAccelerator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCustomRoutingAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeCustomRoutingAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCustomRoutingAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeCustomRoutingAcceleratorAttributes * @see AWS API Documentation */ @Override public DescribeCustomRoutingAcceleratorAttributesResponse describeCustomRoutingAcceleratorAttributes( DescribeCustomRoutingAcceleratorAttributesRequest describeCustomRoutingAcceleratorAttributesRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DescribeCustomRoutingAcceleratorAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( describeCustomRoutingAcceleratorAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCustomRoutingAcceleratorAttributesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCustomRoutingAcceleratorAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCustomRoutingAcceleratorAttributes") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(describeCustomRoutingAcceleratorAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCustomRoutingAcceleratorAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeCustomRoutingEndpointGroup * @see AWS API Documentation */ @Override public DescribeCustomRoutingEndpointGroupResponse describeCustomRoutingEndpointGroup( DescribeCustomRoutingEndpointGroupRequest describeCustomRoutingEndpointGroupRequest) throws InvalidArgumentException, EndpointGroupNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeCustomRoutingEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCustomRoutingEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCustomRoutingEndpointGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCustomRoutingEndpointGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCustomRoutingEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeCustomRoutingEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCustomRoutingEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeCustomRoutingListener * @see AWS API Documentation */ @Override public DescribeCustomRoutingListenerResponse describeCustomRoutingListener( DescribeCustomRoutingListenerRequest describeCustomRoutingListenerRequest) throws InvalidArgumentException, ListenerNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeCustomRoutingListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeCustomRoutingListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeCustomRoutingListenerRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeCustomRoutingListener"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeCustomRoutingListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeCustomRoutingListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeCustomRoutingListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeEndpointGroup * @see AWS API Documentation */ @Override public DescribeEndpointGroupResponse describeEndpointGroup(DescribeEndpointGroupRequest describeEndpointGroupRequest) throws InvalidArgumentException, EndpointGroupNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEndpointGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEndpointGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.DescribeListener * @see AWS API Documentation */ @Override public DescribeListenerResponse describeListener(DescribeListenerRequest describeListenerRequest) throws InvalidArgumentException, ListenerNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeListener"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListAccelerators * @see AWS API Documentation */ @Override public ListAcceleratorsResponse listAccelerators(ListAcceleratorsRequest listAcceleratorsRequest) throws InvalidArgumentException, InvalidNextTokenException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListAcceleratorsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAcceleratorsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAcceleratorsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAccelerators"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListAccelerators").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAcceleratorsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAcceleratorsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListByoipCidrs * @see AWS API Documentation */ @Override public ListByoipCidrsResponse listByoipCidrs(ListByoipCidrsRequest listByoipCidrsRequest) throws InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, InvalidNextTokenException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListByoipCidrsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listByoipCidrsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listByoipCidrsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListByoipCidrs"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListByoipCidrs").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listByoipCidrsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListByoipCidrsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCrossAccountAttachments * @see AWS API Documentation */ @Override public ListCrossAccountAttachmentsResponse listCrossAccountAttachments( ListCrossAccountAttachmentsRequest listCrossAccountAttachmentsRequest) throws AccessDeniedException, InvalidArgumentException, InvalidNextTokenException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCrossAccountAttachmentsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCrossAccountAttachmentsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCrossAccountAttachmentsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCrossAccountAttachments"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCrossAccountAttachments").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCrossAccountAttachmentsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCrossAccountAttachmentsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCrossAccountResourceAccounts * @see AWS API Documentation */ @Override public ListCrossAccountResourceAccountsResponse listCrossAccountResourceAccounts( ListCrossAccountResourceAccountsRequest listCrossAccountResourceAccountsRequest) throws AccessDeniedException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCrossAccountResourceAccountsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCrossAccountResourceAccountsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCrossAccountResourceAccountsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCrossAccountResourceAccounts"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCrossAccountResourceAccounts").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCrossAccountResourceAccountsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCrossAccountResourceAccountsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCrossAccountResources * @see AWS API Documentation */ @Override public ListCrossAccountResourcesResponse listCrossAccountResources( ListCrossAccountResourcesRequest listCrossAccountResourcesRequest) throws InternalServiceErrorException, InvalidArgumentException, InvalidNextTokenException, AccessDeniedException, AcceleratorNotFoundException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCrossAccountResourcesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCrossAccountResourcesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCrossAccountResourcesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCrossAccountResources"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCrossAccountResources").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCrossAccountResourcesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCrossAccountResourcesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCustomRoutingAccelerators * @see AWS API Documentation */ @Override public ListCustomRoutingAcceleratorsResponse listCustomRoutingAccelerators( ListCustomRoutingAcceleratorsRequest listCustomRoutingAcceleratorsRequest) throws InvalidArgumentException, InvalidNextTokenException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCustomRoutingAcceleratorsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCustomRoutingAcceleratorsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomRoutingAcceleratorsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomRoutingAccelerators"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomRoutingAccelerators").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCustomRoutingAcceleratorsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCustomRoutingAcceleratorsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCustomRoutingEndpointGroups * @see AWS API Documentation */ @Override public ListCustomRoutingEndpointGroupsResponse listCustomRoutingEndpointGroups( ListCustomRoutingEndpointGroupsRequest listCustomRoutingEndpointGroupsRequest) throws ListenerNotFoundException, InvalidNextTokenException, InvalidArgumentException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCustomRoutingEndpointGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCustomRoutingEndpointGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomRoutingEndpointGroupsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomRoutingEndpointGroups"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomRoutingEndpointGroups").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCustomRoutingEndpointGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCustomRoutingEndpointGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCustomRoutingListeners * @see AWS API Documentation */ @Override public ListCustomRoutingListenersResponse listCustomRoutingListeners( ListCustomRoutingListenersRequest listCustomRoutingListenersRequest) throws InvalidArgumentException, AcceleratorNotFoundException, InvalidNextTokenException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCustomRoutingListenersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCustomRoutingListenersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomRoutingListenersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomRoutingListeners"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomRoutingListeners").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCustomRoutingListenersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCustomRoutingListenersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCustomRoutingPortMappings * @see AWS API Documentation */ @Override public ListCustomRoutingPortMappingsResponse listCustomRoutingPortMappings( ListCustomRoutingPortMappingsRequest listCustomRoutingPortMappingsRequest) throws InvalidArgumentException, InvalidNextTokenException, EndpointGroupNotFoundException, AcceleratorNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCustomRoutingPortMappingsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCustomRoutingPortMappingsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomRoutingPortMappingsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomRoutingPortMappings"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomRoutingPortMappings").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCustomRoutingPortMappingsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCustomRoutingPortMappingsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListCustomRoutingPortMappingsByDestination * @see AWS API Documentation */ @Override public ListCustomRoutingPortMappingsByDestinationResponse listCustomRoutingPortMappingsByDestination( ListCustomRoutingPortMappingsByDestinationRequest listCustomRoutingPortMappingsByDestinationRequest) throws InvalidArgumentException, InvalidNextTokenException, EndpointNotFoundException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListCustomRoutingPortMappingsByDestinationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( listCustomRoutingPortMappingsByDestinationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCustomRoutingPortMappingsByDestinationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCustomRoutingPortMappingsByDestination"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCustomRoutingPortMappingsByDestination") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listCustomRoutingPortMappingsByDestinationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCustomRoutingPortMappingsByDestinationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListEndpointGroups * @see AWS API Documentation */ @Override public ListEndpointGroupsResponse listEndpointGroups(ListEndpointGroupsRequest listEndpointGroupsRequest) throws ListenerNotFoundException, InvalidNextTokenException, InvalidArgumentException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListEndpointGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listEndpointGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listEndpointGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListEndpointGroups"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListEndpointGroups").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listEndpointGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListEndpointGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListListeners * @see AWS API Documentation */ @Override public ListListenersResponse listListeners(ListListenersRequest listListenersRequest) throws InvalidArgumentException, AcceleratorNotFoundException, InvalidNextTokenException, InternalServiceErrorException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListListenersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listListenersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listListenersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListListeners"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListListeners").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listListenersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListListenersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResponse listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) throws AcceleratorNotFoundException, AttachmentNotFoundException, EndpointGroupNotFoundException, ListenerNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTagsForResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTagsForResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsForResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTagsForResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTagsForResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTagsForResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTagsForResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.ProvisionByoipCidr * @see AWS API Documentation */ @Override public ProvisionByoipCidrResponse provisionByoipCidr(ProvisionByoipCidrRequest provisionByoipCidrRequest) throws InternalServiceErrorException, InvalidArgumentException, LimitExceededException, AccessDeniedException, IncorrectCidrStateException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ProvisionByoipCidrResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(provisionByoipCidrRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, provisionByoipCidrRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ProvisionByoipCidr"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ProvisionByoipCidr").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(provisionByoipCidrRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ProvisionByoipCidrRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.RemoveCustomRoutingEndpoints * @see AWS API Documentation */ @Override public RemoveCustomRoutingEndpointsResponse removeCustomRoutingEndpoints( RemoveCustomRoutingEndpointsRequest removeCustomRoutingEndpointsRequest) throws EndpointGroupNotFoundException, EndpointNotFoundException, InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, ConflictException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, RemoveCustomRoutingEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeCustomRoutingEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeCustomRoutingEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveCustomRoutingEndpoints"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("RemoveCustomRoutingEndpoints").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(removeCustomRoutingEndpointsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RemoveCustomRoutingEndpointsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.RemoveEndpoints * @see AWS API Documentation */ @Override public RemoveEndpointsResponse removeEndpoints(RemoveEndpointsRequest removeEndpointsRequest) throws EndpointGroupNotFoundException, InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, RemoveEndpointsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(removeEndpointsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, removeEndpointsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RemoveEndpoints"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("RemoveEndpoints").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(removeEndpointsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RemoveEndpointsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.TagResource * @see AWS * API Documentation */ @Override public TagResourceResponse tagResource(TagResourceRequest tagResourceRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagResource").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(tagResourceRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UntagResource * @see AWS API Documentation */ @Override public UntagResourceResponse untagResource(UntagResourceRequest untagResourceRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(untagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateAccelerator * @see AWS API Documentation */ @Override public UpdateAcceleratorResponse updateAccelerator(UpdateAcceleratorRequest updateAcceleratorRequest) throws AcceleratorNotFoundException, AccessDeniedException, InternalServiceErrorException, InvalidArgumentException, TransactionInProgressException, ConflictException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAcceleratorRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAccelerator"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateAcceleratorAttributes * @see AWS API Documentation */ @Override public UpdateAcceleratorAttributesResponse updateAcceleratorAttributes( UpdateAcceleratorAttributesRequest updateAcceleratorAttributesRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateAcceleratorAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateAcceleratorAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAcceleratorAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAcceleratorAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAcceleratorAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateAcceleratorAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAcceleratorAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateCrossAccountAttachment * @see AWS API Documentation */ @Override public UpdateCrossAccountAttachmentResponse updateCrossAccountAttachment( UpdateCrossAccountAttachmentRequest updateCrossAccountAttachmentRequest) throws AttachmentNotFoundException, AccessDeniedException, InternalServiceErrorException, InvalidArgumentException, LimitExceededException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateCrossAccountAttachmentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCrossAccountAttachmentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCrossAccountAttachmentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCrossAccountAttachment"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCrossAccountAttachment").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateCrossAccountAttachmentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateCrossAccountAttachmentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateCustomRoutingAccelerator * @see AWS API Documentation */ @Override public UpdateCustomRoutingAcceleratorResponse updateCustomRoutingAccelerator( UpdateCustomRoutingAcceleratorRequest updateCustomRoutingAcceleratorRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, TransactionInProgressException, ConflictException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateCustomRoutingAcceleratorResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCustomRoutingAcceleratorRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCustomRoutingAcceleratorRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCustomRoutingAccelerator"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCustomRoutingAccelerator").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateCustomRoutingAcceleratorRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateCustomRoutingAcceleratorRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateCustomRoutingAcceleratorAttributes * @see AWS API Documentation */ @Override public UpdateCustomRoutingAcceleratorAttributesResponse updateCustomRoutingAcceleratorAttributes( UpdateCustomRoutingAcceleratorAttributesRequest updateCustomRoutingAcceleratorAttributesRequest) throws AcceleratorNotFoundException, InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, TransactionInProgressException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateCustomRoutingAcceleratorAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( updateCustomRoutingAcceleratorAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCustomRoutingAcceleratorAttributesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCustomRoutingAcceleratorAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCustomRoutingAcceleratorAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(updateCustomRoutingAcceleratorAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateCustomRoutingAcceleratorAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateCustomRoutingListener * @see AWS API Documentation */ @Override public UpdateCustomRoutingListenerResponse updateCustomRoutingListener( UpdateCustomRoutingListenerRequest updateCustomRoutingListenerRequest) throws InvalidArgumentException, InvalidPortRangeException, ListenerNotFoundException, InternalServiceErrorException, LimitExceededException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateCustomRoutingListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCustomRoutingListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCustomRoutingListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCustomRoutingListener"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateCustomRoutingListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateCustomRoutingListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateCustomRoutingListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateEndpointGroup * @see AWS API Documentation */ @Override public UpdateEndpointGroupResponse updateEndpointGroup(UpdateEndpointGroupRequest updateEndpointGroupRequest) throws InvalidArgumentException, EndpointGroupNotFoundException, InternalServiceErrorException, LimitExceededException, AccessDeniedException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateEndpointGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateEndpointGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateEndpointGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateEndpointGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateEndpointGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateEndpointGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateEndpointGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.UpdateListener * @see AWS API Documentation */ @Override public UpdateListenerResponse updateListener(UpdateListenerRequest updateListenerRequest) throws InvalidArgumentException, InvalidPortRangeException, ListenerNotFoundException, InternalServiceErrorException, LimitExceededException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateListenerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateListenerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateListenerRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateListener"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateListener").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateListenerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateListenerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws GlobalAcceleratorException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample GlobalAcceleratorClient.WithdrawByoipCidr * @see AWS API Documentation */ @Override public WithdrawByoipCidrResponse withdrawByoipCidr(WithdrawByoipCidrRequest withdrawByoipCidrRequest) throws InternalServiceErrorException, InvalidArgumentException, AccessDeniedException, ByoipCidrNotFoundException, IncorrectCidrStateException, AwsServiceException, SdkClientException, GlobalAcceleratorException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, WithdrawByoipCidrResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(withdrawByoipCidrRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, withdrawByoipCidrRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Global Accelerator"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "WithdrawByoipCidr"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("WithdrawByoipCidr").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(withdrawByoipCidrRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new WithdrawByoipCidrRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } @Override public final String serviceName() { return SERVICE_NAME; } private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration, RequestOverrideConfiguration requestOverrideConfiguration) { List publishers = null; if (requestOverrideConfiguration != null) { publishers = requestOverrideConfiguration.metricPublishers(); } if (publishers == null || publishers.isEmpty()) { publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS); } if (publishers == null) { publishers = Collections.emptyList(); } return publishers; } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Builder configuration) { ClientOverrideConfiguration.Builder builder = configuration.asOverrideConfigurationBuilder(); RetryMode retryMode = builder.retryMode(); if (retryMode != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode)); } else { Consumer> configurator = builder.retryStrategyConfigurator(); if (configurator != null) { RetryStrategy.Builder defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder(); configurator.accept(defaultBuilder); configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build()); } else { RetryStrategy retryStrategy = builder.retryStrategy(); if (retryStrategy != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy); } } } configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null); } private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request, SdkClientConfiguration clientConfiguration) { List plugins = request.overrideConfiguration().map(c -> c.plugins()).orElse(Collections.emptyList()); SdkClientConfiguration.Builder configuration = clientConfiguration.toBuilder(); if (plugins.isEmpty()) { return configuration.build(); } GlobalAcceleratorServiceClientConfigurationBuilder serviceConfigBuilder = new GlobalAcceleratorServiceClientConfigurationBuilder( configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(GlobalAcceleratorException::builder) .protocol(AwsJsonProtocol.AWS_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("EndpointNotFoundException") .exceptionBuilderSupplier(EndpointNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AssociatedListenerFoundException") .exceptionBuilderSupplier(AssociatedListenerFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AssociatedEndpointGroupFoundException") .exceptionBuilderSupplier(AssociatedEndpointGroupFoundException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidNextTokenException") .exceptionBuilderSupplier(InvalidNextTokenException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EndpointGroupAlreadyExistsException") .exceptionBuilderSupplier(EndpointGroupAlreadyExistsException::builder).httpStatusCode(400) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidPortRangeException") .exceptionBuilderSupplier(InvalidPortRangeException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EndpointAlreadyExistsException") .exceptionBuilderSupplier(EndpointAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedException") .exceptionBuilderSupplier(AccessDeniedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AttachmentNotFoundException") .exceptionBuilderSupplier(AttachmentNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidArgumentException") .exceptionBuilderSupplier(InvalidArgumentException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ListenerNotFoundException") .exceptionBuilderSupplier(ListenerNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AcceleratorNotFoundException") .exceptionBuilderSupplier(AcceleratorNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IncorrectCidrStateException") .exceptionBuilderSupplier(IncorrectCidrStateException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TransactionInProgressException") .exceptionBuilderSupplier(TransactionInProgressException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ByoipCidrNotFoundException") .exceptionBuilderSupplier(ByoipCidrNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InternalServiceErrorException") .exceptionBuilderSupplier(InternalServiceErrorException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("EndpointGroupNotFoundException") .exceptionBuilderSupplier(EndpointGroupNotFoundException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AcceleratorNotDisabledException") .exceptionBuilderSupplier(AcceleratorNotDisabledException::builder).httpStatusCode(400).build()); } @Override public final GlobalAcceleratorServiceClientConfiguration serviceClientConfiguration() { return new GlobalAcceleratorServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public void close() { clientHandler.close(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy