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.

Classes

NameDescription
Class AccessDeniedException

CloudFront exception

Class ActiveTrustedSigners

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

Class Aliases

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

Class AllowedMethods

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

Class BatchTooLargeException

CloudFront exception

Class CacheBehavior

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

Class CacheBehaviors

A complex type that contains zero or more CacheBehavior elements.

Class CachedMethods

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

Class CloudFrontOriginAccessIdentity

CloudFront origin access identity.

Class CloudFrontOriginAccessIdentityAlreadyExistsException

CloudFront exception

Class CloudFrontOriginAccessIdentityConfig

Origin access identity configuration. Send a GET request to the

/CloudFront
            API version/CloudFront/identity ID/config
resource.

Class CloudFrontOriginAccessIdentityInUseException

CloudFront exception

Class CloudFrontOriginAccessIdentityList

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

Class CloudFrontOriginAccessIdentitySummary

Summary of the information about a CloudFront origin access identity.

Class CNAMEAlreadyExistsException

CloudFront exception

Class CookieNames

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

Class CookiePreference

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

Class CreateCloudFrontOriginAccessIdentityRequest

Container for the parameters to the CreateCloudFrontOriginAccessIdentity operation. 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.

Class CreateCloudFrontOriginAccessIdentityResponse

The returned result of the corresponding request.

Class CreateDistributionRequest

Container for the parameters to the CreateDistribution operation. Creates a new web distribution. Send a POST request to the

/CloudFront
            API version/distribution
/distribution ID resource.

Class CreateDistributionResponse

The returned result of the corresponding request.

Class CreateDistributionWithTagsRequest

Container for the parameters to the CreateDistributionWithTags operation. Create a new distribution with tags.

Class CreateDistributionWithTagsResponse

The returned result of the corresponding request.

Class CreateInvalidationRequest

Container for the parameters to the CreateInvalidation operation. Create a new invalidation.

Class CreateInvalidationResponse

The returned result of the corresponding request.

Class CreateStreamingDistributionRequest

Container for the parameters to the CreateStreamingDistribution operation. 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.

Class CreateStreamingDistributionResponse

The returned result of the corresponding request.

Class CreateStreamingDistributionWithTagsRequest

Container for the parameters to the CreateStreamingDistributionWithTags operation. Create a new streaming distribution with tags.

Class CreateStreamingDistributionWithTagsResponse

The returned result of the corresponding request.

Class CustomErrorResponse

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

Class CustomErrorResponses

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

Class CustomHeaders

A complex type that contains the list of Custom Headers for each origin.

Class CustomOriginConfig

A customer origin.

Class DefaultCacheBehavior

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

Class DeleteCloudFrontOriginAccessIdentityRequest

Container for the parameters to the DeleteCloudFrontOriginAccessIdentity operation. Delete an origin access identity.

Class DeleteCloudFrontOriginAccessIdentityResponse

This is the response object from the DeleteCloudFrontOriginAccessIdentity operation.

Class DeleteDistributionRequest

Container for the parameters to the DeleteDistribution operation. Delete a distribution.

Class DeleteDistributionResponse

This is the response object from the DeleteDistribution operation.

Class DeleteStreamingDistributionRequest

Container for the parameters to the DeleteStreamingDistribution operation. 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.

Class DeleteStreamingDistributionResponse

This is the response object from the DeleteStreamingDistribution operation.

Class Distribution

The distribution's information.

Class DistributionAlreadyExistsException

CloudFront exception

Class DistributionConfig

A distribution configuration.

Class DistributionConfigWithTags

A distribution Configuration and a list of tags to be associated with the distribution.

Class DistributionList

A distribution list.

Class DistributionNotDisabledException

CloudFront exception

Class DistributionSummary

A summary of the information about a CloudFront distribution.

Class ForwardedValues

A complex type that specifies how CloudFront handles query strings and cookies.

Class GeoRestriction

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

Class GetCloudFrontOriginAccessIdentityConfigRequest

Container for the parameters to the GetCloudFrontOriginAccessIdentityConfig operation. Get the configuration information about an origin access identity.

Class GetCloudFrontOriginAccessIdentityConfigResponse

The returned result of the corresponding request.

Class GetCloudFrontOriginAccessIdentityRequest

Container for the parameters to the GetCloudFrontOriginAccessIdentity operation. Get the information about an origin access identity.

Class GetCloudFrontOriginAccessIdentityResponse

The returned result of the corresponding request.

Class GetDistributionConfigRequest

Container for the parameters to the GetDistributionConfig operation. Get the configuration information about a distribution.

Class GetDistributionConfigResponse

The returned result of the corresponding request.

Class GetDistributionRequest

Container for the parameters to the GetDistribution operation. Get the information about a distribution.

Class GetDistributionResponse

The returned result of the corresponding request.

Class GetInvalidationRequest

Container for the parameters to the GetInvalidation operation. Get the information about an invalidation.

Class GetInvalidationResponse

The returned result of the corresponding request.

Class GetStreamingDistributionConfigRequest

Container for the parameters to the GetStreamingDistributionConfig operation. Get the configuration information about a streaming distribution.

Class GetStreamingDistributionConfigResponse

The returned result of the corresponding request.

Class GetStreamingDistributionRequest

Container for the parameters to the GetStreamingDistribution operation. Gets information about a specified RTMP distribution, including the distribution configuration.

Class GetStreamingDistributionResponse

The returned result of the corresponding request.

Class Headers

A complex type that specifies the headers that you want CloudFront to forward to the origin for this cache behavior.

For the headers that you specify, CloudFront also caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom Product header that has a value of either Acme or Apex, and you configure CloudFront to cache your content based on values in the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

Class IllegalUpdateException

CloudFront exception

Class InconsistentQuantitiesException

CloudFront exception

Class InvalidArgumentException

CloudFront exception

Class Invalidation

An invalidation.

Class InvalidationBatch

An invalidation batch.

Class InvalidationList

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

Class InvalidationSummary

A summary of an invalidation request.

Class InvalidDefaultRootObjectException

CloudFront exception

Class InvalidErrorCodeException

CloudFront exception

Class InvalidForwardCookiesException

CloudFront exception

Class InvalidGeoRestrictionParameterException

CloudFront exception

Class InvalidHeadersForS3OriginException

CloudFront exception

Class InvalidIfMatchVersionException

CloudFront exception

Class InvalidLambdaFunctionAssociationException

CloudFront exception

Class InvalidLocationCodeException

CloudFront exception

Class InvalidMinimumProtocolVersionException

CloudFront exception

Class InvalidOriginAccessIdentityException

CloudFront exception

Class InvalidOriginException

CloudFront exception

Class InvalidOriginKeepaliveTimeoutException

CloudFront exception

Class InvalidOriginReadTimeoutException

CloudFront exception

Class InvalidProtocolSettingsException

CloudFront exception

Class InvalidQueryStringParametersException

CloudFront exception

Class InvalidRelativePathException

CloudFront exception

Class InvalidRequiredProtocolException

CloudFront exception

Class InvalidResponseCodeException

CloudFront exception

Class InvalidTaggingException

CloudFront exception

Class InvalidTTLOrderException

CloudFront exception

Class InvalidViewerCertificateException

CloudFront exception

Class InvalidWebACLIdException

CloudFront exception

Class KeyPairIds

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

Class LambdaFunctionAssociation

A complex type that contains a Lambda function association.

Class LambdaFunctionAssociations

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

Class ListCloudFrontOriginAccessIdentitiesRequest

Container for the parameters to the ListCloudFrontOriginAccessIdentities operation. Lists origin access identities.

Class ListCloudFrontOriginAccessIdentitiesResponse

The returned result of the corresponding request.

Class ListDistributionsByWebACLIdRequest

Container for the parameters to the ListDistributionsByWebACLId operation. List the distributions that are associated with a specified AWS WAF web ACL.

Class ListDistributionsByWebACLIdResponse

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

Class ListDistributionsRequest

Container for the parameters to the ListDistributions operation. List distributions.

Class ListDistributionsResponse

The returned result of the corresponding request.

Class ListInvalidationsRequest

Container for the parameters to the ListInvalidations operation. Lists invalidation batches.

Class ListInvalidationsResponse

The returned result of the corresponding request.

Class ListStreamingDistributionsRequest

Container for the parameters to the ListStreamingDistributions operation. List streaming distributions.

Class ListStreamingDistributionsResponse

The returned result of the corresponding request.

Class ListTagsForResourceRequest

Container for the parameters to the ListTagsForResource operation. List tags for a CloudFront resource.

Class ListTagsForResourceResponse

The returned result of the corresponding request.

Class LoggingConfig

A complex type that controls whether access logs are written for the distribution.

Class MissingBodyException

CloudFront exception

Class NoSuchCloudFrontOriginAccessIdentityException

CloudFront exception

Class NoSuchDistributionException

CloudFront exception

Class NoSuchInvalidationException

CloudFront exception

Class NoSuchOriginException

CloudFront exception

Class NoSuchResourceException

CloudFront exception

Class NoSuchStreamingDistributionException

CloudFront exception

Class Origin

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

Class OriginCustomHeader

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

Class Origins

A complex type that contains information about origins for this distribution.

Class OriginSslProtocols

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

Class Paths

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

Class PreconditionFailedException

CloudFront exception

Class QueryStringCacheKeys

Class Restrictions

A complex type that identifies ways in which you want to restrict distribution of your content.

Class S3Origin

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

Class S3OriginConfig

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

Class Signer

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

Class StreamingDistribution

A streaming distribution.

Class StreamingDistributionAlreadyExistsException

CloudFront exception

Class StreamingDistributionConfig

The RTMP distribution's configuration information.

Class StreamingDistributionConfigWithTags

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

Class StreamingDistributionList

A streaming distribution list.

Class StreamingDistributionNotDisabledException

CloudFront exception

Class StreamingDistributionSummary

A summary of the information for an Amazon CloudFront streaming distribution.

Class StreamingLoggingConfig

A complex type that controls whether access logs are written for this streaming distribution.

Class Tag

A complex type that contains Tag key and Tag value.

Class TagKeys

A complex type that contains zero or more Tag elements.

Class TagResourceRequest

Container for the parameters to the TagResource operation. Add tags to a CloudFront resource.

Class TagResourceResponse

This is the response object from the TagResource operation.

Class Tags

A complex type that contains zero or more Tag elements.

Class TooManyCacheBehaviorsException

CloudFront exception

Class TooManyCertificatesException

CloudFront exception

Class TooManyCloudFrontOriginAccessIdentitiesException

CloudFront exception

Class TooManyCookieNamesInWhiteListException

CloudFront exception

Class TooManyDistributionCNAMEsException

CloudFront exception

Class TooManyDistributionsException

CloudFront exception

Class TooManyDistributionsWithLambdaAssociationsException

CloudFront exception

Class TooManyHeadersInForwardedValuesException

CloudFront exception

Class TooManyInvalidationsInProgressException

CloudFront exception

Class TooManyLambdaFunctionAssociationsException

CloudFront exception

Class TooManyOriginCustomHeadersException

CloudFront exception

Class TooManyOriginsException

CloudFront exception

Class TooManyQueryStringParametersException

CloudFront exception

Class TooManyStreamingDistributionCNAMEsException

CloudFront exception

Class TooManyStreamingDistributionsException

CloudFront exception

Class TooManyTrustedSignersException

CloudFront exception

Class TrustedSignerDoesNotExistException

CloudFront exception

Class TrustedSigners

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

Class UntagResourceRequest

Container for the parameters to the UntagResource operation. Remove tags from a CloudFront resource.

Class UntagResourceResponse

This is the response object from the UntagResource operation.

Class UpdateCloudFrontOriginAccessIdentityRequest

Container for the parameters to the UpdateCloudFrontOriginAccessIdentity operation. Update an origin access identity.

Class UpdateCloudFrontOriginAccessIdentityResponse

The returned result of the corresponding request.

Class UpdateDistributionRequest

Container for the parameters to the UpdateDistribution operation. 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.

Class UpdateDistributionResponse

The returned result of the corresponding request.

Class UpdateStreamingDistributionRequest

Container for the parameters to the UpdateStreamingDistribution operation. Update a streaming distribution.

Class UpdateStreamingDistributionResponse

The returned result of the corresponding request.

Class ViewerCertificate

A complex type that specifies the following:

  • Which SSL/TLS certificate to use when viewers request objects using HTTPS

  • Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names

  • The minimum protocol version that you want CloudFront to use when communicating with viewers

For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide.