:doc:`PrometheusService <../../amp>` / Client / list_scrapers

*************
list_scrapers
*************



.. py:method:: PrometheusService.Client.list_scrapers(**kwargs)

  

  The ``ListScrapers`` operation lists all of the scrapers in your account. This includes scrapers being created or deleted. You can optionally filter the returned list.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/amp-2020-08-01/ListScrapers>`_  


  **Request Syntax**
  ::

    response = client.list_scrapers(
        filters={
            'string': [
                'string',
            ]
        },
        nextToken='string',
        maxResults=123
    )
    
  :type filters: dict
  :param filters: 

    (Optional) A list of key-value pairs to filter the list of scrapers returned. Keys include ``status``, ``sourceArn``, ``destinationArn``, and ``alias``.

     

    Filters on the same key are ``OR``'d together, and filters on different keys are ``AND``'d together. For example, ``status=ACTIVE&status=CREATING&alias=Test``, will return all scrapers that have the alias Test, and are either in status ACTIVE or CREATING.

     

    To find all active scrapers that are sending metrics to a specific Amazon Managed Service for Prometheus workspace, you would use the ARN of the workspace in a query:

     

    ``status=ACTIVE&destinationArn=arn:aws:aps:us-east-1:123456789012:workspace/ws-example1-1234-abcd-56ef-123456789012``

     

    If this is included, it filters the results to only the scrapers that match the filter.

    

  
    - *(string) --* 

      The name of the key to filter by. Currently supported filter keys are ``status``, ``sourceArn``, ``destinationArn``, and ``alias``.

      

    
      - *(list) --* 

        The values of the given key by which to filter.

        

      
        - *(string) --* 

          The value for a given key by which to filter.

          

        
    


  :type nextToken: string
  :param nextToken: 

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    

  
  :type maxResults: integer
  :param maxResults: 

    Optional) The maximum number of scrapers to return in one ``ListScrapers`` operation. The range is 1-1000.

     

    If you omit this parameter, the default of 100 is used.

    

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

    
    ::

      {
          'scrapers': [
              {
                  'alias': 'string',
                  'scraperId': 'string',
                  'arn': 'string',
                  'roleArn': 'string',
                  'status': {
                      'statusCode': 'CREATING'|'UPDATING'|'ACTIVE'|'DELETING'|'CREATION_FAILED'|'UPDATE_FAILED'|'DELETION_FAILED'
                  },
                  'createdAt': datetime(2015, 1, 1),
                  'lastModifiedAt': datetime(2015, 1, 1),
                  'tags': {
                      'string': 'string'
                  },
                  'statusReason': 'string',
                  'source': {
                      'eksConfiguration': {
                          'clusterArn': 'string',
                          'securityGroupIds': [
                              'string',
                          ],
                          'subnetIds': [
                              'string',
                          ]
                      },
                      'vpcConfiguration': {
                          'securityGroupIds': [
                              'string',
                          ],
                          'subnetIds': [
                              'string',
                          ]
                      }
                  },
                  'destination': {
                      'ampConfiguration': {
                          'workspaceArn': 'string'
                      }
                  },
                  'roleConfiguration': {
                      'sourceRoleArn': 'string',
                      'targetRoleArn': 'string'
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Represents the output of a ``ListScrapers`` operation.

      
      

      - **scrapers** *(list) --* 

        A list of ``ScraperSummary`` structures giving information about scrapers in the account that match the filters provided.

        
        

        - *(dict) --* 

          The ``ScraperSummary`` structure contains a summary of the details about one scraper in your account.

          
          

          - **alias** *(string) --* 

            (Optional) A name associated with the scraper.

            
          

          - **scraperId** *(string) --* 

            The ID of the scraper.

            
          

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

            The Amazon Resource Name (ARN) of the scraper.

            
          

          - **roleArn** *(string) --* 

            The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover and collect metrics on your behalf.

            
          

          - **status** *(dict) --* 

            A structure that contains the current status of the scraper.

            
            

            - **statusCode** *(string) --* 

              The current status of the scraper.

              
        
          

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

            The date and time that the scraper was created.

            
          

          - **lastModifiedAt** *(datetime) --* 

            The date and time that the scraper was last modified.

            
          

          - **tags** *(dict) --* 

            (Optional) The list of tag keys and values associated with the scraper.

            
            

            - *(string) --* 

              The key of the tag. Must not begin with ``aws:``.

              
              

              - *(string) --* 

                The value of the tag.

                
        
      
          

          - **statusReason** *(string) --* 

            If there is a failure, the reason for the failure.

            
          

          - **source** *(dict) --* 

            The Amazon EKS cluster from which the scraper collects metrics.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``eksConfiguration``, ``vpcConfiguration``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **eksConfiguration** *(dict) --* 

              The Amazon EKS cluster from which a scraper collects metrics.

              
              

              - **clusterArn** *(string) --* 

                ARN of the Amazon EKS cluster.

                
              

              - **securityGroupIds** *(list) --* 

                A list of the security group IDs for the Amazon EKS cluster VPC configuration.

                
                

                - *(string) --* 

                  ID of a VPC security group.

                  
            
              

              - **subnetIds** *(list) --* 

                A list of subnet IDs for the Amazon EKS cluster VPC configuration.

                
                

                - *(string) --* 

                  ID of a VPC subnet.

                  
            
          
            

            - **vpcConfiguration** *(dict) --* 

              The Amazon VPC configuration for the Prometheus collector when connecting to Amazon MSK clusters. This configuration enables secure, private network connectivity between the collector and your Amazon MSK cluster within your Amazon VPC.

              
              

              - **securityGroupIds** *(list) --* 

                The security group IDs that control network access for the Prometheus collector. These security groups must allow the collector to communicate with your Amazon MSK cluster on the required ports.

                
                

                - *(string) --* 

                  ID of a VPC security group.

                  
            
              

              - **subnetIds** *(list) --* 

                The subnet IDs where the Prometheus collector will be deployed. The subnets must be in the same Amazon VPC as your Amazon MSK cluster and have network connectivity to the cluster.

                
                

                - *(string) --* 

                  ID of a VPC subnet.

                  
            
          
        
          

          - **destination** *(dict) --* 

            The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``ampConfiguration``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **ampConfiguration** *(dict) --* 

              The Amazon Managed Service for Prometheus workspace to send metrics to.

              
              

              - **workspaceArn** *(string) --* 

                ARN of the Amazon Managed Service for Prometheus workspace.

                
          
        
          

          - **roleConfiguration** *(dict) --* 

            This structure displays information about the IAM roles used for cross-account scraping configuration.

            
            

            - **sourceRoleArn** *(string) --* 

              The Amazon Resource Name (ARN) of the role used in the source account to enable cross-account scraping. For information about the contents of this policy, see `Cross-account setup <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#cross-account-remote-write>`__.

              
            

            - **targetRoleArn** *(string) --* 

              The Amazon Resource Name (ARN) of the role used in the target account to enable cross-account scraping. For information about the contents of this policy, see `Cross-account setup <https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#cross-account-remote-write>`__.

              
        
      
    
      

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

        A token indicating that there are more results to retrieve. You can use this token as part of your next ``ListScrapers`` operation to retrieve those results.

        
  
  **Exceptions**
  
  *   :py:class:`PrometheusService.Client.exceptions.ThrottlingException`

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

  
  *   :py:class:`PrometheusService.Client.exceptions.AccessDeniedException`

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

  