:doc:`AuditManager <../../auditmanager>` / Client / list_controls

*************
list_controls
*************



.. py:method:: AuditManager.Client.list_controls(**kwargs)

  

  Returns a list of controls from Audit Manager.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/auditmanager-2017-07-25/ListControls>`_  


  **Request Syntax**
  ::

    response = client.list_controls(
        controlType='Standard'|'Custom'|'Core',
        nextToken='string',
        maxResults=123,
        controlCatalogId='string'
    )
    
  :type controlType: string
  :param controlType: **[REQUIRED]** 

    A filter that narrows the list of controls to a specific type.

    

  
  :type nextToken: string
  :param nextToken: 

    The pagination token that's used to fetch the next set of results.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of results on a page or for an API request call.

    

  
  :type controlCatalogId: string
  :param controlCatalogId: 

    A filter that narrows the list of controls to a specific resource from the Amazon Web Services Control Catalog.

     

    To use this parameter, specify the ARN of the Control Catalog resource. You can specify either a control domain, a control objective, or a common control. For information about how to find the ARNs for these resources, see `ListDomains <https://docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListDomains.html>`__, `ListObjectives <https://docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListObjectives.html>`__, and `ListCommonControls <https://docs.aws.amazon.com/controlcatalog/latest/APIReference/API_ListCommonControls.html>`__.

     

    .. note::

      

      You can only filter by one Control Catalog resource at a time. Specifying multiple resource ARNs isn’t currently supported. If you want to filter by more than one ARN, we recommend that you run the ``ListControls`` operation separately for each ARN.

      

     

    Alternatively, specify ``UNCATEGORIZED`` to list controls that aren't mapped to a Control Catalog resource. For example, this operation might return a list of custom controls that don't belong to any control domain or control objective.

    

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

    
    ::

      {
          'controlMetadataList': [
              {
                  'arn': 'string',
                  'id': 'string',
                  'name': 'string',
                  'controlSources': 'string',
                  'createdAt': datetime(2015, 1, 1),
                  'lastUpdatedAt': datetime(2015, 1, 1)
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **controlMetadataList** *(list) --* 

        A list of metadata that the ``ListControls`` API returns for each control.

        
        

        - *(dict) --* 

          The metadata that's associated with the standard control or custom control.

          
          

          - **arn** *(string) --* 

            The Amazon Resource Name (ARN) of the control.

            
          

          - **id** *(string) --* 

            The unique identifier for the control.

            
          

          - **name** *(string) --* 

            The name of the control.

            
          

          - **controlSources** *(string) --* 

            The data source that determines where Audit Manager collects evidence from for the control.

            
          

          - **createdAt** *(datetime) --* 

            The time when the control was created.

            
          

          - **lastUpdatedAt** *(datetime) --* 

            The time when the control was most recently updated.

            
      
    
      

      - **nextToken** *(string) --* 

        The pagination token that's used to fetch the next set of results.

        
  
  **Exceptions**
  
  *   :py:class:`AuditManager.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`AuditManager.Client.exceptions.ValidationException`

  
  *   :py:class:`AuditManager.Client.exceptions.InternalServerException`

  