:doc:`PI <../../pi>` / Client / list_available_resource_metrics

*******************************
list_available_resource_metrics
*******************************



.. py:method:: PI.Client.list_available_resource_metrics(**kwargs)

  

  Retrieve metrics of the specified types that can be queried for a specified DB instance.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/ListAvailableResourceMetrics>`_  


  **Request Syntax**
  ::

    response = client.list_available_resource_metrics(
        ServiceType='RDS'|'DOCDB',
        Identifier='string',
        MetricTypes=[
            'string',
        ],
        NextToken='string',
        MaxResults=123
    )
    
  :type ServiceType: string
  :param ServiceType: **[REQUIRED]** 

    The Amazon Web Services service for which Performance Insights returns metrics.

    

  
  :type Identifier: string
  :param Identifier: **[REQUIRED]** 

    An immutable identifier for a data source that is unique within an Amazon Web Services Region. Performance Insights gathers metrics from this data source. To use an Amazon RDS DB instance as a data source, specify its ``DbiResourceId`` value. For example, specify ``db-ABCDEFGHIJKLMNOPQRSTU1VWZ``.

    

  
  :type MetricTypes: list
  :param MetricTypes: **[REQUIRED]** 

    The types of metrics to return in the response. Valid values in the array include the following:

     

    
    * ``os`` (OS counter metrics) - All engines
     
    * ``db`` (DB load metrics) - All engines except for Amazon DocumentDB
     
    * ``db.sql.stats`` (per-SQL metrics) - All engines except for Amazon DocumentDB
     
    * ``db.sql_tokenized.stats`` (per-SQL digest metrics) - All engines except for Amazon DocumentDB
    

    

  
    - *(string) --* A generic string type that forbids characters that could expose our service (or services downstream) to security risks around injections.

    

  :type NextToken: string
  :param NextToken: 

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by ``MaxRecords``.

    

  
  :type MaxResults: integer
  :param MaxResults: 

    The maximum number of items to return. If the ``MaxRecords`` value is less than the number of existing items, the response includes a pagination token.

    

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

    
    ::

      {
          'Metrics': [
              {
                  'Metric': 'string',
                  'Description': 'string',
                  'Unit': 'string'
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Metrics** *(list) --* 

        An array of metrics available to query. Each array element contains the full name, description, and unit of the metric.

        
        

        - *(dict) --* 

          An object that contains the full name, description, and unit of a metric.

          
          

          - **Metric** *(string) --* 

            The full name of the metric.

            
          

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

            The description of the metric.

            
          

          - **Unit** *(string) --* 

            The unit of the metric.

            
      
    
      

      - **NextToken** *(string) --* 

        A pagination token that indicates the response didn’t return all available records because ``MaxRecords`` was specified in the previous request. To get the remaining records, specify ``NextToken`` in a separate request with this value.

        
  
  **Exceptions**
  
  *   :py:class:`PI.Client.exceptions.InvalidArgumentException`

  
  *   :py:class:`PI.Client.exceptions.InternalServiceError`

  
  *   :py:class:`PI.Client.exceptions.NotAuthorizedException`

  