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

*************************
get_origin_request_policy
*************************



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

  

  Gets an origin request policy, including the following metadata:

   

  
  * The policy's identifier.
   
  * The date and time when the policy was last modified.
  

   

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

  

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


  **Request Syntax**
  ::

    response = client.get_origin_request_policy(
        Id='string'
    )
    
  :type Id: string
  :param Id: **[REQUIRED]** 

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

    

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

    
    ::

      {
          'OriginRequestPolicy': {
              'Id': 'string',
              'LastModifiedTime': datetime(2015, 1, 1),
              'OriginRequestPolicyConfig': {
                  'Comment': 'string',
                  'Name': 'string',
                  'HeadersConfig': {
                      'HeaderBehavior': 'none'|'whitelist'|'allViewer'|'allViewerAndWhitelistCloudFront'|'allExcept',
                      'Headers': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      }
                  },
                  'CookiesConfig': {
                      'CookieBehavior': 'none'|'whitelist'|'all'|'allExcept',
                      'Cookies': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      }
                  },
                  'QueryStringsConfig': {
                      'QueryStringBehavior': 'none'|'whitelist'|'all'|'allExcept',
                      'QueryStrings': {
                          'Quantity': 123,
                          'Items': [
                              'string',
                          ]
                      }
                  }
              }
          },
          'ETag': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **OriginRequestPolicy** *(dict) --* 

        The origin request policy.

        
        

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

          The unique identifier for the origin request policy.

          
        

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

          The date and time when the origin request policy was last modified.

          
        

        - **OriginRequestPolicyConfig** *(dict) --* 

          The origin request policy configuration.

          
          

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

            A comment to describe the origin request policy. The comment cannot be longer than 128 characters.

            
          

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

            A unique name to identify the origin request policy.

            
          

          - **HeadersConfig** *(dict) --* 

            The HTTP headers to include in origin requests. These can include headers from viewer requests and additional headers added by CloudFront.

            
            

            - **HeaderBehavior** *(string) --* 

              Determines whether any HTTP headers are included in requests that CloudFront sends to the origin. Valid values are:

               

              
              * ``none`` – No HTTP headers in viewer requests are 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`` – Only 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.
               
              * ``allExcept`` – All HTTP headers in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the ``Headers`` type, which are not included.
              

              
            

            - **Headers** *(dict) --* 

              Contains a list of HTTP header names.

              
              

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

                The number of header names in the ``Items`` list.

                
              

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

                A list of HTTP header names.

                
                

                - *(string) --* 
            
          
        
          

          - **CookiesConfig** *(dict) --* 

            The cookies from viewer requests to include in origin requests.

            
            

            - **CookieBehavior** *(string) --* 

              Determines whether cookies in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:

               

              
              * ``none`` – No cookies in viewer requests are 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`` – Only 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.
               
              * ``allExcept`` – All cookies in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the ``CookieNames`` type, which are not included.
              

              
            

            - **Cookies** *(dict) --* 

              Contains a list of cookie names.

              
              

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

                The number of cookie names in the ``Items`` list.

                
              

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

                A list of cookie names.

                
                

                - *(string) --* 
            
          
        
          

          - **QueryStringsConfig** *(dict) --* 

            The URL query strings from viewer requests to include in origin requests.

            
            

            - **QueryStringBehavior** *(string) --* 

              Determines whether any URL query strings in viewer requests are included in requests that CloudFront sends to the origin. Valid values are:

               

              
              * ``none`` – No query strings in viewer requests are 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`` – Only 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.
               
              * ``allExcept`` – All query strings in viewer requests are included in requests that CloudFront sends to the origin, **except** for those listed in the ``QueryStringNames`` type, which are not included.
              

              
            

            - **QueryStrings** *(dict) --* 

              Contains the specific query strings in viewer requests that either **are** or **are not** included in requests that CloudFront sends to the origin. The behavior depends on whether the ``QueryStringBehavior`` field in the ``OriginRequestPolicyQueryStringsConfig`` 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).

              
              

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

                The number of query string names in the ``Items`` list.

                
              

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

                A list of query string names.

                
                

                - *(string) --* 
            
          
        
      
    
      

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

        The current version of the origin request policy.

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

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

  