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

***************************
list_origin_access_controls
***************************



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

  

  Gets the list of CloudFront origin access controls (OACs) in this Amazon Web Services 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 another request that specifies the ``NextMarker`` value from the current response as the ``Marker`` value in the next request.

   

  .. note::

    

    If you're not using origin access controls for your Amazon Web Services account, the ``ListOriginAccessControls`` operation doesn't return the ``Items`` element in the response.

    

  

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


  **Request Syntax**
  ::

    response = client.list_origin_access_controls(
        Marker='string',
        MaxItems='string'
    )
    
  :type Marker: string
  :param Marker: 

    Use this field when paginating results to indicate where to begin in your list of origin access controls. The response includes the items 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 MaxItems: string
  :param MaxItems: 

    The maximum number of origin access controls that you want in the response.

    

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

    
    ::

      {
          'OriginAccessControlList': {
              'Marker': 'string',
              'NextMarker': 'string',
              'MaxItems': 123,
              'IsTruncated': True|False,
              'Quantity': 123,
              'Items': [
                  {
                      'Id': 'string',
                      'Description': 'string',
                      'Name': 'string',
                      'SigningProtocol': 'sigv4',
                      'SigningBehavior': 'never'|'always'|'no-override',
                      'OriginAccessControlOriginType': 's3'|'mediastore'|'mediapackagev2'|'lambda'
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **OriginAccessControlList** *(dict) --* 

        A list of origin access controls.

        
        

        - **Marker** *(string) --* 

          The value of the ``Marker`` field that was provided in the request.

          
        

        - **NextMarker** *(string) --* 

          If there are more items in the list than are in this response, this element is present. It contains the value to use in the ``Marker`` field of another request to continue listing origin access controls.

          
        

        - **MaxItems** *(integer) --* 

          The maximum number of origin access controls requested.

          
        

        - **IsTruncated** *(boolean) --* 

          If there are more items in the list than are in this response, this value is ``true``.

          
        

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

          The number of origin access controls returned in the response.

          
        

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

          Contains the origin access controls in the list.

          
          

          - *(dict) --* 

            A CloudFront origin access control.

            
            

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

              The unique identifier of the origin access control.

              
            

            - **Description** *(string) --* 

              A description of the origin access control.

              
            

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

              A unique name that identifies the origin access control.

              
            

            - **SigningProtocol** *(string) --* 

              The signing protocol of the origin access control. The signing protocol determines how CloudFront signs (authenticates) requests. The only valid value is ``sigv4``.

              
            

            - **SigningBehavior** *(string) --* 

              A value that specifies which requests CloudFront signs (adds authentication information to). This field can have one of the following values:

               

              
              * ``never`` – CloudFront doesn't sign any origin requests.
               
              * ``always`` – CloudFront signs all origin requests, overwriting the ``Authorization`` header from the viewer request if necessary.
               
              * ``no-override`` – If the viewer request doesn't contain the ``Authorization`` header, CloudFront signs the origin request. If the viewer request contains the ``Authorization`` header, CloudFront doesn't sign the origin request, but instead passes along the ``Authorization`` header that it received in the viewer request.
              

              
            

            - **OriginAccessControlOriginType** *(string) --* 

              The type of origin that this origin access control is for.

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

  