[][src]Crate rusoto_cloudfront

Amazon CloudFront

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

If you're using the service, you're probably looking for CloudFrontClient and CloudFront.

Structs

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.

AliasListSerializer
Aliases

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

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

AllowedMethodsSerializer
AwsAccountNumberListSerializer
BooleanSerializer
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.

CacheBehaviorListSerializer
CacheBehaviorSerializer
CacheBehaviors

A complex type that contains zero or more CacheBehavior elements.

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

CachedMethodsSerializer
CloudFrontClient

A client for the CloudFront API.

CloudFrontOriginAccessIdentity

CloudFront origin access identity.

CloudFrontOriginAccessIdentityConfig

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

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

CloudFrontOriginAccessIdentitySummary

Summary of the information about a CloudFront origin access identity.

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

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

CookiePreferenceSerializer
CreateCloudFrontOriginAccessIdentityRequest

The request to create a new origin access identity.

CreateCloudFrontOriginAccessIdentityResult

The returned result of the corresponding request.

CreateDistributionRequest

The request to create a new distribution.

CreateDistributionResult

The returned result of the corresponding request.

CreateDistributionWithTagsRequest

The request to create a new distribution with tags.

CreateDistributionWithTagsResult

The returned result of the corresponding request.

CreateInvalidationRequest

The request to create an invalidation.

CreateInvalidationResult

The returned result of the corresponding request.

CreateStreamingDistributionRequest

The request to create a new streaming distribution.

CreateStreamingDistributionResult

The returned result of the corresponding request.

CreateStreamingDistributionWithTagsRequest

The request to create a new streaming distribution with tags.

CreateStreamingDistributionWithTagsResult

The returned result of the corresponding request.

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.

CustomErrorResponseListSerializer
CustomErrorResponseSerializer
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.

CustomErrorResponsesSerializer
CustomHeaders

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

CustomHeadersSerializer
CustomOriginConfig

A customer origin.

CustomOriginConfigSerializer
DefaultCacheBehavior

A complex type that describes the default cache behavior if you don't 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.

DefaultCacheBehaviorSerializer
DeleteCloudFrontOriginAccessIdentityRequest

Deletes a origin access identity.

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.

DeleteServiceLinkedRoleRequest
DeleteStreamingDistributionRequest

The request to delete a streaming distribution.

Distribution

The distribution's information.

DistributionConfig

A distribution configuration.

DistributionConfigSerializer
DistributionConfigWithTags

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

DistributionConfigWithTagsSerializer
DistributionList

A distribution list.

DistributionSummary

A summary of the information about a CloudFront distribution.

EventTypeSerializer
ForwardedValues

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

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

GeoRestrictionSerializer
GeoRestrictionTypeSerializer
GetCloudFrontOriginAccessIdentityConfigRequest

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

GetCloudFrontOriginAccessIdentityConfigResult

The returned result of the corresponding request.

GetCloudFrontOriginAccessIdentityRequest

The request to get an origin access identity's information.

GetCloudFrontOriginAccessIdentityResult

The returned result of the corresponding request.

GetDistributionConfigRequest

The request to get a distribution configuration.

GetDistributionConfigResult

The returned result of the corresponding request.

GetDistributionRequest

The request to get a distribution's information.

GetDistributionResult

The returned result of the corresponding request.

GetInvalidationRequest

The request to get an invalidation's information.

GetInvalidationResult

The returned result of the corresponding request.

GetStreamingDistributionConfigRequest

To request to get a streaming distribution configuration.

GetStreamingDistributionConfigResult

The returned result of the corresponding request.

GetStreamingDistributionRequest

The request to get a streaming distribution's information.

GetStreamingDistributionResult

The returned result of the corresponding request.

HeaderListSerializer
Headers

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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.

HeadersSerializer
HttpVersionSerializer
IntegerSerializer
Invalidation

An invalidation.

InvalidationBatch

An invalidation batch.

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

InvalidationSummary

A summary of an invalidation request.

ItemSelectionSerializer
KeyPairIds

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

For more information, see ActiveTrustedSigners.

LambdaFunctionAssociation

A complex type that contains a Lambda function association.

LambdaFunctionAssociationListSerializer
LambdaFunctionAssociationSerializer
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.

LambdaFunctionAssociationsSerializer
ListCloudFrontOriginAccessIdentitiesRequest

The request to list origin access identities.

ListCloudFrontOriginAccessIdentitiesResult

The returned result of the corresponding request.

ListDistributionsByWebACLIdRequest

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

ListDistributionsByWebACLIdResult

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

ListDistributionsRequest

The request to list your distributions.

ListDistributionsResult

The returned result of the corresponding request.

ListInvalidationsRequest

The request to list invalidations.

ListInvalidationsResult

The returned result of the corresponding request.

ListStreamingDistributionsRequest

The request to list your streaming distributions.

ListStreamingDistributionsResult

The returned result of the corresponding request.

ListTagsForResourceRequest

The request to list tags for a CloudFront resource.

ListTagsForResourceResult

The returned result of the corresponding request.

LocationListSerializer
LoggingConfig

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

LoggingConfigSerializer
LongSerializer
MethodSerializer
MethodsListSerializer
MinimumProtocolVersionSerializer
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.

OriginCustomHeader

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

OriginCustomHeaderSerializer
OriginCustomHeadersListSerializer
OriginListSerializer
OriginProtocolPolicySerializer
OriginSerializer
OriginSslProtocols

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

OriginSslProtocolsSerializer
Origins

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

OriginsSerializer
PathListSerializer
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.

PathsSerializer
PriceClassSerializer
QueryStringCacheKeys
QueryStringCacheKeysListSerializer
QueryStringCacheKeysSerializer
ResourceARNSerializer
Restrictions

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

RestrictionsSerializer
S3Origin

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

S3OriginSerializer
S3OriginConfig

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

S3OriginConfigSerializer
SSLSupportMethodSerializer
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.

SslProtocolSerializer
SslProtocolsListSerializer
StreamingDistribution

A streaming distribution.

StreamingDistributionConfig

The RTMP distribution's configuration information.

StreamingDistributionConfigSerializer
StreamingDistributionConfigWithTags

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

StreamingDistributionConfigWithTagsSerializer
StreamingDistributionList

A streaming distribution list.

StreamingDistributionSummary

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

StreamingLoggingConfig

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

StreamingLoggingConfigSerializer
StringSerializer
Tag

A complex type that contains Tag key and Tag value.

TagKeyListSerializer
TagKeySerializer
TagKeys

A complex type that contains zero or more Tag elements.

TagKeysSerializer
TagListSerializer
TagResourceRequest

The request to add tags to a CloudFront resource.

TagSerializer
TagValueSerializer
Tags

A complex type that contains zero or more Tag elements.

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

TrustedSignersSerializer
UntagResourceRequest

The request to remove tags from a CloudFront resource.

UpdateCloudFrontOriginAccessIdentityRequest

The request to update an origin access identity.

UpdateCloudFrontOriginAccessIdentityResult

The returned result of the corresponding request.

UpdateDistributionRequest

The request to update a distribution.

UpdateDistributionResult

The returned result of the corresponding request.

UpdateStreamingDistributionRequest

The request to update a streaming distribution.

UpdateStreamingDistributionResult

The returned result of the corresponding request.

ViewerCertificate

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

ViewerCertificateSerializer
ViewerProtocolPolicySerializer

Enums

CreateCloudFrontOriginAccessIdentityError

Errors returned by CreateCloudFrontOriginAccessIdentity

CreateDistributionError

Errors returned by CreateDistribution

CreateDistributionWithTagsError

Errors returned by CreateDistributionWithTags

CreateInvalidationError

Errors returned by CreateInvalidation

CreateStreamingDistributionError

Errors returned by CreateStreamingDistribution

CreateStreamingDistributionWithTagsError

Errors returned by CreateStreamingDistributionWithTags

DeleteCloudFrontOriginAccessIdentityError

Errors returned by DeleteCloudFrontOriginAccessIdentity

DeleteDistributionError

Errors returned by DeleteDistribution

DeleteServiceLinkedRoleError

Errors returned by DeleteServiceLinkedRole

DeleteStreamingDistributionError

Errors returned by DeleteStreamingDistribution

GetCloudFrontOriginAccessIdentityConfigError

Errors returned by GetCloudFrontOriginAccessIdentityConfig

GetCloudFrontOriginAccessIdentityError

Errors returned by GetCloudFrontOriginAccessIdentity

GetDistributionConfigError

Errors returned by GetDistributionConfig

GetDistributionError

Errors returned by GetDistribution

GetInvalidationError

Errors returned by GetInvalidation

GetStreamingDistributionConfigError

Errors returned by GetStreamingDistributionConfig

GetStreamingDistributionError

Errors returned by GetStreamingDistribution

ListCloudFrontOriginAccessIdentitiesError

Errors returned by ListCloudFrontOriginAccessIdentities

ListDistributionsByWebACLIdError

Errors returned by ListDistributionsByWebACLId

ListDistributionsError

Errors returned by ListDistributions

ListInvalidationsError

Errors returned by ListInvalidations

ListStreamingDistributionsError

Errors returned by ListStreamingDistributions

ListTagsForResourceError

Errors returned by ListTagsForResource

TagResourceError

Errors returned by TagResource

UntagResourceError

Errors returned by UntagResource

UpdateCloudFrontOriginAccessIdentityError

Errors returned by UpdateCloudFrontOriginAccessIdentity

UpdateDistributionError

Errors returned by UpdateDistribution

UpdateStreamingDistributionError

Errors returned by UpdateStreamingDistribution

Traits

CloudFront

Trait representing the capabilities of the CloudFront API. CloudFront clients implement this trait.