com.amazonaws.services.cloudfront

## Interface AmazonCloudFrontAsync

All Superinterfaces:
  AmazonCloudFront

All Known Implementing Classes:
  AbstractAmazonCloudFrontAsync, AmazonCloudFrontAsyncClient

    public interface AmazonCloudFrontAsync
    extends AmazonCloudFront

Interface 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.

Note: Do not directly implement this interface, new methods are added to it regularly. Extend from `AbstractAmazonCloudFrontAsync` instead.

<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 interface com.amazonaws.services.cloudfront.AmazonCloudFront

`ENDPOINT_PREFIX`

### Method Summary

All Methods Instance Methods Abstract Methods
`Future<CreateCloudFrontOriginAccessIdentityResult>` `createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest)` Creates a new origin access identity.
`Future<CreateCloudFrontOriginAccessIdentityResult>` `createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest, AsyncHandler<CreateCloudFrontOriginAccessIdentityRequest,CreateCloudFrontOriginAccessIdentityResult> asyncHandler)` Creates a new origin access identity.
`Future<CreateDistributionResult>` `createDistributionAsync(CreateDistributionRequest createDistributionRequest)` Creates a new web distribution.
`Future<CreateDistributionResult>` `createDistributionAsync(CreateDistributionRequest createDistributionRequest, AsyncHandler<CreateDistributionRequest,CreateDistributionResult> asyncHandler)` Creates a new web distribution.
`Future<CreateDistributionWithTagsResult>` `createDistributionWithTagsAsync(CreateDistributionWithTagsRequest createDistributionWithTagsRequest)` Create a new distribution with tags.
`Future<CreateDistributionWithTagsResult>` `createDistributionWithTagsAsync(CreateDistributionWithTagsRequest createDistributionWithTagsRequest, AsyncHandler<CreateDistributionWithTagsRequest,CreateDistributionWithTagsResult> asyncHandler)` Create a new distribution with tags.
`Future<CreateInvalidationResult>` `createInvalidationAsync(CreateInvalidationRequest createInvalidationRequest)` Create a new invalidation.
`Future<CreateInvalidationResult>` `createInvalidationAsync(CreateInvalidationRequest createInvalidationRequest, AsyncHandler<CreateInvalidationRequest,CreateInvalidationResult> asyncHandler)` Create a new invalidation.
`Future<CreateStreamingDistributionResult>` `createStreamingDistributionAsync(CreateStreamingDistributionRequest createStreamingDistributionRequest)` Creates a new RMTP distribution.
`Future<CreateStreamingDistributionResult>` `createStreamingDistributionAsync(CreateStreamingDistributionRequest createStreamingDistributionRequest, AsyncHandler<CreateStreamingDistributionRequest,CreateStreamingDistributionResult> asyncHandler)` Creates a new RMTP distribution.
`Future<CreateStreamingDistributionWithTagsResult>` `createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest)` Create a new streaming distribution with tags.
`Future<CreateStreamingDistributionWithTagsResult>` `createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest, AsyncHandler<CreateStreamingDistributionWithTagsRequest,CreateStreamingDistributionWithTagsResult> asyncHandler)` Create a new streaming distribution with tags.
`Future<DeleteCloudFrontOriginAccessIdentityResult>` `deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest)` Delete an origin access identity.
`Future<DeleteCloudFrontOriginAccessIdentityResult>` `deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest, AsyncHandler<DeleteCloudFrontOriginAccessIdentityRequest,DeleteCloudFrontOriginAccessIdentityResult> asyncHandler)` Delete an origin access identity.
`Future<DeleteDistributionResult>` `deleteDistributionAsync(DeleteDistributionRequest deleteDistributionRequest)` Delete a distribution.
`Future<DeleteDistributionResult>` `deleteDistributionAsync(DeleteDistributionRequest deleteDistributionRequest, AsyncHandler<DeleteDistributionRequest,DeleteDistributionResult> asyncHandler)` Delete a distribution.
`Future<DeleteStreamingDistributionResult>` `deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest)` Delete a streaming distribution.
`Future<DeleteStreamingDistributionResult>` `deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest, AsyncHandler<DeleteStreamingDistributionRequest,DeleteStreamingDistributionResult> asyncHandler)` Delete a streaming distribution.
`Future<GetCloudFrontOriginAccessIdentityResult>` `getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest)` Get the information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityResult>` `getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest, AsyncHandler<GetCloudFrontOriginAccessIdentityRequest,GetCloudFrontOriginAccessIdentityResult> asyncHandler)` Get the information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityConfigResult>` `getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest)` Get the configuration information about an origin access identity.
`Future<GetCloudFrontOriginAccessIdentityConfigResult>` `getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest, AsyncHandler<GetCloudFrontOriginAccessIdentityConfigRequest,GetCloudFrontOriginAccessIdentityConfigResult> asyncHandler)` Get the configuration information about an origin access identity.
`Future<GetDistributionResult>` `getDistributionAsync(GetDistributionRequest getDistributionRequest)` Get the information about a distribution.
`Future<GetDistributionResult>` `getDistributionAsync(GetDistributionRequest getDistributionRequest, AsyncHandler<GetDistributionRequest,GetDistributionResult> asyncHandler)` Get the information about a distribution.
`Future<GetDistributionConfigResult>` `getDistributionConfigAsync(GetDistributionConfigRequest getDistributionConfigRequest)` Get the configuration information about a distribution.
`Future<GetDistributionConfigResult>` `getDistributionConfigAsync(GetDistributionConfigRequest getDistributionConfigRequest, AsyncHandler<GetDistributionConfigRequest,GetDistributionConfigResult> asyncHandler)` Get the configuration information about a distribution.
`Future<GetInvalidationResult>` `getInvalidationAsync(GetInvalidationRequest getInvalidationRequest)` Get the information about an invalidation.
`Future<GetInvalidationResult>` `getInvalidationAsync(GetInvalidationRequest getInvalidationRequest, AsyncHandler<GetInvalidationRequest,GetInvalidationResult> asyncHandler)` Get the information about an invalidation.
`Future<GetStreamingDistributionResult>` `getStreamingDistributionAsync(GetStreamingDistributionRequest getStreamingDistributionRequest)` Gets information about a specified RTMP distribution, including the distribution configuration.
`Future<GetStreamingDistributionResult>` `getStreamingDistributionAsync(GetStreamingDistributionRequest getStreamingDistributionRequest, AsyncHandler<GetStreamingDistributionRequest,GetStreamingDistributionResult> asyncHandler)` Gets information about a specified RTMP distribution, including the distribution configuration.
`Future<GetStreamingDistributionConfigResult>` `getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest)` Get the configuration information about a streaming distribution.
`Future<GetStreamingDistributionConfigResult>` `getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest, AsyncHandler<GetStreamingDistributionConfigRequest,GetStreamingDistributionConfigResult> asyncHandler)` Get the configuration information about a streaming distribution.
`Future<ListCloudFrontOriginAccessIdentitiesResult>` `listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest)` Lists origin access identities.
`Future<ListCloudFrontOriginAccessIdentitiesResult>` `listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest, AsyncHandler<ListCloudFrontOriginAccessIdentitiesRequest,ListCloudFrontOriginAccessIdentitiesResult> asyncHandler)` Lists origin access identities.
`Future<ListDistributionsResult>` `listDistributionsAsync(ListDistributionsRequest listDistributionsRequest)` List distributions.
`Future<ListDistributionsResult>` `listDistributionsAsync(ListDistributionsRequest listDistributionsRequest, AsyncHandler<ListDistributionsRequest,ListDistributionsResult> asyncHandler)` List distributions.
`Future<ListDistributionsByWebACLIdResult>` `listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest)` List the distributions that are associated with a specified AWS WAF web ACL.
`Future<ListDistributionsByWebACLIdResult>` `listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest, AsyncHandler<ListDistributionsByWebACLIdRequest,ListDistributionsByWebACLIdResult> asyncHandler)` List the distributions that are associated with a specified AWS WAF web ACL.
`Future<ListInvalidationsResult>` `listInvalidationsAsync(ListInvalidationsRequest listInvalidationsRequest)` Lists invalidation batches.
`Future<ListInvalidationsResult>` `listInvalidationsAsync(ListInvalidationsRequest listInvalidationsRequest, AsyncHandler<ListInvalidationsRequest,ListInvalidationsResult> asyncHandler)` Lists invalidation batches.
`Future<ListStreamingDistributionsResult>` `listStreamingDistributionsAsync(ListStreamingDistributionsRequest listStreamingDistributionsRequest)` List streaming distributions.
`Future<ListStreamingDistributionsResult>` `listStreamingDistributionsAsync(ListStreamingDistributionsRequest listStreamingDistributionsRequest, AsyncHandler<ListStreamingDistributionsRequest,ListStreamingDistributionsResult> asyncHandler)` List streaming distributions.
`Future<ListTagsForResourceResult>` `listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest)` List tags for a CloudFront resource.
`Future<ListTagsForResourceResult>` `listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest, AsyncHandler<ListTagsForResourceRequest,ListTagsForResourceResult> asyncHandler)` List tags for a CloudFront resource.
`Future<TagResourceResult>` `tagResourceAsync(TagResourceRequest tagResourceRequest)` Add tags to a CloudFront resource.
`Future<TagResourceResult>` `tagResourceAsync(TagResourceRequest tagResourceRequest, AsyncHandler<TagResourceRequest,TagResourceResult> asyncHandler)` Add tags to a CloudFront resource.
`Future<UntagResourceResult>` `untagResourceAsync(UntagResourceRequest untagResourceRequest)` Remove tags from a CloudFront resource.
`Future<UntagResourceResult>` `untagResourceAsync(UntagResourceRequest untagResourceRequest, AsyncHandler<UntagResourceRequest,UntagResourceResult> asyncHandler)` Remove tags from a CloudFront resource.
`Future<UpdateCloudFrontOriginAccessIdentityResult>` `updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest)` Update an origin access identity.
`Future<UpdateCloudFrontOriginAccessIdentityResult>` `updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest, AsyncHandler<UpdateCloudFrontOriginAccessIdentityRequest,UpdateCloudFrontOriginAccessIdentityResult> asyncHandler)` Update an origin access identity.
`Future<UpdateDistributionResult>` `updateDistributionAsync(UpdateDistributionRequest updateDistributionRequest)` Update a distribution.
`Future<UpdateDistributionResult>` `updateDistributionAsync(UpdateDistributionRequest updateDistributionRequest, AsyncHandler<UpdateDistributionRequest,UpdateDistributionResult> asyncHandler)` Update a distribution.
`Future<UpdateStreamingDistributionResult>` `updateStreamingDistributionAsync(UpdateStreamingDistributionRequest updateStreamingDistributionRequest)` Update a streaming distribution.
`Future<UpdateStreamingDistributionResult>` `updateStreamingDistributionAsync(UpdateStreamingDistributionRequest updateStreamingDistributionRequest, AsyncHandler<UpdateStreamingDistributionRequest,UpdateStreamingDistributionResult> asyncHandler)` Update a streaming distribution.

### 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, shutdown, tagResource, untagResource, updateCloudFrontOriginAccessIdentity, updateDistribution, updateStreamingDistribution, waiters`

### Method Detail

#### createCloudFrontOriginAccessIdentityAsync

    Future<CreateCloudFrontOriginAccessIdentityResult> createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest)

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.

Parameters:
  `createCloudFrontOriginAccessIdentityRequest` - 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

    Future<CreateCloudFrontOriginAccessIdentityResult> createCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest,
                                                                                                 AsyncHandler<CreateCloudFrontOriginAccessIdentityRequest,CreateCloudFrontOriginAccessIdentityResult> asyncHandler)

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.

Parameters:
  `createCloudFrontOriginAccessIdentityRequest` - 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

    Future<CreateDistributionResult> createDistributionAsync(CreateDistributionRequest createDistributionRequest)

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

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

#### createDistributionAsync

    Future<CreateDistributionResult> createDistributionAsync(CreateDistributionRequest createDistributionRequest,
                                                             AsyncHandler<CreateDistributionRequest,CreateDistributionResult> asyncHandler)

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

Parameters:
  `createDistributionRequest` - 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

    Future<CreateDistributionWithTagsResult> createDistributionWithTagsAsync(CreateDistributionWithTagsRequest createDistributionWithTagsRequest)

Create a new distribution with tags.

Parameters:
  `createDistributionWithTagsRequest` - 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

    Future<CreateDistributionWithTagsResult> createDistributionWithTagsAsync(CreateDistributionWithTagsRequest createDistributionWithTagsRequest,
                                                                             AsyncHandler<CreateDistributionWithTagsRequest,CreateDistributionWithTagsResult> asyncHandler)

Create a new distribution with tags.

Parameters:
  `createDistributionWithTagsRequest` - 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

    Future<CreateInvalidationResult> createInvalidationAsync(CreateInvalidationRequest createInvalidationRequest)

Create a new invalidation.

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

#### createInvalidationAsync

    Future<CreateInvalidationResult> createInvalidationAsync(CreateInvalidationRequest createInvalidationRequest,
                                                             AsyncHandler<CreateInvalidationRequest,CreateInvalidationResult> asyncHandler)

Create a new invalidation.

Parameters:
  `createInvalidationRequest` - 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

    Future<CreateStreamingDistributionResult> createStreamingDistributionAsync(CreateStreamingDistributionRequest createStreamingDistributionRequest)

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>

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

#### createStreamingDistributionAsync

    Future<CreateStreamingDistributionResult> createStreamingDistributionAsync(CreateStreamingDistributionRequest createStreamingDistributionRequest,
                                                                               AsyncHandler<CreateStreamingDistributionRequest,CreateStreamingDistributionResult> asyncHandler)

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>

Parameters:
  `createStreamingDistributionRequest` - 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

    Future<CreateStreamingDistributionWithTagsResult> createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest)

Create a new streaming distribution with tags.

Parameters:
  `createStreamingDistributionWithTagsRequest` - 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

    Future<CreateStreamingDistributionWithTagsResult> createStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest,
                                                                                               AsyncHandler<CreateStreamingDistributionWithTagsRequest,CreateStreamingDistributionWithTagsResult> asyncHandler)

Create a new streaming distribution with tags.

Parameters:
  `createStreamingDistributionWithTagsRequest` - 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

    Future<DeleteCloudFrontOriginAccessIdentityResult> deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest)

Delete an origin access identity.

Parameters:
  `deleteCloudFrontOriginAccessIdentityRequest` - Deletes a origin access identity.
Returns:
  A Java Future containing the result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service.

#### deleteCloudFrontOriginAccessIdentityAsync

    Future<DeleteCloudFrontOriginAccessIdentityResult> deleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest,
                                                                                                 AsyncHandler<DeleteCloudFrontOriginAccessIdentityRequest,DeleteCloudFrontOriginAccessIdentityResult> asyncHandler)

Delete an origin access identity.

Parameters:
  `deleteCloudFrontOriginAccessIdentityRequest` - 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

    Future<DeleteDistributionResult> deleteDistributionAsync(DeleteDistributionRequest deleteDistributionRequest)

Delete a distribution.

Parameters:
  `deleteDistributionRequest` - 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

    Future<DeleteDistributionResult> deleteDistributionAsync(DeleteDistributionRequest deleteDistributionRequest,
                                                             AsyncHandler<DeleteDistributionRequest,DeleteDistributionResult> asyncHandler)

Delete a distribution.

Parameters:
  `deleteDistributionRequest` - 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

    Future<DeleteStreamingDistributionResult> deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest)

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.

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

#### deleteStreamingDistributionAsync

    Future<DeleteStreamingDistributionResult> deleteStreamingDistributionAsync(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest,
                                                                               AsyncHandler<DeleteStreamingDistributionRequest,DeleteStreamingDistributionResult> asyncHandler)

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.

Parameters:
  `deleteStreamingDistributionRequest` - 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

    Future<GetCloudFrontOriginAccessIdentityResult> getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest)

Get the information about an origin access identity.

Parameters:
  `getCloudFrontOriginAccessIdentityRequest` - 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

    Future<GetCloudFrontOriginAccessIdentityResult> getCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest,
                                                                                           AsyncHandler<GetCloudFrontOriginAccessIdentityRequest,GetCloudFrontOriginAccessIdentityResult> asyncHandler)

Get the information about an origin access identity.

Parameters:
  `getCloudFrontOriginAccessIdentityRequest` - 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

    Future<GetCloudFrontOriginAccessIdentityConfigResult> getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest)

Get the configuration information about an origin access identity.

Parameters:
  `getCloudFrontOriginAccessIdentityConfigRequest` - 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

    Future<GetCloudFrontOriginAccessIdentityConfigResult> getCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest,
                                                                                                       AsyncHandler<GetCloudFrontOriginAccessIdentityConfigRequest,GetCloudFrontOriginAccessIdentityConfigResult> asyncHandler)

Get the configuration information about an origin access identity.

Parameters:
  `getCloudFrontOriginAccessIdentityConfigRequest` - 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

    Future<GetDistributionResult> getDistributionAsync(GetDistributionRequest getDistributionRequest)

Get the information about a distribution.

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

#### getDistributionAsync

    Future<GetDistributionResult> getDistributionAsync(GetDistributionRequest getDistributionRequest,
                                                       AsyncHandler<GetDistributionRequest,GetDistributionResult> asyncHandler)

Get the information about a distribution.

Parameters:
  `getDistributionRequest` - 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

    Future<GetDistributionConfigResult> getDistributionConfigAsync(GetDistributionConfigRequest getDistributionConfigRequest)

Get the configuration information about a distribution.

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

#### getDistributionConfigAsync

    Future<GetDistributionConfigResult> getDistributionConfigAsync(GetDistributionConfigRequest getDistributionConfigRequest,
                                                                   AsyncHandler<GetDistributionConfigRequest,GetDistributionConfigResult> asyncHandler)

Get the configuration information about a distribution.

Parameters:
  `getDistributionConfigRequest` - 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

    Future<GetInvalidationResult> getInvalidationAsync(GetInvalidationRequest getInvalidationRequest)

Get the information about an invalidation.

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

#### getInvalidationAsync

    Future<GetInvalidationResult> getInvalidationAsync(GetInvalidationRequest getInvalidationRequest,
                                                       AsyncHandler<GetInvalidationRequest,GetInvalidationResult> asyncHandler)

Get the information about an invalidation.

Parameters:
  `getInvalidationRequest` - 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

    Future<GetStreamingDistributionResult> getStreamingDistributionAsync(GetStreamingDistributionRequest getStreamingDistributionRequest)

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

Parameters:
  `getStreamingDistributionRequest` - 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

    Future<GetStreamingDistributionResult> getStreamingDistributionAsync(GetStreamingDistributionRequest getStreamingDistributionRequest,
                                                                         AsyncHandler<GetStreamingDistributionRequest,GetStreamingDistributionResult> asyncHandler)

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

Parameters:
  `getStreamingDistributionRequest` - 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

    Future<GetStreamingDistributionConfigResult> getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest)

Get the configuration information about a streaming distribution.

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

#### getStreamingDistributionConfigAsync

    Future<GetStreamingDistributionConfigResult> getStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest,
                                                                                     AsyncHandler<GetStreamingDistributionConfigRequest,GetStreamingDistributionConfigResult> asyncHandler)

Get the configuration information about a streaming distribution.

Parameters:
  `getStreamingDistributionConfigRequest` - 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

    Future<ListCloudFrontOriginAccessIdentitiesResult> listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest)

Lists origin access identities.

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

#### listCloudFrontOriginAccessIdentitiesAsync

    Future<ListCloudFrontOriginAccessIdentitiesResult> listCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest,
                                                                                                 AsyncHandler<ListCloudFrontOriginAccessIdentitiesRequest,ListCloudFrontOriginAccessIdentitiesResult> asyncHandler)

Lists origin access identities.

Parameters:
  `listCloudFrontOriginAccessIdentitiesRequest` - 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

    Future<ListDistributionsResult> listDistributionsAsync(ListDistributionsRequest listDistributionsRequest)

List distributions.

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

#### listDistributionsAsync

    Future<ListDistributionsResult> listDistributionsAsync(ListDistributionsRequest listDistributionsRequest,
                                                           AsyncHandler<ListDistributionsRequest,ListDistributionsResult> asyncHandler)

List distributions.

Parameters:
  `listDistributionsRequest` - 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

    Future<ListDistributionsByWebACLIdResult> listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest)

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

Parameters:
  `listDistributionsByWebACLIdRequest` - 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

    Future<ListDistributionsByWebACLIdResult> listDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest,
                                                                               AsyncHandler<ListDistributionsByWebACLIdRequest,ListDistributionsByWebACLIdResult> asyncHandler)

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

Parameters:
  `listDistributionsByWebACLIdRequest` - 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

    Future<ListInvalidationsResult> listInvalidationsAsync(ListInvalidationsRequest listInvalidationsRequest)

Lists invalidation batches.

Parameters:
  `listInvalidationsRequest` - The request to list invalidations.
Returns:
  A Java Future containing the result of the ListInvalidations operation returned by the service.

#### listInvalidationsAsync

    Future<ListInvalidationsResult> listInvalidationsAsync(ListInvalidationsRequest listInvalidationsRequest,
                                                           AsyncHandler<ListInvalidationsRequest,ListInvalidationsResult> asyncHandler)

Lists invalidation batches.

Parameters:
  `listInvalidationsRequest` - 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

    Future<ListStreamingDistributionsResult> listStreamingDistributionsAsync(ListStreamingDistributionsRequest listStreamingDistributionsRequest)

List streaming distributions.

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

#### listStreamingDistributionsAsync

    Future<ListStreamingDistributionsResult> listStreamingDistributionsAsync(ListStreamingDistributionsRequest listStreamingDistributionsRequest,
                                                                             AsyncHandler<ListStreamingDistributionsRequest,ListStreamingDistributionsResult> asyncHandler)

List streaming distributions.

Parameters:
  `listStreamingDistributionsRequest` - 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

    Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest)

List tags for a CloudFront resource.

Parameters:
  `listTagsForResourceRequest` - 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

    Future<ListTagsForResourceResult> listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest,
                                                               AsyncHandler<ListTagsForResourceRequest,ListTagsForResourceResult> asyncHandler)

List tags for a CloudFront resource.

Parameters:
  `listTagsForResourceRequest` - 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

    Future<TagResourceResult> tagResourceAsync(TagResourceRequest tagResourceRequest)

Add tags to a CloudFront resource.

Parameters:
  `tagResourceRequest` - 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

    Future<TagResourceResult> tagResourceAsync(TagResourceRequest tagResourceRequest,
                                               AsyncHandler<TagResourceRequest,TagResourceResult> asyncHandler)

Add tags to a CloudFront resource.

Parameters:
  `tagResourceRequest` - 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

    Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest untagResourceRequest)

Remove tags from a CloudFront resource.

Parameters:
  `untagResourceRequest` - 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

    Future<UntagResourceResult> untagResourceAsync(UntagResourceRequest untagResourceRequest,
                                                   AsyncHandler<UntagResourceRequest,UntagResourceResult> asyncHandler)

Remove tags from a CloudFront resource.

Parameters:
  `untagResourceRequest` - 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

    Future<UpdateCloudFrontOriginAccessIdentityResult> updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest)

Update an origin access identity.

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

#### updateCloudFrontOriginAccessIdentityAsync

    Future<UpdateCloudFrontOriginAccessIdentityResult> updateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest,
                                                                                                 AsyncHandler<UpdateCloudFrontOriginAccessIdentityRequest,UpdateCloudFrontOriginAccessIdentityResult> asyncHandler)

Update an origin access identity.

Parameters:
  `updateCloudFrontOriginAccessIdentityRequest` - 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

    Future<UpdateDistributionResult> updateDistributionAsync(UpdateDistributionRequest updateDistributionRequest)

Update a distribution.

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

#### updateDistributionAsync

    Future<UpdateDistributionResult> updateDistributionAsync(UpdateDistributionRequest updateDistributionRequest,
                                                             AsyncHandler<UpdateDistributionRequest,UpdateDistributionResult> asyncHandler)

Update a distribution.

Parameters:
  `updateDistributionRequest` - 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

    Future<UpdateStreamingDistributionResult> updateStreamingDistributionAsync(UpdateStreamingDistributionRequest updateStreamingDistributionRequest)

Update a streaming distribution.

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

#### updateStreamingDistributionAsync

    Future<UpdateStreamingDistributionResult> updateStreamingDistributionAsync(UpdateStreamingDistributionRequest updateStreamingDistributionRequest,
                                                                               AsyncHandler<UpdateStreamingDistributionRequest,UpdateStreamingDistributionResult> asyncHandler)

Update a streaming distribution.

Parameters:
  `updateStreamingDistributionRequest` - 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.