API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see

We welcome your feedback on this new version of the documentation. Send your comments to


import ""

type Headers struct { Items []*string `locationNameList:"Name" type:"list"` Quantity *int64 `type:"integer" required:"true"` }

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

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


Type: []*string

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.


Type: *int64

The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

CloudFront doesn't cache the objects that are associated with this cache

behavior. Instead, CloudFront sends every request to the origin.
  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

  • S3 bucket: See HTTP Request Headers That CloudFront Removes or Updates


Quantity is a required field



func (s Headers) GoString() string

GoString returns the string representation


func (s *Headers) SetItems(v []*string) *Headers

SetItems sets the Items field's value.


func (s *Headers) SetQuantity(v int64) *Headers

SetQuantity sets the Quantity field's value.


func (s Headers) String() string

String returns the string representation


func (s *Headers) Validate() error

Validate inspects the fields of the type to determine if they are valid.

On this page: