AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Interface for accessing CloudFront Amazon CloudFront

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.

Inheritance Hierarchy

Amazon.CloudFront.IAmazonCloudFront

Namespace: Amazon.CloudFront
Assembly: AWSSDK.CloudFront.dll
Version: 3.x.y.z

Syntax

C#
public interface IAmazonCloudFront
         IAmazonService, IDisposable

The IAmazonCloudFront type exposes the following members

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method CreateCloudFrontOriginAccessIdentity(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.

Public Method CreateCloudFrontOriginAccessIdentityAsync(CreateCloudFrontOriginAccessIdentityRequest, CancellationToken)

Initiates the asynchronous execution of the CreateCloudFrontOriginAccessIdentity operation.

Public Method CreateDistribution(CreateDistributionRequest)

Creates a new web distribution. Send a POST request to the

/CloudFront
            API version/distribution
/distribution ID resource.

Public Method CreateDistributionAsync(CreateDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateDistribution operation.

Public Method CreateDistributionWithTags(CreateDistributionWithTagsRequest)

Create a new distribution with tags.

Public Method CreateDistributionWithTagsAsync(CreateDistributionWithTagsRequest, CancellationToken)

Initiates the asynchronous execution of the CreateDistributionWithTags operation.

Public Method CreateInvalidation(CreateInvalidationRequest)

Create a new invalidation.

Public Method CreateInvalidationAsync(CreateInvalidationRequest, CancellationToken)

Initiates the asynchronous execution of the CreateInvalidation operation.

Public Method CreateStreamingDistribution(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.

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.

Public Method CreateStreamingDistributionAsync(CreateStreamingDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the CreateStreamingDistribution operation.

Public Method CreateStreamingDistributionWithTags(CreateStreamingDistributionWithTagsRequest)

Create a new streaming distribution with tags.

Public Method CreateStreamingDistributionWithTagsAsync(CreateStreamingDistributionWithTagsRequest, CancellationToken)

Initiates the asynchronous execution of the CreateStreamingDistributionWithTags operation.

Public Method DeleteCloudFrontOriginAccessIdentity()

Delete an origin access identity.

Public Method DeleteCloudFrontOriginAccessIdentity(DeleteCloudFrontOriginAccessIdentityRequest)

Delete an origin access identity.

Public Method DeleteCloudFrontOriginAccessIdentityAsync(CancellationToken)

Delete an origin access identity.

Public Method DeleteCloudFrontOriginAccessIdentityAsync(DeleteCloudFrontOriginAccessIdentityRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteCloudFrontOriginAccessIdentity operation.

Public Method DeleteDistribution()

Delete a distribution.

Public Method DeleteDistribution(DeleteDistributionRequest)

Delete a distribution.

Public Method DeleteDistributionAsync(CancellationToken)

Delete a distribution.

Public Method DeleteDistributionAsync(DeleteDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteDistribution operation.

Public Method DeleteStreamingDistribution()

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.

Public Method DeleteStreamingDistribution(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.

Public Method DeleteStreamingDistributionAsync(CancellationToken)

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.

Public Method DeleteStreamingDistributionAsync(DeleteStreamingDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteStreamingDistribution operation.

Public Method GetCloudFrontOriginAccessIdentity()

Get the information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentity(GetCloudFrontOriginAccessIdentityRequest)

Get the information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentityAsync(CancellationToken)

Get the information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentityAsync(GetCloudFrontOriginAccessIdentityRequest, CancellationToken)

Initiates the asynchronous execution of the GetCloudFrontOriginAccessIdentity operation.

Public Method GetCloudFrontOriginAccessIdentityConfig()

Get the configuration information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentityConfig(GetCloudFrontOriginAccessIdentityConfigRequest)

Get the configuration information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentityConfigAsync(CancellationToken)

Get the configuration information about an origin access identity.

Public Method GetCloudFrontOriginAccessIdentityConfigAsync(GetCloudFrontOriginAccessIdentityConfigRequest, CancellationToken)

Initiates the asynchronous execution of the GetCloudFrontOriginAccessIdentityConfig operation.

Public Method GetDistribution()

Get the information about a distribution.

Public Method GetDistribution(GetDistributionRequest)

Get the information about a distribution.

Public Method GetDistributionAsync(CancellationToken)

Get the information about a distribution.

Public Method GetDistributionAsync(GetDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the GetDistribution operation.

Public Method GetDistributionConfig()

Get the configuration information about a distribution.

Public Method GetDistributionConfig(GetDistributionConfigRequest)

Get the configuration information about a distribution.

Public Method GetDistributionConfigAsync(CancellationToken)

Get the configuration information about a distribution.

Public Method GetDistributionConfigAsync(GetDistributionConfigRequest, CancellationToken)

Initiates the asynchronous execution of the GetDistributionConfig operation.

Public Method GetInvalidation(GetInvalidationRequest)

Get the information about an invalidation.

Public Method GetInvalidationAsync(GetInvalidationRequest, CancellationToken)

Initiates the asynchronous execution of the GetInvalidation operation.

Public Method GetStreamingDistribution()

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

Public Method GetStreamingDistribution(GetStreamingDistributionRequest)

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

Public Method GetStreamingDistributionAsync(CancellationToken)

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

Public Method GetStreamingDistributionAsync(GetStreamingDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the GetStreamingDistribution operation.

Public Method GetStreamingDistributionConfig()

Get the configuration information about a streaming distribution.

Public Method GetStreamingDistributionConfig(GetStreamingDistributionConfigRequest)

Get the configuration information about a streaming distribution.

Public Method GetStreamingDistributionConfigAsync(CancellationToken)

Get the configuration information about a streaming distribution.

Public Method GetStreamingDistributionConfigAsync(GetStreamingDistributionConfigRequest, CancellationToken)

Initiates the asynchronous execution of the GetStreamingDistributionConfig operation.

Public Method ListCloudFrontOriginAccessIdentities()

Lists origin access identities.

Public Method ListCloudFrontOriginAccessIdentities(ListCloudFrontOriginAccessIdentitiesRequest)

Lists origin access identities.

Public Method ListCloudFrontOriginAccessIdentitiesAsync(CancellationToken)

Lists origin access identities.

Public Method ListCloudFrontOriginAccessIdentitiesAsync(ListCloudFrontOriginAccessIdentitiesRequest, CancellationToken)

Initiates the asynchronous execution of the ListCloudFrontOriginAccessIdentities operation.

Public Method ListDistributions()

List distributions.

Public Method ListDistributions(ListDistributionsRequest)

List distributions.

Public Method ListDistributionsAsync(CancellationToken)

List distributions.

Public Method ListDistributionsAsync(ListDistributionsRequest, CancellationToken)

Initiates the asynchronous execution of the ListDistributions operation.

Public Method ListDistributionsByWebACLId(ListDistributionsByWebACLIdRequest)

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

Public Method ListDistributionsByWebACLIdAsync(ListDistributionsByWebACLIdRequest, CancellationToken)

Initiates the asynchronous execution of the ListDistributionsByWebACLId operation.

Public Method ListInvalidations(ListInvalidationsRequest)

Lists invalidation batches.

Public Method ListInvalidationsAsync(ListInvalidationsRequest, CancellationToken)

Initiates the asynchronous execution of the ListInvalidations operation.

Public Method ListStreamingDistributions()

List streaming distributions.

Public Method ListStreamingDistributions(ListStreamingDistributionsRequest)

List streaming distributions.

Public Method ListStreamingDistributionsAsync(CancellationToken)

List streaming distributions.

Public Method ListStreamingDistributionsAsync(ListStreamingDistributionsRequest, CancellationToken)

Initiates the asynchronous execution of the ListStreamingDistributions operation.

Public Method ListTagsForResource(ListTagsForResourceRequest)

List tags for a CloudFront resource.

Public Method ListTagsForResourceAsync(ListTagsForResourceRequest, CancellationToken)

Initiates the asynchronous execution of the ListTagsForResource operation.

Public Method TagResource(TagResourceRequest)

Add tags to a CloudFront resource.

Public Method TagResourceAsync(TagResourceRequest, CancellationToken)

Initiates the asynchronous execution of the TagResource operation.

Public Method UntagResource(UntagResourceRequest)

Remove tags from a CloudFront resource.

Public Method UntagResourceAsync(UntagResourceRequest, CancellationToken)

Initiates the asynchronous execution of the UntagResource operation.

Public Method UpdateCloudFrontOriginAccessIdentity(UpdateCloudFrontOriginAccessIdentityRequest)

Update an origin access identity.

Public Method UpdateCloudFrontOriginAccessIdentityAsync(UpdateCloudFrontOriginAccessIdentityRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateCloudFrontOriginAccessIdentity operation.

Public Method UpdateDistribution(UpdateDistributionRequest)

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    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 distribution. 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 you're actually specifying.

Public Method UpdateDistributionAsync(UpdateDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateDistribution operation.

Public Method UpdateStreamingDistribution(UpdateStreamingDistributionRequest)

Update a streaming distribution.

Public Method UpdateStreamingDistributionAsync(UpdateStreamingDistributionRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateStreamingDistribution operation.

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms