Menu
Amazon CloudFront
API Reference (API Version 2016-09-07)

GET Distribution List

Description

To list the distributions associated with your AWS account, you do a GET on the 2016-09-07/distribution resource. The response includes a DistributionList element with zero or more DistributionSummary child elements, each of which corresponds with a distribution. By default, your entire list of distributions is returned in one page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

Requests

Syntax

GET /2016-09-07/distribution?Marker=value&MaxItems=value HTTP/1.1
Host: cloudfront.amazonaws.com
Authorization: AWS authentication string
Date: time stamp
Other required headers

Headers

The request must include the headers required in all CloudFront requests. For more information, see Common REST Headers.

Query Parameters

NameDescriptionRequired

Marker

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

Type: String

Default: All your distributions are listed from the beginning

No

MaxItems

The maximum number of distributions you want in the response body.

Type: String with a maximum value of 100

Default: 100

No

Responses

Syntax

200 OK
x-amz-request-id: Request ID

<?xml version="1.0" encoding="UTF-8"?>
<DistributionList xmlns="http://cloudfront.amazonaws.com/doc/2016-09-07/">
   <Marker>value specified in request</Marker>
   <NextMarker>value for Marker parameter in 
      next request</NextMarker>
   <MaxItems>value specified in request</MaxItems>
   <IsTruncated>true | false</IsTruncated>
   <Quantity>number of distributions created by 
      current AWS account</Quantity>
   <Items>
      <DistributionSummary>
         <Id>ID for the distribution</Id>
         <ARN>arn:aws:cloudfront::AWS account ID:distribution/distribution ID</ARN>
         <Status>Deployed | InProgress</Status>
         <LastModifiedTime>creation date and time in 
            ISO 8601 format</LastModifiedTime>
         <DomainName>CloudFront domain name assigned to the 
            distribution</DomainName>
         <Aliases>
            <Quantity>number of CNAME aliases</Quantity>
            <Items>
               <CNAME>CNAME alias</CNAME>
            </Items>
         </Aliases>
         <Origins>
            <Quantity>number of origins</Quantity>
            <Items>
               <Origin>
                  <Id>unique identifier for this origin</Id>
                  <DomainName>domain name of origin</DomainName>
                  <OriginPath>optional directory path</OriginPath>
                  <CustomHeaders>
                     <Quantity>number of custom headers</Quantity>
                     <!-- Optional. Omit when Quantity = 0. -->
                     <Items>
                        <OriginCustomHeader>
                           <HeaderName>name of the header</HeaderName>
                           <HeaderValue>value for HeaderName</HeaderValue>
                        </OriginCustomHeader>
                     </Items>
                  </CustomHeaders>
                  <!-- The S3OriginConfig element is returned only if 
                     you use an Amazon S3 origin for your distribution. -->
                  <S3OriginConfig>
                     <OriginAccessIdentity>origin-access-identity/cloudfront/ID-of-origin-access-identity</OriginAccessIdentity>
                  </S3OriginConfig>
                  <!-- The CustomOriginConfig element is returned only if
                     you use a custom origin for your distribution. -->
                  <CustomOriginConfig>
                     <HTTPPort>HTTP port that the custom origin 
                        listens on</HTTPPort>
                     <HTTPSPort>HTTPS port that the custom origin 
                        listens on</HTTPSPort>
                     <OriginProtocolPolicy>http-only | https-only | 
                        match-viewer</OriginProtocolPolicy>
                     <OriginSslProtocols>
                        <Quantity>number of SSL protocols</Quantity>
                        <Items>
                           <SslProtocol>SSLv3 | TLSv1 | TLSv1.1 | TLSv1.2</SslProtocol>
                        </Items>
                     </OriginSslProtocols>
                  </CustomOriginConfig>
               </Origin>
            </Items>
         </Origins>
         <DefaultCacheBehavior>
            <TargetOriginId>ID of the origin that the default cache behavior 
               applies to</TargetOriginId>
            <ForwardedValues>
               <QueryString>true | false</QueryString>
               <QueryStringCacheKeys>
                  <Quantity>number of query string parameters to base caching on</Quantity>
                  <!-- Optional. Omit when Quantity = 0. -->
                  <Items>
                     <Name>parameter name</Name>
                  </Items>
               </QueryStringCacheKeys>
               <Cookies>
                  <Forward>all | whitelist | none</Forward>
                  <!-- Required when Forward = whitelist, 
                     omitted otherwise. -->
                  <WhitelistedNames>
                     <Quantity>number of cookie names to 
                        forward to origin</Quantity>
                     <Items>
                        <Name>name of a cookie to forward to 
                           the origin</Name>
                     </Items>
                  </WhitelistedNames>
               </Cookies>
               <Headers>
                  <Quantity>number of headers to forward to origin</Quantity>
                  <!-- Optional. Omit when Quantity = 0. -->
                  <Items>
                     <Name>header</Name>
                  </Items>
               </Headers>
            </ForwardedValues>
            <TrustedSigners>
               <Enabled>true | false</Enabled>
               <Quantity>number of trusted signers</Quantity>
               <Items>
                  <AwsAccountNumber>self | AWS account that can create 
                     signed URLs</AwsAccountNumber>
               </Items>
            </TrustedSigners>
            <ViewerProtocolPolicy>allow-all | 
               redirect-to-https | https-only</ViewerProtocolPolicy>
            <MinTTL>minimum TTL in seconds for objects 
               specified by PathPattern</MinTTL>
            <DefaultTTL>default TTL in seconds for objects 
               specified by PathPattern</DefaultTTL>
            <MaxTTL>maximum TTL in seconds for objects 
               specified by PathPattern</MaxTTL>
            <AllowedMethods>
               <Quantity>2 | 3 | 7</Quantity>
               <Items>
                  <!-- If you want to use CloudFront only to serve your content 
                     from edge locations, specify only GET and HEAD. -->
                  <Method>GET</Method>
                  <Method>HEAD</Method>
                  <!-- If you want to use CloudFront to serve your content 
                     from edge locations and you want to cache the 
                     response from OPTIONS requests, specify 
                     GET, HEAD, and OPTIONS. -->
                  <Method>GET</Method>
                  <Method>HEAD</Method>
                  <Method>OPTIONS</Method>
                  <!-- If you want to use any methods in addition to 
                     GET and HEAD, you must specify all methods. -->
                  <Method>DELETE</Method>
                  <Method>GET</Method>
                  <Method>HEAD</Method>
                  <Method>OPTIONS</Method>
                  <Method>PATCH</Method>
                  <Method>POST</Method>
                  <Method>PUT</Method>
               </Items>
               <CachedMethods>
                  <Quantity>2 | 3 </Quantity>
                  <Items>
                     <!-- If you only want to cache responses to GET 
                        and HEAD requests, specify only GET and HEAD. -->
                     <Method>GET</Method>
                     <Method>HEAD</Method>
                     <!-- If you want cache responses to GET, HEAD, and 
                        OPTIONS requests, specify those methods. -->
                     <Method>GET</Method>
                     <Method>HEAD</Method>
                     <Method>OPTIONS</Method>
                  </Items>
               </CachedMethods>
            </AllowedMethods>
            <SmoothStreaming>true | false</SmoothStreaming>
            <Compress>true | false</Compress>
         </DefaultCacheBehavior>
         <CacheBehaviors>
            <Quantity>number of cache behaviors</Quantity>
            <Items>
               <CacheBehavior>
                  <PathPattern>pattern that specifies files that this 
                     cache behavior applies to</PathPattern>
                  <TargetOriginId>ID of the origin that this cache behavior 
                     applies to</TargetOriginId>
                  <ForwardedValues>
                     <QueryString>true | false</QueryString>
                     <QueryStringCacheKeys>
                        <Quantity>number of query string parameters to base caching on</Quantity>
                        <!-- Optional. Omit when Quantity = 0. -->
                        <Items>
                           <Name>parameter name</Name>
                        </Items>
                     </QueryStringCacheKeys>
                     <Cookies>
                        <Forward>all | whitelist | none</Forward>
                        <!-- Required when Forward = whitelist, 
                           omitted otherwise. -->
                        <WhitelistedNames>
                           <Quantity>number of cookie names to 
                              forward to origin</Quantity>
                           <Items>
                              <Name>name of a cookie to forward to 
                                 the origin</Name>
                           </Items>
                        </WhitelistedNames>
                     </Cookies>
                     <Headers>
                        <Quantity>number of headers to forward to origin</Quantity>
                        <!-- Optional. Omit when Quantity = 0. -->
                        <Items>
                           <Name>header</Name>
                        </Items>
                     </Headers>
                  </ForwardedValues>
                  <TrustedSigners>
                     <Enabled>true | false</Enabled>
                     <Quantity>number of trusted signers</Quantity>
                     <Items>
                        <AwsAccountNumber>self | AWS account that can create 
                           signed URLs</AwsAccountNumber>
                     </Items>
                  </TrustedSigners>
                  <ViewerProtocolPolicy>allow-all | 
                     redirect-to-https | https-only</ViewerProtocolPolicy>
                  <MinTTL>minimum TTL in seconds for objects  
                     specified by PathPattern</MinTTL>
                  <DefaultTTL>default TTL in seconds for objects
                     specified by PathPattern</DefaultTTL>
                  <MaxTTL>maximum TTL in seconds for objects 
                     specified by PathPattern</MaxTTL>
                  <AllowedMethods>
                     <Quantity>2 | 3 | 7</Quantity>
                     <Items>
                        <!-- If you want to use CloudFront only to serve your content 
                           from edge locations, specify only GET and HEAD. -->
                        <Method>GET</Method>
                        <Method>HEAD</Method>
                        <!-- If you want to use CloudFront to serve your content 
                           from edge locations and you want to cache the 
                           response from OPTIONS requests, specify 
                           GET, HEAD, and OPTIONS. -->
                        <Method>GET</Method>
                        <Method>HEAD</Method>
                        <Method>OPTIONS</Method>
                        <!-- If you want to use any methods in addition to 
                           GET and HEAD, you must specify all methods. -->
                        <Method>DELETE</Method>
                        <Method>GET</Method>
                        <Method>HEAD</Method>
                        <Method>OPTIONS</Method>
                        <Method>PATCH</Method>
                        <Method>POST</Method>
                        <Method>PUT</Method>
                     </Items>
                     <CachedMethods>
                        <Quantity>2 | 3 </Quantity>
                        <Items>
                           <!-- If you only want to cache responses to GET 
                              and HEAD requests, specify only GET and HEAD. -->
                           <Method>GET</Method>
                           <Method>HEAD</Method>
                           <!-- If you want cache responses to GET, HEAD, and 
                              OPTIONS requests, specify those methods. -->
                           <Method>GET</Method>
                           <Method>HEAD</Method>
                           <Method>OPTIONS</Method>
                        </Items>
                     </CachedMethods>
                  </AllowedMethods>
                  <SmoothStreaming>true | false</SmoothStreaming>
                  <Compress>true | false</Compress>
               </CacheBehavior>
            </Items>
         </CacheBehaviors>
         <CustomErrorResponses>
            <Quantity>number of custom error responses</Quantity>
            <Items>
               <CustomErrorResponse>
                  <ErrorCode>HTTP status code for which you want to 
                     customize the response</ErrorCode>
                  <ResponsePagePath>path to 
                     custom error page</ResponsePagePath>
                  <ResponseCode>HTTP status code that you want 
                     CloudFront to return along with the 
                     custom error page</ResponseCode>
                  <ErrorCachingMinTTL>minimum TTL for this 
                     ErrorCode</ErrorCachingMinTTL>
               </CustomErrorResponse>
            </Items>
         </CustomErrorResponses>
         <Restrictions>
            <GeoRestriction>
               <RestrictionType>blacklist | whitelist | none</RestrictionType>
               <Quantity>number of countries 
                  in the blacklist or whitelist</Quantity>
               <!-- Optional. Omit when Quantity = 0. -->
               <Items>
                  <Location>two-letter country code in upper case</Location>
               </Items>
            </GeoRestriction>
         </Restrictions>
         <WebACLId>ID of an AWS WAF web ACL</WebACLId>
         <Comment>comment about the distribution</Comment>
         <HttpVersion>http1.1 | http2</HttpVersion>
         <Logging>
            <Enabled>true | false</Enabled>
            <IncludeCookies>true | false</IncludeCookies>
            <Bucket>Amazon S3 bucket to save logs in</Bucket>
            <Prefix>prefix for log filenames</Prefix>
         </Logging>
         <ViewerCertificate>
            <ACMCertificateArn>ARN for ACM SSL/TLS certificate</ACMCertificateArn> | 
               <IAMCertificateId>IAM certificate ID</IAMCertificateId> | 
               <CloudFrontDefaultCertificate>true</CloudFrontDefaultCertificate>
            <SSLSupportMethod>vip | sni-only</SSLSupportMethod>
            <MinimumProtocolVersion>SSLv3 | TLSv1</MinimumProtocolVersion>
         </ViewerCertificate>
         <PriceClass>maximum price class for the distribution</PriceClass>
         <Enabled>true | false</Enabled>
      </DistributionSummary>
   </Items>
</DistributionList>

Elements

The body of the response includes an XML document with a DistributionList element. The following table lists the child elements of the DistributionList element.

NameDescription

Marker

The value you provided for the Marker request parameter.

Type: String

Parent: DistributionList

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

Parent: DistributionList

MaxItems

The value you provided for the MaxItems request parameter.

Type: String

Parent: DistributionList

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: String

Valid Values: true | false

Parent: DistributionList

Quantity

The number of distributions that were created by the current AWS account.

Type: String

Parent: DistributionList

Items

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

Type: Complex

Child: DistributionSummary

Parent: DistributionList

DistributionSummary

Type: An XML structure containing a summary of the distribution. For information about the child elements, see Distribution Complex Type.

Parent: Items

Special Errors

The action returns no special errors besides the common errors that all actions return. For more information, see Errors).

Examples

The following example request lists the first of your distributions.

Sample Request

GET /2016-09-07/distribution?MaxItems=1 HTTP/1.1
Host: cloudfront.amazonaws.com
Authorization: AWS authentication string
Date: Thu, 17 May 2012 19:37:58 GMT
Other required headers

Sample Response

200 OK
x-amz-request-id: request_id

<?xml version="1.0" encoding="UTF-8"?>
<DistributionList xmlns="http://cloudfront.amazonaws.com/doc/2016-09-07/">
   <Marker>RMPARXS293KSTG7</Marker>
   <NextMarker>EMLARXS9EXAMPLE</NextMarker>
   <MaxItems>2</MaxItems>
   <IsTruncated>true</IsTruncated>
   <Quantity>1</Quantity>
   <Items>
      <DistributionSummary>
         <Id>EDFDVBD6EXAMPLE</Id>
         <ARN>arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE</ARN>
         <Status>Deployed</Status>
         <LastModifiedTime>2012-05-19T19:37:58Z</LastModifiedTime>
         <DomainName>d111111abcdef8.cloudfront.net</DomainName>
         <Aliases>
            <Quantity>1</Quantity>
            <Items>
               <CNAME>www.example.com</CNAME>
            </Items>
         </Aliases>
         <Origins>
            <Quantity>2</Quantity>
            <Items>
               <Origin>
                  <Id>example-Amazon S3-origin</Id>
                  <DomainName>myawsbucket.s3.amazonaws.com</DomainName>
                  <OriginPath>/production</OriginPath>
                  <CustomHeaders>
                     <Quantity>0</Quantity>
                  </CustomHeaders>
                  <S3OriginConfig>
                     <OriginAccessIdentity>origin-access-identity/cloudfront/E74FTE3AEXAMPLE</OriginAccessIdentity>
                  </S3OriginConfig>
               </Origin>
               <Origin>
                  <Id>example-custom-origin</Id>
                  <DomainName>example.com</DomainName>
                  <CustomOriginConfig>
                     <HTTPPort>80</HTTPPort>
                     <HTTPSPort>443</HTTPSPort>
                     <OriginProtocolPolicy>match-viewer</OriginProtocolPolicy>
                     <OriginSslProtocols>
                        <Quantity>3</Quantity>
                        <Items>
                           <SslProtocol>TLSv1</SslProtocol>
                           <SslProtocol>TLSv1.1</SslProtocol>
                           <SslProtocol>TLSv1.2</SslProtocol>
                        </Items>
                     </OriginSslProtocols>
                  </CustomOriginConfig>
               </Origin>
            </Items>
         </Origins>
         <DefaultCacheBehavior>
            <TargetOriginId>example-Amazon S3-origin</TargetOriginId>
            <ForwardedValues>
               <QueryString>true</QueryString>
               <QueryStringCacheKeys>
                  <Quantity>1</Quantity>
                  <Items>
                     <Name>color</Name>
                  </Items>
               </QueryStringCacheKeys>
               <Cookies>
                  <Forward>whitelist</Forward>
                  <WhitelistedNames>
                     <Quantity>1</Quantity>
                     <Items>
                        <Name>example-cookie</Name>
                     </Items>
                  </WhitelistedNames>
               </Cookies>
               <Headers>
                  <Quantity>1</Quantity>
                  <Items>
                     <Name>Origin</Name>
                  </Items>
               </Headers>
            </ForwardedValues>
            <TrustedSigners>
               <Enabled>true</Enabled>
               <Quantity>3</Quantity>
               <Items>
                  <AwsAccountNumber>self</AwsAccountNumber>
                  <AwsAccountNumber>111122223333</AwsAccountNumber>
                  <AwsAccountNumber>444455556666</AwsAccountNumber>
               </Items>
            </TrustedSigners>
            <ViewerProtocolPolicy>redirect-to-https</ViewerProtocolPolicy>
            <MinTTL>0</MinTTL>
            <AllowedMethods>
               <Quantity>2</Quantity>
               <Items>
                  <Method>GET</Method>
                  <Method>HEAD</Method>
               </Items>
               <CachedMethods>
                  <Quantity>2</Quantity>
                  <Items>
                     <Method>GET</Method>
                     <Method>HEAD</Method>
                  </Items>
               </CachedMethods>
            </AllowedMethods>
            <SmoothStreaming>false</SmoothStreaming>
            <Compress>true</Compress>
         </DefaultCacheBehavior>
         <CacheBehaviors>
            <Quantity>1</Quantity>
            <Items>
               <CacheBehavior>
                  <PathPattern>*.jpg</PathPattern>
                  <TargetOriginId>example-custom-origin</TargetOriginId>
                  <ForwardedValues>
                     <QueryString>false</QueryString>
                     <QueryStringCacheKeys>
                        <Quantity>0</Quantity>
                     </QueryStringCacheKeys>
                     <Cookies>
                        <Forward>all</Forward>
                     </Cookies>
                     <Headers>
                        <Quantity>1</Quantity>
                        <Items>
                           <Name>Origin</Name>
                        </Items>
                     </Headers>
                  </ForwardedValues>
                  <TrustedSigners>
                     <Enabled>true</Enabled>
                     <Quantity>2</Quantity>
                     <Items>
                        <AwsAccountNumber>self</AwsAccountNumber>
                        <AwsAccountNumber>111122223333</AwsAccountNumber>
                     </Items>
                  </TrustedSigners>
                  <ViewerProtocolPolicy>allow-all</ViewerProtocolPolicy>
                  <MinTTL>86400</MinTTL>
                  <AllowedMethods>
                     <Quantity>2</Quantity>
                     <Items>
                        <Method>GET</Method>
                        <Method>HEAD</Method>
                     </Items>
                     <CachedMethods>
                        <Quantity>2</Quantity>
                        <Items>
                           <Method>GET</Method>
                           <Method>HEAD</Method>
                        </Items>
                     </CachedMethods>
                  </AllowedMethods>
                  <SmoothStreaming>false</SmoothStreaming>
                  <Compress>true</Compress>
               </CacheBehavior>
            </Items>
         </CacheBehaviors>
         <CustomErrorResponses>
            <Quantity>1</Quantity>
            <Items>
               <CustomErrorResponse>
                  <ErrorCode>404</ErrorCode>
                  <ResponsePagePath>/error-pages/404.html</ResponsePagePath>
                  <ResponseCode>200</ResponseCode>
                  <ErrorCachingMinTTL>30</ErrorCachingMinTTL>
               </CustomErrorResponse>
            </Items>
         </CustomErrorResponses>
         <Restrictions>
            <GeoRestriction>
               <RestrictionType>whitelist</RestrictionType>
               <Quantity>2</Quantity>
               <Items>
                  <Location>AQ</Location>
                  <Location>CV</Location>
               </Items>
            </GeoRestriction>
         </Restrictions>
         <WebACLId>3ad0b954-9f99-4298-ac36-4c11eexample</WebACLId>
         <Comment>example comment</Comment>
         <HttpVersion>http2</HttpVersion>
         <Logging>
            <Enabled>true</Enabled>
            <IncludeCookies>true</IncludeCookies>
            <Bucket>myawslogbucket.s3.amazonaws.com</Bucket>
            <Prefix>example.com.</Prefix>
         </Logging>
         <ViewerCertificate>
            <CloudFrontDefaultCertificate>true</CloudFrontDefaultCertificate>
            <SSLSupportMethod>vip</SSLSupportMethod>
            <MinimumProtocolVersion>TLSv1</MinimumProtocolVersion>
         </ViewerCertificate>
         <PriceClass>PriceClass_All</PriceClass>
         <Enabled>true</Enabled>
      </DistributionSummary>
   </Items>
</DistributionList>

Sample Request

The following example request gets the next four distributions in your list.

GET /2016-09-07/distribution?MaxItems=4?Marker=EMLARXS9EXAMPLE HTTP/1.1
Host: cloudfront.amazonaws.com
Authorization: AWS authentication string
Date: Thu, 17 May 2012 19:39:00 GMT
Other required headers