:doc:`CloudFront <../../cloudfront>` / Client / create_response_headers_policy

******************************
create_response_headers_policy
******************************



.. py:method:: CloudFront.Client.create_response_headers_policy(**kwargs)

  

  Creates a response headers policy.

   

  A response headers policy contains information about a set of HTTP headers. To create a response headers policy, you provide some metadata about the policy and a set of configurations that specify the headers.

   

  After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or removes response headers according to the configuration of the response headers policy.

   

  For more information, see `Adding or removing HTTP headers in CloudFront responses <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/modifying-response-headers.html>`__ in the *Amazon CloudFront Developer Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateResponseHeadersPolicy>`_  


  **Request Syntax**
  ::

    response = client.create_response_headers_policy(
        ResponseHeadersPolicyConfig={
            'Comment': 'string',
            'Name': 'string',
            'CorsConfig': {
                'AccessControlAllowOrigins': {
                    'Quantity': 123,
                    'Items': [
                        'string',
                    ]
                },
                'AccessControlAllowHeaders': {
                    'Quantity': 123,
                    'Items': [
                        'string',
                    ]
                },
                'AccessControlAllowMethods': {
                    'Quantity': 123,
                    'Items': [
                        'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL',
                    ]
                },
                'AccessControlAllowCredentials': True|False,
                'AccessControlExposeHeaders': {
                    'Quantity': 123,
                    'Items': [
                        'string',
                    ]
                },
                'AccessControlMaxAgeSec': 123,
                'OriginOverride': True|False
            },
            'SecurityHeadersConfig': {
                'XSSProtection': {
                    'Override': True|False,
                    'Protection': True|False,
                    'ModeBlock': True|False,
                    'ReportUri': 'string'
                },
                'FrameOptions': {
                    'Override': True|False,
                    'FrameOption': 'DENY'|'SAMEORIGIN'
                },
                'ReferrerPolicy': {
                    'Override': True|False,
                    'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'
                },
                'ContentSecurityPolicy': {
                    'Override': True|False,
                    'ContentSecurityPolicy': 'string'
                },
                'ContentTypeOptions': {
                    'Override': True|False
                },
                'StrictTransportSecurity': {
                    'Override': True|False,
                    'IncludeSubdomains': True|False,
                    'Preload': True|False,
                    'AccessControlMaxAgeSec': 123
                }
            },
            'ServerTimingHeadersConfig': {
                'Enabled': True|False,
                'SamplingRate': 123.0
            },
            'CustomHeadersConfig': {
                'Quantity': 123,
                'Items': [
                    {
                        'Header': 'string',
                        'Value': 'string',
                        'Override': True|False
                    },
                ]
            },
            'RemoveHeadersConfig': {
                'Quantity': 123,
                'Items': [
                    {
                        'Header': 'string'
                    },
                ]
            }
        }
    )
    
  :type ResponseHeadersPolicyConfig: dict
  :param ResponseHeadersPolicyConfig: **[REQUIRED]** 

    Contains metadata about the response headers policy, and a set of configurations that specify the HTTP headers.

    

  
    - **Comment** *(string) --* 

      A comment to describe the response headers policy.

       

      The comment cannot be longer than 128 characters.

      

    
    - **Name** *(string) --* **[REQUIRED]** 

      A name to identify the response headers policy.

       

      The name must be unique for response headers policies in this Amazon Web Services account.

      

    
    - **CorsConfig** *(dict) --* 

      A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).

      

    
      - **AccessControlAllowOrigins** *(dict) --* **[REQUIRED]** 

        A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.

         

        For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see `Access-Control-Allow-Origin <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin>`__ in the MDN Web Docs.

        

      
        - **Quantity** *(integer) --* **[REQUIRED]** 

          The number of origins in the list.

          

        
        - **Items** *(list) --* **[REQUIRED]** 

          The list of origins (domain names). You can specify ``*`` to allow all origins.

          

        
          - *(string) --* 

          
      
      
      - **AccessControlAllowHeaders** *(dict) --* **[REQUIRED]** 

        A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.

         

        For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see `Access-Control-Allow-Headers <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers>`__ in the MDN Web Docs.

        

      
        - **Quantity** *(integer) --* **[REQUIRED]** 

          The number of HTTP header names in the list.

          

        
        - **Items** *(list) --* **[REQUIRED]** 

          The list of HTTP header names. You can specify ``*`` to allow all headers.

          

        
          - *(string) --* 

          
      
      
      - **AccessControlAllowMethods** *(dict) --* **[REQUIRED]** 

        A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.

         

        For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see `Access-Control-Allow-Methods <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods>`__ in the MDN Web Docs.

        

      
        - **Quantity** *(integer) --* **[REQUIRED]** 

          The number of HTTP methods in the list.

          

        
        - **Items** *(list) --* **[REQUIRED]** 

          The list of HTTP methods. Valid values are:

           

          
          * ``GET``
           
          * ``DELETE``
           
          * ``HEAD``
           
          * ``OPTIONS``
           
          * ``PATCH``
           
          * ``POST``
           
          * ``PUT``
           
          * ``ALL``
          

           

          ``ALL`` is a special value that includes all of the listed HTTP methods.

          

        
          - *(string) --* 

          
      
      
      - **AccessControlAllowCredentials** *(boolean) --* **[REQUIRED]** 

        A Boolean that CloudFront uses as the value for the ``Access-Control-Allow-Credentials`` HTTP response header.

         

        For more information about the ``Access-Control-Allow-Credentials`` HTTP response header, see `Access-Control-Allow-Credentials <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials>`__ in the MDN Web Docs.

        

      
      - **AccessControlExposeHeaders** *(dict) --* 

        A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.

         

        For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see `Access-Control-Expose-Headers <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers>`__ in the MDN Web Docs.

        

      
        - **Quantity** *(integer) --* **[REQUIRED]** 

          The number of HTTP headers in the list.

          

        
        - **Items** *(list) --* 

          The list of HTTP headers. You can specify ``*`` to expose all headers.

          

        
          - *(string) --* 

          
      
      
      - **AccessControlMaxAgeSec** *(integer) --* 

        A number that CloudFront uses as the value for the ``Access-Control-Max-Age`` HTTP response header.

         

        For more information about the ``Access-Control-Max-Age`` HTTP response header, see `Access-Control-Max-Age <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age>`__ in the MDN Web Docs.

        

      
      - **OriginOverride** *(boolean) --* **[REQUIRED]** 

        A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.

        

      
    
    - **SecurityHeadersConfig** *(dict) --* 

      A configuration for a set of security-related HTTP response headers.

      

    
      - **XSSProtection** *(dict) --* 

        Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.

         

        For more information about the ``X-XSS-Protection`` HTTP response header, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``X-XSS-Protection`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
        - **Protection** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines the value of the ``X-XSS-Protection`` HTTP response header. When this setting is ``true``, the value of the ``X-XSS-Protection`` header is ``1``. When this setting is ``false``, the value of the ``X-XSS-Protection`` header is ``0``.

           

          For more information about these settings, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

          

        
        - **ModeBlock** *(boolean) --* 

          A Boolean that determines whether CloudFront includes the ``mode=block`` directive in the ``X-XSS-Protection`` header.

           

          For more information about this directive, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

          

        
        - **ReportUri** *(string) --* 

          A reporting URI, which CloudFront uses as the value of the ``report`` directive in the ``X-XSS-Protection`` header.

           

          You cannot specify a ``ReportUri`` when ``ModeBlock`` is ``true``.

           

          For more information about using a reporting URL, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

          

        
      
      - **FrameOptions** *(dict) --* 

        Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.

         

        For more information about the ``X-Frame-Options`` HTTP response header, see `X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``X-Frame-Options`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
        - **FrameOption** *(string) --* **[REQUIRED]** 

          The value of the ``X-Frame-Options`` HTTP response header. Valid values are ``DENY`` and ``SAMEORIGIN``.

           

          For more information about these values, see `X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options>`__ in the MDN Web Docs.

          

        
      
      - **ReferrerPolicy** *(dict) --* 

        Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.

         

        For more information about the ``Referrer-Policy`` HTTP response header, see `Referrer-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``Referrer-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
        - **ReferrerPolicy** *(string) --* **[REQUIRED]** 

          The value of the ``Referrer-Policy`` HTTP response header. Valid values are:

           

          
          * ``no-referrer``
           
          * ``no-referrer-when-downgrade``
           
          * ``origin``
           
          * ``origin-when-cross-origin``
           
          * ``same-origin``
           
          * ``strict-origin``
           
          * ``strict-origin-when-cross-origin``
           
          * ``unsafe-url``
          

           

          For more information about these values, see `Referrer-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy>`__ in the MDN Web Docs.

          

        
      
      - **ContentSecurityPolicy** *(dict) --* 

        The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.

         

        For more information about the ``Content-Security-Policy`` HTTP response header, see `Content-Security-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``Content-Security-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
        - **ContentSecurityPolicy** *(string) --* **[REQUIRED]** 

          The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.

          

        
      
      - **ContentTypeOptions** *(dict) --* 

        Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.

         

        For more information about the ``X-Content-Type-Options`` HTTP response header, see `X-Content-Type-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``X-Content-Type-Options`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
      
      - **StrictTransportSecurity** *(dict) --* 

        Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.

         

        For more information about the ``Strict-Transport-Security`` HTTP response header, see `Security headers <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security>`__ in the *Amazon CloudFront Developer Guide* and `Strict-Transport-Security <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security>`__ in the MDN Web Docs.

        

      
        - **Override** *(boolean) --* **[REQUIRED]** 

          A Boolean that determines whether CloudFront overrides the ``Strict-Transport-Security`` HTTP response header received from the origin with the one specified in this response headers policy.

          

        
        - **IncludeSubdomains** *(boolean) --* 

          A Boolean that determines whether CloudFront includes the ``includeSubDomains`` directive in the ``Strict-Transport-Security`` HTTP response header.

          

        
        - **Preload** *(boolean) --* 

          A Boolean that determines whether CloudFront includes the ``preload`` directive in the ``Strict-Transport-Security`` HTTP response header.

          

        
        - **AccessControlMaxAgeSec** *(integer) --* **[REQUIRED]** 

          A number that CloudFront uses as the value for the ``max-age`` directive in the ``Strict-Transport-Security`` HTTP response header.

          

        
      
    
    - **ServerTimingHeadersConfig** *(dict) --* 

      A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.

      

    
      - **Enabled** *(boolean) --* **[REQUIRED]** 

        A Boolean that determines whether CloudFront adds the ``Server-Timing`` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.

        

      
      - **SamplingRate** *(float) --* 

        A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the ``Server-Timing`` header to. When you set the sampling rate to 100, CloudFront adds the ``Server-Timing`` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.

        

      
    
    - **CustomHeadersConfig** *(dict) --* 

      A configuration for a set of custom HTTP response headers.

      

    
      - **Quantity** *(integer) --* **[REQUIRED]** 

        The number of HTTP response headers in the list.

        

      
      - **Items** *(list) --* 

        The list of HTTP response headers and their values.

        

      
        - *(dict) --* 

          An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.

          

        
          - **Header** *(string) --* **[REQUIRED]** 

            The HTTP response header name.

            

          
          - **Value** *(string) --* **[REQUIRED]** 

            The value for the HTTP response header.

            

          
          - **Override** *(boolean) --* **[REQUIRED]** 

            A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.

            

          
        
    
    
    - **RemoveHeadersConfig** *(dict) --* 

      A configuration for a set of HTTP headers to remove from the HTTP response.

      

    
      - **Quantity** *(integer) --* **[REQUIRED]** 

        The number of HTTP header names in the list.

        

      
      - **Items** *(list) --* 

        The list of HTTP header names.

        

      
        - *(dict) --* 

          The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.

          

        
          - **Header** *(string) --* **[REQUIRED]** 

            The HTTP header name.

            

          
        
    
    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'ResponseHeadersPolicy': {
              'Id': 'string',
              'LastModifiedTime': datetime(2015, 1, 1),
              'ResponseHeadersPolicyConfig': {
                  'Comment': 'string',
                  'Name': 'string',
                  'CorsConfig': {
                      'AccessControlAllowOrigins': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      },
                      'AccessControlAllowHeaders': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      },
                      'AccessControlAllowMethods': {
                          'Quantity': 123,
                          'Items': [
                              'GET'|'POST'|'OPTIONS'|'PUT'|'DELETE'|'PATCH'|'HEAD'|'ALL',
                          ]
                      },
                      'AccessControlAllowCredentials': True|False,
                      'AccessControlExposeHeaders': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      },
                      'AccessControlMaxAgeSec': 123,
                      'OriginOverride': True|False
                  },
                  'SecurityHeadersConfig': {
                      'XSSProtection': {
                          'Override': True|False,
                          'Protection': True|False,
                          'ModeBlock': True|False,
                          'ReportUri': 'string'
                      },
                      'FrameOptions': {
                          'Override': True|False,
                          'FrameOption': 'DENY'|'SAMEORIGIN'
                      },
                      'ReferrerPolicy': {
                          'Override': True|False,
                          'ReferrerPolicy': 'no-referrer'|'no-referrer-when-downgrade'|'origin'|'origin-when-cross-origin'|'same-origin'|'strict-origin'|'strict-origin-when-cross-origin'|'unsafe-url'
                      },
                      'ContentSecurityPolicy': {
                          'Override': True|False,
                          'ContentSecurityPolicy': 'string'
                      },
                      'ContentTypeOptions': {
                          'Override': True|False
                      },
                      'StrictTransportSecurity': {
                          'Override': True|False,
                          'IncludeSubdomains': True|False,
                          'Preload': True|False,
                          'AccessControlMaxAgeSec': 123
                      }
                  },
                  'ServerTimingHeadersConfig': {
                      'Enabled': True|False,
                      'SamplingRate': 123.0
                  },
                  'CustomHeadersConfig': {
                      'Quantity': 123,
                      'Items': [
                          {
                              'Header': 'string',
                              'Value': 'string',
                              'Override': True|False
                          },
                      ]
                  },
                  'RemoveHeadersConfig': {
                      'Quantity': 123,
                      'Items': [
                          {
                              'Header': 'string'
                          },
                      ]
                  }
              }
          },
          'Location': 'string',
          'ETag': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ResponseHeadersPolicy** *(dict) --* 

        Contains a response headers policy.

        
        

        - **Id** *(string) --* 

          The identifier for the response headers policy.

          
        

        - **LastModifiedTime** *(datetime) --* 

          The date and time when the response headers policy was last modified.

          
        

        - **ResponseHeadersPolicyConfig** *(dict) --* 

          A response headers policy configuration.

          
          

          - **Comment** *(string) --* 

            A comment to describe the response headers policy.

             

            The comment cannot be longer than 128 characters.

            
          

          - **Name** *(string) --* 

            A name to identify the response headers policy.

             

            The name must be unique for response headers policies in this Amazon Web Services account.

            
          

          - **CorsConfig** *(dict) --* 

            A configuration for a set of HTTP response headers that are used for cross-origin resource sharing (CORS).

            
            

            - **AccessControlAllowOrigins** *(dict) --* 

              A list of origins (domain names) that CloudFront can use as the value for the ``Access-Control-Allow-Origin`` HTTP response header.

               

              For more information about the ``Access-Control-Allow-Origin`` HTTP response header, see `Access-Control-Allow-Origin <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin>`__ in the MDN Web Docs.

              
              

              - **Quantity** *(integer) --* 

                The number of origins in the list.

                
              

              - **Items** *(list) --* 

                The list of origins (domain names). You can specify ``*`` to allow all origins.

                
                

                - *(string) --* 
            
          
            

            - **AccessControlAllowHeaders** *(dict) --* 

              A list of HTTP header names that CloudFront includes as values for the ``Access-Control-Allow-Headers`` HTTP response header.

               

              For more information about the ``Access-Control-Allow-Headers`` HTTP response header, see `Access-Control-Allow-Headers <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers>`__ in the MDN Web Docs.

              
              

              - **Quantity** *(integer) --* 

                The number of HTTP header names in the list.

                
              

              - **Items** *(list) --* 

                The list of HTTP header names. You can specify ``*`` to allow all headers.

                
                

                - *(string) --* 
            
          
            

            - **AccessControlAllowMethods** *(dict) --* 

              A list of HTTP methods that CloudFront includes as values for the ``Access-Control-Allow-Methods`` HTTP response header.

               

              For more information about the ``Access-Control-Allow-Methods`` HTTP response header, see `Access-Control-Allow-Methods <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods>`__ in the MDN Web Docs.

              
              

              - **Quantity** *(integer) --* 

                The number of HTTP methods in the list.

                
              

              - **Items** *(list) --* 

                The list of HTTP methods. Valid values are:

                 

                
                * ``GET``
                 
                * ``DELETE``
                 
                * ``HEAD``
                 
                * ``OPTIONS``
                 
                * ``PATCH``
                 
                * ``POST``
                 
                * ``PUT``
                 
                * ``ALL``
                

                 

                ``ALL`` is a special value that includes all of the listed HTTP methods.

                
                

                - *(string) --* 
            
          
            

            - **AccessControlAllowCredentials** *(boolean) --* 

              A Boolean that CloudFront uses as the value for the ``Access-Control-Allow-Credentials`` HTTP response header.

               

              For more information about the ``Access-Control-Allow-Credentials`` HTTP response header, see `Access-Control-Allow-Credentials <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials>`__ in the MDN Web Docs.

              
            

            - **AccessControlExposeHeaders** *(dict) --* 

              A list of HTTP headers that CloudFront includes as values for the ``Access-Control-Expose-Headers`` HTTP response header.

               

              For more information about the ``Access-Control-Expose-Headers`` HTTP response header, see `Access-Control-Expose-Headers <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers>`__ in the MDN Web Docs.

              
              

              - **Quantity** *(integer) --* 

                The number of HTTP headers in the list.

                
              

              - **Items** *(list) --* 

                The list of HTTP headers. You can specify ``*`` to expose all headers.

                
                

                - *(string) --* 
            
          
            

            - **AccessControlMaxAgeSec** *(integer) --* 

              A number that CloudFront uses as the value for the ``Access-Control-Max-Age`` HTTP response header.

               

              For more information about the ``Access-Control-Max-Age`` HTTP response header, see `Access-Control-Max-Age <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age>`__ in the MDN Web Docs.

              
            

            - **OriginOverride** *(boolean) --* 

              A Boolean that determines whether CloudFront overrides HTTP response headers received from the origin with the ones specified in this response headers policy.

              
        
          

          - **SecurityHeadersConfig** *(dict) --* 

            A configuration for a set of security-related HTTP response headers.

            
            

            - **XSSProtection** *(dict) --* 

              Determines whether CloudFront includes the ``X-XSS-Protection`` HTTP response header and the header's value.

               

              For more information about the ``X-XSS-Protection`` HTTP response header, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``X-XSS-Protection`` HTTP response header received from the origin with the one specified in this response headers policy.

                
              

              - **Protection** *(boolean) --* 

                A Boolean that determines the value of the ``X-XSS-Protection`` HTTP response header. When this setting is ``true``, the value of the ``X-XSS-Protection`` header is ``1``. When this setting is ``false``, the value of the ``X-XSS-Protection`` header is ``0``.

                 

                For more information about these settings, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

                
              

              - **ModeBlock** *(boolean) --* 

                A Boolean that determines whether CloudFront includes the ``mode=block`` directive in the ``X-XSS-Protection`` header.

                 

                For more information about this directive, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

                
              

              - **ReportUri** *(string) --* 

                A reporting URI, which CloudFront uses as the value of the ``report`` directive in the ``X-XSS-Protection`` header.

                 

                You cannot specify a ``ReportUri`` when ``ModeBlock`` is ``true``.

                 

                For more information about using a reporting URL, see `X-XSS-Protection <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection>`__ in the MDN Web Docs.

                
          
            

            - **FrameOptions** *(dict) --* 

              Determines whether CloudFront includes the ``X-Frame-Options`` HTTP response header and the header's value.

               

              For more information about the ``X-Frame-Options`` HTTP response header, see `X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``X-Frame-Options`` HTTP response header received from the origin with the one specified in this response headers policy.

                
              

              - **FrameOption** *(string) --* 

                The value of the ``X-Frame-Options`` HTTP response header. Valid values are ``DENY`` and ``SAMEORIGIN``.

                 

                For more information about these values, see `X-Frame-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options>`__ in the MDN Web Docs.

                
          
            

            - **ReferrerPolicy** *(dict) --* 

              Determines whether CloudFront includes the ``Referrer-Policy`` HTTP response header and the header's value.

               

              For more information about the ``Referrer-Policy`` HTTP response header, see `Referrer-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``Referrer-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.

                
              

              - **ReferrerPolicy** *(string) --* 

                The value of the ``Referrer-Policy`` HTTP response header. Valid values are:

                 

                
                * ``no-referrer``
                 
                * ``no-referrer-when-downgrade``
                 
                * ``origin``
                 
                * ``origin-when-cross-origin``
                 
                * ``same-origin``
                 
                * ``strict-origin``
                 
                * ``strict-origin-when-cross-origin``
                 
                * ``unsafe-url``
                

                 

                For more information about these values, see `Referrer-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy>`__ in the MDN Web Docs.

                
          
            

            - **ContentSecurityPolicy** *(dict) --* 

              The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.

               

              For more information about the ``Content-Security-Policy`` HTTP response header, see `Content-Security-Policy <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``Content-Security-Policy`` HTTP response header received from the origin with the one specified in this response headers policy.

                
              

              - **ContentSecurityPolicy** *(string) --* 

                The policy directives and their values that CloudFront includes as values for the ``Content-Security-Policy`` HTTP response header.

                
          
            

            - **ContentTypeOptions** *(dict) --* 

              Determines whether CloudFront includes the ``X-Content-Type-Options`` HTTP response header with its value set to ``nosniff``.

               

              For more information about the ``X-Content-Type-Options`` HTTP response header, see `X-Content-Type-Options <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``X-Content-Type-Options`` HTTP response header received from the origin with the one specified in this response headers policy.

                
          
            

            - **StrictTransportSecurity** *(dict) --* 

              Determines whether CloudFront includes the ``Strict-Transport-Security`` HTTP response header and the header's value.

               

              For more information about the ``Strict-Transport-Security`` HTTP response header, see `Security headers <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-response-headers-policies.html#understanding-response-headers-policies-security>`__ in the *Amazon CloudFront Developer Guide* and `Strict-Transport-Security <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security>`__ in the MDN Web Docs.

              
              

              - **Override** *(boolean) --* 

                A Boolean that determines whether CloudFront overrides the ``Strict-Transport-Security`` HTTP response header received from the origin with the one specified in this response headers policy.

                
              

              - **IncludeSubdomains** *(boolean) --* 

                A Boolean that determines whether CloudFront includes the ``includeSubDomains`` directive in the ``Strict-Transport-Security`` HTTP response header.

                
              

              - **Preload** *(boolean) --* 

                A Boolean that determines whether CloudFront includes the ``preload`` directive in the ``Strict-Transport-Security`` HTTP response header.

                
              

              - **AccessControlMaxAgeSec** *(integer) --* 

                A number that CloudFront uses as the value for the ``max-age`` directive in the ``Strict-Transport-Security`` HTTP response header.

                
          
        
          

          - **ServerTimingHeadersConfig** *(dict) --* 

            A configuration for enabling the ``Server-Timing`` header in HTTP responses sent from CloudFront.

            
            

            - **Enabled** *(boolean) --* 

              A Boolean that determines whether CloudFront adds the ``Server-Timing`` header to HTTP responses that it sends in response to requests that match a cache behavior that's associated with this response headers policy.

              
            

            - **SamplingRate** *(float) --* 

              A number 0–100 (inclusive) that specifies the percentage of responses that you want CloudFront to add the ``Server-Timing`` header to. When you set the sampling rate to 100, CloudFront adds the ``Server-Timing`` header to the HTTP response for every request that matches the cache behavior that this response headers policy is attached to. When you set it to 50, CloudFront adds the header to 50% of the responses for requests that match the cache behavior. You can set the sampling rate to any number 0–100 with up to four decimal places.

              
        
          

          - **CustomHeadersConfig** *(dict) --* 

            A configuration for a set of custom HTTP response headers.

            
            

            - **Quantity** *(integer) --* 

              The number of HTTP response headers in the list.

              
            

            - **Items** *(list) --* 

              The list of HTTP response headers and their values.

              
              

              - *(dict) --* 

                An HTTP response header name and its value. CloudFront includes this header in HTTP responses that it sends for requests that match a cache behavior that's associated with this response headers policy.

                
                

                - **Header** *(string) --* 

                  The HTTP response header name.

                  
                

                - **Value** *(string) --* 

                  The value for the HTTP response header.

                  
                

                - **Override** *(boolean) --* 

                  A Boolean that determines whether CloudFront overrides a response header with the same name received from the origin with the header specified here.

                  
            
          
        
          

          - **RemoveHeadersConfig** *(dict) --* 

            A configuration for a set of HTTP headers to remove from the HTTP response.

            
            

            - **Quantity** *(integer) --* 

              The number of HTTP header names in the list.

              
            

            - **Items** *(list) --* 

              The list of HTTP header names.

              
              

              - *(dict) --* 

                The name of an HTTP header that CloudFront removes from HTTP responses to requests that match the cache behavior that this response headers policy is attached to.

                
                

                - **Header** *(string) --* 

                  The HTTP header name.

                  
            
          
        
      
    
      

      - **Location** *(string) --* 

        The URL of the response headers policy.

        
      

      - **ETag** *(string) --* 

        The version identifier for the current version of the response headers policy.

        
  
  **Exceptions**
  
  *   :py:class:`CloudFront.Client.exceptions.AccessDenied`

  
  *   :py:class:`CloudFront.Client.exceptions.TooManyCustomHeadersInResponseHeadersPolicy`

  
  *   :py:class:`CloudFront.Client.exceptions.ResponseHeadersPolicyAlreadyExists`

  
  *   :py:class:`CloudFront.Client.exceptions.InconsistentQuantities`

  
  *   :py:class:`CloudFront.Client.exceptions.TooLongCSPInResponseHeadersPolicy`

  
  *   :py:class:`CloudFront.Client.exceptions.InvalidArgument`

  
  *   :py:class:`CloudFront.Client.exceptions.TooManyRemoveHeadersInResponseHeadersPolicy`

  
  *   :py:class:`CloudFront.Client.exceptions.TooManyResponseHeadersPolicies`

  