Cloudfront API
Cloudfront API
API Reference
API Version 2020-05-31
Amazon CloudFront API Reference
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not
Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or
discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may
or may not be affiliated with, connected to, or sponsored by Amazon.
Amazon CloudFront API Reference
Table of Contents
Welcome ........................................................................................................................................... 1
Actions ............................................................................................................................................. 2
CreateCachePolicy ...................................................................................................................... 4
Request Syntax .................................................................................................................. 4
URI Request Parameters ...................................................................................................... 5
Request Body .................................................................................................................... 5
Response Syntax ................................................................................................................ 6
Response Elements ............................................................................................................. 7
Errors ............................................................................................................................... 7
See Also ............................................................................................................................ 8
CreateCloudFrontOriginAccessIdentity ........................................................................................... 9
Request Syntax .................................................................................................................. 9
URI Request Parameters ...................................................................................................... 9
Request Body .................................................................................................................... 9
Response Syntax .............................................................................................................. 10
Response Elements ........................................................................................................... 10
Errors .............................................................................................................................. 10
See Also .......................................................................................................................... 11
CreateDistribution .................................................................................................................... 12
Request Syntax ................................................................................................................ 12
URI Request Parameters .................................................................................................... 16
Request Body ................................................................................................................... 16
Response Syntax .............................................................................................................. 20
Response Elements ........................................................................................................... 24
Errors .............................................................................................................................. 25
See Also .......................................................................................................................... 30
CreateDistributionWithTags ........................................................................................................ 31
Request Syntax ................................................................................................................ 31
URI Request Parameters .................................................................................................... 35
Request Body ................................................................................................................... 35
Response Syntax .............................................................................................................. 35
Response Elements ........................................................................................................... 40
Errors .............................................................................................................................. 41
See Also .......................................................................................................................... 45
CreateFieldLevelEncryptionConfig ............................................................................................... 47
Request Syntax ................................................................................................................ 47
URI Request Parameters .................................................................................................... 47
Request Body ................................................................................................................... 47
Response Syntax .............................................................................................................. 48
Response Elements ........................................................................................................... 49
Errors .............................................................................................................................. 49
See Also .......................................................................................................................... 50
CreateFieldLevelEncryptionProfile ............................................................................................... 51
Request Syntax ................................................................................................................ 51
URI Request Parameters .................................................................................................... 51
Request Body ................................................................................................................... 51
Response Syntax .............................................................................................................. 52
Response Elements ........................................................................................................... 52
Errors .............................................................................................................................. 53
See Also .......................................................................................................................... 54
CreateInvalidation .................................................................................................................... 55
Request Syntax ................................................................................................................ 55
URI Request Parameters .................................................................................................... 55
Request Body ................................................................................................................... 55
Errors .............................................................................................................................. 96
See Also .......................................................................................................................... 97
DeleteRealtimeLogConfig .......................................................................................................... 98
Request Syntax ................................................................................................................ 98
URI Request Parameters .................................................................................................... 98
Request Body ................................................................................................................... 98
Response Syntax .............................................................................................................. 98
Response Elements ........................................................................................................... 99
Errors .............................................................................................................................. 99
See Also .......................................................................................................................... 99
DeleteStreamingDistribution .................................................................................................... 100
Request Syntax .............................................................................................................. 100
URI Request Parameters .................................................................................................. 100
Request Body ................................................................................................................. 100
Response Syntax ............................................................................................................ 101
Response Elements ......................................................................................................... 101
Errors ............................................................................................................................ 101
See Also ........................................................................................................................ 101
GetCachePolicy ....................................................................................................................... 103
Request Syntax .............................................................................................................. 103
URI Request Parameters .................................................................................................. 103
Request Body ................................................................................................................. 103
Response Syntax ............................................................................................................ 103
Response Elements ......................................................................................................... 104
Errors ............................................................................................................................ 104
See Also ........................................................................................................................ 105
GetCachePolicyConfig ............................................................................................................. 106
Request Syntax .............................................................................................................. 106
URI Request Parameters .................................................................................................. 106
Request Body ................................................................................................................. 106
Response Syntax ............................................................................................................ 106
Response Elements ......................................................................................................... 107
Errors ............................................................................................................................ 108
See Also ........................................................................................................................ 108
GetCloudFrontOriginAccessIdentity ........................................................................................... 109
Request Syntax .............................................................................................................. 109
URI Request Parameters .................................................................................................. 109
Request Body ................................................................................................................. 109
Response Syntax ............................................................................................................ 109
Response Elements ......................................................................................................... 109
Errors ............................................................................................................................ 110
See Also ........................................................................................................................ 110
GetCloudFrontOriginAccessIdentityConfig .................................................................................. 111
Request Syntax .............................................................................................................. 111
URI Request Parameters .................................................................................................. 111
Request Body ................................................................................................................. 111
Response Syntax ............................................................................................................ 111
Response Elements ......................................................................................................... 111
Errors ............................................................................................................................ 112
See Also ........................................................................................................................ 112
GetDistribution ....................................................................................................................... 113
Request Syntax .............................................................................................................. 113
URI Request Parameters .................................................................................................. 113
Request Body ................................................................................................................. 113
Response Syntax ............................................................................................................ 113
Response Elements ......................................................................................................... 117
Errors ............................................................................................................................ 119
Welcome
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.
Actions
The following actions are supported:
• CreateCachePolicy (p. 4)
• CreateCloudFrontOriginAccessIdentity (p. 9)
• CreateDistribution (p. 12)
• CreateDistributionWithTags (p. 31)
• CreateFieldLevelEncryptionConfig (p. 47)
• CreateFieldLevelEncryptionProfile (p. 51)
• CreateInvalidation (p. 55)
• CreateMonitoringSubscription (p. 58)
• CreateOriginRequestPolicy (p. 60)
• CreatePublicKey (p. 65)
• CreateRealtimeLogConfig (p. 68)
• CreateStreamingDistribution (p. 71)
• CreateStreamingDistributionWithTags (p. 77)
• DeleteCachePolicy (p. 82)
• DeleteCloudFrontOriginAccessIdentity (p. 84)
• DeleteDistribution (p. 86)
• DeleteFieldLevelEncryptionConfig (p. 88)
• DeleteFieldLevelEncryptionProfile (p. 90)
• DeleteMonitoringSubscription (p. 92)
• DeleteOriginRequestPolicy (p. 94)
• DeletePublicKey (p. 96)
• DeleteRealtimeLogConfig (p. 98)
• DeleteStreamingDistribution (p. 100)
• GetCachePolicy (p. 103)
• GetCachePolicyConfig (p. 106)
• GetCloudFrontOriginAccessIdentity (p. 109)
• GetCloudFrontOriginAccessIdentityConfig (p. 111)
• GetDistribution (p. 113)
• GetDistributionConfig (p. 120)
• GetFieldLevelEncryption (p. 129)
• GetFieldLevelEncryptionConfig (p. 132)
• GetFieldLevelEncryptionProfile (p. 135)
• GetFieldLevelEncryptionProfileConfig (p. 138)
• GetInvalidation (p. 140)
• GetMonitoringSubscription (p. 143)
• GetOriginRequestPolicy (p. 145)
• GetOriginRequestPolicyConfig (p. 148)
• GetPublicKey (p. 151)
• GetPublicKeyConfig (p. 153)
• GetRealtimeLogConfig (p. 155)
CreateCachePolicy
Creates a cache policy.
After you create a cache policy, you can attach it to one or more cache behaviors. When it’s attached to a
cache behavior, the cache policy determines the following:
• The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies,
and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to
the viewer.
• The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the
CloudFront cache.
The headers, cookies, and query strings that are included in the cache key are automatically included in
requests that CloudFront sends to the origin. CloudFront sends a request when it can’t find an object in
its cache that matches the request’s cache key. If you want to send values to the origin but not include
them in the cache key, use OriginRequestPolicy.
For more information about cache policies, see Controlling the cache key in the Amazon CloudFront
Developer Guide.
Request Syntax
POST /2020-05-31/cache-policy HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicyConfig xmlns="[Link]
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
Request Body
The request accepts the following data in XML format.
CachePolicyConfig (p. 4)
Required: Yes
Comment (p. 4)
Type: String
Required: No
DefaultTTL (p. 4)
The default amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated.
CloudFront uses this value as the object’s time to live (TTL) only when the origin does not send
Cache-Control or Expires headers with the object. For more information, see Managing How
Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
The default value for this field is 86400 seconds (one day). If the value of MinTTL is more than
86400 seconds, then the default value for this field is the same as the value of MinTTL.
Type: Long
Required: No
MaxTTL (p. 4)
The maximum amount of time, in seconds, that objects stay in the CloudFront cache before
CloudFront sends another request to the origin to see if the object has been updated. CloudFront
uses this value only when the origin sends Cache-Control or Expires headers with the object.
For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
The default value for this field is 31536000 seconds (one year). If the value of MinTTL or
DefaultTTL is more than 31536000 seconds, then the default value for this field is the same as the
value of DefaultTTL.
Type: Long
Required: No
MinTTL (p. 4)
The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
Type: Long
Required: Yes
Name (p. 4)
Type: String
Required: Yes
ParametersInCacheKeyAndForwardedToOrigin (p. 4)
The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in
the cache key are automatically included in requests that CloudFront sends to the origin.
Required: No
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicy>
<CachePolicyConfig>
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</CachePolicy>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
CachePolicy (p. 6)
Required: Yes
CachePolicyConfig (p. 6)
Type: String
LastModifiedTime (p. 6)
The date and time when the cache policy was last modified.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
A cache policy with this name already exists. You must provide a unique name. To modify an existing
cache policy, use UpdateCachePolicy.
An argument is invalid.
You have reached the maximum number of cache policies for this AWS account. For more
information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas
(formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of headers in the cache policy exceeds the maximum. For more information, see Quotas
(formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of query strings in the cache policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateCloudFrontOriginAccessIdentity
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.
Request Syntax
POST /2020-05-31/origin-access-identity/cloudfront HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentityConfig xmlns="[Link]
doc/2020-05-31/">
<CallerReference>string</CallerReference>
<Comment>string</Comment>
</CloudFrontOriginAccessIdentityConfig>
Request Body
The request accepts the following data in XML format.
CloudFrontOriginAccessIdentityConfig (p. 9)
Required: Yes
CallerReference (p. 9)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If the CallerReference is a value already sent in a previous identity request, and the content of
the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring
white space), the response includes the same information returned to the original request.
If the CallerReference is a value you already sent in a previous request to create an identity, but
the content of the CloudFrontOriginAccessIdentityConfig is different from the original
request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
Type: String
Required: Yes
Comment (p. 9)
Any comments you want to include about the origin access identity.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentity>
<CloudFrontOriginAccessIdentityConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
</CloudFrontOriginAccessIdentityConfig>
<Id>string</Id>
<S3CanonicalUserId>string</S3CanonicalUserId>
</CloudFrontOriginAccessIdentity>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
CloudFrontOriginAccessIdentityConfig (p. 10)
Type: String
S3CanonicalUserId (p. 10)
The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access
identity read permission to an object in Amazon S3.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
CloudFrontOriginAccessIdentityAlreadyExists
If the CallerReference is a value you already sent in a previous request to create an identity but
the content of the CloudFrontOriginAccessIdentityConfig is different from the original
request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
InvalidArgument
An argument is invalid.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
Processing your request would cause you to exceed the maximum number of origin access identities
allowed.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateDistribution
Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want
content to be delivered from, and the details about how to track and manage content delivery. Send a
POST request to the /CloudFront API version/distribution/distribution ID resource.
Important
When you update a distribution, there are more required fields than when you create a
distribution. When you update your distribution by using UpdateDistribution, follow the steps
included in the documentation to get the current configuration and then make your updates.
This helps to make sure that you include all of the required fields. To view a summary, see
Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront
Developer Guide.
Request Syntax
POST /2020-05-31/distribution HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<DistributionConfig xmlns="[Link]
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Aliases (p. 12)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
Required: No
CacheBehaviors (p. 12)
Required: No
CallerReference (p. 12)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment (p. 12)
To delete an existing comment, update the distribution configuration and include an empty
Comment element.
To add or change a comment, update the distribution configuration and specify the new comment.
Type: String
Required: Yes
CustomErrorResponses (p. 12)
For more information about custom error pages, see Customizing Error Responses in the Amazon
CloudFront Developer Guide.
Required: No
DefaultCacheBehavior (p. 12)
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.
Required: Yes
DefaultRootObject (p. 12)
The object that you want CloudFront to request from your origin (for example, [Link])
when a viewer requests the root URL for your distribution ([Link] instead
of an object in your distribution ([Link]
Specifying a default root object avoids exposing the contents of your distribution.
Specify only the object name, for example, [Link]. Don't add a / before the object name.
If you don't want to specify a default root object when you create a distribution, include an empty
DefaultRootObject element.
To delete the default root object from an existing distribution, update the distribution configuration
and include an empty DefaultRootObject element.
To replace the default root object, update the distribution configuration and specify the new object.
For more information about the default root object, see Creating a Default Root Object in the
Amazon CloudFront Developer Guide.
Type: String
Required: No
Enabled (p. 12)
From this field, you can enable or disable the selected distribution.
Type: Boolean
Required: Yes
(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with
CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2
automatically use an earlier HTTP version.
For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support
Server Name Identification (SNI).
In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You
can improve performance by optimizing for HTTP/2. For more information, do an Internet search for
"http/2 optimization."
Type: String
Required: No
IsIPV6Enabled (p. 12)
If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution,
specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS
response code NOERROR and with no IP addresses. This allows viewers to submit a second request,
for an IPv4 address for your distribution.
In general, you should enable IPv6 if you have users on IPv6 networks who want to access your
content. However, if you're using signed URLs or signed cookies to restrict access to your content,
and if you're using a custom policy that includes the IpAddress parameter to restrict the IP
addresses that can access your content, don't enable IPv6. If you want to restrict access to some
content by IP address and not restrict access to other content (or restrict access but not by IP
address), you can create two distributions. For more information, see Creating a Signed URL Using a
Custom Policy in the Amazon CloudFront Developer Guide.
If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront
distribution, you need to create a second alias resource record set when both of the following are
true:
• You enable IPv6 for the distribution
• You're using alternate domain names in the URLs for your objects
For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your
Domain Name in the Amazon Route 53 Developer Guide.
If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS
service, you don't need to make any changes. A CNAME record will route traffic to your distribution
regardless of the IP address format of the viewer request.
Type: Boolean
Required: No
Logging (p. 12)
A complex type that controls whether access logs are written for the distribution.
For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.
Required: No
A complex type that contains information about origin groups for this distribution.
Required: No
Origins (p. 12)
A complex type that contains information about origins for this distribution.
Required: Yes
PriceClass (p. 12)
The price class that corresponds with the maximum price that you want to pay for CloudFront
service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all
CloudFront edge locations.
If you specify a price class other than PriceClass_All, CloudFront serves your objects from the
CloudFront edge location that has the lowest latency among the edge locations in your price class.
Viewers who are in or near regions that are excluded from your specified price class may encounter
slower performance.
For more information about price classes, see Choosing the Price Class for a CloudFront Distribution
in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how
price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing.
For price class information, scroll down to see the table at the bottom of the page.
Type: String
Required: No
Restrictions (p. 12)
A complex type that identifies ways in which you want to restrict distribution of your content.
Required: No
ViewerCertificate (p. 12)
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
Required: No
WebACLId (p. 12)
A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.
To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-
f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the
ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.
AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that
are forwarded to CloudFront, and lets you control access to your content. Based on conditions that
you specify, such as the IP addresses that requests originate from or the values of query strings,
CloudFront responds to requests either with the requested content or with an HTTP 403 status code
(Forbidden). You can also configure CloudFront to return a custom error page when a request is
blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.
Type: String
Required: No
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<Distribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<InProgressInvalidationBatches>integer</InProgressInvalidationBatches>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
</Distribution>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
ActiveTrustedSigners (p. 20)
CloudFront automatically adds this element to the response only if you've set up the distribution to
serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware
of for each trusted signer. The Signer child element lists the AWS account number of the trusted
signer (or an empty Self element if the signer is you). The Signer element also includes the IDs
of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element
appears for a Signer, that signer can't create working signed URLs.
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DistributionConfig (p. 20)
The current configuration information for the distribution. Send a GET request to the /CloudFront
API version/distribution ID/config resource.
Type: String
Id (p. 20)
Type: String
InProgressInvalidationBatches (p. 20)
Type: Integer
LastModifiedTime (p. 20)
Type: Timestamp
Status (p. 20)
This response element indicates the current status of the distribution. When the status is Deployed,
the distribution's information is fully propagated to all CloudFront edge locations.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The caller reference you attempted to create the distribution with is associated with another
distribution.
The specified configuration for field-level encryption can't be associated with the specified cache
behavior.
An argument is invalid.
The default root object file name is too big or contains an invalid character.
Your request contains forward cookies option which doesn't match with the expectation for the
whitelisted list of cookie names. Either list of cookie names has been specified when not allowed
or list of cookie names is missing when expected.
The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
The keep alive timeout specified for the origin is not valid.
You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients
that support Server Name Indication (SNI).
The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your
request, or omit the RequiredProtocols element from your distribution configuration.
InvalidViewerCertificate
A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS
WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/
webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify
a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-
f30b-4765-81a0-62ad96dd167a.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
Your request contains more cookie names in the whitelist than are allowed per cache behavior.
Your request contains more CNAMEs than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of distributions allowed.
The maximum number of distributions have been associated with the specified cache policy. For
more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The maximum number of distributions have been associated with the specified configuration for
field-level encryption.
The maximum number of distributions have been associated with the specified origin request policy.
For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer
Guide.
Processing your request would cause the maximum number of distributions with Lambda function
associations per owner to be exceeded.
The maximum number of distributions have been associated with the specified Lambda function.
Your request contains more Lambda function associations than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of origin groups allowed.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateDistributionWithTags
Create a new distribution with tags.
Request Syntax
POST /2020-05-31/distribution?WithTags HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<DistributionConfigWithTags xmlns="[Link]
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
<Tags>
<Items>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</Items>
</Tags>
</DistributionConfigWithTags>
Request Body
The request accepts the following data in XML format.
Required: Yes
DistributionConfig (p. 31)
A distribution configuration.
Required: Yes
Tags (p. 31)
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<Distribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<InProgressInvalidationBatches>integer</InProgressInvalidationBatches>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
</Distribution>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
ActiveTrustedSigners (p. 35)
CloudFront automatically adds this element to the response only if you've set up the distribution to
serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware
of for each trusted signer. The Signer child element lists the AWS account number of the trusted
signer (or an empty Self element if the signer is you). The Signer element also includes the IDs
of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element
appears for a Signer, that signer can't create working signed URLs.
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DistributionConfig (p. 35)
The current configuration information for the distribution. Send a GET request to the /CloudFront
API version/distribution ID/config resource.
Type: String
Id (p. 35)
Type: String
InProgressInvalidationBatches (p. 35)
Type: Integer
LastModifiedTime (p. 35)
Type: Timestamp
Status (p. 35)
This response element indicates the current status of the distribution. When the status is Deployed,
the distribution's information is fully propagated to all CloudFront edge locations.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The caller reference you attempted to create the distribution with is associated with another
distribution.
The specified configuration for field-level encryption can't be associated with the specified cache
behavior.
An argument is invalid.
The default root object file name is too big or contains an invalid character.
Your request contains forward cookies option which doesn't match with the expectation for the
whitelisted list of cookie names. Either list of cookie names has been specified when not allowed
or list of cookie names is missing when expected.
The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
The keep alive timeout specified for the origin is not valid.
You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients
that support Server Name Indication (SNI).
InvalidQueryStringParameters
The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your
request, or omit the RequiredProtocols element from your distribution configuration.
A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS
WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/
webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify
a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-
f30b-4765-81a0-62ad96dd167a.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
Your request contains more cookie names in the whitelist than are allowed per cache behavior.
Your request contains more CNAMEs than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of distributions allowed.
The maximum number of distributions have been associated with the specified cache policy. For
more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The maximum number of distributions have been associated with the specified configuration for
field-level encryption.
The maximum number of distributions have been associated with the specified origin request policy.
For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer
Guide.
Processing your request would cause the maximum number of distributions with Lambda function
associations per owner to be exceeded.
The maximum number of distributions have been associated with the specified Lambda function.
Your request contains more Lambda function associations than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of origin groups allowed.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateFieldLevelEncryptionConfig
Create a new field-level encryption configuration.
Request Syntax
POST /2020-05-31/field-level-encryption HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 47)
Type: String
Required: Yes
Type: String
Required: No
ContentTypeProfileConfig (p. 47)
A complex data type that specifies when to forward content if a content type isn't recognized and
profiles to use as by default in a request if a query argument doesn't specify a profile to use.
Required: No
QueryArgProfileConfig (p. 47)
A complex data type that specifies when to forward content if a profile isn't found and the profile
that can be provided as a query argument in a request.
Required: No
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryption>
<FieldLevelEncryptionConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryption>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
FieldLevelEncryptionConfig (p. 48)
A complex data type that includes the profile configurations specified for field-level encryption.
The configuration ID for a field-level encryption configuration which includes a set of profiles that
specify certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 48)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
FieldLevelEncryptionConfigAlreadyExists
An argument is invalid.
TooManyFieldLevelEncryptionConfigs
The maximum number of configurations for field-level encryption have been created.
The maximum number of content type profiles for field-level encryption have been created.
The maximum number of query arg profiles for field-level encryption have been created.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateFieldLevelEncryptionProfile
Create a field-level encryption profile.
Request Syntax
POST /2020-05-31/field-level-encryption-profile HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfileConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 51)
Type: String
Required: Yes
Comment (p. 51)
Type: String
Required: No
A complex data type of encryption entities for the field-level encryption profile that include the
public key ID, provider, and field patterns for specifying which fields to encrypt with this key.
Required: Yes
Name (p. 51)
Type: String
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfile>
<FieldLevelEncryptionProfileConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryptionProfile>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
FieldLevelEncryptionProfileConfig (p. 52)
A complex data type that includes the profile name and the encryption entities for the field-level
encryption profile.
The ID for a field-level encryption profile configuration which includes a set of profiles that specify
certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 52)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
FieldLevelEncryptionProfileAlreadyExists
An argument is invalid.
The maximum number of encryption entities for field-level encryption have been created.
The maximum number of field patterns for field-level encryption have been created.
The maximum number of profiles for field-level encryption have been created.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateInvalidation
Create a new invalidation.
Request Syntax
POST /2020-05-31/distribution/DistributionId/invalidation HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<InvalidationBatch xmlns="[Link]
<CallerReference>string</CallerReference>
<Paths>
<Items>
<Path>string</Path>
</Items>
<Quantity>integer</Quantity>
</Paths>
</InvalidationBatch>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 55)
A value that you specify to uniquely identify an invalidation request. CloudFront uses the value
to prevent you from accidentally resubmitting an identical request. Whenever you create a new
invalidation request, you must specify a new value for CallerReference and change other values
in the request as applicable. One way to ensure that the value of CallerReference is unique is to
use a timestamp, for example, 20120301090000.
If you make a second invalidation request with the same value for CallerReference, and if the
rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead,
CloudFront returns information about the invalidation request that you previously created with the
same CallerReference.
Type: String
Required: Yes
Paths (p. 55)
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.
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<Invalidation>
<CreateTime>timestamp</CreateTime>
<Id>string</Id>
<InvalidationBatch>
<CallerReference>string</CallerReference>
<Paths>
<Items>
<Path>string</Path>
</Items>
<Quantity>integer</Quantity>
</Paths>
</InvalidationBatch>
<Status>string</Status>
</Invalidation>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
CreateTime (p. 56)
The date and time the invalidation request was first made.
Type: Timestamp
Id (p. 56)
Type: String
InvalidationBatch (p. 56)
The status of the invalidation request. When the invalidation batch is finished, the status is
Completed.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
You have exceeded the maximum number of allowable InProgress invalidation batch requests, or
invalidation objects.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateMonitoringSubscription
Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics
incur an additional cost.
For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront
Developer Guide.
Request Syntax
POST /2020-05-31/distributions/DistributionId/monitoring-subscription HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<MonitoringSubscription xmlns="[Link]
<RealtimeMetricsSubscriptionConfig>
<RealtimeMetricsSubscriptionStatus>string</RealtimeMetricsSubscriptionStatus>
</RealtimeMetricsSubscriptionConfig>
</MonitoringSubscription>
Request Body
The request accepts the following data in XML format.
Required: Yes
RealtimeMetricsSubscriptionConfig (p. 58)
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<MonitoringSubscription>
<RealtimeMetricsSubscriptionConfig>
<RealtimeMetricsSubscriptionStatus>string</RealtimeMetricsSubscriptionStatus>
</RealtimeMetricsSubscriptionConfig>
</MonitoringSubscription>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
RealtimeMetricsSubscriptionConfig (p. 58)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateOriginRequestPolicy
Creates an origin request policy.
After you create an origin request policy, you can attach it to one or more cache behaviors. When it’s
attached to a cache behavior, the origin request policy determines the values that CloudFront includes
in requests that it sends to the origin. Each request that CloudFront sends to the origin includes the
following:
• The request body and the URL path (without the domain name) from the viewer request.
• The headers that CloudFront automatically includes in every origin request, including Host, User-
Agent, and X-Amz-Cf-Id.
• All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin
request policy. These can include items from the viewer request and, in the case of headers, additional
ones that are added by CloudFront.
CloudFront sends a request when it can’t find a valid object in its cache that matches the request. If you
want to send values to the origin and also include them in the cache key, use CachePolicy.
For more information about origin request policies, see Controlling origin requests in the Amazon
CloudFront Developer Guide.
Request Syntax
POST /2020-05-31/origin-request-policy HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicyConfig xmlns="[Link]
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Comment (p. 60)
Type: String
Required: No
CookiesConfig (p. 60)
Required: Yes
HeadersConfig (p. 60)
The HTTP headers to include in origin requests. These can include headers from viewer requests and
additional headers added by CloudFront.
Required: Yes
Name (p. 60)
Type: String
Required: Yes
QueryStringsConfig (p. 60)
The URL query strings from viewer requests to include in origin requests.
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicy>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
</OriginRequestPolicy>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
Id (p. 61)
Type: String
LastModifiedTime (p. 61)
The date and time when the origin request policy was last modified.
Type: Timestamp
OriginRequestPolicyConfig (p. 61)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
An origin request policy with this name already exists. You must provide a unique name. To modify
an existing origin request policy, use UpdateOriginRequestPolicy.
The number of cookies in the origin request policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of headers in the origin request policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
You have reached the maximum number of origin request policies for this AWS account. For more
information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of query strings in the origin request policy exceeds the maximum. For more
information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreatePublicKey
Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a
maximum of 10 public keys with one AWS account.
Request Syntax
POST /2020-05-31/public-key HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<PublicKeyConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 65)
Type: String
Required: Yes
Comment (p. 65)
Type: String
Required: No
EncodedKey (p. 65)
The encoded public key that you want to add to CloudFront to use with features like field-level
encryption.
Type: String
Required: Yes
Name (p. 65)
The name for a public key you add to CloudFront to use with features like field-level encryption.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<PublicKey>
<CreatedTime>timestamp</CreatedTime>
<Id>string</Id>
<PublicKeyConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
</PublicKey>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
CreatedTime (p. 66)
Type: Timestamp
Id (p. 66)
Type: String
PublicKeyConfig (p. 66)
A complex data type for a public key you add to CloudFront to use with features like field-level
encryption.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
PublicKeyAlreadyExists
The maximum number of public keys for field-level encryption have been created. To create a new
public key, delete one of the existing keys.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateRealtimeLogConfig
Creates a real-time log configuration.
After you create a real-time log configuration, you can attach it to one or more cache behaviors to send
real-time log data to the specified Amazon Kinesis data stream.
For more information about real-time log configurations, see Real-time logs in the Amazon CloudFront
Developer Guide.
Request Syntax
POST /2020-05-31/realtime-log-config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<CreateRealtimeLogConfigRequest xmlns="[Link]
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</CreateRealtimeLogConfigRequest>
Request Body
The request accepts the following data in XML format.
Required: Yes
EndPoints (p. 68)
Contains information about the Amazon Kinesis data stream where you are sending real-time log
data.
Required: Yes
Fields (p. 68)
For more information about fields, see Real-time log configuration fields in the Amazon CloudFront
Developer Guide.
Required: Yes
Name (p. 68)
Type: String
Required: Yes
SamplingRate (p. 68)
The sampling rate for this real-time log configuration. The sampling rate determines the percentage
of viewer requests that are represented in the real-time log data. You must provide an integer
between 1 and 100, inclusive.
Type: Long
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<CreateRealtimeLogConfigResult>
<RealtimeLogConfig>
<ARN>string</ARN>
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</RealtimeLogConfig>
</CreateRealtimeLogConfigResult>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
RealtimeLogConfig (p. 69)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
A real-time log configuration with this name already exists. You must provide a unique name. To
modify an existing real-time log configuration, use UpdateRealtimeLogConfig.
You have reached the maximum number of real-time log configurations for this AWS account. For
more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateStreamingDistribution
Creates a new RTMP 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 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.
Request Syntax
POST /2020-05-31/streaming-distribution HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionConfig xmlns="[Link]
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Aliases (p. 71)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
streaming distribution.
Required: No
CallerReference (p. 71)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment (p. 71)
Type: String
Required: Yes
Enabled (p. 71)
Whether the streaming distribution is enabled to accept user requests for content.
Type: Boolean
Required: Yes
Logging (p. 71)
A complex type that controls whether access logs are written for the streaming distribution.
Required: No
PriceClass (p. 71)
A complex type that contains information about price class for this streaming distribution.
Type: String
Required: No
S3Origin (p. 71)
A complex type that contains information about the Amazon S3 bucket from which you want
CloudFront to get your media files for distribution.
Required: Yes
TrustedSigners (p. 71)
A complex type that specifies any AWS accounts that you want to permit to create signed URLs for
private content. If you want the distribution to use signed URLs, include this element; if you want
the distribution to use public URLs, remove this element. For more information, see Serving Private
Content through CloudFront in the Amazon CloudFront Developer Guide.
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<ARN>string</ARN>
<DomainName>string</DomainName>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
</StreamingDistribution>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
ActiveTrustedSigners (p. 73)
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.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DomainName (p. 73)
The domain name that corresponds to the streaming distribution, for example,
[Link].
Type: String
Id (p. 73)
Type: String
LastModifiedTime (p. 73)
The date and time that the distribution was last modified.
Type: Timestamp
Status (p. 73)
The current status of the RTMP distribution. When the status is Deployed, the distribution's
information is propagated to all CloudFront edge locations.
Type: String
StreamingDistributionConfig (p. 73)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
The caller reference you attempted to create the streaming distribution with is associated with
another distribution
Your request contains more CNAMEs than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of streaming distributions
allowed.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CreateStreamingDistributionWithTags
Create a new streaming distribution with tags.
Request Syntax
POST /2020-05-31/streaming-distribution?WithTags HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionConfigWithTags xmlns="[Link]
doc/2020-05-31/">
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
<Tags>
<Items>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</Items>
</Tags>
</StreamingDistributionConfigWithTags>
Request Body
The request accepts the following data in XML format.
Required: Yes
StreamingDistributionConfig (p. 77)
Required: Yes
Tags (p. 77)
Required: Yes
Response Syntax
HTTP/1.1 201
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<ARN>string</ARN>
<DomainName>string</DomainName>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
</StreamingDistribution>
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
Required: Yes
ActiveTrustedSigners (p. 78)
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.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DomainName (p. 78)
The domain name that corresponds to the streaming distribution, for example,
[Link].
Type: String
Id (p. 78)
Type: String
LastModifiedTime (p. 78)
The date and time that the distribution was last modified.
Type: Timestamp
The current status of the RTMP distribution. When the status is Deployed, the distribution's
information is propagated to all CloudFront edge locations.
Type: String
StreamingDistributionConfig (p. 78)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
StreamingDistributionAlreadyExists
The caller reference you attempted to create the streaming distribution with is associated with
another distribution
Your request contains more CNAMEs than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of streaming distributions
allowed.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteCachePolicy
Deletes a cache policy.
You cannot delete a cache policy if it’s attached to a cache behavior. First update your distributions to
remove the cache policy from all cache behaviors, then delete the cache policy.
To delete a cache policy, you must provide the policy’s identifier and version. To get these values, you can
use ListCachePolicies or GetCachePolicy.
Request Syntax
DELETE /2020-05-31/cache-policy/Id HTTP/1.1
If-Match: IfMatch
Id (p. 82)
The unique identifier for the cache policy that you are deleting. To get the identifier, you can use
ListCachePolicies.
Required: Yes
If-Match (p. 82)
The version of the cache policy that you are deleting. The version is the cache policy’s ETag value,
which you can get using ListCachePolicies, GetCachePolicy, or GetCachePolicyConfig.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
CachePolicyInUse
Cannot delete the cache policy because it is attached to one or more cache behaviors.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteCloudFrontOriginAccessIdentity
Delete an origin access identity.
Request Syntax
DELETE /2020-05-31/origin-access-identity/cloudfront/Id HTTP/1.1
If-Match: IfMatch
Id (p. 84)
Required: Yes
If-Match (p. 84)
The value of the ETag header you received from a previous GET or PUT request. For example:
E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteDistribution
Delete a distribution.
Request Syntax
DELETE /2020-05-31/distribution/Id HTTP/1.1
If-Match: IfMatch
Id (p. 86)
Required: Yes
If-Match (p. 86)
The value of the ETag header that you received when you disabled the distribution. For example:
E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The specified CloudFront distribution is not disabled. You must disable the distribution before you
can delete it.
InvalidIfMatchVersion
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteFieldLevelEncryptionConfig
Remove a field-level encryption configuration.
Request Syntax
DELETE /2020-05-31/field-level-encryption/Id HTTP/1.1
If-Match: IfMatch
Id (p. 88)
Required: Yes
If-Match (p. 88)
The value of the ETag header that you received when retrieving the configuration identity to delete.
For example: E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteFieldLevelEncryptionProfile
Remove a field-level encryption profile.
Request Syntax
DELETE /2020-05-31/field-level-encryption-profile/Id HTTP/1.1
If-Match: IfMatch
Id (p. 90)
Required: Yes
If-Match (p. 90)
The value of the ETag header that you received when retrieving the profile to delete. For example:
E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteMonitoringSubscription
Disables additional CloudWatch metrics for the specified CloudFront distribution.
Request Syntax
DELETE /2020-05-31/distributions/DistributionId/monitoring-subscription HTTP/1.1
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteOriginRequestPolicy
Deletes an origin request policy.
You cannot delete an origin request policy if it’s attached to any cache behaviors. First update your
distributions to remove the origin request policy from all cache behaviors, then delete the origin request
policy.
To delete an origin request policy, you must provide the policy’s identifier and version. To get the
identifier, you can use ListOriginRequestPolicies or GetOriginRequestPolicy.
Request Syntax
DELETE /2020-05-31/origin-request-policy/Id HTTP/1.1
If-Match: IfMatch
Id (p. 94)
The unique identifier for the origin request policy that you are deleting. To get the identifier, you can
use ListOriginRequestPolicies.
Required: Yes
If-Match (p. 94)
The version of the origin request policy that you are deleting. The version is the origin
request policy’s ETag value, which you can get using ListOriginRequestPolicies,
GetOriginRequestPolicy, or GetOriginRequestPolicyConfig.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
Cannot delete the origin request policy because it is attached to one or more cache behaviors.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeletePublicKey
Remove a public key you previously added to CloudFront.
Request Syntax
DELETE /2020-05-31/public-key/Id HTTP/1.1
If-Match: IfMatch
Id (p. 96)
Required: Yes
If-Match (p. 96)
The value of the ETag header that you received when retrieving the public key identity to delete. For
example: E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteRealtimeLogConfig
Deletes a real-time log configuration.
You cannot delete a real-time log configuration if it’s attached to a cache behavior. First update your
distributions to remove the real-time log configuration from all cache behaviors, then delete the real-
time log configuration.
To delete a real-time log configuration, you can provide the configuration’s name or its Amazon Resource
Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify
the real-time log configuration to delete.
Request Syntax
POST /2020-05-31/delete-realtime-log-config/ HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<DeleteRealtimeLogConfigRequest xmlns="[Link]
<ARN>string</ARN>
<Name>string</Name>
</DeleteRealtimeLogConfigRequest>
Request Body
The request accepts the following data in XML format.
Required: Yes
ARN (p. 98)
The Amazon Resource Name (ARN) of the real-time log configuration to delete.
Type: String
Required: No
Name (p. 98)
Type: String
Required: No
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
Cannot delete the real-time log configuration because it is attached to one or more cache behaviors.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DeleteStreamingDistribution
Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the
following steps.
For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in
the Amazon CloudFront Developer Guide.
Request Syntax
DELETE /2020-05-31/streaming-distribution/Id HTTP/1.1
If-Match: IfMatch
Id (p. 100)
Required: Yes
If-Match (p. 100)
The value of the ETag header that you received when you disabled the streaming distribution. For
example: E2QWRUHAPOMQZL.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The precondition given in one or more of the request header fields evaluated to false.
The specified CloudFront distribution is not disabled. You must disable the distribution before you
can delete it.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetCachePolicy
Gets a cache policy, including the following metadata:
To get a cache policy, you must provide the policy’s identifier. If the cache policy is attached to a
distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or
GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier
using ListCachePolicies.
Request Syntax
GET /2020-05-31/cache-policy/Id HTTP/1.1
Id (p. 103)
The unique identifier for the cache policy. If the cache policy is attached to a distribution’s cache
behavior, you can get the policy’s identifier using ListDistributions or GetDistribution.
If the cache policy is not attached to a cache behavior, you can get the identifier using
ListCachePolicies.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicy>
<CachePolicyConfig>
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</CachePolicy>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CachePolicyConfig (p. 103)
Type: String
LastModifiedTime (p. 103)
The date and time when the cache policy was last modified.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetCachePolicyConfig
Gets a cache policy configuration.
To get a cache policy configuration, you must provide the policy’s identifier. If the cache
policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using
ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you
can get the identifier using ListCachePolicies.
Request Syntax
GET /2020-05-31/cache-policy/Id/config HTTP/1.1
Id (p. 106)
The unique identifier for the cache policy. If the cache policy is attached to a distribution’s cache
behavior, you can get the policy’s identifier using ListDistributions or GetDistribution.
If the cache policy is not attached to a cache behavior, you can get the identifier using
ListCachePolicies.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicyConfig>
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Comment (p. 106)
Type: String
DefaultTTL (p. 106)
The default amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated.
CloudFront uses this value as the object’s time to live (TTL) only when the origin does not send
Cache-Control or Expires headers with the object. For more information, see Managing How
Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
The default value for this field is 86400 seconds (one day). If the value of MinTTL is more than
86400 seconds, then the default value for this field is the same as the value of MinTTL.
Type: Long
MaxTTL (p. 106)
The maximum amount of time, in seconds, that objects stay in the CloudFront cache before
CloudFront sends another request to the origin to see if the object has been updated. CloudFront
uses this value only when the origin sends Cache-Control or Expires headers with the object.
For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
The default value for this field is 31536000 seconds (one year). If the value of MinTTL or
DefaultTTL is more than 31536000 seconds, then the default value for this field is the same as the
value of DefaultTTL.
Type: Long
The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
Type: Long
Name (p. 106)
Type: String
ParametersInCacheKeyAndForwardedToOrigin (p. 106)
The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in
the cache key are automatically included in requests that CloudFront sends to the origin.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetCloudFrontOriginAccessIdentity
Get the information about an origin access identity.
Request Syntax
GET /2020-05-31/origin-access-identity/cloudfront/Id HTTP/1.1
Id (p. 109)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentity>
<CloudFrontOriginAccessIdentityConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
</CloudFrontOriginAccessIdentityConfig>
<Id>string</Id>
<S3CanonicalUserId>string</S3CanonicalUserId>
</CloudFrontOriginAccessIdentity>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CloudFrontOriginAccessIdentityConfig (p. 109)
Type: String
S3CanonicalUserId (p. 109)
The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access
identity read permission to an object in Amazon S3.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetCloudFrontOriginAccessIdentityConfig
Get the configuration information about an origin access identity.
Request Syntax
GET /2020-05-31/origin-access-identity/cloudfront/Id/config HTTP/1.1
Id (p. 111)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentityConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
</CloudFrontOriginAccessIdentityConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CallerReference (p. 111)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If the CallerReference is a value already sent in a previous identity request, and the content of
the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring
white space), the response includes the same information returned to the original request.
If the CallerReference is a value you already sent in a previous request to create an identity, but
the content of the CloudFrontOriginAccessIdentityConfig is different from the original
request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
Type: String
Comment (p. 111)
Any comments you want to include about the origin access identity.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetDistribution
Get the information about a distribution.
Request Syntax
GET /2020-05-31/distribution/Id HTTP/1.1
Id (p. 113)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<Distribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<InProgressInvalidationBatches>integer</InProgressInvalidationBatches>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
</Distribution>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CloudFront automatically adds this element to the response only if you've set up the distribution to
serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware
of for each trusted signer. The Signer child element lists the AWS account number of the trusted
signer (or an empty Self element if the signer is you). The Signer element also includes the IDs
of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element
appears for a Signer, that signer can't create working signed URLs.
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DistributionConfig (p. 113)
The current configuration information for the distribution. Send a GET request to the /CloudFront
API version/distribution ID/config resource.
Type: String
Id (p. 113)
Type: String
InProgressInvalidationBatches (p. 113)
Type: Integer
LastModifiedTime (p. 113)
Type: Timestamp
Status (p. 113)
This response element indicates the current status of the distribution. When the status is Deployed,
the distribution's information is fully propagated to all CloudFront edge locations.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetDistributionConfig
Get the configuration information about a distribution.
Request Syntax
GET /2020-05-31/distribution/Id/config HTTP/1.1
Id (p. 120)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Aliases (p. 120)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Comment (p. 120)
To delete an existing comment, update the distribution configuration and include an empty
Comment element.
To add or change a comment, update the distribution configuration and specify the new comment.
Type: String
CustomErrorResponses (p. 120)
For more information about custom error pages, see Customizing Error Responses in the Amazon
CloudFront Developer Guide.
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.
The object that you want CloudFront to request from your origin (for example, [Link])
when a viewer requests the root URL for your distribution ([Link] instead
of an object in your distribution ([Link]
Specifying a default root object avoids exposing the contents of your distribution.
Specify only the object name, for example, [Link]. Don't add a / before the object name.
If you don't want to specify a default root object when you create a distribution, include an empty
DefaultRootObject element.
To delete the default root object from an existing distribution, update the distribution configuration
and include an empty DefaultRootObject element.
To replace the default root object, update the distribution configuration and specify the new object.
For more information about the default root object, see Creating a Default Root Object in the
Amazon CloudFront Developer Guide.
Type: String
Enabled (p. 120)
From this field, you can enable or disable the selected distribution.
Type: Boolean
HttpVersion (p. 120)
(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with
CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2
automatically use an earlier HTTP version.
For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support
Server Name Identification (SNI).
In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You
can improve performance by optimizing for HTTP/2. For more information, do an Internet search for
"http/2 optimization."
Type: String
If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution,
specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS
response code NOERROR and with no IP addresses. This allows viewers to submit a second request,
for an IPv4 address for your distribution.
In general, you should enable IPv6 if you have users on IPv6 networks who want to access your
content. However, if you're using signed URLs or signed cookies to restrict access to your content,
and if you're using a custom policy that includes the IpAddress parameter to restrict the IP
addresses that can access your content, don't enable IPv6. If you want to restrict access to some
content by IP address and not restrict access to other content (or restrict access but not by IP
address), you can create two distributions. For more information, see Creating a Signed URL Using a
Custom Policy in the Amazon CloudFront Developer Guide.
If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront
distribution, you need to create a second alias resource record set when both of the following are
true:
• You enable IPv6 for the distribution
• You're using alternate domain names in the URLs for your objects
For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your
Domain Name in the Amazon Route 53 Developer Guide.
If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS
service, you don't need to make any changes. A CNAME record will route traffic to your distribution
regardless of the IP address format of the viewer request.
Type: Boolean
Logging (p. 120)
A complex type that controls whether access logs are written for the distribution.
For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.
A complex type that contains information about origin groups for this distribution.
A complex type that contains information about origins for this distribution.
The price class that corresponds with the maximum price that you want to pay for CloudFront
service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all
CloudFront edge locations.
If you specify a price class other than PriceClass_All, CloudFront serves your objects from the
CloudFront edge location that has the lowest latency among the edge locations in your price class.
Viewers who are in or near regions that are excluded from your specified price class may encounter
slower performance.
For more information about price classes, see Choosing the Price Class for a CloudFront Distribution
in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how
price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing.
For price class information, scroll down to see the table at the bottom of the page.
Type: String
A complex type that identifies ways in which you want to restrict distribution of your content.
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.
To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-
f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the
ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.
AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that
are forwarded to CloudFront, and lets you control access to your content. Based on conditions that
you specify, such as the IP addresses that requests originate from or the values of query strings,
CloudFront responds to requests either with the requested content or with an HTTP 403 status code
(Forbidden). You can also configure CloudFront to return a custom error page when a request is
blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetFieldLevelEncryption
Get the field-level encryption configuration information.
Request Syntax
GET /2020-05-31/field-level-encryption/Id HTTP/1.1
Id (p. 129)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryption>
<FieldLevelEncryptionConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryption>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
FieldLevelEncryptionConfig (p. 129)
A complex data type that includes the profile configurations specified for field-level encryption.
The configuration ID for a field-level encryption configuration which includes a set of profiles that
specify certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 129)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetFieldLevelEncryptionConfig
Get the field-level encryption configuration information.
Request Syntax
GET /2020-05-31/field-level-encryption/Id/config HTTP/1.1
Id (p. 132)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CallerReference (p. 132)
Type: String
Comment (p. 132)
Type: String
ContentTypeProfileConfig (p. 132)
A complex data type that specifies when to forward content if a content type isn't recognized and
profiles to use as by default in a request if a query argument doesn't specify a profile to use.
A complex data type that specifies when to forward content if a profile isn't found and the profile
that can be provided as a query argument in a request.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetFieldLevelEncryptionProfile
Get the field-level encryption profile information.
Request Syntax
GET /2020-05-31/field-level-encryption-profile/Id HTTP/1.1
Id (p. 135)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfile>
<FieldLevelEncryptionProfileConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryptionProfile>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
FieldLevelEncryptionProfileConfig (p. 135)
A complex data type that includes the profile name and the encryption entities for the field-level
encryption profile.
The ID for a field-level encryption profile configuration which includes a set of profiles that specify
certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 135)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetFieldLevelEncryptionProfileConfig
Get the field-level encryption profile configuration information.
Request Syntax
GET /2020-05-31/field-level-encryption-profile/Id/config HTTP/1.1
Id (p. 138)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfileConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CallerReference (p. 138)
Type: String
Comment (p. 138)
Type: String
EncryptionEntities (p. 138)
A complex data type of encryption entities for the field-level encryption profile that include the
public key ID, provider, and field patterns for specifying which fields to encrypt with this key.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetInvalidation
Get the information about an invalidation.
Request Syntax
GET /2020-05-31/distribution/DistributionId/invalidation/Id HTTP/1.1
Required: Yes
Id (p. 140)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<Invalidation>
<CreateTime>timestamp</CreateTime>
<Id>string</Id>
<InvalidationBatch>
<CallerReference>string</CallerReference>
<Paths>
<Items>
<Path>string</Path>
</Items>
<Quantity>integer</Quantity>
</Paths>
</InvalidationBatch>
<Status>string</Status>
</Invalidation>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CreateTime (p. 140)
The date and time the invalidation request was first made.
Type: Timestamp
Id (p. 140)
Type: String
InvalidationBatch (p. 140)
The status of the invalidation request. When the invalidation batch is finished, the status is
Completed.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetMonitoringSubscription
Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront
distribution.
Request Syntax
GET /2020-05-31/distributions/DistributionId/monitoring-subscription HTTP/1.1
The ID of the distribution that you are getting metrics information for.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<MonitoringSubscription>
<RealtimeMetricsSubscriptionConfig>
<RealtimeMetricsSubscriptionStatus>string</RealtimeMetricsSubscriptionStatus>
</RealtimeMetricsSubscriptionConfig>
</MonitoringSubscription>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
RealtimeMetricsSubscriptionConfig (p. 143)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetOriginRequestPolicy
Gets an origin request policy, including the following metadata:
To get an origin request policy, you must provide the policy’s identifier. If the origin request
policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using
ListDistributions or GetDistribution. If the origin request policy is not attached to a cache
behavior, you can get the identifier using ListOriginRequestPolicies.
Request Syntax
GET /2020-05-31/origin-request-policy/Id HTTP/1.1
Id (p. 145)
The unique identifier for the origin request policy. If the origin request policy is attached to a
distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or
GetDistribution. If the origin request policy is not attached to a cache behavior, you can get the
identifier using ListOriginRequestPolicies.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicy>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
</OriginRequestPolicy>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Id (p. 145)
Type: String
LastModifiedTime (p. 145)
The date and time when the origin request policy was last modified.
Type: Timestamp
OriginRequestPolicyConfig (p. 145)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetOriginRequestPolicyConfig
Gets an origin request policy configuration.
To get an origin request policy configuration, you must provide the policy’s identifier. If the origin
request policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using
ListDistributions or GetDistribution. If the origin request policy is not attached to a cache
behavior, you can get the identifier using ListOriginRequestPolicies.
Request Syntax
GET /2020-05-31/origin-request-policy/Id/config HTTP/1.1
Id (p. 148)
The unique identifier for the origin request policy. If the origin request policy is attached to a
distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or
GetDistribution. If the origin request policy is not attached to a cache behavior, you can get the
identifier using ListOriginRequestPolicies.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Comment (p. 148)
Type: String
CookiesConfig (p. 148)
The HTTP headers to include in origin requests. These can include headers from viewer requests and
additional headers added by CloudFront.
Type: String
QueryStringsConfig (p. 148)
The URL query strings from viewer requests to include in origin requests.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
NoSuchOriginRequestPolicy
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetPublicKey
Get the public key information.
Request Syntax
GET /2020-05-31/public-key/Id HTTP/1.1
Id (p. 151)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<PublicKey>
<CreatedTime>timestamp</CreatedTime>
<Id>string</Id>
<PublicKeyConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
</PublicKey>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CreatedTime (p. 151)
Type: Timestamp
Id (p. 151)
Type: String
PublicKeyConfig (p. 151)
A complex data type for a public key you add to CloudFront to use with features like field-level
encryption.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetPublicKeyConfig
Return public key configuration informaation
Request Syntax
GET /2020-05-31/public-key/Id/config HTTP/1.1
Id (p. 153)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<PublicKeyConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CallerReference (p. 153)
Type: String
Comment (p. 153)
Type: String
EncodedKey (p. 153)
The encoded public key that you want to add to CloudFront to use with features like field-level
encryption.
Type: String
Name (p. 153)
The name for a public key you add to CloudFront to use with features like field-level encryption.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetRealtimeLogConfig
Gets a real-time log configuration.
To get a real-time log configuration, you can provide the configuration’s name or its Amazon Resource
Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify
the real-time log configuration to get.
Request Syntax
POST /2020-05-31/get-realtime-log-config/ HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<GetRealtimeLogConfigRequest xmlns="[Link]
<ARN>string</ARN>
<Name>string</Name>
</GetRealtimeLogConfigRequest>
Request Body
The request accepts the following data in XML format.
Required: Yes
ARN (p. 155)
The Amazon Resource Name (ARN) of the real-time log configuration to get.
Type: String
Required: No
Name (p. 155)
Type: String
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<GetRealtimeLogConfigResult>
<RealtimeLogConfig>
<ARN>string</ARN>
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</RealtimeLogConfig>
</GetRealtimeLogConfigResult>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
RealtimeLogConfig (p. 155)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetStreamingDistribution
Gets information about a specified RTMP distribution, including the distribution configuration.
Request Syntax
GET /2020-05-31/streaming-distribution/Id HTTP/1.1
Id (p. 158)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<ARN>string</ARN>
<DomainName>string</DomainName>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
</StreamingDistribution>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
ActiveTrustedSigners (p. 158)
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.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DomainName (p. 158)
The domain name that corresponds to the streaming distribution, for example,
[Link].
Type: String
Id (p. 158)
Type: String
LastModifiedTime (p. 158)
The date and time that the distribution was last modified.
Type: Timestamp
Status (p. 158)
The current status of the RTMP distribution. When the status is Deployed, the distribution's
information is propagated to all CloudFront edge locations.
Type: String
StreamingDistributionConfig (p. 158)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
GetStreamingDistributionConfig
Get the configuration information about a streaming distribution.
Request Syntax
GET /2020-05-31/streaming-distribution/Id/config HTTP/1.1
Id (p. 161)
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Aliases (p. 161)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
streaming distribution.
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Comment (p. 161)
Type: String
Enabled (p. 161)
Whether the streaming distribution is enabled to accept user requests for content.
Type: Boolean
Logging (p. 161)
A complex type that controls whether access logs are written for the streaming distribution.
A complex type that contains information about price class for this streaming distribution.
Type: String
A complex type that contains information about the Amazon S3 bucket from which you want
CloudFront to get your media files for distribution.
A complex type that specifies any AWS accounts that you want to permit to create signed URLs for
private content. If you want the distribution to use signed URLs, include this element; if you want
the distribution to use public URLs, remove this element. For more information, see Serving Private
Content through CloudFront in the Amazon CloudFront Developer Guide.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListCachePolicies
Gets a list of cache policies.
You can optionally apply a filter to return only the managed policies created by AWS, or only the custom
policies created in your AWS account.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
GET /2020-05-31/cache-policy?Marker=Marker&MaxItems=MaxItems&Type=Type HTTP/1.1
Use this field when paginating results to indicate where to begin in your list of cache policies. The
response includes cache policies in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of NextMarker from the current page’s response.
MaxItems (p. 164)
The maximum number of cache policies that you want in the response.
Type (p. 164)
A filter to return only the specified kinds of cache policies. Valid values are:
• managed – Returns only the managed policies created by AWS.
• custom – Returns only the custom policies created in your AWS account.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicyList>
<Items>
<CachePolicySummary>
<CachePolicy>
<CachePolicyConfig>
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</CachePolicy>
<Type>string</Type>
</CachePolicySummary>
</Items>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</CachePolicyList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 164)
Type: Integer
NextMarker (p. 164)
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing cache
policies where you left off.
Type: String
Quantity (p. 164)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListCloudFrontOriginAccessIdentities
Lists origin access identities.
Request Syntax
GET /2020-05-31/origin-access-identity/cloudfront?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this when paginating results to indicate where to begin in your list of origin access identities.
The results include identities in the list that occur after the marker. To get the next page of results,
set the Marker to the value of the NextMarker from the current page's response (which is also the
ID of the last identity on that page).
MaxItems (p. 167)
The maximum number of origin access identities you want in the response body.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentityList>
<IsTruncated>boolean</IsTruncated>
<Items>
<CloudFrontOriginAccessIdentitySummary>
<Comment>string</Comment>
<Id>string</Id>
<S3CanonicalUserId>string</S3CanonicalUserId>
</CloudFrontOriginAccessIdentitySummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</CloudFrontOriginAccessIdentityList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 167)
A flag that indicates whether more origin access identities remain to be listed. If your results were
truncated, you can make a follow-up pagination request using the Marker request parameter to
retrieve more items in the list.
Type: Boolean
Items (p. 167)
Use this when paginating results to indicate where to begin in your list of origin access identities.
The results include identities in the list that occur after the marker. To get the next page of results,
set the Marker to the value of the NextMarker from the current page's response (which is also the
ID of the last identity on that page).
Type: String
MaxItems (p. 167)
The maximum number of origin access identities you want in the response body.
Type: Integer
NextMarker (p. 167)
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your origin access identities where they left off.
Type: String
Quantity (p. 167)
The number of CloudFront origin access identities that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListDistributions
List CloudFront distributions.
Request Syntax
GET /2020-05-31/distribution?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this when paginating results to indicate where to begin in your list of distributions. The results
include distributions in the list that occur after the marker. To get the next page of results, set the
Marker to the value of the NextMarker from the current page's response (which is also the ID of
the last distribution on that page).
MaxItems (p. 170)
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionList>
<IsTruncated>boolean</IsTruncated>
<Items>
<DistributionSummary>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DomainName>string</DomainName>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<Id>string</Id>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<Status>string</Status>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionSummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</DistributionList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 170)
A flag that indicates whether more distributions remain to be listed. If your results were truncated,
you can make a follow-up pagination request using the Marker request parameter to retrieve more
distributions in the list.
Type: Boolean
Items (p. 170)
A complex type that contains one DistributionSummary element for each distribution that was
created by the current AWS account.
Type: String
MaxItems (p. 170)
Type: Integer
NextMarker (p. 170)
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your distributions where they left off.
Type: String
Quantity (p. 170)
The number of distributions that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListDistributionsByCachePolicyId
Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the
specified cache policy.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
GET /2020-05-31/distributionsByCachePolicyId/CachePolicyId?Marker=Marker&MaxItems=MaxItems
HTTP/1.1
The ID of the cache policy whose associated distribution IDs you want to list.
Required: Yes
Marker (p. 176)
Use this field when paginating results to indicate where to begin in your list of distribution IDs. The
response includes distribution IDs in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of NextMarker from the current page’s response.
MaxItems (p. 176)
The maximum number of distribution IDs that you want in the response.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionIdList>
<IsTruncated>boolean</IsTruncated>
<Items>
<DistributionId>string</DistributionId>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</DistributionIdList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 176)
A flag that indicates whether more distribution IDs remain to be listed. If your results were
truncated, you can make a subsequent request using the Marker request field to retrieve more
distribution IDs in the list.
Type: Boolean
Items (p. 176)
Type: String
MaxItems (p. 176)
Type: Integer
NextMarker (p. 176)
Contains the value that you should use in the Marker field of a subsequent request to continue
listing distribution IDs where you left off.
Type: String
Quantity (p. 176)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListDistributionsByOriginRequestPolicyId
Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the
specified origin request policy.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
GET /2020-05-31/distributionsByOriginRequestPolicyId/OriginRequestPolicyId?
Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this field when paginating results to indicate where to begin in your list of distribution IDs. The
response includes distribution IDs in the list that occur after the marker. To get the next page of the
list, set this field’s value to the value of NextMarker from the current page’s response.
MaxItems (p. 179)
The maximum number of distribution IDs that you want in the response.
OriginRequestPolicyId (p. 179)
The ID of the origin request policy whose associated distribution IDs you want to list.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionIdList>
<IsTruncated>boolean</IsTruncated>
<Items>
<DistributionId>string</DistributionId>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</DistributionIdList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 179)
A flag that indicates whether more distribution IDs remain to be listed. If your results were
truncated, you can make a subsequent request using the Marker request field to retrieve more
distribution IDs in the list.
Type: Boolean
Items (p. 179)
Type: String
MaxItems (p. 179)
Type: Integer
NextMarker (p. 179)
Contains the value that you should use in the Marker field of a subsequent request to continue
listing distribution IDs where you left off.
Type: String
Quantity (p. 179)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListDistributionsByRealtimeLogConfig
Gets a list of distributions that have a cache behavior that’s associated with the specified real-time log
configuration.
You can specify the real-time log configuration by its name or its Amazon Resource Name (ARN). You
must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log
configuration to list distributions for.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
POST /2020-05-31/distributionsByRealtimeLogConfig/ HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<ListDistributionsByRealtimeLogConfigRequest xmlns="[Link]
doc/2020-05-31/">
<Marker>string</Marker>
<MaxItems>string</MaxItems>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<RealtimeLogConfigName>string</RealtimeLogConfigName>
</ListDistributionsByRealtimeLogConfigRequest>
Request Body
The request accepts the following data in XML format.
Required: Yes
Marker (p. 182)
Use this field when paginating results to indicate where to begin in your list of distributions. The
response includes distributions in the list that occur after the marker. To get the next page of the list,
set this field’s value to the value of NextMarker from the current page’s response.
Type: String
Required: No
MaxItems (p. 182)
Type: String
Required: No
The Amazon Resource Name (ARN) of the real-time log configuration whose associated distributions
you want to list.
Type: String
Required: No
RealtimeLogConfigName (p. 182)
The name of the real-time log configuration whose associated distributions you want to list.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionList>
<IsTruncated>boolean</IsTruncated>
<Items>
<DistributionSummary>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DomainName>string</DomainName>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<Id>string</Id>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<Status>string</Status>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionSummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</DistributionList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 183)
A flag that indicates whether more distributions remain to be listed. If your results were truncated,
you can make a follow-up pagination request using the Marker request parameter to retrieve more
distributions in the list.
Type: Boolean
Items (p. 183)
A complex type that contains one DistributionSummary element for each distribution that was
created by the current AWS account.
Type: String
MaxItems (p. 183)
Type: Integer
NextMarker (p. 183)
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your distributions where they left off.
Type: String
Quantity (p. 183)
The number of distributions that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListDistributionsByWebACLId
List the distributions that are associated with a specified AWS WAF web ACL.
Request Syntax
GET /2020-05-31/distributionsByWebACLId/WebACLId?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use Marker and MaxItems to control pagination of results. If you have more than MaxItems
distributions that satisfy the request, the response includes a NextMarker element. To get the next
page of results, submit another request. For the value of Marker, specify the value of NextMarker
from the last response. (For the first request, omit Marker.)
MaxItems (p. 189)
The maximum number of distributions that you want CloudFront to return in the response body. The
maximum and default values are both 100.
WebACLId (p. 189)
The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify
"null" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<DistributionList>
<IsTruncated>boolean</IsTruncated>
<Items>
<DistributionSummary>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DomainName>string</DomainName>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<Id>string</Id>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<Status>string</Status>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionSummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</DistributionList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 189)
A flag that indicates whether more distributions remain to be listed. If your results were truncated,
you can make a follow-up pagination request using the Marker request parameter to retrieve more
distributions in the list.
Type: Boolean
Items (p. 189)
A complex type that contains one DistributionSummary element for each distribution that was
created by the current AWS account.
Type: String
MaxItems (p. 189)
Type: Integer
NextMarker (p. 189)
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your distributions where they left off.
Type: String
Quantity (p. 189)
The number of distributions that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS
WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/
webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify
a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-
f30b-4765-81a0-62ad96dd167a.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListFieldLevelEncryptionConfigs
List all field-level encryption configurations that have been created in CloudFront for this account.
Request Syntax
GET /2020-05-31/field-level-encryption?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this when paginating results to indicate where to begin in your list of configurations. The results
include configurations in the list that occur after the marker. To get the next page of results, set the
Marker to the value of the NextMarker from the current page's response (which is also the ID of
the last configuration on that page).
MaxItems (p. 196)
The maximum number of field-level encryption configurations you want in the response body.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionList>
<Items>
<FieldLevelEncryptionSummary>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionSummary>
</Items>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</FieldLevelEncryptionList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 196)
Type: Integer
NextMarker (p. 196)
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your configurations where you left off.
Type: String
Quantity (p. 196)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListFieldLevelEncryptionProfiles
Request a list of field-level encryption profiles that have been created in CloudFront for this account.
Request Syntax
GET /2020-05-31/field-level-encryption-profile?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this when paginating results to indicate where to begin in your list of profiles. The results
include profiles in the list that occur after the marker. To get the next page of results, set the
Marker to the value of the NextMarker from the current page's response (which is also the ID of
the last profile on that page).
MaxItems (p. 199)
The maximum number of field-level encryption profiles you want in the response body.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfileList>
<Items>
<FieldLevelEncryptionProfileSummary>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<Name>string</Name>
</FieldLevelEncryptionProfileSummary>
</Items>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</FieldLevelEncryptionProfileList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 199)
The maximum number of field-level encryption profiles you want in the response body.
Type: Integer
NextMarker (p. 199)
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your profiles where you left off.
Type: String
Quantity (p. 199)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListInvalidations
Lists invalidation batches.
Request Syntax
GET /2020-05-31/distribution/DistributionId/invalidation?Marker=Marker&MaxItems=MaxItems
HTTP/1.1
Required: Yes
Marker (p. 202)
Use this parameter when paginating results to indicate where to begin in your list of invalidation
batches. Because the results are returned in decreasing order from most recent to oldest, the most
recent results are on the first page, the second page will contain earlier results, and so on. To get the
next page of results, set Marker to the value of the NextMarker from the current page's response.
This value is the same as the ID of the last invalidation batch on that page.
MaxItems (p. 202)
The maximum number of invalidation batches that you want in the response body.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<InvalidationList>
<IsTruncated>boolean</IsTruncated>
<Items>
<InvalidationSummary>
<CreateTime>timestamp</CreateTime>
<Id>string</Id>
<Status>string</Status>
</InvalidationSummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</InvalidationList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 202)
A flag that indicates whether more invalidation batch requests remain to be listed. If your results
were truncated, you can make a follow-up pagination request using the Marker request parameter
to retrieve more invalidation batches in the list.
Type: Boolean
Items (p. 202)
A complex type that contains one InvalidationSummary element for each invalidation batch
created by the current AWS account.
The value that you provided for the Marker request parameter.
Type: String
MaxItems (p. 202)
The value that you provided for the MaxItems request parameter.
Type: Integer
NextMarker (p. 202)
If IsTruncated is true, this element is present and contains the value that you can use for the
Marker request parameter to continue listing your invalidation batches where they left off.
Type: String
Quantity (p. 202)
The number of invalidation batches that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
NoSuchDistribution
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListOriginRequestPolicies
Gets a list of origin request policies.
You can optionally apply a filter to return only the managed policies created by AWS, or only the custom
policies created in your AWS account.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
GET /2020-05-31/origin-request-policy?Marker=Marker&MaxItems=MaxItems&Type=Type HTTP/1.1
Use this field when paginating results to indicate where to begin in your list of origin request
policies. The response includes origin request policies in the list that occur after the marker. To get
the next page of the list, set this field’s value to the value of NextMarker from the current page’s
response.
MaxItems (p. 205)
The maximum number of origin request policies that you want in the response.
Type (p. 205)
A filter to return only the specified kinds of origin request policies. Valid values are:
• managed – Returns only the managed policies created by AWS.
• custom – Returns only the custom policies created in your AWS account.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicyList>
<Items>
<OriginRequestPolicySummary>
<OriginRequestPolicy>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
</OriginRequestPolicy>
<Type>string</Type>
</OriginRequestPolicySummary>
</Items>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</OriginRequestPolicyList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 205)
Type: Integer
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing origin
request policies where you left off.
Type: String
Quantity (p. 205)
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListPublicKeys
List all public keys that have been added to CloudFront for this account.
Request Syntax
GET /2020-05-31/public-key?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this when paginating results to indicate where to begin in your list of public keys. The results
include public keys in the list that occur after the marker. To get the next page of results, set the
Marker to the value of the NextMarker from the current page's response (which is also the ID of
the last public key on that page).
MaxItems (p. 208)
The maximum number of public keys you want in the response body.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<PublicKeyList>
<Items>
<PublicKeySummary>
<Comment>string</Comment>
<CreatedTime>timestamp</CreatedTime>
<EncodedKey>string</EncodedKey>
<Id>string</Id>
<Name>string</Name>
</PublicKeySummary>
</Items>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</PublicKeyList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 208)
An array of information about a public key you add to CloudFront to use with features like field-level
encryption.
The maximum number of public keys you want in the response body.
Type: Integer
NextMarker (p. 208)
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your public keys where you left off.
Type: String
Quantity (p. 208)
The number of public keys you added to CloudFront to use with features like field-level encryption.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListRealtimeLogConfigs
Gets a list of real-time log configurations.
You can optionally specify the maximum number of items to receive in the response. If the total number
of items in the list exceeds the maximum that you specify, or the default maximum, the response is
paginated. To get the next page of items, send a subsequent request that specifies the NextMarker
value from the current response as the Marker value in the subsequent request.
Request Syntax
GET /2020-05-31/realtime-log-config?Marker=Marker&MaxItems=MaxItems HTTP/1.1
Use this field when paginating results to indicate where to begin in your list of real-time log
configurations. The response includes real-time log configurations in the list that occur after the
marker. To get the next page of the list, set this field’s value to the value of NextMarker from the
current page’s response.
MaxItems (p. 210)
The maximum number of real-time log configurations that you want in the response.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<RealtimeLogConfigs>
<IsTruncated>boolean</IsTruncated>
<Items>
<RealtimeLogConfig>
<ARN>string</ARN>
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</RealtimeLogConfig>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
</RealtimeLogConfigs>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 210)
A flag that indicates whether there are more real-time log configurations than are contained in this
list.
Type: Boolean
Items (p. 210)
This parameter indicates where this list of real-time log configurations begins. This list includes real-
time log configurations that occur after the marker.
Type: String
MaxItems (p. 210)
Type: Integer
NextMarker (p. 210)
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing real-time
log configurations where you left off.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListStreamingDistributions
List streaming distributions.
Request Syntax
GET /2020-05-31/streaming-distribution?Marker=Marker&MaxItems=MaxItems HTTP/1.1
The value that you provided for the Marker request parameter.
MaxItems (p. 213)
The value that you provided for the MaxItems request parameter.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionList>
<IsTruncated>boolean</IsTruncated>
<Items>
<StreamingDistributionSummary>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<ARN>string</ARN>
<Comment>string</Comment>
<DomainName>string</DomainName>
<Enabled>boolean</Enabled>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<Status>string</Status>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionSummary>
</Items>
<Marker>string</Marker>
<MaxItems>integer</MaxItems>
<NextMarker>string</NextMarker>
<Quantity>integer</Quantity>
</StreamingDistributionList>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
IsTruncated (p. 213)
A flag that indicates whether more streaming distributions remain to be listed. If your results were
truncated, you can make a follow-up pagination request using the Marker request parameter to
retrieve more distributions in the list.
Type: Boolean
Items (p. 213)
Type: String
MaxItems (p. 213)
Type: Integer
NextMarker (p. 213)
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your RTMP distributions where they left off.
Type: String
Quantity (p. 213)
The number of streaming distributions that were created by the current AWS account.
Type: Integer
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ListTagsForResource
List tags for a CloudFront resource.
Request Syntax
GET /2020-05-31/tagging?Resource=Resource HTTP/1.1
Pattern: arn:aws(-cn)?:cloudfront::[0-9]+:.*
Required: Yes
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<Tags>
<Items>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</Items>
</Tags>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Items (p. 216)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
TagResource
Add tags to a CloudFront resource.
Request Syntax
POST /2020-05-31/tagging?Operation=Tag HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<Tags xmlns="[Link]
<Items>
<Tag>
<Key>string</Key>
<Value>string</Value>
</Tag>
</Items>
</Tags>
Request Body
The request accepts the following data in XML format.
Required: Yes
Items (p. 218)
Required: No
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UntagResource
Remove tags from a CloudFront resource.
Request Syntax
POST /2020-05-31/tagging?Operation=Untag HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<TagKeys xmlns="[Link]
<Items>
<Key>string</Key>
</Items>
</TagKeys>
Request Body
The request accepts the following data in XML format.
Required: Yes
Items (p. 220)
Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
Required: No
Response Syntax
HTTP/1.1 204
Response Elements
If the action is successful, the service sends back an HTTP 204 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateCachePolicy
Updates a cache policy configuration.
When you update a cache policy configuration, all the fields are updated with the values provided in the
request. You cannot update some fields independent of others. To update a cache policy configuration:
Request Syntax
PUT /2020-05-31/cache-policy/Id HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicyConfig xmlns="[Link]
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Comment (p. 222)
Type: String
Required: No
DefaultTTL (p. 222)
The default amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated.
CloudFront uses this value as the object’s time to live (TTL) only when the origin does not send
Cache-Control or Expires headers with the object. For more information, see Managing How
Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
The default value for this field is 86400 seconds (one day). If the value of MinTTL is more than
86400 seconds, then the default value for this field is the same as the value of MinTTL.
Type: Long
Required: No
MaxTTL (p. 222)
The maximum amount of time, in seconds, that objects stay in the CloudFront cache before
CloudFront sends another request to the origin to see if the object has been updated. CloudFront
uses this value only when the origin sends Cache-Control or Expires headers with the object.
For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
The default value for this field is 31536000 seconds (one year). If the value of MinTTL or
DefaultTTL is more than 31536000 seconds, then the default value for this field is the same as the
value of DefaultTTL.
Type: Long
Required: No
MinTTL (p. 222)
The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
Type: Long
Required: Yes
Name (p. 222)
Type: String
Required: Yes
ParametersInCacheKeyAndForwardedToOrigin (p. 222)
The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in
the cache key are automatically included in requests that CloudFront sends to the origin.
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<CachePolicy>
<CachePolicyConfig>
<Comment>string</Comment>
<DefaultTTL>long</DefaultTTL>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<Name>string</Name>
<ParametersInCacheKeyAndForwardedToOrigin>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<EnableAcceptEncodingGzip>boolean</EnableAcceptEncodingGzip>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</ParametersInCacheKeyAndForwardedToOrigin>
</CachePolicyConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</CachePolicy>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CachePolicyConfig (p. 224)
Type: String
LastModifiedTime (p. 224)
The date and time when the cache policy was last modified.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
A cache policy with this name already exists. You must provide a unique name. To modify an existing
cache policy, use UpdateCachePolicy.
An argument is invalid.
NoSuchCachePolicy
The precondition given in one or more of the request header fields evaluated to false.
The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas
(formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of headers in the cache policy exceeds the maximum. For more information, see Quotas
(formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of query strings in the cache policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateCloudFrontOriginAccessIdentity
Update an origin access identity.
Request Syntax
PUT /2020-05-31/origin-access-identity/cloudfront/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<CloudFrontOriginAccessIdentityConfig xmlns="[Link]
doc/2020-05-31/">
<CallerReference>string</CallerReference>
<Comment>string</Comment>
</CloudFrontOriginAccessIdentityConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 227)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If the CallerReference is a value already sent in a previous identity request, and the content of
the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring
white space), the response includes the same information returned to the original request.
If the CallerReference is a value you already sent in a previous request to create an identity, but
the content of the CloudFrontOriginAccessIdentityConfig is different from the original
request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
Type: String
Required: Yes
Comment (p. 227)
Any comments you want to include about the origin access identity.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CloudFrontOriginAccessIdentityConfig (p. 227)
Type: String
S3CanonicalUserId (p. 227)
The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access
identity read permission to an object in Amazon S3.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
InvalidArgument
An argument is invalid.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateDistribution
Updates the configuration for a web distribution.
Important
When you update a distribution, there are more required fields than when you create a
distribution. When you update your distribution by using this API action, follow the steps here to
get the current configuration and then make your updates, to make sure that you include all of
the required fields. To view a summary, see Required Fields for Create Distribution and Update
Distribution in the Amazon CloudFront Developer Guide.
The update process includes getting the current distribution configuration, updating the XML document
that is returned to make your changes, and then submitting an UpdateDistribution request to make
the updates.
For information about updating a distribution using the CloudFront console instead, see Creating a
Distribution in the Amazon CloudFront Developer Guide.
1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the
distribution.
Note
If you update the distribution again, you must get a new Etag header.
2. Update the XML document that was returned in the response to your GetDistributionConfig
request to include your changes.
Important
When you edit the XML file, be aware of the following:
• You must strip out the ETag parameter that is returned.
• Additional fields are required when you update a distribution. There may be fields included
in the XML file for features that you haven't configured for your distribution. This is
expected and required to successfully update the distribution.
• 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 your 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.
Request Syntax
PUT /2020-05-31/distribution/Id/config HTTP/1.1
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Aliases (p. 230)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
Required: No
CacheBehaviors (p. 230)
Required: No
CallerReference (p. 230)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment (p. 230)
To delete an existing comment, update the distribution configuration and include an empty
Comment element.
To add or change a comment, update the distribution configuration and specify the new comment.
Type: String
Required: Yes
CustomErrorResponses (p. 230)
For more information about custom error pages, see Customizing Error Responses in the Amazon
CloudFront Developer Guide.
Required: No
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.
Required: Yes
DefaultRootObject (p. 230)
The object that you want CloudFront to request from your origin (for example, [Link])
when a viewer requests the root URL for your distribution ([Link] instead
of an object in your distribution ([Link]
Specifying a default root object avoids exposing the contents of your distribution.
Specify only the object name, for example, [Link]. Don't add a / before the object name.
If you don't want to specify a default root object when you create a distribution, include an empty
DefaultRootObject element.
To delete the default root object from an existing distribution, update the distribution configuration
and include an empty DefaultRootObject element.
To replace the default root object, update the distribution configuration and specify the new object.
For more information about the default root object, see Creating a Default Root Object in the
Amazon CloudFront Developer Guide.
Type: String
Required: No
Enabled (p. 230)
From this field, you can enable or disable the selected distribution.
Type: Boolean
Required: Yes
HttpVersion (p. 230)
(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with
CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2
automatically use an earlier HTTP version.
For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support
Server Name Identification (SNI).
In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You
can improve performance by optimizing for HTTP/2. For more information, do an Internet search for
"http/2 optimization."
Type: String
Required: No
IsIPV6Enabled (p. 230)
If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution,
specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS
response code NOERROR and with no IP addresses. This allows viewers to submit a second request,
for an IPv4 address for your distribution.
In general, you should enable IPv6 if you have users on IPv6 networks who want to access your
content. However, if you're using signed URLs or signed cookies to restrict access to your content,
and if you're using a custom policy that includes the IpAddress parameter to restrict the IP
addresses that can access your content, don't enable IPv6. If you want to restrict access to some
content by IP address and not restrict access to other content (or restrict access but not by IP
address), you can create two distributions. For more information, see Creating a Signed URL Using a
Custom Policy in the Amazon CloudFront Developer Guide.
If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront
distribution, you need to create a second alias resource record set when both of the following are
true:
• You enable IPv6 for the distribution
• You're using alternate domain names in the URLs for your objects
For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your
Domain Name in the Amazon Route 53 Developer Guide.
If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS
service, you don't need to make any changes. A CNAME record will route traffic to your distribution
regardless of the IP address format of the viewer request.
Type: Boolean
Required: No
Logging (p. 230)
A complex type that controls whether access logs are written for the distribution.
For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.
Required: No
OriginGroups (p. 230)
A complex type that contains information about origin groups for this distribution.
Required: No
Origins (p. 230)
A complex type that contains information about origins for this distribution.
Required: Yes
PriceClass (p. 230)
The price class that corresponds with the maximum price that you want to pay for CloudFront
service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all
CloudFront edge locations.
If you specify a price class other than PriceClass_All, CloudFront serves your objects from the
CloudFront edge location that has the lowest latency among the edge locations in your price class.
Viewers who are in or near regions that are excluded from your specified price class may encounter
slower performance.
For more information about price classes, see Choosing the Price Class for a CloudFront Distribution
in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how
price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing.
For price class information, scroll down to see the table at the bottom of the page.
Type: String
Required: No
Restrictions (p. 230)
A complex type that identifies ways in which you want to restrict distribution of your content.
Required: No
ViewerCertificate (p. 230)
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
Required: No
WebACLId (p. 230)
A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.
To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-
f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the
ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.
AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that
are forwarded to CloudFront, and lets you control access to your content. Based on conditions that
you specify, such as the IP addresses that requests originate from or the values of query strings,
CloudFront responds to requests either with the requested content or with an HTTP 403 status code
(Forbidden). You can also configure CloudFront to return a custom error page when a request is
blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.
Type: String
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<Distribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<AliasICPRecordals>
<AliasICPRecordal>
<CNAME>string</CNAME>
<ICPRecordalStatus>string</ICPRecordalStatus>
</AliasICPRecordal>
</AliasICPRecordals>
<ARN>string</ARN>
<DistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CacheBehaviors>
<Items>
<CacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<PathPattern>string</PathPattern>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</CacheBehavior>
</Items>
<Quantity>integer</Quantity>
</CacheBehaviors>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<CustomErrorResponses>
<Items>
<CustomErrorResponse>
<ErrorCachingMinTTL>long</ErrorCachingMinTTL>
<ErrorCode>integer</ErrorCode>
<ResponseCode>string</ResponseCode>
<ResponsePagePath>string</ResponsePagePath>
</CustomErrorResponse>
</Items>
<Quantity>integer</Quantity>
</CustomErrorResponses>
<DefaultCacheBehavior>
<AllowedMethods>
<CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</CachedMethods>
<Items>
<Method>string</Method>
</Items>
<Quantity>integer</Quantity>
</AllowedMethods>
<CachePolicyId>string</CachePolicyId>
<Compress>boolean</Compress>
<DefaultTTL>long</DefaultTTL>
<FieldLevelEncryptionId>string</FieldLevelEncryptionId>
<ForwardedValues>
<Cookies>
<Forward>string</Forward>
<WhitelistedNames>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</WhitelistedNames>
</Cookies>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
<QueryString>boolean</QueryString>
<QueryStringCacheKeys>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStringCacheKeys>
</ForwardedValues>
<LambdaFunctionAssociations>
<Items>
<LambdaFunctionAssociation>
<EventType>string</EventType>
<IncludeBody>boolean</IncludeBody>
<LambdaFunctionARN>string</LambdaFunctionARN>
</LambdaFunctionAssociation>
</Items>
<Quantity>integer</Quantity>
</LambdaFunctionAssociations>
<MaxTTL>long</MaxTTL>
<MinTTL>long</MinTTL>
<OriginRequestPolicyId>string</OriginRequestPolicyId>
<RealtimeLogConfigArn>string</RealtimeLogConfigArn>
<SmoothStreaming>boolean</SmoothStreaming>
<TargetOriginId>string</TargetOriginId>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
<ViewerProtocolPolicy>string</ViewerProtocolPolicy>
</DefaultCacheBehavior>
<DefaultRootObject>string</DefaultRootObject>
<Enabled>boolean</Enabled>
<HttpVersion>string</HttpVersion>
<IsIPV6Enabled>boolean</IsIPV6Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<IncludeCookies>boolean</IncludeCookies>
<Prefix>string</Prefix>
</Logging>
<OriginGroups>
<Items>
<OriginGroup>
<FailoverCriteria>
<StatusCodes>
<Items>
<StatusCode>integer</StatusCode>
</Items>
<Quantity>integer</Quantity>
</StatusCodes>
</FailoverCriteria>
<Id>string</Id>
<Members>
<Items>
<OriginGroupMember>
<OriginId>string</OriginId>
</OriginGroupMember>
</Items>
<Quantity>integer</Quantity>
</Members>
</OriginGroup>
</Items>
<Quantity>integer</Quantity>
</OriginGroups>
<Origins>
<Items>
<Origin>
<ConnectionAttempts>integer</ConnectionAttempts>
<ConnectionTimeout>integer</ConnectionTimeout>
<CustomHeaders>
<Items>
<OriginCustomHeader>
<HeaderName>string</HeaderName>
<HeaderValue>string</HeaderValue>
</OriginCustomHeader>
</Items>
<Quantity>integer</Quantity>
</CustomHeaders>
<CustomOriginConfig>
<HTTPPort>integer</HTTPPort>
<HTTPSPort>integer</HTTPSPort>
<OriginKeepaliveTimeout>integer</OriginKeepaliveTimeout>
<OriginProtocolPolicy>string</OriginProtocolPolicy>
<OriginReadTimeout>integer</OriginReadTimeout>
<OriginSslProtocols>
<Items>
<SslProtocol>string</SslProtocol>
</Items>
<Quantity>integer</Quantity>
</OriginSslProtocols>
</CustomOriginConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<OriginPath>string</OriginPath>
<S3OriginConfig>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3OriginConfig>
</Origin>
</Items>
<Quantity>integer</Quantity>
</Origins>
<PriceClass>string</PriceClass>
<Restrictions>
<GeoRestriction>
<Items>
<Location>string</Location>
</Items>
<Quantity>integer</Quantity>
<RestrictionType>string</RestrictionType>
</GeoRestriction>
</Restrictions>
<ViewerCertificate>
<ACMCertificateArn>string</ACMCertificateArn>
<Certificate>string</Certificate>
<CertificateSource>string</CertificateSource>
<CloudFrontDefaultCertificate>boolean</CloudFrontDefaultCertificate>
<IAMCertificateId>string</IAMCertificateId>
<MinimumProtocolVersion>string</MinimumProtocolVersion>
<SSLSupportMethod>string</SSLSupportMethod>
</ViewerCertificate>
<WebACLId>string</WebACLId>
</DistributionConfig>
<DomainName>string</DomainName>
<Id>string</Id>
<InProgressInvalidationBatches>integer</InProgressInvalidationBatches>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
</Distribution>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
ActiveTrustedSigners (p. 238)
CloudFront automatically adds this element to the response only if you've set up the distribution to
serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware
of for each trusted signer. The Signer child element lists the AWS account number of the trusted
signer (or an empty Self element if the signer is you). The Signer element also includes the IDs
of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element
appears for a Signer, that signer can't create working signed URLs.
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DistributionConfig (p. 238)
The current configuration information for the distribution. Send a GET request to the /CloudFront
API version/distribution ID/config resource.
Type: String
Id (p. 238)
Type: String
InProgressInvalidationBatches (p. 238)
Type: Integer
LastModifiedTime (p. 238)
Type: Timestamp
Status (p. 238)
This response element indicates the current status of the distribution. When the status is Deployed,
the distribution's information is fully propagated to all CloudFront edge locations.
Type: String
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
The specified configuration for field-level encryption can't be associated with the specified cache
behavior.
An argument is invalid.
The default root object file name is too big or contains an invalid character.
Your request contains forward cookies option which doesn't match with the expectation for the
whitelisted list of cookie names. Either list of cookie names has been specified when not allowed
or list of cookie names is missing when expected.
The keep alive timeout specified for the origin is not valid.
InvalidOriginReadTimeout
The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your
request, or omit the RequiredProtocols element from your distribution configuration.
A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS
WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/
webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify
a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-
f30b-4765-81a0-62ad96dd167a.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
The precondition given in one or more of the request header fields evaluated to false.
Your request contains more cookie names in the whitelist than are allowed per cache behavior.
Your request contains more CNAMEs than are allowed per distribution.
The maximum number of distributions have been associated with the specified cache policy. For
more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The maximum number of distributions have been associated with the specified configuration for
field-level encryption.
The maximum number of distributions have been associated with the specified origin request policy.
For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer
Guide.
Processing your request would cause the maximum number of distributions with Lambda function
associations per owner to be exceeded.
The maximum number of distributions have been associated with the specified Lambda function.
Your request contains more Lambda function associations than are allowed per distribution.
Processing your request would cause you to exceed the maximum number of origin groups allowed.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateFieldLevelEncryptionConfig
Update a field-level encryption configuration.
Request Syntax
PUT /2020-05-31/field-level-encryption/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 250)
Type: String
Required: Yes
Type: String
Required: No
ContentTypeProfileConfig (p. 250)
A complex data type that specifies when to forward content if a content type isn't recognized and
profiles to use as by default in a request if a query argument doesn't specify a profile to use.
Required: No
QueryArgProfileConfig (p. 250)
A complex data type that specifies when to forward content if a profile isn't found and the profile
that can be provided as a query argument in a request.
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryption>
<FieldLevelEncryptionConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<ContentTypeProfileConfig>
<ContentTypeProfiles>
<Items>
<ContentTypeProfile>
<ContentType>string</ContentType>
<Format>string</Format>
<ProfileId>string</ProfileId>
</ContentTypeProfile>
</Items>
<Quantity>integer</Quantity>
</ContentTypeProfiles>
<ForwardWhenContentTypeIsUnknown>boolean</ForwardWhenContentTypeIsUnknown>
</ContentTypeProfileConfig>
<QueryArgProfileConfig>
<ForwardWhenQueryArgProfileIsUnknown>boolean</ForwardWhenQueryArgProfileIsUnknown>
<QueryArgProfiles>
<Items>
<QueryArgProfile>
<ProfileId>string</ProfileId>
<QueryArg>string</QueryArg>
</QueryArgProfile>
</Items>
<Quantity>integer</Quantity>
</QueryArgProfiles>
</QueryArgProfileConfig>
</FieldLevelEncryptionConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryption>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
FieldLevelEncryptionConfig (p. 251)
A complex data type that includes the profile configurations specified for field-level encryption.
The configuration ID for a field-level encryption configuration which includes a set of profiles that
specify certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 251)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
NoSuchFieldLevelEncryptionConfig
The precondition given in one or more of the request header fields evaluated to false.
The maximum number of content type profiles for field-level encryption have been created.
The maximum number of query arg profiles for field-level encryption have been created.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateFieldLevelEncryptionProfile
Update a field-level encryption profile.
Request Syntax
PUT /2020-05-31/field-level-encryption-profile/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfileConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 254)
Type: String
Required: Yes
Comment (p. 254)
Type: String
Required: No
A complex data type of encryption entities for the field-level encryption profile that include the
public key ID, provider, and field patterns for specifying which fields to encrypt with this key.
Required: Yes
Name (p. 254)
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<FieldLevelEncryptionProfile>
<FieldLevelEncryptionProfileConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncryptionEntities>
<Items>
<EncryptionEntity>
<FieldPatterns>
<Items>
<FieldPattern>string</FieldPattern>
</Items>
<Quantity>integer</Quantity>
</FieldPatterns>
<ProviderId>string</ProviderId>
<PublicKeyId>string</PublicKeyId>
</EncryptionEntity>
</Items>
<Quantity>integer</Quantity>
</EncryptionEntities>
<Name>string</Name>
</FieldLevelEncryptionProfileConfig>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
</FieldLevelEncryptionProfile>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
FieldLevelEncryptionProfileConfig (p. 255)
A complex data type that includes the profile name and the encryption entities for the field-level
encryption profile.
The ID for a field-level encryption profile configuration which includes a set of profiles that specify
certain selected data fields to be encrypted by specific public keys.
Type: String
LastModifiedTime (p. 255)
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
NoSuchPublicKey
The precondition given in one or more of the request header fields evaluated to false.
The maximum number of encryption entities for field-level encryption have been created.
The maximum number of field patterns for field-level encryption have been created.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateOriginRequestPolicy
Updates an origin request policy configuration.
When you update an origin request policy configuration, all the fields are updated with the values
provided in the request. You cannot update some fields independent of others. To update an origin
request policy configuration:
Request Syntax
PUT /2020-05-31/origin-request-policy/Id HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicyConfig xmlns="[Link]
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Comment (p. 258)
Type: String
Required: No
CookiesConfig (p. 258)
Required: Yes
HeadersConfig (p. 258)
The HTTP headers to include in origin requests. These can include headers from viewer requests and
additional headers added by CloudFront.
Required: Yes
Name (p. 258)
Type: String
Required: Yes
QueryStringsConfig (p. 258)
The URL query strings from viewer requests to include in origin requests.
Required: Yes
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<OriginRequestPolicy>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<OriginRequestPolicyConfig>
<Comment>string</Comment>
<CookiesConfig>
<CookieBehavior>string</CookieBehavior>
<Cookies>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Cookies>
</CookiesConfig>
<HeadersConfig>
<HeaderBehavior>string</HeaderBehavior>
<Headers>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</Headers>
</HeadersConfig>
<Name>string</Name>
<QueryStringsConfig>
<QueryStringBehavior>string</QueryStringBehavior>
<QueryStrings>
<Items>
<Name>string</Name>
</Items>
<Quantity>integer</Quantity>
</QueryStrings>
</QueryStringsConfig>
</OriginRequestPolicyConfig>
</OriginRequestPolicy>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
Id (p. 259)
Type: String
LastModifiedTime (p. 259)
The date and time when the origin request policy was last modified.
Type: Timestamp
OriginRequestPolicyConfig (p. 259)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
IllegalUpdate
An argument is invalid.
An origin request policy with this name already exists. You must provide a unique name. To modify
an existing origin request policy, use UpdateOriginRequestPolicy.
The precondition given in one or more of the request header fields evaluated to false.
The number of cookies in the origin request policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of headers in the origin request policy exceeds the maximum. For more information, see
Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
The number of query strings in the origin request policy exceeds the maximum. For more
information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdatePublicKey
Update public key information. Note that the only value you can change is the comment.
Request Syntax
PUT /2020-05-31/public-key/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<PublicKeyConfig xmlns="[Link]
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
CallerReference (p. 263)
Type: String
Required: Yes
Comment (p. 263)
Type: String
Required: No
EncodedKey (p. 263)
The encoded public key that you want to add to CloudFront to use with features like field-level
encryption.
Type: String
Required: Yes
Name (p. 263)
The name for a public key you add to CloudFront to use with features like field-level encryption.
Type: String
Required: Yes
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<PublicKey>
<CreatedTime>timestamp</CreatedTime>
<Id>string</Id>
<PublicKeyConfig>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<EncodedKey>string</EncodedKey>
<Name>string</Name>
</PublicKeyConfig>
</PublicKey>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
CreatedTime (p. 264)
Type: Timestamp
Id (p. 264)
Type: String
PublicKeyConfig (p. 264)
A complex data type for a public key you add to CloudFront to use with features like field-level
encryption.
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
IllegalUpdate
An argument is invalid.
The precondition given in one or more of the request header fields evaluated to false.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateRealtimeLogConfig
Updates a real-time log configuration.
When you update a real-time log configuration, all the parameters are updated with the values provided
in the request. You cannot update some parameters independent of others. To update a real-time log
configuration:
Request Syntax
PUT /2020-05-31/realtime-log-config/ HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<UpdateRealtimeLogConfigRequest xmlns="[Link]
<ARN>string</ARN>
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</UpdateRealtimeLogConfigRequest>
Request Body
The request accepts the following data in XML format.
Required: Yes
ARN (p. 266)
The Amazon Resource Name (ARN) for this real-time log configuration.
Type: String
Required: No
EndPoints (p. 266)
Contains information about the Amazon Kinesis data stream where you are sending real-time log
data.
Required: No
Fields (p. 266)
For more information about fields, see Real-time log configuration fields in the Amazon CloudFront
Developer Guide.
Required: No
Name (p. 266)
Type: String
Required: No
SamplingRate (p. 266)
The sampling rate for this real-time log configuration. The sampling rate determines the percentage
of viewer requests that are represented in the real-time log data. You must provide an integer
between 1 and 100, inclusive.
Type: Long
Required: No
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<UpdateRealtimeLogConfigResult>
<RealtimeLogConfig>
<ARN>string</ARN>
<EndPoints>
<EndPoint>
<KinesisStreamConfig>
<RoleARN>string</RoleARN>
<StreamARN>string</StreamARN>
</KinesisStreamConfig>
<StreamType>string</StreamType>
</EndPoint>
</EndPoints>
<Fields>
<Field>string</Field>
</Fields>
<Name>string</Name>
<SamplingRate>long</SamplingRate>
</RealtimeLogConfig>
</UpdateRealtimeLogConfigResult>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
RealtimeLogConfig (p. 267)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
InvalidArgument
An argument is invalid.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
UpdateStreamingDistribution
Update a streaming distribution.
Request Syntax
PUT /2020-05-31/streaming-distribution/Id/config HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistributionConfig xmlns="[Link]
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
Request Body
The request accepts the following data in XML format.
Required: Yes
Aliases (p. 269)
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
streaming distribution.
Required: No
CallerReference (p. 269)
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment (p. 269)
Type: String
Required: Yes
Enabled (p. 269)
Whether the streaming distribution is enabled to accept user requests for content.
Type: Boolean
Required: Yes
Logging (p. 269)
A complex type that controls whether access logs are written for the streaming distribution.
Required: No
PriceClass (p. 269)
A complex type that contains information about price class for this streaming distribution.
Type: String
Required: No
S3Origin (p. 269)
A complex type that contains information about the Amazon S3 bucket from which you want
CloudFront to get your media files for distribution.
Required: Yes
TrustedSigners (p. 269)
A complex type that specifies any AWS accounts that you want to permit to create signed URLs for
private content. If you want the distribution to use signed URLs, include this element; if you want
the distribution to use public URLs, remove this element. For more information, see Serving Private
Content through CloudFront in the Amazon CloudFront Developer Guide.
Required: Yes
Response Syntax
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<StreamingDistribution>
<ActiveTrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<Signer>
<AwsAccountNumber>string</AwsAccountNumber>
<KeyPairIds>
<Items>
<KeyPairId>string</KeyPairId>
</Items>
<Quantity>integer</Quantity>
</KeyPairIds>
</Signer>
</Items>
<Quantity>integer</Quantity>
</ActiveTrustedSigners>
<ARN>string</ARN>
<DomainName>string</DomainName>
<Id>string</Id>
<LastModifiedTime>timestamp</LastModifiedTime>
<Status>string</Status>
<StreamingDistributionConfig>
<Aliases>
<Items>
<CNAME>string</CNAME>
</Items>
<Quantity>integer</Quantity>
</Aliases>
<CallerReference>string</CallerReference>
<Comment>string</Comment>
<Enabled>boolean</Enabled>
<Logging>
<Bucket>string</Bucket>
<Enabled>boolean</Enabled>
<Prefix>string</Prefix>
</Logging>
<PriceClass>string</PriceClass>
<S3Origin>
<DomainName>string</DomainName>
<OriginAccessIdentity>string</OriginAccessIdentity>
</S3Origin>
<TrustedSigners>
<Enabled>boolean</Enabled>
<Items>
<AwsAccountNumber>string</AwsAccountNumber>
</Items>
<Quantity>integer</Quantity>
</TrustedSigners>
</StreamingDistributionConfig>
</StreamingDistribution>
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
Required: Yes
ActiveTrustedSigners (p. 271)
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.
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
DomainName (p. 271)
The domain name that corresponds to the streaming distribution, for example,
[Link].
Type: String
Id (p. 271)
Type: String
LastModifiedTime (p. 271)
The date and time that the distribution was last modified.
Type: Timestamp
Status (p. 271)
The current status of the RTMP distribution. When the status is Deployed, the distribution's
information is propagated to all CloudFront edge locations.
Type: String
StreamingDistributionConfig (p. 271)
Errors
For information about the errors that are common to all actions, see Common Errors (p. 425).
AccessDenied
Access denied.
An argument is invalid.
This operation requires a body. Ensure that the body is present and the Content-Type header is
set.
The precondition given in one or more of the request header fields evaluated to false.
TooManyStreamingDistributionCNAMEs
Your request contains more CNAMEs than are allowed per distribution.
Your request contains more trusted signers than are allowed per distribution.
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Data Types
The Amazon CloudFront API contains several data types that various actions use. This section describes
each data type in detail.
Note
The order of each element in a data type structure is not guaranteed. Applications should not
assume a particular order.
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.
Contents
Enabled
Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this
distribution have active CloudFront key pairs. If not, Enabled is false.
Type: Boolean
Required: Yes
Items
A complex type that contains one Signer complex type for each trusted signer that is specified in
the TrustedSigners complex type.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
Contents
Items
A complex type that contains the CNAME aliases, if any, that you want to associate with this
distribution.
Required: No
Quantity
The number of CNAME aliases, if any, that you want to associate with this distribution.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
AliasICPRecordal
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want
to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to
CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.
The status is returned in the CloudFront response; you can't configure it yourself.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with
AWS services in China.
Contents
CNAME
Type: String
Required: No
ICPRecordalStatus
The Internet Content Provider (ICP) recordal status for a CNAME. The ICPRecordalStatus is set to
APPROVED for all CNAMEs (aliases) in regions outside of China.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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:
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.
Contents
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.
Required: No
Items
A complex type that contains the HTTP methods that you want CloudFront to process and forward
to your origin.
Required: Yes
Quantity
The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are
2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD,
OPTIONS, PUT, PATCH, POST, and DELETE requests).
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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 serve 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 quota (formerly known as limit) on the number of cache behaviors that you can add to a
distribution, see Quotas in the Amazon CloudFront Developer Guide.
If you don’t want to specify any cache behaviors, include only an empty CacheBehaviors element.
Don’t include an empty CacheBehavior element because this is invalid.
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 Behavior Settings in the Amazon CloudFront
Developer Guide.
Contents
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.
Required: No
CachePolicyId
The unique identifier of the cache policy that is attached to this cache behavior. For more
information, see Creating cache policies or Using the managed cache policies in the Amazon
CloudFront Developer Guide.
Type: String
Required: No
Compress
Whether you want CloudFront to automatically compress certain files for this cache behavior. If so,
specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon
CloudFront Developer Guide.
Type: Boolean
Required: No
DefaultTTL
This field is deprecated. We recommend that you use the DefaultTTL field in a cache policy instead
of this field. For more information, see Creating cache policies or Using the managed cache policies
in the Amazon CloudFront Developer Guide.
The default amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated. The
value that you specify applies only when your origin does not add HTTP headers such as Cache-
Control max-age, Cache-Control s-maxage, and Expires to objects. For more information,
see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.
Type: Long
Required: No
FieldLevelEncryptionId
The value of ID for the field-level encryption configuration that you want CloudFront to use for
encrypting specific fields of data for this cache behavior.
Type: String
Required: No
ForwardedValues
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field. For more information, see Working with policies in the Amazon CloudFront
Developer Guide.
If you want to include values in the cache key, use a cache policy. For more information, see Creating
cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.
If you want to send values to the origin but not include them in the cache key, use an origin request
policy. For more information, see Creating origin request policies or Using the managed origin
request policies in the Amazon CloudFront Developer Guide.
A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
Required: No
LambdaFunctionAssociations
A complex type that contains zero or more Lambda function associations for a cache behavior.
Required: No
MaxTTL
This field is deprecated. We recommend that you use the MaxTTL field in a cache policy instead of
this field. For more information, see Creating cache policies or Using the managed cache policies in
the Amazon CloudFront Developer Guide.
The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated.
The value that you specify applies only when your origin adds HTTP headers such as Cache-
Control max-age, Cache-Control s-maxage, and Expires to objects. For more information,
see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.
Type: Long
Required: No
MinTTL
This field is deprecated. We recommend that you use the MinTTL field in a cache policy instead of
this field. For more information, see Creating cache policies or Using the managed cache policies in
the Amazon CloudFront Developer Guide.
The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin
(under Headers, if you specify 1 for Quantity and * for Name).
Type: Long
Required: No
OriginRequestPolicyId
The unique identifier of the origin request policy that is attached to this cache behavior. For more
information, see Creating origin request policies or Using the managed origin request policies in the
Amazon CloudFront Developer Guide.
Type: String
Required: No
PathPattern
The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to.
When CloudFront receives a viewer request, the requested path is compared with path patterns in
the order in which cache behaviors are listed in the distribution.
Note
You can optionally include a slash (/) at the beginning of the path pattern. For example, /
images/*.jpg. CloudFront behavior is the same with or without the leading /.
The path pattern for the default cache behavior is * and cannot be changed. If the request for an
object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in
the default cache behavior.
For more information, see Path Pattern in the Amazon CloudFront Developer Guide.
Type: String
Required: Yes
RealtimeLogConfigArn
The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache
behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.
Type: String
Required: No
SmoothStreaming
Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format
using the origin that is associated with this cache behavior. If so, specify true; if not, specify false.
If you specify true for SmoothStreaming, you can still distribute other content using this cache
behavior if the content matches the value of PathPattern.
Type: Boolean
Required: No
TargetOriginId
The value of ID for the origin that you want CloudFront to route requests to when they match this
cache behavior.
Type: String
Required: Yes
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 with Signed URLs and
Signed Cookies in the 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.
Required: Yes
ViewerProtocolPolicy
The protocol that viewers can use to access the files in the origin specified by TargetOriginId
when a request matches the path pattern in PathPattern. You can specify the following options:
• allow-all: Viewers can use HTTP or HTTPS.
• redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status
code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then
resubmits the request using the new URL.
• https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers
and CloudFront in the Amazon CloudFront Developer Guide.
Note
The only way to guarantee that viewers retrieve an object that was fetched from the origin
using HTTPS is never to use any other protocol to fetch the object. If you have recently
changed from HTTP to HTTPS, we recommend that you clear your objects’ cache because
cached objects are protocol agnostic. That means that an edge location will return an object
from the cache regardless of whether the current request protocol matches the protocol
used previously. For more information, see Managing Cache Expiration in the Amazon
CloudFront Developer Guide.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CacheBehaviors
A complex type that contains zero or more CacheBehavior elements.
Contents
Items
Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you
can omit Items.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachedMethods
A complex type that controls whether CloudFront caches the response to requests using the specified
HTTP methods. There are two choices:
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.
Contents
Items
A complex type that contains the HTTP methods that you want CloudFront to cache responses to.
Required: Yes
Quantity
The number of HTTP methods for which you want CloudFront to cache responses. Valid values are
2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and
OPTIONS requests).
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicy
A cache policy.
When it’s attached to a cache behavior, the cache policy determines the following:
• The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies,
and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to
the viewer.
• The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the
CloudFront cache.
The headers, cookies, and query strings that are included in the cache key are automatically included in
requests that CloudFront sends to the origin. CloudFront sends a request when it can’t find a valid object
in its cache that matches the request’s cache key. If you want to send values to the origin but not include
them in the cache key, use OriginRequestPolicy.
Contents
CachePolicyConfig
Required: Yes
Id
Type: String
Required: Yes
LastModifiedTime
The date and time when the cache policy was last modified.
Type: Timestamp
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicyConfig
A cache policy configuration.
• The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies,
and URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to
the viewer.
• The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the
CloudFront cache.
The headers, cookies, and query strings that are included in the cache key are automatically included in
requests that CloudFront sends to the origin. CloudFront sends a request when it can’t find a valid object
in its cache that matches the request’s cache key. If you want to send values to the origin but not include
them in the cache key, use OriginRequestPolicy.
Contents
Comment
Type: String
Required: No
DefaultTTL
The default amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated.
CloudFront uses this value as the object’s time to live (TTL) only when the origin does not send
Cache-Control or Expires headers with the object. For more information, see Managing How
Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.
The default value for this field is 86400 seconds (one day). If the value of MinTTL is more than
86400 seconds, then the default value for this field is the same as the value of MinTTL.
Type: Long
Required: No
MaxTTL
The maximum amount of time, in seconds, that objects stay in the CloudFront cache before
CloudFront sends another request to the origin to see if the object has been updated. CloudFront
uses this value only when the origin sends Cache-Control or Expires headers with the object.
For more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
The default value for this field is 31536000 seconds (one year). If the value of MinTTL or
DefaultTTL is more than 31536000 seconds, then the default value for this field is the same as the
value of DefaultTTL.
Type: Long
Required: No
MinTTL
The minimum amount of time, in seconds, that you want objects to stay in the CloudFront cache
before CloudFront sends another request to the origin to see if the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
Type: Long
Required: Yes
Name
Type: String
Required: Yes
ParametersInCacheKeyAndForwardedToOrigin
The HTTP headers, cookies, and URL query strings to include in the cache key. The values included in
the cache key are automatically included in requests that CloudFront sends to the origin.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicyCookiesConfig
An object that determines whether any cookies in viewer requests (and if so, which cookies) are included
in the cache key and automatically included in requests that CloudFront sends to the origin.
Contents
CookieBehavior
Determines whether any cookies in viewer requests are included in the cache key and automatically
included in requests that CloudFront sends to the origin. Valid values are:
• none – Cookies in viewer requests are not included in the cache key and are not automatically
included in requests that CloudFront sends to the origin. Even when this field is set to none, any
cookies that are listed in an OriginRequestPolicy are included in origin requests.
• whitelist – The cookies in viewer requests that are listed in the CookieNames type are included
in the cache key and automatically included in requests that CloudFront sends to the origin.
• allExcept – All cookies in viewer requests that are not listed in the CookieNames type are
included in the cache key and automatically included in requests that CloudFront sends to the
origin.
• all – All cookies in viewer requests are included in the cache key and are automatically included
in requests that CloudFront sends to the origin.
Type: String
Required: Yes
Cookies
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicyHeadersConfig
An object that determines whether any HTTP headers (and if so, which headers) are included in the cache
key and automatically included in requests that CloudFront sends to the origin.
Contents
HeaderBehavior
Determines whether any HTTP headers are included in the cache key and automatically included in
requests that CloudFront sends to the origin. Valid values are:
• none – HTTP headers are not included in the cache key and are not automatically included in
requests that CloudFront sends to the origin. Even when this field is set to none, any headers that
are listed in an OriginRequestPolicy are included in origin requests.
• whitelist – The HTTP headers that are listed in the Headers type are included in the cache key
and are automatically included in requests that CloudFront sends to the origin.
Type: String
Required: Yes
Headers
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicyList
A list of cache policies.
Contents
Items
Required: No
MaxItems
Type: Integer
Required: Yes
NextMarker
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing cache
policies where you left off.
Type: String
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicyQueryStringsConfig
An object that determines whether any URL query strings in viewer requests (and if so, which query
strings) are included in the cache key and automatically included in requests that CloudFront sends to
the origin.
Contents
QueryStringBehavior
Determines whether any URL query strings in viewer requests are included in the cache key and
automatically included in requests that CloudFront sends to the origin. Valid values are:
• none – Query strings in viewer requests are not included in the cache key and are not
automatically included in requests that CloudFront sends to the origin. Even when this field is set
to none, any query strings that are listed in an OriginRequestPolicy are included in origin
requests.
• whitelist – The query strings in viewer requests that are listed in the QueryStringNames type
are included in the cache key and automatically included in requests that CloudFront sends to the
origin.
• allExcept – All query strings in viewer requests that are not listed in the QueryStringNames
type are included in the cache key and automatically included in requests that CloudFront sends to
the origin.
• all – All query strings in viewer requests are included in the cache key and are automatically
included in requests that CloudFront sends to the origin.
Type: String
Required: Yes
QueryStrings
Contains the specific query strings in viewer requests that either are or are not included in the
cache key and automatically included in requests that CloudFront sends to the origin. The behavior
depends on whether the QueryStringBehavior field in the CachePolicyQueryStringsConfig
type is set to whitelist (the listed query strings are included) or allExcept (the listed query
strings are not included, but all other query strings are).
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CachePolicySummary
Contains a cache policy.
Contents
CachePolicy
Required: Yes
Type
The type of cache policy, either managed (created by AWS) or custom (created in this AWS account).
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CloudFrontOriginAccessIdentity
CloudFront origin access identity.
Contents
CloudFrontOriginAccessIdentityConfig
Required: No
Id
Type: String
Required: Yes
S3CanonicalUserId
The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access
identity read permission to an object in Amazon S3.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CloudFrontOriginAccessIdentityConfig
Origin access identity configuration. Send a GET request to the /CloudFront API version/
CloudFront/identity ID/config resource.
Contents
CallerReference
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If the CallerReference is a value already sent in a previous identity request, and the content of
the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring
white space), the response includes the same information returned to the original request.
If the CallerReference is a value you already sent in a previous request to create an identity, but
the content of the CloudFrontOriginAccessIdentityConfig is different from the original
request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
Type: String
Required: Yes
Comment
Any comments you want to include about the origin access identity.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CloudFrontOriginAccessIdentityList
Lists the origin access identities for [Link] 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.
Contents
IsTruncated
A flag that indicates whether more origin access identities remain to be listed. If your results were
truncated, you can make a follow-up pagination request using the Marker request parameter to
retrieve more items in the list.
Type: Boolean
Required: Yes
Items
Required: No
Marker
Use this when paginating results to indicate where to begin in your list of origin access identities.
The results include identities in the list that occur after the marker. To get the next page of results,
set the Marker to the value of the NextMarker from the current page's response (which is also the
ID of the last identity on that page).
Type: String
Required: Yes
MaxItems
The maximum number of origin access identities you want in the response body.
Type: Integer
Required: Yes
NextMarker
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your origin access identities where they left off.
Type: String
Required: No
Quantity
The number of CloudFront origin access identities that were created by the current AWS account.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CloudFrontOriginAccessIdentitySummary
Summary of the information about a CloudFront origin access identity.
Contents
Comment
The comment for this origin access identity, as originally specified when created.
Type: String
Required: Yes
Id
Type: String
Required: Yes
S3CanonicalUserId
The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin
access identity read permission to an object in Amazon S3.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ContentTypeProfile
A field-level encryption content type profile.
Contents
ContentType
Type: String
Required: Yes
Format
Type: String
Required: Yes
ProfileId
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ContentTypeProfileConfig
The configuration for a field-level encryption content type-profile mapping.
Contents
ContentTypeProfiles
Required: No
ForwardWhenContentTypeIsUnknown
The setting in a field-level encryption content type-profile mapping that specifies what to do when
an unknown content type is provided for the profile. If true, content is forwarded without being
encrypted when the content type is unknown. If false (the default), an error is returned when the
content type is unknown.
Type: Boolean
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ContentTypeProfiles
Field-level encryption content type-profile.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CookieNames
Contains a list of cookie names.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CookiePreference
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of
this field.
If you want to include cookies in the cache key, use CookiesConfig in a cache policy. See
CachePolicy.
If you want to send cookies to the origin but not include them in the cache key, use CookiesConfig in
an origin request policy. See OriginRequestPolicy.
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 Caching Content Based on
Cookies in the Amazon CloudFront Developer Guide.
Contents
Forward
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send cookies to the origin but not include them in the cache key, use origin request
policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of
cookies specified in the WhitelistedNames complex type.
Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon
S3 origin, specify none for the Forward element.
Type: String
Required: Yes
WhitelistedNames
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send cookies to the origin but not include them in the cache key, use an origin
request policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
Required if you specify whitelist for the value of Forward. A complex type that specifies how
many different cookies you want CloudFront to forward to the origin for this cache behavior and, if
you want to forward selected cookies, the names of those cookies.
If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the
value of Forward from whitelist to all or none and you don't delete the WhitelistedNames
element and its child elements, CloudFront deletes them automatically.
For the current limit on the number of cookie names that you can whitelist for each cache behavior,
see CloudFront Limits in the AWS General Reference.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
ErrorCachingMinTTL
The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status
code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to
see whether the problem that caused the error has been resolved and the requested object is now
available.
For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.
Type: Long
Required: No
ErrorCode
The HTTP status code for which you want to specify a custom error page and/or a caching duration.
Type: Integer
Required: Yes
ResponseCode
The HTTP status code that you want CloudFront to return to the viewer along with the custom error
page. There are a variety of reasons that you might want CloudFront to return a status code different
from the status code that your origin returned to CloudFront, for example:
• Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx
and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the
response typically won't be intercepted.
• If you don't care about distinguishing among different client errors or server errors, you can
specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.
• You might want to return a 200 status code (OK) and static website so your customers don't know
that your website is down.
If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath.
Type: String
Required: No
ResponsePagePath
The path to the custom error page that you want CloudFront to return to a viewer when your
origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-
[Link]. If you want to store your objects and your custom error pages in different
locations, your distribution must include a cache behavior for which the following is true:
• The value of PathPattern matches the path to your custom error messages. For example,
suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named
/4xx-errors. Your distribution must include a cache behavior for which the path pattern routes
requests for your custom error pages to that location, for example, /4xx-errors/*.
• The value of TargetOriginId specifies the value of the ID element for the origin that contains
your custom error pages.
If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode.
We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error
pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files
that you want to return to viewers because the origin server is unavailable.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
Items
A complex type that contains a CustomErrorResponse element for each HTTP status code for
which you want to specify a custom error page and/or a caching duration.
Required: No
Quantity
The number of HTTP status codes for which you want to specify a custom error page and/or a
caching duration. If Quantity is 0, you can omit Items.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CustomHeaders
A complex type that contains the list of Custom Headers for each origin.
Contents
Items
Optional: A list that contains one OriginCustomHeader element for each custom header that you
want CloudFront to forward to the origin. If Quantity is 0, omit Items.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
CustomOriginConfig
A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, with one exception. An
Amazon S3 bucket that is configured with static website hosting is a custom origin.
Contents
HTTPPort
The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin
listens on.
Type: Integer
Required: Yes
HTTPSPort
The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the
origin listens on.
Type: Integer
Required: Yes
OriginKeepaliveTimeout
Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum
timeout is 1 second, the maximum is 60 seconds, and the default (if you don’t specify otherwise) is 5
seconds.
For more information, see Origin Keep-alive Timeout in the Amazon CloudFront Developer Guide.
Type: Integer
Required: No
OriginProtocolPolicy
Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values
are:
• http-only – CloudFront always uses HTTP to connect to the origin.
• match-viewer – CloudFront connects to the origin using the same protocol that the viewer used
to connect to CloudFront.
• https-only – CloudFront always uses HTTPS to connect to the origin.
Type: String
Required: Yes
OriginReadTimeout
Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as
the origin response timeout. The minimum timeout is 1 second, the maximum is 60 seconds, and the
default (if you don’t specify otherwise) is 30 seconds.
For more information, see Origin Response Timeout in the Amazon CloudFront Developer Guide.
Type: Integer
Required: No
OriginSslProtocols
Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over
HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and TLSv1.2.
For more information, see Minimum Origin SSL Protocol in the Amazon CloudFront Developer Guide.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DefaultCacheBehavior
A complex type that describes the default cache behavior if you don’t specify a CacheBehavior
element or if request URLs don’t match any of the values of PathPattern in CacheBehavior
elements. You must create exactly one default cache behavior.
Contents
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.
Required: No
CachePolicyId
The unique identifier of the cache policy that is attached to the default cache behavior. For more
information, see Creating cache policies or Using the managed cache policies in the Amazon
CloudFront Developer Guide.
Type: String
Required: No
Compress
Whether you want CloudFront to automatically compress certain files for this cache behavior. If
so, specify true; if not, specify false. For more information, see Serving Compressed Files in the
Amazon CloudFront Developer Guide.
Type: Boolean
Required: No
DefaultTTL
This field is deprecated. We recommend that you use the DefaultTTL field in a cache policy instead
of this field. For more information, see Creating cache policies or Using the managed cache policies
in the Amazon CloudFront Developer Guide.
The default amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated. The
value that you specify applies only when your origin does not add HTTP headers such as Cache-
Control max-age, Cache-Control s-maxage, and Expires to objects. For more information,
see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.
Type: Long
Required: No
FieldLevelEncryptionId
The value of ID for the field-level encryption configuration that you want CloudFront to use for
encrypting specific fields of data for the default cache behavior.
Type: String
Required: No
ForwardedValues
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field. For more information, see Working with policies in the Amazon CloudFront
Developer Guide.
If you want to include values in the cache key, use a cache policy. For more information, see Creating
cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.
If you want to send values to the origin but not include them in the cache key, use an origin request
policy. For more information, see Creating origin request policies or Using the managed origin
request policies in the Amazon CloudFront Developer Guide.
A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
Required: No
LambdaFunctionAssociations
A complex type that contains zero or more Lambda function associations for a cache behavior.
Required: No
MaxTTL
This field is deprecated. We recommend that you use the MaxTTL field in a cache policy instead of
this field. For more information, see Creating cache policies or Using the managed cache policies in
the Amazon CloudFront Developer Guide.
The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated.
The value that you specify applies only when your origin adds HTTP headers such as Cache-
Control max-age, Cache-Control s-maxage, and Expires to objects. For more information,
see Managing How Long Content Stays in an Edge Cache (Expiration) in the Amazon CloudFront
Developer Guide.
Type: Long
Required: No
MinTTL
This field is deprecated. We recommend that you use the MinTTL field in a cache policy instead of
this field. For more information, see Creating cache policies or Using the managed cache policies in
the Amazon CloudFront Developer Guide.
The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront
forwards another request to your origin to determine whether the object has been updated. For
more information, see Managing How Long Content Stays in an Edge Cache (Expiration) in the
Amazon CloudFront Developer Guide.
You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin
(under Headers, if you specify 1 for Quantity and * for Name).
Type: Long
Required: No
OriginRequestPolicyId
The unique identifier of the origin request policy that is attached to the default cache behavior. For
more information, see Creating origin request policies or Using the managed origin request policies
in the Amazon CloudFront Developer Guide.
Type: String
Required: No
RealtimeLogConfigArn
The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache
behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.
Type: String
Required: No
SmoothStreaming
Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format
using the origin that is associated with this cache behavior. If so, specify true; if not, specify false.
If you specify true for SmoothStreaming, you can still distribute other content using this cache
behavior if the content matches the value of PathPattern.
Type: Boolean
Required: No
TargetOriginId
The value of ID for the origin that you want CloudFront to route requests to when they use the
default cache behavior.
Type: String
Required: Yes
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 with Signed URLs and
Signed Cookies in the 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.
Required: Yes
ViewerProtocolPolicy
The protocol that viewers can use to access the files in the origin specified by TargetOriginId
when a request matches the path pattern in PathPattern. You can specify the following options:
• allow-all: Viewers can use HTTP or HTTPS.
• redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status
code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then
resubmits the request using the new URL.
• https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403
(Forbidden).
For more information about requiring the HTTPS protocol, see Requiring HTTPS Between Viewers
and CloudFront in the Amazon CloudFront Developer Guide.
Note
The only way to guarantee that viewers retrieve an object that was fetched from the origin
using HTTPS is never to use any other protocol to fetch the object. If you have recently
changed from HTTP to HTTPS, we recommend that you clear your objects’ cache because
cached objects are protocol agnostic. That means that an edge location will return an object
from the cache regardless of whether the current request protocol matches the protocol
used previously. For more information, see Managing Cache Expiration in the Amazon
CloudFront Developer Guide.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Distribution
A distribution tells CloudFront where you want content to be delivered from, and the details about how
to track and manage content delivery.
Contents
ActiveTrustedSigners
CloudFront automatically adds this element to the response only if you've set up the distribution to
serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware
of for each trusted signer. The Signer child element lists the AWS account number of the trusted
signer (or an empty Self element if the signer is you). The Signer element also includes the IDs
of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element
appears for a Signer, that signer can't create working signed URLs.
Required: Yes
AliasICPRecordals
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
Required: No
ARN
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
Required: Yes
DistributionConfig
The current configuration information for the distribution. Send a GET request to the /CloudFront
API version/distribution ID/config resource.
Required: Yes
DomainName
Type: String
Required: Yes
Id
Type: String
Required: Yes
InProgressInvalidationBatches
Type: Integer
Required: Yes
LastModifiedTime
Type: Timestamp
Required: Yes
Status
This response element indicates the current status of the distribution. When the status is Deployed,
the distribution's information is fully propagated to all CloudFront edge locations.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DistributionConfig
A distribution configuration.
Contents
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
Required: No
CacheBehaviors
Required: No
CallerReference
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment
To delete an existing comment, update the distribution configuration and include an empty
Comment element.
To add or change a comment, update the distribution configuration and specify the new comment.
Type: String
Required: Yes
CustomErrorResponses
For more information about custom error pages, see Customizing Error Responses in the Amazon
CloudFront Developer Guide.
Required: No
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.
Required: Yes
DefaultRootObject
The object that you want CloudFront to request from your origin (for example, [Link])
when a viewer requests the root URL for your distribution ([Link] instead
of an object in your distribution ([Link]
Specifying a default root object avoids exposing the contents of your distribution.
Specify only the object name, for example, [Link]. Don't add a / before the object name.
If you don't want to specify a default root object when you create a distribution, include an empty
DefaultRootObject element.
To delete the default root object from an existing distribution, update the distribution configuration
and include an empty DefaultRootObject element.
To replace the default root object, update the distribution configuration and specify the new object.
For more information about the default root object, see Creating a Default Root Object in the
Amazon CloudFront Developer Guide.
Type: String
Required: No
Enabled
From this field, you can enable or disable the selected distribution.
Type: Boolean
Required: Yes
HttpVersion
(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with
CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2
automatically use an earlier HTTP version.
For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support
Server Name Identification (SNI).
In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You
can improve performance by optimizing for HTTP/2. For more information, do an Internet search for
"http/2 optimization."
Type: String
Required: No
IsIPV6Enabled
If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution,
specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS
response code NOERROR and with no IP addresses. This allows viewers to submit a second request,
for an IPv4 address for your distribution.
In general, you should enable IPv6 if you have users on IPv6 networks who want to access your
content. However, if you're using signed URLs or signed cookies to restrict access to your content,
and if you're using a custom policy that includes the IpAddress parameter to restrict the IP
addresses that can access your content, don't enable IPv6. If you want to restrict access to some
content by IP address and not restrict access to other content (or restrict access but not by IP
address), you can create two distributions. For more information, see Creating a Signed URL Using a
Custom Policy in the Amazon CloudFront Developer Guide.
If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront
distribution, you need to create a second alias resource record set when both of the following are
true:
• You enable IPv6 for the distribution
• You're using alternate domain names in the URLs for your objects
For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your
Domain Name in the Amazon Route 53 Developer Guide.
If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS
service, you don't need to make any changes. A CNAME record will route traffic to your distribution
regardless of the IP address format of the viewer request.
Type: Boolean
Required: No
Logging
A complex type that controls whether access logs are written for the distribution.
For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.
Required: No
OriginGroups
A complex type that contains information about origin groups for this distribution.
Required: No
Origins
A complex type that contains information about origins for this distribution.
Required: Yes
PriceClass
The price class that corresponds with the maximum price that you want to pay for CloudFront
service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all
CloudFront edge locations.
If you specify a price class other than PriceClass_All, CloudFront serves your objects from the
CloudFront edge location that has the lowest latency among the edge locations in your price class.
Viewers who are in or near regions that are excluded from your specified price class may encounter
slower performance.
For more information about price classes, see Choosing the Price Class for a CloudFront Distribution
in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how
price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing.
For price class information, scroll down to see the table at the bottom of the page.
Type: String
Required: No
Restrictions
A complex type that identifies ways in which you want to restrict distribution of your content.
Required: No
ViewerCertificate
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
Required: No
WebACLId
A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.
To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example
arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-
f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the
ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.
AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that
are forwarded to CloudFront, and lets you control access to your content. Based on conditions that
you specify, such as the IP addresses that requests originate from or the values of query strings,
CloudFront responds to requests either with the requested content or with an HTTP 403 status code
(Forbidden). You can also configure CloudFront to return a custom error page when a request is
blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DistributionConfigWithTags
A distribution Configuration and a list of tags to be associated with the distribution.
Contents
DistributionConfig
A distribution configuration.
Required: Yes
Tags
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DistributionIdList
A list of distribution IDs.
Contents
IsTruncated
A flag that indicates whether more distribution IDs remain to be listed. If your results were
truncated, you can make a subsequent request using the Marker request field to retrieve more
distribution IDs in the list.
Type: Boolean
Required: Yes
Items
Required: No
Marker
Type: String
Required: Yes
MaxItems
Type: Integer
Required: Yes
NextMarker
Contains the value that you should use in the Marker field of a subsequent request to continue
listing distribution IDs where you left off.
Type: String
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DistributionList
A distribution list.
Contents
IsTruncated
A flag that indicates whether more distributions remain to be listed. If your results were truncated,
you can make a follow-up pagination request using the Marker request parameter to retrieve more
distributions in the list.
Type: Boolean
Required: Yes
Items
A complex type that contains one DistributionSummary element for each distribution that was
created by the current AWS account.
Required: No
Marker
Type: String
Required: Yes
MaxItems
Type: Integer
Required: Yes
NextMarker
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your distributions where they left off.
Type: String
Required: No
Quantity
The number of distributions that were created by the current AWS account.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
DistributionSummary
A summary of the information about a CloudFront distribution.
Contents
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
distribution.
Required: Yes
AliasICPRecordals
AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they
want to serve content publicly on an alternate domain name, also known as a CNAME, that they've
added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with
distributions.
For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started
with AWS services in China.
Required: No
ARN
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
Required: Yes
CacheBehaviors
Required: Yes
Comment
Type: String
Required: Yes
CustomErrorResponses
Required: Yes
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.
Required: Yes
DomainName
Type: String
Required: Yes
Enabled
Type: Boolean
Required: Yes
HttpVersion
Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront.
The default value for new web distributions is http2. Viewers that don't support HTTP/2 will
automatically use an earlier version.
Type: String
Required: Yes
Id
Type: String
Required: Yes
IsIPV6Enabled
Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.
Type: Boolean
Required: Yes
LastModifiedTime
Type: Timestamp
Required: Yes
OriginGroups
A complex type that contains information about origin groups for this distribution.
Required: No
Origins
A complex type that contains information about origins for this distribution.
Required: Yes
PriceClass
A complex type that contains information about price class for this streaming distribution.
Type: String
Required: Yes
Restrictions
A complex type that identifies ways in which you want to restrict distribution of your content.
Required: Yes
Status
The current status of the distribution. When the status is Deployed, the distribution's information is
propagated to all CloudFront edge locations.
Type: String
Required: Yes
ViewerCertificate
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
Required: Yes
WebACLId
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
EncryptionEntities
Complex data type for field-level encryption profiles that includes all of the encryption entities.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
EncryptionEntity
Complex data type for field-level encryption profiles that includes the encryption key and field pattern
specifications.
Contents
FieldPatterns
Field patterns in a field-level encryption content type profile specify the fields that you want to be
encrypted. You can provide the full field name, or any beginning characters followed by a wildcard
(*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field
patterns are case-sensitive.
Required: Yes
ProviderId
The provider associated with the public key being used for encryption. This value must also be
provided with the private key for applications to be able to decrypt data.
Type: String
Required: Yes
PublicKeyId
The public key associated with a set of field-level encryption patterns, to be used when encrypting
the fields that match the patterns.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
EndPoint
Contains information about the Amazon Kinesis data stream where you are sending real-time log data in
a real-time log configuration.
Contents
KinesisStreamConfig
Contains information about the Amazon Kinesis data stream where you are sending real-time log
data.
Required: No
StreamType
The type of data stream where you are sending real-time log data. The only valid value is Kinesis.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryption
A complex data type that includes the profile configurations and other options specified for field-level
encryption.
Contents
FieldLevelEncryptionConfig
A complex data type that includes the profile configurations specified for field-level encryption.
Required: Yes
Id
The configuration ID for a field-level encryption configuration which includes a set of profiles that
specify certain selected data fields to be encrypted by specific public keys.
Type: String
Required: Yes
LastModifiedTime
Type: Timestamp
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionConfig
A complex data type that includes the profile configurations specified for field-level encryption.
Contents
CallerReference
Type: String
Required: Yes
Comment
Type: String
Required: No
ContentTypeProfileConfig
A complex data type that specifies when to forward content if a content type isn't recognized and
profiles to use as by default in a request if a query argument doesn't specify a profile to use.
Required: No
QueryArgProfileConfig
A complex data type that specifies when to forward content if a profile isn't found and the profile
that can be provided as a query argument in a request.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionList
List of field-level encrpytion configurations.
Contents
Items
Required: No
MaxItems
Type: Integer
Required: Yes
NextMarker
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your configurations where you left off.
Type: String
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionProfile
A complex data type for field-level encryption profiles.
Contents
FieldLevelEncryptionProfileConfig
A complex data type that includes the profile name and the encryption entities for the field-level
encryption profile.
Required: Yes
Id
The ID for a field-level encryption profile configuration which includes a set of profiles that specify
certain selected data fields to be encrypted by specific public keys.
Type: String
Required: Yes
LastModifiedTime
Type: Timestamp
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionProfileConfig
A complex data type of profiles for the field-level encryption.
Contents
CallerReference
Type: String
Required: Yes
Comment
Type: String
Required: No
EncryptionEntities
A complex data type of encryption entities for the field-level encryption profile that include the
public key ID, provider, and field patterns for specifying which fields to encrypt with this key.
Required: Yes
Name
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionProfileList
List of field-level encryption profiles.
Contents
Items
Required: No
MaxItems
The maximum number of field-level encryption profiles you want in the response body.
Type: Integer
Required: Yes
NextMarker
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your profiles where you left off.
Type: String
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionProfileSummary
The field-level encryption profile summary.
Contents
Comment
Type: String
Required: No
EncryptionEntities
A complex data type of encryption entities for the field-level encryption profile that include the
public key ID, provider, and field patterns for specifying which fields to encrypt with this key.
Required: Yes
Id
Type: String
Required: Yes
LastModifiedTime
The time when the the field-level encryption profile summary was last updated.
Type: Timestamp
Required: Yes
Name
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldLevelEncryptionSummary
A summary of a field-level encryption item.
Contents
Comment
Type: String
Required: No
ContentTypeProfileConfig
Required: No
Id
Type: String
Required: Yes
LastModifiedTime
The last time that the summary of field-level encryption items was modified.
Type: Timestamp
Required: Yes
QueryArgProfileConfig
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
FieldPatterns
A complex data type that includes the field patterns to match for field-level encryption.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ForwardedValues
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of
this field.
If you want to include values in the cache key, use a cache policy. For more information, see Creating
cache policies in the Amazon CloudFront Developer Guide.
If you want to send values to the origin but not include them in the cache key, use an origin request
policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer
Guide.
A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
Contents
Cookies
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include cookies in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send cookies to the origin but not include them in the cache key, use an origin
request policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
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.
Required: Yes
Headers
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include headers in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send headers to the origin but not include them in the cache key, use an origin
request policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
A complex type that specifies the Headers, if any, that you want CloudFront to forward to the
origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also
caches separate versions of a specified object that is based on the header values in viewer requests.
For more information, see Caching Content Based on Request Headers in the Amazon CloudFront
Developer Guide.
Required: No
QueryString
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include query strings in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send query strings to the origin but not include them in the cache key, use an origin
request policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
Indicates whether you want CloudFront to forward query strings to the origin that is associated with
this cache behavior and cache based on the query string parameters. CloudFront behavior depends
on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if
any:
If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys,
CloudFront forwards all query string parameters to the origin and caches based on all query
string parameters. Depending on how many query string parameters and values you have, this can
adversely affect performance because CloudFront must forward more requests to the origin.
If you specify true for QueryString and you specify one or more values for
QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only
caches based on the query string parameters that you specify.
If you specify false for QueryString, CloudFront doesn't forward any query string parameters to
the origin, and doesn't cache based on query string parameters.
For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the
Amazon CloudFront Developer Guide.
Type: Boolean
Required: Yes
QueryStringCacheKeys
This field is deprecated. We recommend that you use a cache policy or an origin request policy
instead of this field.
If you want to include query strings in the cache key, use a cache policy. For more information, see
Creating cache policies in the Amazon CloudFront Developer Guide.
If you want to send query strings to the origin but not include them in the cache key, use an origin
request policy. For more information, see Creating origin request policies in the Amazon CloudFront
Developer Guide.
A complex type that contains information about the query string parameters that you want
CloudFront to use for caching for this cache behavior.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
Items
A complex type that contains a Location element for each country in which you want CloudFront
either to distribute your content (whitelist) or not distribute your content (blacklist).
The Location element is a two-letter, uppercase country code for a country that you want to
include in your blacklist or whitelist. Include one Location element for each country.
CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and
the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for
Standardization website. You can also refer to the country list on the CloudFront console, which
includes both country names and codes.
Required: No
Quantity
When geo restriction is enabled, this is the number of countries in your whitelist or blacklist.
Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.
Type: Integer
Required: Yes
RestrictionType
The method that you want to use to restrict distribution of your content by country:
• none: No geo restriction is enabled, meaning access to content is not restricted by client geo
location.
• blacklist: The Location elements specify the countries in which you don't want CloudFront to
distribute your content.
• whitelist: The Location elements specify the countries in which you want CloudFront to
distribute your content.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Headers
Contains a list of HTTP header names.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Invalidation
An invalidation.
Contents
CreateTime
The date and time the invalidation request was first made.
Type: Timestamp
Required: Yes
Id
Type: String
Required: Yes
InvalidationBatch
Required: Yes
Status
The status of the invalidation request. When the invalidation batch is finished, the status is
Completed.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
InvalidationBatch
An invalidation batch.
Contents
CallerReference
A value that you specify to uniquely identify an invalidation request. CloudFront uses the value
to prevent you from accidentally resubmitting an identical request. Whenever you create a new
invalidation request, you must specify a new value for CallerReference and change other values
in the request as applicable. One way to ensure that the value of CallerReference is unique is to
use a timestamp, for example, 20120301090000.
If you make a second invalidation request with the same value for CallerReference, and if the
rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead,
CloudFront returns information about the invalidation request that you previously created with the
same CallerReference.
Type: String
Required: Yes
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.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
IsTruncated
A flag that indicates whether more invalidation batch requests remain to be listed. If your results
were truncated, you can make a follow-up pagination request using the Marker request parameter
to retrieve more invalidation batches in the list.
Type: Boolean
Required: Yes
Items
A complex type that contains one InvalidationSummary element for each invalidation batch
created by the current AWS account.
Required: No
Marker
The value that you provided for the Marker request parameter.
Type: String
Required: Yes
MaxItems
The value that you provided for the MaxItems request parameter.
Type: Integer
Required: Yes
NextMarker
If IsTruncated is true, this element is present and contains the value that you can use for the
Marker request parameter to continue listing your invalidation batches where they left off.
Type: String
Required: No
Quantity
The number of invalidation batches that were created by the current AWS account.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
InvalidationSummary
A summary of an invalidation request.
Contents
CreateTime
Type: Timestamp
Required: Yes
Id
Type: String
Required: Yes
Status
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
KeyPairIds
A complex type that lists the active CloudFront key pairs, if any, that are associated with
AwsAccountNumber.
Contents
Items
A complex type that lists the active CloudFront key pairs, if any, that are associated with
AwsAccountNumber.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
KinesisStreamConfig
Contains information about the Amazon Kinesis data stream where you are sending real-time log data.
Contents
RoleARN
The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that
CloudFront can use to send real-time log data to your Kinesis data stream.
For more information the IAM role, see Real-time log configuration IAM role in the Amazon
CloudFront Developer Guide.
Type: String
Required: Yes
StreamARN
The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending real-time log
data.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
LambdaFunctionAssociation
A complex type that contains a Lambda function association.
Contents
EventType
Specifies the event type that triggers a Lambda function invocation. You can specify the following
values:
• viewer-request: The function executes when CloudFront receives a request from a viewer and
before it checks to see whether the requested object is in the edge cache.
• origin-request: The function executes only when CloudFront sends a request to your origin.
When the requested object is in the edge cache, the function doesn't execute.
• origin-response: The function executes after CloudFront receives a response from the origin
and before it caches the object in the response. When the requested object is in the edge cache,
the function doesn't execute.
• viewer-response: The function executes before CloudFront returns the requested object to the
viewer. The function executes regardless of whether the object was already in the edge cache.
If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.
Type: String
Required: Yes
IncludeBody
A flag that allows a Lambda function to have read access to the body content. For more information,
see Accessing the Request Body by Choosing the Include Body Option in the Amazon CloudFront
Developer Guide.
Type: Boolean
Required: No
LambdaFunctionARN
The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a
Lambda alias or $LATEST.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
Items
Optional: A complex type that contains LambdaFunctionAssociation items for this cache
behavior. If Quantity is 0, you can omit Items.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
LoggingConfig
A complex type that controls whether access logs are written for the distribution.
Contents
Bucket
The Amazon S3 bucket to store the access logs in, for example,
[Link].
Type: String
Required: Yes
Enabled
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't
want to enable logging when you create a distribution or if you want to disable logging for
an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix
elements. If you specify false for Enabled but you specify values for Bucket, prefix, and
IncludeCookies, the values are automatically deleted.
Type: Boolean
Required: Yes
IncludeCookies
Specifies whether you want CloudFront to include cookies in access logs, specify true for
IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless
of how you configure the cache behaviors for this distribution. If you don't want to include cookies
when you create a distribution or if you want to disable include cookies for an existing distribution,
specify false for IncludeCookies.
Type: Boolean
Required: Yes
Prefix
An optional string that you want CloudFront to prefix to the access log filenames for this
distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a
prefix, you still must include an empty Prefix element in the Logging element.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
MonitoringSubscription
A monitoring subscription. This structure contains information about whether additional CloudWatch
metrics are enabled for a given CloudFront distribution.
Contents
RealtimeMetricsSubscriptionConfig
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Origin
An origin.
An origin is the location where content is stored, and from which CloudFront gets content to serve to
viewers. To specify an origin:
• Use the S3OriginConfig type to specify an Amazon S3 bucket that is not configured with static
website hosting.
• Use the CustomOriginConfig type to specify various other kinds of content containers or HTTP
servers, including:
• An Amazon S3 bucket that is configured with static website hosting
• An Elastic Load Balancing load balancer
• An AWS Elemental MediaPackage origin
• An AWS Elemental MediaStore container
• Any other HTTP server, running on an Amazon EC2 instance or any other kind of host
For the current maximum number of origins that you can specify per distribution, see General Quotas on
Web Distributions in the Amazon CloudFront Developer Guide (quotas were formerly referred to as limits).
Contents
ConnectionAttempts
The number of times that CloudFront attempts to connect to the origin. The minimum number is 1,
the maximum is 3, and the default (if you don’t specify otherwise) is 3.
For a custom origin (including an Amazon S3 bucket that’s configured with static website hosting),
this value also specifies the number of times that CloudFront attempts to get a response from the
origin, in the case of an Origin Response Timeout.
For more information, see Origin Connection Attempts in the Amazon CloudFront Developer Guide.
Type: Integer
Required: No
ConnectionTimeout
The number of seconds that CloudFront waits when trying to establish a connection to the origin.
The minimum timeout is 1 second, the maximum is 10 seconds, and the default (if you don’t specify
otherwise) is 10 seconds.
For more information, see Origin Connection Timeout in the Amazon CloudFront Developer Guide.
Type: Integer
Required: No
CustomHeaders
A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
For more information, see Adding Custom Headers to Origin Requests in the Amazon CloudFront
Developer Guide.
Required: No
CustomOriginConfig
Use this type to specify an origin that is a content container or HTTP server, including an Amazon S3
bucket that is configured with static website hosting. To specify an Amazon S3 bucket that is not
configured with static website hosting, use the S3OriginConfig type instead.
Required: No
DomainName
For more information, see Origin Domain Name in the Amazon CloudFront Developer Guide.
Type: String
Required: Yes
Id
A unique identifier for the origin. This value must be unique within the distribution.
Type: String
Required: Yes
OriginPath
An optional path that CloudFront appends to the origin domain name when CloudFront requests
content from the origin.
For more information, see Origin Path in the Amazon CloudFront Developer Guide.
Type: String
Required: No
S3OriginConfig
Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static
website hosting. To specify any other type of origin, including an Amazon S3 bucket that is
configured with static website hosting, use the CustomOriginConfig type instead.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginCustomHeader
A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.
Contents
HeaderName
The name of a header that you want CloudFront to send to your origin. For more information, see
Adding Custom Headers to Origin Requests in the Amazon CloudFront Developer Guide.
Type: String
Required: Yes
HeaderValue
The value for the header that you specified in the HeaderName field.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginGroup
An origin group includes two origins (a primary origin and a second origin to failover to) and a failover
criteria that you specify. You create an origin group to support origin failover in CloudFront. When
you create or update a distribution, you can specifiy the origin group instead of a single origin, and
CloudFront will failover from the primary origin to the second origin under the failover conditions that
you've chosen.
Contents
FailoverCriteria
A complex type that contains information about the failover criteria for an origin group.
Required: Yes
Id
Type: String
Required: Yes
Members
A complex type that contains information about the origins in an origin group.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginGroupFailoverCriteria
A complex data type that includes information about the failover criteria for an origin group, including
the status codes for which CloudFront will failover from the primary origin to the second origin.
Contents
StatusCodes
The status codes that, when returned from the primary origin, will trigger CloudFront to failover to
the second origin.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginGroupMember
An origin in an origin group.
Contents
OriginId
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginGroupMembers
A complex data type for the origins included in an origin group.
Contents
Items
Required: Yes
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginGroups
A complex data type for the origin groups specified for a distribution.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicy
An origin request policy.
When it’s attached to a cache behavior, the origin request policy determines the values that CloudFront
includes in requests that it sends to the origin. Each request that CloudFront sends to the origin includes
the following:
• The request body and the URL path (without the domain name) from the viewer request.
• The headers that CloudFront automatically includes in every origin request, including Host, User-
Agent, and X-Amz-Cf-Id.
• All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin
request policy. These can include items from the viewer request and, in the case of headers, additional
ones that are added by CloudFront.
CloudFront sends a request when it can’t find an object in its cache that matches the request. If you want
to send values to the origin and also include them in the cache key, use CachePolicy.
Contents
Id
Type: String
Required: Yes
LastModifiedTime
The date and time when the origin request policy was last modified.
Type: Timestamp
Required: Yes
OriginRequestPolicyConfig
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicyConfig
An origin request policy configuration.
This configuration determines the values that CloudFront includes in requests that it sends to the origin.
Each request that CloudFront sends to the origin includes the following:
• The request body and the URL path (without the domain name) from the viewer request.
• The headers that CloudFront automatically includes in every origin request, including Host, User-
Agent, and X-Amz-Cf-Id.
• All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin
request policy. These can include items from the viewer request and, in the case of headers, additional
ones that are added by CloudFront.
CloudFront sends a request when it can’t find an object in its cache that matches the request. If you want
to send values to the origin and also include them in the cache key, use CachePolicy.
Contents
Comment
Type: String
Required: No
CookiesConfig
Required: Yes
HeadersConfig
The HTTP headers to include in origin requests. These can include headers from viewer requests and
additional headers added by CloudFront.
Required: Yes
Name
Type: String
Required: Yes
QueryStringsConfig
The URL query strings from viewer requests to include in origin requests.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicyCookiesConfig
An object that determines whether any cookies in viewer requests (and if so, which cookies) are included
in requests that CloudFront sends to the origin.
Contents
CookieBehavior
Determines whether cookies in viewer requests are included in requests that CloudFront sends to the
origin. Valid values are:
• none – Cookies in viewer requests are not included in requests that CloudFront sends to the origin.
Even when this field is set to none, any cookies that are listed in a CachePolicy are included in
origin requests.
• whitelist – The cookies in viewer requests that are listed in the CookieNames type are included
in requests that CloudFront sends to the origin.
• all – All cookies in viewer requests are included in requests that CloudFront sends to the origin.
Type: String
Required: Yes
Cookies
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicyHeadersConfig
An object that determines whether any HTTP headers (and if so, which headers) are included in requests
that CloudFront sends to the origin.
Contents
HeaderBehavior
Determines whether any HTTP headers are included in requests that CloudFront sends to the origin.
Valid values are:
• none – HTTP headers are not included in requests that CloudFront sends to the origin. Even
when this field is set to none, any headers that are listed in a CachePolicy are included in origin
requests.
• whitelist – The HTTP headers that are listed in the Headers type are included in requests that
CloudFront sends to the origin.
• allViewer – All HTTP headers in viewer requests are included in requests that CloudFront sends
to the origin.
• allViewerAndWhitelistCloudFront – All HTTP headers in viewer requests and the additional
CloudFront headers that are listed in the Headers type are included in requests that CloudFront
sends to the origin. The additional headers are added by CloudFront.
Type: String
Required: Yes
Headers
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicyList
A list of origin request policies.
Contents
Items
Required: No
MaxItems
Type: Integer
Required: Yes
NextMarker
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing origin
request policies where you left off.
Type: String
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicyQueryStringsConfig
An object that determines whether any URL query strings in viewer requests (and if so, which query
strings) are included in requests that CloudFront sends to the origin.
Contents
QueryStringBehavior
Determines whether any URL query strings in viewer requests are included in requests that
CloudFront sends to the origin. Valid values are:
• none – Query strings in viewer requests are not included in requests that CloudFront sends to the
origin. Even when this field is set to none, any query strings that are listed in a CachePolicy are
included in origin requests.
• whitelist – The query strings in viewer requests that are listed in the QueryStringNames type
are included in requests that CloudFront sends to the origin.
• all – All query strings in viewer requests are included in requests that CloudFront sends to the
origin.
Type: String
Required: Yes
QueryStrings
Contains a list of the query strings in viewer requests that are included in requests that CloudFront
sends to the origin.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginRequestPolicySummary
Contains an origin request policy.
Contents
OriginRequestPolicy
Required: Yes
Type
The type of origin request policy, either managed (created by AWS) or custom (created in this AWS
account).
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Origins
A complex type that contains information about origins and origin groups for this distribution.
Contents
Items
A complex type that contains origins or origin groups for this distribution.
Required: Yes
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
OriginSslProtocols
A complex type that contains information about the SSL/TLS protocols that CloudFront can use when
establishing an HTTPS connection with your origin.
Contents
Items
Required: Yes
Quantity
The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an
HTTPS connection with this origin.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ParametersInCacheKeyAndForwardedToOrigin
This object determines the values that CloudFront includes in the cache key. These values can include
HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to find an object in its
cache that it can return to the viewer.
The headers, cookies, and query strings that are included in the cache key are automatically included in
requests that CloudFront sends to the origin. CloudFront sends a request when it can’t find an object in
its cache that matches the request’s cache key. If you want to send values to the origin but not include
them in the cache key, use OriginRequestPolicy.
Contents
CookiesConfig
An object that determines whether any cookies in viewer requests (and if so, which cookies) are
included in the cache key and automatically included in requests that CloudFront sends to the origin.
Required: Yes
EnableAcceptEncodingGzip
A flag that determines whether the Accept-Encoding HTTP header is included in the cache key
and included in requests that CloudFront sends to the origin.
If this field is true and the viewer request includes the Accept-Encoding header, then CloudFront
normalizes the value of the viewer’s Accept-Encoding header to one of the following:
• Accept-Encoding: gzip (if gzip is in the viewer’s Accept-Encoding header)
• Accept-Encoding: identity (if gzip is not in the viewer’s Accept-Encoding header)
CloudFront includes the normalized header in the cache key and includes it in requests that
CloudFront sends to the origin.
If this field is false, then CloudFront treats the Accept-Encoding header the same as any other
HTTP header in the viewer request. By default, it’s not included in the cache key and it’s not included
in origin requests. You can manually add Accept-Encoding to the headers whitelist like any other
HTTP header.
When this field is true, you should not whitelist the Accept-Encoding header in the cache policy
or in an origin request policy attached to the same cache behavior.
For more information, see Cache compressed objects in the Amazon CloudFront Developer Guide.
Type: Boolean
Required: Yes
HeadersConfig
An object that determines whether any HTTP headers (and if so, which headers) are included in the
cache key and automatically included in requests that CloudFront sends to the origin.
Required: Yes
QueryStringsConfig
An object that determines whether any URL query strings in viewer requests (and if so, which query
strings) are included in the cache key and automatically included in requests that CloudFront sends
to the origin.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
Items
A complex type that contains a list of the paths that you want to invalidate.
Required: No
Quantity
The number of invalidation paths specified for the objects that you want to invalidate.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
PublicKey
A complex data type of public keys you add to CloudFront to use with features like field-level encryption.
Contents
CreatedTime
Type: Timestamp
Required: Yes
Id
Type: String
Required: Yes
PublicKeyConfig
A complex data type for a public key you add to CloudFront to use with features like field-level
encryption.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
PublicKeyConfig
Information about a public key you add to CloudFront to use with features like field-level encryption.
Contents
CallerReference
Type: String
Required: Yes
Comment
Type: String
Required: No
EncodedKey
The encoded public key that you want to add to CloudFront to use with features like field-level
encryption.
Type: String
Required: Yes
Name
The name for a public key you add to CloudFront to use with features like field-level encryption.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
PublicKeyList
A list of public keys you've added to CloudFront to use with features like field-level encryption.
Contents
Items
An array of information about a public key you add to CloudFront to use with features like field-level
encryption.
Required: No
MaxItems
The maximum number of public keys you want in the response body.
Type: Integer
Required: Yes
NextMarker
If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your public keys where you left off.
Type: String
Required: No
Quantity
The number of public keys you added to CloudFront to use with features like field-level encryption.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
PublicKeySummary
A complex data type for public key information.
Contents
Comment
Type: String
Required: No
CreatedTime
Type: Timestamp
Required: Yes
EncodedKey
Type: String
Required: Yes
Id
Type: String
Required: Yes
Name
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
QueryArgProfile
Query argument-profile mapping for field-level encryption.
Contents
ProfileId
Type: String
Required: Yes
QueryArg
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
QueryArgProfileConfig
Configuration for query argument-profile mapping for field-level encryption.
Contents
ForwardWhenQueryArgProfileIsUnknown
Flag to set if you want a request to be forwarded to the origin even if the profile specified by the
field-level encryption query argument, fle-profile, is unknown.
Type: Boolean
Required: Yes
QueryArgProfiles
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
QueryArgProfiles
Query argument-profile mapping for field-level encryption.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
QueryStringCacheKeys
This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of
this field.
If you want to include query strings in the cache key, use QueryStringsConfig in a cache policy. See
CachePolicy.
If you want to send query strings to the origin but not include them in the cache key, use
QueryStringsConfig in an origin request policy. See OriginRequestPolicy.
A complex type that contains information about the query string parameters that you want CloudFront
to use for caching for a cache behavior.
Contents
Items
A list that contains the query string parameters that you want CloudFront to use as a basis for
caching for a cache behavior. If Quantity is 0, you can omit Items.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
QueryStringNames
Contains a list of query string names.
Contents
Items
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
RealtimeLogConfig
A real-time log configuration.
Contents
ARN
Type: String
Required: Yes
EndPoints
Contains information about the Amazon Kinesis data stream where you are sending real-time log
data for this real-time log configuration.
Required: Yes
Fields
A list of fields that are included in each real-time log record. In an API response, the fields are
provided in the same order in which they are sent to the Amazon Kinesis data stream.
For more information about fields, see Real-time log configuration fields in the Amazon CloudFront
Developer Guide.
Required: Yes
Name
Type: String
Required: Yes
SamplingRate
The sampling rate for this real-time log configuration. The sampling rate determines the percentage
of viewer requests that are represented in the real-time log data. The sampling rate is an integer
between 1 and 100, inclusive.
Type: Long
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
RealtimeLogConfigs
A list of real-time log configurations.
Contents
IsTruncated
A flag that indicates whether there are more real-time log configurations than are contained in this
list.
Type: Boolean
Required: Yes
Items
Required: No
Marker
This parameter indicates where this list of real-time log configurations begins. This list includes real-
time log configurations that occur after the marker.
Type: String
Required: Yes
MaxItems
Type: Integer
Required: Yes
NextMarker
If there are more items in the list than are in this response, this element is present. It contains the
value that you should use in the Marker field of a subsequent request to continue listing real-time
log configurations where you left off.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
RealtimeMetricsSubscriptionConfig
A subscription configuration for additional CloudWatch metrics.
Contents
RealtimeMetricsSubscriptionStatus
A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront
distribution.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Restrictions
A complex type that identifies ways in which you want to restrict distribution of your content.
Contents
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.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
S3Origin
A complex type that contains information about the Amazon S3 bucket from which you want CloudFront
to get your media files for distribution.
Contents
DomainName
Type: String
Required: Yes
OriginAccessIdentity
The CloudFront origin access identity to associate with the distribution. Use an origin access identity
to configure the distribution so that end users can only access objects in an Amazon S3 bucket
through CloudFront.
If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3
URL, specify an empty OriginAccessIdentity element.
To delete the origin access identity from an existing distribution, update the distribution
configuration and include an empty OriginAccessIdentity element.
To replace the origin access identity, update the distribution configuration and specify the new origin
access identity.
For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3
Content in the Amazon CloudFront Developer Guide.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
S3OriginConfig
A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin or
an S3 bucket that is configured as a website endpoint, use the CustomOriginConfig element instead.
Contents
OriginAccessIdentity
The CloudFront origin access identity to associate with the origin. Use an origin access identity
to configure the origin so that viewers can only access objects in an Amazon S3 bucket through
CloudFront. The format of the value is:
origin-access-identity/cloudfront/ID-of-origin-access-identity
If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3
URL, specify an empty OriginAccessIdentity element.
To delete the origin access identity from an existing distribution, update the distribution
configuration and include an empty OriginAccessIdentity element.
To replace the origin access identity, update the distribution configuration and specify the new origin
access identity.
For more information about the origin access identity, see Serving Private Content through
CloudFront in the Amazon CloudFront Developer Guide.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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.
Contents
AwsAccountNumber
An AWS account that is included in the TrustedSigners complex type for this distribution. Valid
values include:
• self, which is the AWS account used to create the distribution.
• An AWS account number.
Type: String
Required: No
KeyPairIds
A complex type that lists the active CloudFront key pairs, if any, that are associated with
AwsAccountNumber.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StatusCodes
A complex data type for the status codes that you specify that, when returned by a primary origin,
trigger CloudFront to failover to a second origin.
Contents
Items
Required: Yes
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingDistribution
A streaming distribution tells CloudFront where you want RTMP content to be delivered from, and the
details about how to track and manage content delivery.
Contents
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.
Required: Yes
ARN
The ARN (Amazon Resource Name) for the distribution. For example:
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where
123456789012 is your AWS account ID.
Type: String
Required: Yes
DomainName
The domain name that corresponds to the streaming distribution, for example,
[Link].
Type: String
Required: Yes
Id
Type: String
Required: Yes
LastModifiedTime
The date and time that the distribution was last modified.
Type: Timestamp
Required: No
Status
The current status of the RTMP distribution. When the status is Deployed, the distribution's
information is propagated to all CloudFront edge locations.
Type: String
Required: Yes
StreamingDistributionConfig
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingDistributionConfig
The RTMP distribution's configuration information.
Contents
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
streaming distribution.
Required: No
CallerReference
A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.
If CallerReference is a value that you already sent in a previous request to create a distribution,
CloudFront returns a DistributionAlreadyExists error.
Type: String
Required: Yes
Comment
Type: String
Required: Yes
Enabled
Whether the streaming distribution is enabled to accept user requests for content.
Type: Boolean
Required: Yes
Logging
A complex type that controls whether access logs are written for the streaming distribution.
Required: No
PriceClass
A complex type that contains information about price class for this streaming distribution.
Type: String
Required: No
S3Origin
A complex type that contains information about the Amazon S3 bucket from which you want
CloudFront to get your media files for distribution.
Required: Yes
TrustedSigners
A complex type that specifies any AWS accounts that you want to permit to create signed URLs for
private content. If you want the distribution to use signed URLs, include this element; if you want
the distribution to use public URLs, remove this element. For more information, see Serving Private
Content through CloudFront in the Amazon CloudFront Developer Guide.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingDistributionConfigWithTags
A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.
Contents
StreamingDistributionConfig
Required: Yes
Tags
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingDistributionList
A streaming distribution list.
Contents
IsTruncated
A flag that indicates whether more streaming distributions remain to be listed. If your results were
truncated, you can make a follow-up pagination request using the Marker request parameter to
retrieve more distributions in the list.
Type: Boolean
Required: Yes
Items
Required: No
Marker
Type: String
Required: Yes
MaxItems
Type: Integer
Required: Yes
NextMarker
If IsTruncated is true, this element is present and contains the value you can use for the Marker
request parameter to continue listing your RTMP distributions where they left off.
Type: String
Required: No
Quantity
The number of streaming distributions that were created by the current AWS account.
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingDistributionSummary
A summary of the information for a CloudFront streaming distribution.
Contents
Aliases
A complex type that contains information about CNAMEs (alternate domain names), if any, for this
streaming distribution.
Required: Yes
ARN
The ARN (Amazon Resource Name) for the streaming distribution. For example:
arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5,
where 123456789012 is your AWS account ID.
Type: String
Required: Yes
Comment
Type: String
Required: Yes
DomainName
Type: String
Required: Yes
Enabled
Whether the distribution is enabled to accept end user requests for content.
Type: Boolean
Required: Yes
Id
Type: String
Required: Yes
LastModifiedTime
Type: Timestamp
Required: Yes
PriceClass
A complex type that contains information about price class for this streaming distribution.
Type: String
Required: Yes
S3Origin
A complex type that contains information about the Amazon S3 bucket from which you want
CloudFront to get your media files for distribution.
Required: Yes
Status
Indicates the current status of the distribution. When the status is Deployed, the distribution's
information is fully propagated throughout the Amazon CloudFront system.
Type: String
Required: Yes
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 [Link] 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, see Serving Private Content through CloudFront in the Amazon CloudFront
Developer Guide.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
StreamingLoggingConfig
A complex type that controls whether access logs are written for this streaming distribution.
Contents
Bucket
The Amazon S3 bucket to store the access logs in, for example,
[Link].
Type: String
Required: Yes
Enabled
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't
want to enable logging when you create a streaming distribution or if you want to disable logging
for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and
Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix,
the values are automatically deleted.
Type: Boolean
Required: Yes
Prefix
An optional string that you want CloudFront to prefix to the access log filenames for this streaming
distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a
prefix, you still must include an empty Prefix element in the Logging element.
Type: String
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Tag
A complex type that contains Tag key and Tag value.
Contents
Key
The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9,
space, and the special characters _ - . : / = + @.
Type: String
Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
Required: Yes
Value
The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9,
space, and the special characters _ - . : / = + @.
Type: String
Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
TagKeys
A complex type that contains zero or more Tag elements.
Contents
Items
Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Tags
A complex type that contains zero or more Tag elements.
Contents
Items
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
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 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 in the
Amazon CloudFront API Reference.
Contents
Enabled
Specifies whether you want to require viewers to use signed URLs to access the files specified by
PathPattern and TargetOriginId.
Type: Boolean
Required: Yes
Items
Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you
can omit Items.
Required: No
Quantity
Type: Integer
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ViewerCertificate
A complex type that determines the distribution’s SSL/TLS configuration for communicating with
viewers.
If the distribution doesn’t use Aliases (also known as alternate domain names or CNAMEs)—that is, if
the distribution uses the CloudFront domain name such as [Link]—set
CloudFrontDefaultCertificate to true and leave all other fields empty.
If the distribution uses Aliases (alternate domain names or CNAMEs), use the fields in this type to
specify the following settings:
• Which viewers the distribution accepts HTTPS connections from: only viewers that support server
name indication (SNI) (recommended), or all viewers including those that don’t support SNI.
• To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod to sni-
only. This is recommended. Most browsers and clients support SNI. (In CloudFormation, the field
name is SslSupportMethod. Note the different capitalization.)
• To accept HTTPS connections from all viewers, including those that don’t support SNI, set
SSLSupportMethod to vip. This is not recommended, and results in additional monthly charges
from CloudFront. (In CloudFormation, the field name is SslSupportMethod. Note the different
capitalization.)
• The minimum SSL/TLS protocol version that the distribution can use to communicate with viewers. To
specify a minimum version, choose a value for MinimumProtocolVersion. For more information, see
Security Policy in the Amazon CloudFront Developer Guide.
• The location of the SSL/TLS certificate, AWS Certificate Manager (ACM) (recommended) or AWS
Identity and Access Management (AWS IAM). You specify the location by setting a value in one of the
following fields (not both):
• ACMCertificateArn (In CloudFormation, this field name is AcmCertificateArn. Note the
different capitalization.)
• IAMCertificateId (In CloudFormation, this field name is IamCertificateId. Note the different
capitalization.)
All distributions support HTTPS connections from viewers. To require viewers to use HTTPS only,
or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy in the CacheBehavior or
DefaultCacheBehavior. To specify how CloudFront should use SSL/TLS to communicate with your
custom origin, use CustomOriginConfig.
For more information, see Using HTTPS with CloudFront and Using Alternate Domain Names and HTTPS
in the Amazon CloudFront Developer Guide.
Contents
ACMCertificateArn
Note
In CloudFormation, this field name is AcmCertificateArn. Note the different
capitalization.
If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate
is stored in AWS Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the
ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region (us-
east-1).
If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVerison
and SSLSupportMethod. (In CloudFormation, the field name is SslSupportMethod. Note the
different capitalization.)
Type: String
Required: No
Certificate
Type: String
Required: No
CertificateSource
Type: String
Required: No
CloudFrontDefaultCertificate
If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to false and
specify values for the following fields:
• ACMCertificateArn or IAMCertificateId (specify a value for one, not both)
Type: Boolean
Required: No
IAMCertificateId
Note
In CloudFormation, this field name is IamCertificateId. Note the different
capitalization.
If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is
stored in AWS Identity and Access Management (AWS IAM), provide the ID of the IAM certificate.
If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVerison
and SSLSupportMethod. (In CloudFormation, the field name is SslSupportMethod. Note the
different capitalization.)
Type: String
Required: No
MinimumProtocolVersion
If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy
that you want CloudFront to use for HTTPS connections with viewers. The security policy determines
two settings:
• The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.
• The ciphers that CloudFront can use to encrypt the content that it returns to viewers.
For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers
and CloudFront in the Amazon CloudFront Developer Guide.
Note
On the CloudFront console, this setting is called Security Policy.
When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify TLSv1 or
higher. (In CloudFormation, the field name is SslSupportMethod. Note the different capitalization.)
Type: String
Required: No
SSLSupportMethod
Note
In CloudFormation, this field name is SslSupportMethod. Note the different
capitalization.
If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the
distribution accepts HTTPS connections from.
• sni-only – The distribution accepts HTTPS connections from only viewers that support server
name indication (SNI). This is recommended. Most browsers and clients support SNI.
• vip – The distribution accepts HTTPS connections from all viewers including those that don’t
support SNI. This is not recommended, and results in additional monthly charges from CloudFront.
• static-ip - Do not specify this value unless your distribution has been enabled for this feature
by the CloudFront team. If you have a use case that requires static IP addresses for a distribution,
contact CloudFront through the AWS Support Center.
Type: String
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
Common Parameters
The following list contains the parameters that all actions use for signing Signature Version 4 requests
with a query string. Any action-specific parameters are listed in the topic for that action. For more
information about Signature Version 4, see Signature Version 4 Signing Process in the Amazon Web
Services General Reference.
Action
Type: string
Required: Yes
Version
The API version that the request is written for, expressed in the format YYYY-MM-DD.
Type: string
Required: Yes
X-Amz-Algorithm
The hash algorithm that you used to create the request signature.
Condition: Specify this parameter when you include authentication information in a query string
instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Credential
The credential scope value, which is a string that includes your access key, the date, the region you
are targeting, the service you are requesting, and a termination string ("aws4_request"). The value is
expressed in the following format: access_key/YYYYMMDD/region/service/aws4_request.
For more information, see Task 2: Create a String to Sign for Signature Version 4 in the Amazon Web
Services General Reference.
Condition: Specify this parameter when you include authentication information in a query string
instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-Date
The date that is used to create the signature. The format must be ISO 8601 basic format
(YYYYMMDD'T'HHMMSS'Z'). For example, the following date time is a valid X-Amz-Date value:
20120325T120000Z.
Condition: X-Amz-Date is optional for all requests; it can be used to override the date used for
signing requests. If the Date header is specified in the ISO 8601 basic format, X-Amz-Date is
not required. When X-Amz-Date is used, it always overrides the value of the Date header. For
more information, see Handling Dates in Signature Version 4 in the Amazon Web Services General
Reference.
Type: string
Required: Conditional
X-Amz-Security-Token
The temporary security token that was obtained through a call to AWS Security Token Service (AWS
STS). For a list of services that support temporary security credentials from AWS Security Token
Service, go to AWS Services That Work with IAM in the IAM User Guide.
Condition: If you're using temporary security credentials from the AWS Security Token Service, you
must include the security token.
Type: string
Required: Conditional
X-Amz-Signature
Specifies the hex-encoded signature that was calculated from the string to sign and the derived
signing key.
Condition: Specify this parameter when you include authentication information in a query string
instead of in the HTTP authorization header.
Type: string
Required: Conditional
X-Amz-SignedHeaders
Specifies all the HTTP headers that were included as part of the canonical request. For more
information about specifying signed headers, see Task 1: Create a Canonical Request For Signature
Version 4 in the Amazon Web Services General Reference.
Condition: Specify this parameter when you include authentication information in a query string
instead of in the HTTP authorization header.
Type: string
Required: Conditional
Common Errors
This section lists the errors common to the API actions of all AWS services. For errors specific to an API
action for this service, see the topic for that API action.
AccessDeniedException
The request processing has failed because of an unknown error, exception or failure.
The action or operation requested is invalid. Verify that the action is typed correctly.
The X.509 certificate or AWS access key ID provided does not exist in our records.
The AWS query string is malformed or does not adhere to AWS standards.
MissingAuthenticationToken
The request must contain either a valid (registered) AWS access key ID or X.509 certificate.
The request reached the service more than 15 minutes after the date stamp on the request or more
than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp
on the request is more than 15 minutes in the future.