com.amazonaws.services.cloudfront

## Class AmazonCloudFrontAsyncClient

- java.lang.Object
- - com.amazonaws.AmazonWebServiceClient
  - - com.amazonaws.services.cloudfront.AmazonCloudFrontClient
    - - com.amazonaws.services.cloudfront.AmazonCloudFrontAsyncClient

All Implemented Interfaces:
  AmazonCloudFront, AmazonCloudFrontAsync

    @ThreadSafe
    public class AmazonCloudFrontAsyncClient
    extends AmazonCloudFrontClient
    implements AmazonCloudFrontAsync

Client for accessing CloudFront asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an `AsyncHandler` can be used to receive notification when an asynchronous operation completes.

<fullname>Amazon CloudFront</fullname>

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

### Field Summary

### Fields inherited from class com.amazonaws.services.cloudfront.AmazonCloudFrontClient

`configFactory, exceptionUnmarshallers`

### Fields inherited from class com.amazonaws.AmazonWebServiceClient

`client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset`

### Fields inherited from interface com.amazonaws.services.cloudfront.AmazonCloudFront

`ENDPOINT_PREFIX`

### Constructor Summary

Constructors
Constructor and Description
`AmazonCloudFrontAsyncClient()` Constructs a new asynchronous client to invoke service methods on CloudFront.
`AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials.
`AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials, executor service, and client configuration options.
`AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials and executor service.
`AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider.
`AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on CloudFront using the provided AWS account credentials provider and client configuration options.
`AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider, executor service, and client configuration options.
`AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService)` Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider and executor service.
`AmazonCloudFrontAsyncClient(ClientConfiguration clientConfiguration)` Constructs a new asynchronous client to invoke service methods on CloudFront.

### Method Summary

All Methods Instance Methods Concrete Methods
`Future<CreateCloudFrontOriginAccessIdentityResult>` `createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest request)` Creates a new origin access identity.
`Future<CreateCloudFrontOriginAccessIdentityResult>` `createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest request, AsyncHandler<CreateCloudFrontOriginAccessIdentityRequest,CreateCloudFrontOriginAccessIdentityResult> asyncHandler)` Creates a new origin access identity.
`Future<CreateDistributionResult>` `createDistributionAsync(CreateDistributionRequest request)` Creates a new web distribution.
`Future<CreateDistributionResult>` `createDistributionAsync(CreateDistributionRequest request, AsyncHandler<CreateDistributionRequest,CreateDistributionResult> asyncHandler)` Creates a new web distribution.
`Future<CreateDistributionWithTagsResult>` `createDistributionWithTagsAsync(CreateDistributionWithTagsRequest request)` Create a new distribution with tags.
`Future<CreateDistributionWithTagsResult>` `createDistributionWithTagsAsync(CreateDistributionWithTagsRequest request, AsyncHandler<CreateDistributionWithTagsRequest,CreateDistributionWithTagsResult> asyncHandler)` Create a new distribution with tags.
`Future<CreateInvalidationResult>` `createInvalidationAsync(CreateInvalidationRequest request)` Create a new invalidation.
`Future<CreateInvalidationResult>` `createInvalidationAsync(CreateInvalidationRequest request, AsyncHandler<CreateInvalidationRequest,CreateInvalidationResult> asyncHandler)` Create a new invalidation.
`Future<CreateStreamingDistributionResult>` `createStreamingDistributionAsync(CreateStreamingDistributionRequest request)` Creates a new RMTP distribution.
`Future<CreateStreamingDistributionResult>` `createStreamingDistributionAsync(CreateStreamingDistributionRequest request, AsyncHandler<CreateStreamingDistributionRequest,CreateStreamingDistributionResult> asyncHandler)` Creates a new RMTP distribution.
`Future<CreateStreamingDistributionWithTagsResult>` `createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest request)` Create a new streaming distribution with tags.
`Future<CreateStreamingDistributionWithTagsResult>` `createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest request, AsyncHandler<CreateStreamingDistributionWithTagsRequest,CreateStreamingDistributionWithTagsResult> asyncHandler)` Create a new streaming distribution with tags.
`Future<DeleteCloudFrontOriginAccessIdentityResult>` `deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest request)` Delete an origin access identity.
`Future<DeleteCloudFrontOriginAccessIdentityResult>` `deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest request, AsyncHandler<DeleteCloudFrontOriginAccessIdentityRequest,DeleteCloudFrontOriginAccessIdentityResult> asyncHandler)` Delete an origin access identity.
`Future<DeleteDistributionResult>` `deleteDistributionAsync(DeleteDistributionRequest request)` Delete a distribution.
`Future<DeleteDistributionResult>` `deleteDistributionAsync(DeleteDistributionRequest request, AsyncHandler<DeleteDistributionRequest,DeleteDistributionResult> asyncHandler)` Delete a distribution.
`Future<DeleteStreamingDistributionResult>` `deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest request)` Delete a streaming distribution.
`Future<DeleteStreamingDistributionResult>` `deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest request, AsyncHandler<DeleteStreamingDistributionRequest,DeleteStreamingDistributionResult> asyncHandler)` Delete a streaming distribution.
`Future<GetCloudFrontOriginAccessIdentityResult>` `getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest request)` Get the information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityResult>` `getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest request, AsyncHandler<GetCloudFrontOriginAccessIdentityRequest,GetCloudFrontOriginAccessIdentityResult> asyncHandler)` Get the information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityConfigResult>` `getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest request)` Get the configuration information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityConfigResult>` `getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest request, AsyncHandler<GetCloudFrontOriginAccessIdentityConfigRequest,GetCloudFrontOriginAccessIdentityConfigResult> asyncHandler)` Get the configuration information about an origin access identity.
`Future<GetDistributionResult>` `getDistributionAsync(GetDistributionRequest request)` Get the information about a distribution.
`Future<GetDistributionResult>` `getDistributionAsync(GetDistributionRequest request, AsyncHandler<GetDistributionRequest,GetDistributionResult> asyncHandler)` Get the information about a distribution.
`Future<GetDistributionConfigResult>` `getDistributionConfigAsync(GetDistributionConfigRequest request)` Get the configuration information about a distribution.
`Future<GetDistributionConfigResult>` `getDistributionConfigAsync(GetDistributionConfigRequest request, AsyncHandler<GetDistributionConfigRequest,GetDistributionConfigResult> asyncHandler)` Get the configuration information about a distribution.
`ExecutorService` `getExecutorService()` Returns the executor service used by this client to execute async requests.
`Future<GetInvalidationResult>` `getInvalidationAsync(GetInvalidationRequest request)` Get the information about an invalidation.
`Future<GetInvalidationResult>` `getInvalidationAsync(GetInvalidationRequest request, AsyncHandler<GetInvalidationRequest,GetInvalidationResult> asyncHandler)` Get the information about an invalidation.
`Future<GetStreamingDistributionResult>` `getStreamingDistributionAsync(GetStreamingDistributionRequest request)` Gets information about a specified RTMP distribution, including the distribution configuration.
`Future<GetStreamingDistributionResult>` `getStreamingDistributionAsync(GetStreamingDistributionRequest request, AsyncHandler<GetStreamingDistributionRequest,GetStreamingDistributionResult> asyncHandler)` Gets information about a specified RTMP distribution, including the distribution configuration.
`Future<GetStreamingDistributionConfigResult>` `getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest request)` Get the configuration information about a streaming distribution.
`Future<GetStreamingDistributionConfigResult>` `getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest request, AsyncHandler<GetStreamingDistributionConfigRequest,GetStreamingDistributionConfigResult> asyncHandler)` Get the configuration information about a streaming distribution.
`Future<ListCloudFrontOriginAccessIdentitiesResult>` `listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest request)` Lists origin access identities.
`Future<ListCloudFrontOriginAccessIdentitiesResult>` `listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest request, AsyncHandler<ListCloudFrontOriginAccessIdentitiesRequest,ListCloudFrontOriginAccessIdentitiesResult> asyncHandler)` Lists origin access identities.
`Future<ListDistributionsResult>` `listDistributionsAsync(ListDistributionsRequest request)` List distributions.
`Future<ListDistributionsResult>` `listDistributionsAsync(ListDistributionsRequest request, AsyncHandler<ListDistributionsRequest,ListDistributionsResult> asyncHandler)` List distributions.
`Future<ListDistributionsByWebACLIdResult>` `listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest request)` List the distributions that are associated with a specified AWS WAF web ACL.
`Future<ListDistributionsByWebACLIdResult>` `listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest request, AsyncHandler<ListDistributionsByWebACLIdRequest,ListDistributionsByWebACLIdResult> asyncHandler)` List the distributions that are associated with a specified AWS WAF web ACL.
`Future<ListInvalidationsResult>` `listInvalidationsAsync(ListInvalidationsRequest request)` Lists invalidation batches.
`Future<ListInvalidationsResult>` `listInvalidationsAsync(ListInvalidationsRequest request, AsyncHandler<ListInvalidationsRequest,ListInvalidationsResult> asyncHandler)` Lists invalidation batches.
`Future<ListStreamingDistributionsResult>` `listStreamingDistributionsAsync(ListStreamingDistributionsRequest request)` List streaming distributions.
`Future<ListStreamingDistributionsResult>` `listStreamingDistributionsAsync(ListStreamingDistributionsRequest request, AsyncHandler<ListStreamingDistributionsRequest,ListStreamingDistributionsResult> asyncHandler)` List streaming distributions.
`Future<ListTagsForResourceResult>` `listTagsForResourceAsync(ListTagsForResourceRequest request)` List tags for a CloudFront resource.
`Future<ListTagsForResourceResult>` `listTagsForResourceAsync(ListTagsForResourceRequest request, AsyncHandler<ListTagsForResourceRequest,ListTagsForResourceResult> asyncHandler)` List tags for a CloudFront resource.
`void` `shutdown()` Shuts down the client, releasing all managed resources.
`Future<TagResourceResult>` `tagResourceAsync(TagResourceRequest request)` Add tags to a CloudFront resource.
`Future<TagResourceResult>` `tagResourceAsync(TagResourceRequest request, AsyncHandler<TagResourceRequest,TagResourceResult> asyncHandler)` Add tags to a CloudFront resource.
`Future<UntagResourceResult>` `untagResourceAsync(UntagResourceRequest request)` Remove tags from a CloudFront resource.
`Future<UntagResourceResult>` `untagResourceAsync(UntagResourceRequest request, AsyncHandler<UntagResourceRequest,UntagResourceResult> asyncHandler)` Remove tags from a CloudFront resource.
`Future<UpdateCloudFrontOriginAccessIdentityResult>` `updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest request)` Update an origin access identity.
`Future<UpdateCloudFrontOriginAccessIdentityResult>` `updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest request, AsyncHandler<UpdateCloudFrontOriginAccessIdentityRequest,UpdateCloudFrontOriginAccessIdentityResult> asyncHandler)` Update an origin access identity.
`Future<UpdateDistributionResult>` `updateDistributionAsync(UpdateDistributionRequest request)` Update a distribution.
`Future<UpdateDistributionResult>` `updateDistributionAsync(UpdateDistributionRequest request, AsyncHandler<UpdateDistributionRequest,UpdateDistributionResult> asyncHandler)` Update a distribution.
`Future<UpdateStreamingDistributionResult>` `updateStreamingDistributionAsync(UpdateStreamingDistributionRequest request)` Update a streaming distribution.
`Future<UpdateStreamingDistributionResult>` `updateStreamingDistributionAsync(UpdateStreamingDistributionRequest request, AsyncHandler<UpdateStreamingDistributionRequest,UpdateStreamingDistributionResult> asyncHandler)` Update a streaming distribution.

### Methods inherited from class com.amazonaws.services.cloudfront.AmazonCloudFrontClient

`createCloudFrontOriginAccessIdentity, createDistribution, createDistributionWithTags, createInvalidation, createStreamingDistribution, createStreamingDistributionWithTags, deleteCloudFrontOriginAccessIdentity, deleteDistribution, deleteStreamingDistribution, getCachedResponseMetadata, getCloudFrontOriginAccessIdentity, getCloudFrontOriginAccessIdentityConfig, getDistribution, getDistributionConfig, getInvalidation, getStreamingDistribution, getStreamingDistributionConfig, listCloudFrontOriginAccessIdentities, listDistributions, listDistributionsByWebACLId, listInvalidations, listStreamingDistributions, listTagsForResource, tagResource, untagResource, updateCloudFrontOriginAccessIdentity, updateDistribution, updateStreamingDistribution, waiters`

### Methods inherited from class com.amazonaws.AmazonWebServiceClient

`addRequestHandler, addRequestHandler, beforeMarshalling, calculateCRC32FromCompressedData, checkMutability, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, createSignerProvider, endClientExecution, endClientExecution, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerProvider, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, makeImmutable, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, useStrictHostNameVerification, withEndpoint, withRegion, withRegion, withTimeOffset`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazonaws.services.cloudfront.AmazonCloudFront

`createCloudFrontOriginAccessIdentity, createDistribution, createDistributionWithTags, createInvalidation, createStreamingDistribution, createStreamingDistributionWithTags, deleteCloudFrontOriginAccessIdentity, deleteDistribution, deleteStreamingDistribution, getCachedResponseMetadata, getCloudFrontOriginAccessIdentity, getCloudFrontOriginAccessIdentityConfig, getDistribution, getDistributionConfig, getInvalidation, getStreamingDistribution, getStreamingDistributionConfig, listCloudFrontOriginAccessIdentities, listDistributions, listDistributionsByWebACLId, listInvalidations, listStreamingDistributions, listTagsForResource, setEndpoint, setRegion, tagResource, untagResource, updateCloudFrontOriginAccessIdentity, updateDistribution, updateStreamingDistribution, waiters`

### Constructor Detail

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient()

Constructs a new asynchronous client to invoke service methods on CloudFront. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(ClientConfiguration clientConfiguration)

Constructs a new asynchronous client to invoke service methods on CloudFront. A credentials provider chain will be used that searches for credentials in this order:

- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
- Instance profile credentials delivered through the Amazon EC2 metadata service

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

Parameters:
  `clientConfiguration` - The client configuration options controlling how this client connects to CloudFront (ex: proxy settings, retry counts, etc).
See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials.

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
See Also:
  `Executors.newFixedThreadPool(int)`

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials and executor service. Default client settings will be used.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentials awsCredentials,
                                       ClientConfiguration clientConfiguration,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials, executor service, and client configuration options.

Parameters:
  `awsCredentials` - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider. Default client settings will be used.

Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
See Also:
  `Executors.newFixedThreadPool(int)`

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ClientConfiguration clientConfiguration)

Constructs a new asynchronous client to invoke service methods on CloudFront using the provided AWS account credentials provider and client configuration options.

Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via `ClientConfiguration.getMaxConnections()`.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
See Also:
  `DefaultAWSCredentialsProviderChain`, `Executors.newFixedThreadPool(int)`

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider and executor service. Default client settings will be used.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `executorService` - The executor service by which all asynchronous requests will be executed.

#### AmazonCloudFrontAsyncClient

    public AmazonCloudFrontAsyncClient(AWSCredentialsProvider awsCredentialsProvider,
                                       ClientConfiguration clientConfiguration,
                                       ExecutorService executorService)

Constructs a new asynchronous client to invoke service methods on CloudFront using the specified AWS account credentials provider, executor service, and client configuration options.

Parameters:
  `awsCredentialsProvider` - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
  `clientConfiguration` - Client configuration options (ex: max retry limit, proxy settings, etc).
  `executorService` - The executor service by which all asynchronous requests will be executed.

### Method Detail

#### getExecutorService

    public ExecutorService getExecutorService()

Returns the executor service used by this client to execute async requests.

Returns:
  The executor service used by this client to execute async requests.

#### createCloudFrontOriginAccessIdentityAsync

    public Future<CreateCloudFrontOriginAccessIdentityResult> createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Specified by:
  `createCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new origin access identity.
Returns:
  A Java Future containing the result of the CreateCloudFrontOriginAccessIdentity operation returned by the service.

#### createCloudFrontOriginAccessIdentityAsync

    public Future<CreateCloudFrontOriginAccessIdentityResult> createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest request,
                                                                                                        AsyncHandler<CreateCloudFrontOriginAccessIdentityRequest,CreateCloudFrontOriginAccessIdentityResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Specified by:
  `createCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new origin access identity.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateCloudFrontOriginAccessIdentity operation returned by the service.

#### createDistributionAsync

    public Future<CreateDistributionResult> createDistributionAsync(CreateDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new web distribution. Send a `GET` request to the `/CloudFront API version/distribution`/`distribution ID` resource.

Specified by:
  `createDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new distribution.
Returns:
  A Java Future containing the result of the CreateDistribution operation returned by the service.

#### createDistributionAsync

    public Future<CreateDistributionResult> createDistributionAsync(CreateDistributionRequest request,
                                                                    AsyncHandler<CreateDistributionRequest,CreateDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new web distribution. Send a `GET` request to the `/CloudFront API version/distribution`/`distribution ID` resource.

Specified by:
  `createDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new distribution.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateDistribution operation returned by the service.

#### createDistributionWithTagsAsync

    public Future<CreateDistributionWithTagsResult> createDistributionWithTagsAsync(CreateDistributionWithTagsRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new distribution with tags.

Specified by:
  `createDistributionWithTagsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new distribution with tags.
Returns:
  A Java Future containing the result of the CreateDistributionWithTags operation returned by the service.

#### createDistributionWithTagsAsync

    public Future<CreateDistributionWithTagsResult> createDistributionWithTagsAsync(CreateDistributionWithTagsRequest request,
                                                                                    AsyncHandler<CreateDistributionWithTagsRequest,CreateDistributionWithTagsResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new distribution with tags.

Specified by:
  `createDistributionWithTagsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new distribution with tags.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateDistributionWithTags operation returned by the service.

#### createInvalidationAsync

    public Future<CreateInvalidationResult> createInvalidationAsync(CreateInvalidationRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new invalidation.

Specified by:
  `createInvalidationAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create an invalidation.
Returns:
  A Java Future containing the result of the CreateInvalidation operation returned by the service.

#### createInvalidationAsync

    public Future<CreateInvalidationResult> createInvalidationAsync(CreateInvalidationRequest request,
                                                                    AsyncHandler<CreateInvalidationRequest,CreateInvalidationResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new invalidation.

Specified by:
  `createInvalidationAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create an invalidation.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateInvalidation operation returned by the service.

#### createStreamingDistributionAsync

    public Future<CreateStreamingDistributionResult> createStreamingDistributionAsync(CreateStreamingDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a `POST` request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the `StreamingDistributionConfig` element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of `Enabled` is `true` and the value of `Status` is `Deployed`, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

<important>

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the `Quantity` element and the number of values specified.

</important>

Specified by:
  `createStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new streaming distribution.
Returns:
  A Java Future containing the result of the CreateStreamingDistribution operation returned by the service.

#### createStreamingDistributionAsync

    public Future<CreateStreamingDistributionResult> createStreamingDistributionAsync(CreateStreamingDistributionRequest request,
                                                                                      AsyncHandler<CreateStreamingDistributionRequest,CreateStreamingDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a `POST` request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the `StreamingDistributionConfig` element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of `Enabled` is `true` and the value of `Status` is `Deployed`, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

<important>

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the `Quantity` element and the number of values specified.

</important>

Specified by:
  `createStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new streaming distribution.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateStreamingDistribution operation returned by the service.

#### createStreamingDistributionWithTagsAsync

    public Future<CreateStreamingDistributionWithTagsResult> createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new streaming distribution with tags.

Specified by:
  `createStreamingDistributionWithTagsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new streaming distribution with tags.
Returns:
  A Java Future containing the result of the CreateStreamingDistributionWithTags operation returned by the service.

#### createStreamingDistributionWithTagsAsync

    public Future<CreateStreamingDistributionWithTagsResult> createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest request,
                                                                                                      AsyncHandler<CreateStreamingDistributionWithTagsRequest,CreateStreamingDistributionWithTagsResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Create a new streaming distribution with tags.

Specified by:
  `createStreamingDistributionWithTagsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to create a new streaming distribution with tags.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the CreateStreamingDistributionWithTags operation returned by the service.

#### deleteCloudFrontOriginAccessIdentityAsync

    public Future<DeleteCloudFrontOriginAccessIdentityResult> deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Delete an origin access identity.

Specified by:
  `deleteCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - Deletes a origin access identity.
Returns:
  A Java Future containing the result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service.

#### deleteCloudFrontOriginAccessIdentityAsync

    public Future<DeleteCloudFrontOriginAccessIdentityResult> deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest request,
                                                                                                        AsyncHandler<DeleteCloudFrontOriginAccessIdentityRequest,DeleteCloudFrontOriginAccessIdentityResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Delete an origin access identity.

Specified by:
  `deleteCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - Deletes a origin access identity.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service.

#### deleteDistributionAsync

    public Future<DeleteDistributionResult> deleteDistributionAsync(DeleteDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Delete a distribution.

Specified by:
  `deleteDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

  To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a `GET Distribution Config` request to get the current configuration and the `Etag` header for the distribution.

  3. Update the XML document that was returned in the response to your `GET Distribution Config` request to change the value of `Enabled` to `false`.

  4. Submit a `PUT Distribution Config` request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Distribution Config` request in Step 2.

  5. Review the response to the `PUT Distribution Config` request to confirm that the distribution was successfully disabled.

  6. Submit a `GET Distribution` request to confirm that your changes have propagated. When propagation is complete, the value of `Status` is `Deployed`.

  7. Submit a `DELETE Distribution` request. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Distribution Config` request in Step 6.

  8. Review the response to your `DELETE Distribution` request to confirm that the distribution was successfully deleted.

  For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

Returns:
  A Java Future containing the result of the DeleteDistribution operation returned by the service.

#### deleteDistributionAsync

    public Future<DeleteDistributionResult> deleteDistributionAsync(DeleteDistributionRequest request,
                                                                    AsyncHandler<DeleteDistributionRequest,DeleteDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Delete a distribution.

Specified by:
  `deleteDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

  To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a `GET Distribution Config` request to get the current configuration and the `Etag` header for the distribution.

  3. Update the XML document that was returned in the response to your `GET Distribution Config` request to change the value of `Enabled` to `false`.

  4. Submit a `PUT Distribution Config` request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Distribution Config` request in Step 2.

  5. Review the response to the `PUT Distribution Config` request to confirm that the distribution was successfully disabled.

  6. Submit a `GET Distribution` request to confirm that your changes have propagated. When propagation is complete, the value of `Status` is `Deployed`.

  7. Submit a `DELETE Distribution` request. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Distribution Config` request in Step 6.

  8. Review the response to your `DELETE Distribution` request to confirm that the distribution was successfully deleted.

  For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteDistribution operation returned by the service.

#### deleteStreamingDistributionAsync

    public Future<DeleteStreamingDistributionResult> deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

1. Disable the RTMP distribution.

2. Submit a `GET Streaming Distribution Config` request to get the current configuration and the `Etag` header for the distribution.

3. Update the XML document that was returned in the response to your `GET Streaming Distribution Config` request to change the value of `Enabled` to `false`.

4. Submit a `PUT Streaming Distribution Config` request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Streaming Distribution Config` request in Step 2.

5. Review the response to the `PUT Streaming Distribution Config` request to confirm that the distribution was successfully disabled.

6. Submit a `GET Streaming Distribution Config` request to confirm that your changes have propagated. When propagation is complete, the value of `Status` is `Deployed`.

7. Submit a `DELETE Streaming Distribution` request. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Streaming Distribution Config` request in Step 2.

8. Review the response to your `DELETE Streaming Distribution` request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

Specified by:
  `deleteStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to delete a streaming distribution.
Returns:
  A Java Future containing the result of the DeleteStreamingDistribution operation returned by the service.

#### deleteStreamingDistributionAsync

    public Future<DeleteStreamingDistributionResult> deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest request,
                                                                                      AsyncHandler<DeleteStreamingDistributionRequest,DeleteStreamingDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

1. Disable the RTMP distribution.

2. Submit a `GET Streaming Distribution Config` request to get the current configuration and the `Etag` header for the distribution.

3. Update the XML document that was returned in the response to your `GET Streaming Distribution Config` request to change the value of `Enabled` to `false`.

4. Submit a `PUT Streaming Distribution Config` request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Streaming Distribution Config` request in Step 2.

5. Review the response to the `PUT Streaming Distribution Config` request to confirm that the distribution was successfully disabled.

6. Submit a `GET Streaming Distribution Config` request to confirm that your changes have propagated. When propagation is complete, the value of `Status` is `Deployed`.

7. Submit a `DELETE Streaming Distribution` request. Set the value of the HTTP `If-Match` header to the value of the `ETag` header that CloudFront returned when you submitted the `GET Streaming Distribution Config` request in Step 2.

8. Review the response to your `DELETE Streaming Distribution` request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

Specified by:
  `deleteStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to delete a streaming distribution.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the DeleteStreamingDistribution operation returned by the service.

#### getCloudFrontOriginAccessIdentityAsync

    public Future<GetCloudFrontOriginAccessIdentityResult> getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about an origin access identity.

Specified by:
  `getCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get an origin access identity's information.
Returns:
  A Java Future containing the result of the GetCloudFrontOriginAccessIdentity operation returned by the service.

#### getCloudFrontOriginAccessIdentityAsync

    public Future<GetCloudFrontOriginAccessIdentityResult> getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest request,
                                                                                                  AsyncHandler<GetCloudFrontOriginAccessIdentityRequest,GetCloudFrontOriginAccessIdentityResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about an origin access identity.

Specified by:
  `getCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get an origin access identity's information.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetCloudFrontOriginAccessIdentity operation returned by the service.

#### getCloudFrontOriginAccessIdentityConfigAsync

    public Future<GetCloudFrontOriginAccessIdentityConfigResult> getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about an origin access identity.

Specified by:
  `getCloudFrontOriginAccessIdentityConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.
Returns:
  A Java Future containing the result of the GetCloudFrontOriginAccessIdentityConfig operation returned by the service.

#### getCloudFrontOriginAccessIdentityConfigAsync

    public Future<GetCloudFrontOriginAccessIdentityConfigResult> getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest request,
                                                                                                              AsyncHandler<GetCloudFrontOriginAccessIdentityConfigRequest,GetCloudFrontOriginAccessIdentityConfigResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about an origin access identity.

Specified by:
  `getCloudFrontOriginAccessIdentityConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetCloudFrontOriginAccessIdentityConfig operation returned by the service.

#### getDistributionAsync

    public Future<GetDistributionResult> getDistributionAsync(GetDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about a distribution.

Specified by:
  `getDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a distribution's information.
Returns:
  A Java Future containing the result of the GetDistribution operation returned by the service.

#### getDistributionAsync

    public Future<GetDistributionResult> getDistributionAsync(GetDistributionRequest request,
                                                              AsyncHandler<GetDistributionRequest,GetDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about a distribution.

Specified by:
  `getDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a distribution's information.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetDistribution operation returned by the service.

#### getDistributionConfigAsync

    public Future<GetDistributionConfigResult> getDistributionConfigAsync(GetDistributionConfigRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about a distribution.

Specified by:
  `getDistributionConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a distribution configuration.
Returns:
  A Java Future containing the result of the GetDistributionConfig operation returned by the service.

#### getDistributionConfigAsync

    public Future<GetDistributionConfigResult> getDistributionConfigAsync(GetDistributionConfigRequest request,
                                                                          AsyncHandler<GetDistributionConfigRequest,GetDistributionConfigResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about a distribution.

Specified by:
  `getDistributionConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a distribution configuration.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetDistributionConfig operation returned by the service.

#### getInvalidationAsync

    public Future<GetInvalidationResult> getInvalidationAsync(GetInvalidationRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about an invalidation.

Specified by:
  `getInvalidationAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get an invalidation's information.
Returns:
  A Java Future containing the result of the GetInvalidation operation returned by the service.

#### getInvalidationAsync

    public Future<GetInvalidationResult> getInvalidationAsync(GetInvalidationRequest request,
                                                              AsyncHandler<GetInvalidationRequest,GetInvalidationResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the information about an invalidation.

Specified by:
  `getInvalidationAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get an invalidation's information.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetInvalidation operation returned by the service.

#### getStreamingDistributionAsync

    public Future<GetStreamingDistributionResult> getStreamingDistributionAsync(GetStreamingDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Gets information about a specified RTMP distribution, including the distribution configuration.

Specified by:
  `getStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a streaming distribution's information.
Returns:
  A Java Future containing the result of the GetStreamingDistribution operation returned by the service.

#### getStreamingDistributionAsync

    public Future<GetStreamingDistributionResult> getStreamingDistributionAsync(GetStreamingDistributionRequest request,
                                                                                AsyncHandler<GetStreamingDistributionRequest,GetStreamingDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Gets information about a specified RTMP distribution, including the distribution configuration.

Specified by:
  `getStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to get a streaming distribution's information.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetStreamingDistribution operation returned by the service.

#### getStreamingDistributionConfigAsync

    public Future<GetStreamingDistributionConfigResult> getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about a streaming distribution.

Specified by:
  `getStreamingDistributionConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - To request to get a streaming distribution configuration.
Returns:
  A Java Future containing the result of the GetStreamingDistributionConfig operation returned by the service.

#### getStreamingDistributionConfigAsync

    public Future<GetStreamingDistributionConfigResult> getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest request,
                                                                                            AsyncHandler<GetStreamingDistributionConfigRequest,GetStreamingDistributionConfigResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Get the configuration information about a streaming distribution.

Specified by:
  `getStreamingDistributionConfigAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - To request to get a streaming distribution configuration.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the GetStreamingDistributionConfig operation returned by the service.

#### listCloudFrontOriginAccessIdentitiesAsync

    public Future<ListCloudFrontOriginAccessIdentitiesResult> listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Lists origin access identities.

Specified by:
  `listCloudFrontOriginAccessIdentitiesAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list origin access identities.
Returns:
  A Java Future containing the result of the ListCloudFrontOriginAccessIdentities operation returned by the service.

#### listCloudFrontOriginAccessIdentitiesAsync

    public Future<ListCloudFrontOriginAccessIdentitiesResult> listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest request,
                                                                                                        AsyncHandler<ListCloudFrontOriginAccessIdentitiesRequest,ListCloudFrontOriginAccessIdentitiesResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Lists origin access identities.

Specified by:
  `listCloudFrontOriginAccessIdentitiesAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list origin access identities.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListCloudFrontOriginAccessIdentities operation returned by the service.

#### listDistributionsAsync

    public Future<ListDistributionsResult> listDistributionsAsync(ListDistributionsRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

List distributions.

Specified by:
  `listDistributionsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list your distributions.
Returns:
  A Java Future containing the result of the ListDistributions operation returned by the service.

#### listDistributionsAsync

    public Future<ListDistributionsResult> listDistributionsAsync(ListDistributionsRequest request,
                                                                  AsyncHandler<ListDistributionsRequest,ListDistributionsResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

List distributions.

Specified by:
  `listDistributionsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list your distributions.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListDistributions operation returned by the service.

#### listDistributionsByWebACLIdAsync

    public Future<ListDistributionsByWebACLIdResult> listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

List the distributions that are associated with a specified AWS WAF web ACL.

Specified by:
  `listDistributionsByWebACLIdAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list distributions that are associated with a specified AWS WAF web ACL.
Returns:
  A Java Future containing the result of the ListDistributionsByWebACLId operation returned by the service.

#### listDistributionsByWebACLIdAsync

    public Future<ListDistributionsByWebACLIdResult> listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest request,
                                                                                      AsyncHandler<ListDistributionsByWebACLIdRequest,ListDistributionsByWebACLIdResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

List the distributions that are associated with a specified AWS WAF web ACL.

Specified by:
  `listDistributionsByWebACLIdAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list distributions that are associated with a specified AWS WAF web ACL.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListDistributionsByWebACLId operation returned by the service.

#### listInvalidationsAsync

    public Future<ListInvalidationsResult> listInvalidationsAsync(ListInvalidationsRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Lists invalidation batches.

Specified by:
  `listInvalidationsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list invalidations.
Returns:
  A Java Future containing the result of the ListInvalidations operation returned by the service.

#### listInvalidationsAsync

    public Future<ListInvalidationsResult> listInvalidationsAsync(ListInvalidationsRequest request,
                                                                  AsyncHandler<ListInvalidationsRequest,ListInvalidationsResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Lists invalidation batches.

Specified by:
  `listInvalidationsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list invalidations.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListInvalidations operation returned by the service.

#### listStreamingDistributionsAsync

    public Future<ListStreamingDistributionsResult> listStreamingDistributionsAsync(ListStreamingDistributionsRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

List streaming distributions.

Specified by:
  `listStreamingDistributionsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list your streaming distributions.
Returns:
  A Java Future containing the result of the ListStreamingDistributions operation returned by the service.

#### listStreamingDistributionsAsync

    public Future<ListStreamingDistributionsResult> listStreamingDistributionsAsync(ListStreamingDistributionsRequest request,
                                                                                    AsyncHandler<ListStreamingDistributionsRequest,ListStreamingDistributionsResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

List streaming distributions.

Specified by:
  `listStreamingDistributionsAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list your streaming distributions.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListStreamingDistributions operation returned by the service.

#### listTagsForResourceAsync

    public Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

List tags for a CloudFront resource.

Specified by:
  `listTagsForResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list tags for a CloudFront resource.
Returns:
  A Java Future containing the result of the ListTagsForResource operation returned by the service.

#### listTagsForResourceAsync

    public Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest request,
                                                                      AsyncHandler<ListTagsForResourceRequest,ListTagsForResourceResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

List tags for a CloudFront resource.

Specified by:
  `listTagsForResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to list tags for a CloudFront resource.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the ListTagsForResource operation returned by the service.

#### tagResourceAsync

    public Future<TagResourceResult> tagResourceAsync(TagResourceRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Add tags to a CloudFront resource.

Specified by:
  `tagResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to add tags to a CloudFront resource.
Returns:
  A Java Future containing the result of the TagResource operation returned by the service.

#### tagResourceAsync

    public Future<TagResourceResult> tagResourceAsync(TagResourceRequest request,
                                                      AsyncHandler<TagResourceRequest,TagResourceResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Add tags to a CloudFront resource.

Specified by:
  `tagResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to add tags to a CloudFront resource.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the TagResource operation returned by the service.

#### untagResourceAsync

    public Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Remove tags from a CloudFront resource.

Specified by:
  `untagResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to remove tags from a CloudFront resource.
Returns:
  A Java Future containing the result of the UntagResource operation returned by the service.

#### untagResourceAsync

    public Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest request,
                                                          AsyncHandler<UntagResourceRequest,UntagResourceResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Remove tags from a CloudFront resource.

Specified by:
  `untagResourceAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to remove tags from a CloudFront resource.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UntagResource operation returned by the service.

#### updateCloudFrontOriginAccessIdentityAsync

    public Future<UpdateCloudFrontOriginAccessIdentityResult> updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Update an origin access identity.

Specified by:
  `updateCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update an origin access identity.
Returns:
  A Java Future containing the result of the UpdateCloudFrontOriginAccessIdentity operation returned by the service.

#### updateCloudFrontOriginAccessIdentityAsync

    public Future<UpdateCloudFrontOriginAccessIdentityResult> updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest request,
                                                                                                        AsyncHandler<UpdateCloudFrontOriginAccessIdentityRequest,UpdateCloudFrontOriginAccessIdentityResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Update an origin access identity.

Specified by:
  `updateCloudFrontOriginAccessIdentityAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update an origin access identity.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateCloudFrontOriginAccessIdentity operation returned by the service.

#### updateDistributionAsync

    public Future<UpdateDistributionResult> updateDistributionAsync(UpdateDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Update a distribution.

Specified by:
  `updateDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update a distribution.
Returns:
  A Java Future containing the result of the UpdateDistribution operation returned by the service.

#### updateDistributionAsync

    public Future<UpdateDistributionResult> updateDistributionAsync(UpdateDistributionRequest request,
                                                                    AsyncHandler<UpdateDistributionRequest,UpdateDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Update a distribution.

Specified by:
  `updateDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update a distribution.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateDistribution operation returned by the service.

#### updateStreamingDistributionAsync

    public Future<UpdateStreamingDistributionResult> updateStreamingDistributionAsync(UpdateStreamingDistributionRequest request)

Description copied from interface: `AmazonCloudFrontAsync`

Update a streaming distribution.

Specified by:
  `updateStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update a streaming distribution.
Returns:
  A Java Future containing the result of the UpdateStreamingDistribution operation returned by the service.

#### updateStreamingDistributionAsync

    public Future<UpdateStreamingDistributionResult> updateStreamingDistributionAsync(UpdateStreamingDistributionRequest request,
                                                                                      AsyncHandler<UpdateStreamingDistributionRequest,UpdateStreamingDistributionResult> asyncHandler)

Description copied from interface: `AmazonCloudFrontAsync`

Update a streaming distribution.

Specified by:
  `updateStreamingDistributionAsync` in interface `AmazonCloudFrontAsync`
Parameters:
  `request` - The request to update a streaming distribution.
  `asyncHandler` - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
Returns:
  A Java Future containing the result of the UpdateStreamingDistribution operation returned by the service.

#### shutdown

    public void shutdown()

Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call `getExecutorService().shutdown()` followed by `getExecutorService().awaitTermination()` prior to calling this method.

Specified by:
  `shutdown` in interface `AmazonCloudFront`
Overrides:
  `shutdown` in class `AmazonWebServiceClient`