:doc:`ComputeOptimizer <../../compute-optimizer>` / Client / get_idle_recommendations

************************
get_idle_recommendations
************************



.. py:method:: ComputeOptimizer.Client.get_idle_recommendations(**kwargs)

  

  Returns idle resource recommendations. Compute Optimizer generates recommendations for idle resources that meet a specific set of requirements. For more information, see `Resource requirements <https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html>`__ in the *Compute Optimizer User Guide*

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetIdleRecommendations>`_  


  **Request Syntax**
  ::

    response = client.get_idle_recommendations(
        resourceArns=[
            'string',
        ],
        nextToken='string',
        maxResults=123,
        filters=[
            {
                'name': 'Finding'|'ResourceType',
                'values': [
                    'string',
                ]
            },
        ],
        accountIds=[
            'string',
        ],
        orderBy={
            'dimension': 'SavingsValue'|'SavingsValueAfterDiscount',
            'order': 'Asc'|'Desc'
        }
    )
    
  :type resourceArns: list
  :param resourceArns: 

    The ARN that identifies the idle resource.

    

  
    - *(string) --* 

    

  :type nextToken: string
  :param nextToken: 

    The token to advance to the next page of idle resource recommendations.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of idle resource recommendations to return with a single request.

     

    To retrieve the remaining results, make another request with the returned ``nextToken`` value.

    

  
  :type filters: list
  :param filters: 

    An array of objects to specify a filter that returns a more specific list of idle resource recommendations.

    

  
    - *(dict) --* 

      Describes a filter that returns a more specific list of idle resource recommendations.

      

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

        The name of the filter.

         

        Specify ``Finding`` to return recommendations with a specific finding classification.

         

        You can filter your idle resource recommendations by ``tag:key`` and ``tag-key`` tags.

         

        A ``tag:key`` is a key and value combination of a tag assigned to your idle resource recommendations. Use the tag key in the filter name and the tag value as the filter value. For example, to find all idle resource service recommendations that have a tag with the key of ``Owner`` and the value of ``TeamA``, specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.

         

        A ``tag-key`` is the key of a tag assigned to your idle resource recommendations. Use this filter to find all of your idle resource recommendations that have a tag with a specific key. This doesn’t consider the tag value. For example, you can find your idle resource service recommendations with a tag key value of ``Owner`` or without any tag keys assigned.

        

      
      - **values** *(list) --* 

        The value of the filter.

        

      
        - *(string) --* 

        
    
    

  :type accountIds: list
  :param accountIds: 

    Return the idle resource recommendations to the specified Amazon Web Services account IDs.

     

    If your account is the management account or the delegated administrator of an organization, use this parameter to return the idle resource recommendations to specific member accounts.

     

    You can only specify one account ID per request.

    

  
    - *(string) --* 

    

  :type orderBy: dict
  :param orderBy: 

    The order to sort the idle resource recommendations.

    

  
    - **dimension** *(string) --* 

      The dimension values to sort the recommendations.

      

    
    - **order** *(string) --* 

      The order to sort the recommendations.

      

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

    
    ::

      {
          'nextToken': 'string',
          'idleRecommendations': [
              {
                  'resourceArn': 'string',
                  'resourceId': 'string',
                  'resourceType': 'EC2Instance'|'AutoScalingGroup'|'EBSVolume'|'ECSService'|'RDSDBInstance'|'NatGateway',
                  'accountId': 'string',
                  'finding': 'Idle'|'Unattached'|'Unused',
                  'findingDescription': 'string',
                  'savingsOpportunity': {
                      'savingsOpportunityPercentage': 123.0,
                      'estimatedMonthlySavings': {
                          'currency': 'USD'|'CNY',
                          'value': 123.0
                      }
                  },
                  'savingsOpportunityAfterDiscounts': {
                      'savingsOpportunityPercentage': 123.0,
                      'estimatedMonthlySavings': {
                          'currency': 'USD'|'CNY',
                          'value': 123.0
                      }
                  },
                  'utilizationMetrics': [
                      {
                          'name': 'CPU'|'Memory'|'NetworkOutBytesPerSecond'|'NetworkInBytesPerSecond'|'DatabaseConnections'|'EBSVolumeReadIOPS'|'EBSVolumeWriteIOPS'|'VolumeReadOpsPerSecond'|'VolumeWriteOpsPerSecond'|'ActiveConnectionCount'|'PacketsInFromSource'|'PacketsInFromDestination',
                          'statistic': 'Maximum'|'Average',
                          'value': 123.0
                      },
                  ],
                  'lookBackPeriodInDays': 123.0,
                  'lastRefreshTimestamp': datetime(2015, 1, 1),
                  'tags': [
                      {
                          'key': 'string',
                          'value': 'string'
                      },
                  ]
              },
          ],
          'errors': [
              {
                  'identifier': 'string',
                  'code': 'string',
                  'message': 'string',
                  'resourceType': 'EC2Instance'|'AutoScalingGroup'|'EBSVolume'|'ECSService'|'RDSDBInstance'|'NatGateway'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The token to advance to the next page of idle resource recommendations.

        
      

      - **idleRecommendations** *(list) --* 

        An array of objects that describe the idle resource recommendations.

        
        

        - *(dict) --* 

          Describes an Idle resource recommendation.

          
          

          - **resourceArn** *(string) --* 

            The ARN of the current idle resource.

            
          

          - **resourceId** *(string) --* 

            The unique identifier for the resource.

            
          

          - **resourceType** *(string) --* 

            The type of resource that is idle.

            
          

          - **accountId** *(string) --* 

            The Amazon Web Services account ID of the idle resource.

            
          

          - **finding** *(string) --* 

            The finding classification of an idle resource.

            
          

          - **findingDescription** *(string) --* 

            A summary of the findings for the resource.

            
          

          - **savingsOpportunity** *(dict) --* 

            The savings opportunity for the idle resource.

            
            

            - **savingsOpportunityPercentage** *(float) --* 

              The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer's idle resource recommendations.

              
            

            - **estimatedMonthlySavings** *(dict) --* 

              The estimated monthly savings possible by adopting Compute Optimizer's idle resource recommendations.

              
              

              - **currency** *(string) --* 

                The currency of the estimated monthly savings.

                
              

              - **value** *(float) --* 

                The value of the estimated monthly savings for Idle resources.

                
          
        
          

          - **savingsOpportunityAfterDiscounts** *(dict) --* 

            The savings opportunity for the idle resource after any applying discounts.

            
            

            - **savingsOpportunityPercentage** *(float) --* 

              The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer's idle resource recommendations. This includes any applicable discounts.

              
            

            - **estimatedMonthlySavings** *(dict) --* 

              The estimated monthly savings possible by adopting Compute Optimizer's idle resource recommendations. This includes any applicable discounts.

              
              

              - **currency** *(string) --* 

                The currency of the estimated monthly savings.

                
              

              - **value** *(float) --* 

                The value of the estimated monthly savings for Idle resources.

                
          
        
          

          - **utilizationMetrics** *(list) --* 

            An array of objects that describe the utilization metrics of the idle resource.

            
            

            - *(dict) --* 

              Describes the utilization metric of an idle resource.

              
              

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

                The name of the utilization metric.

                
              

              - **statistic** *(string) --* 

                The statistic of the utilization metric.

                 

                The Compute Optimizer API, Command Line Interface (CLI), and SDKs return utilization metrics using only the ``Maximum`` statistic, which is the highest value observed during the specified period.

                 

                The Compute Optimizer console displays graphs for some utilization metrics using the ``Average`` statistic, which is the value of ``Sum`` / ``SampleCount`` during the specified period. For more information, see `Viewing resource recommendations <https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html>`__ in the *Compute Optimizer User Guide*. You can also get averaged utilization metric data for your resources using Amazon CloudWatch. For more information, see the `Amazon CloudWatch User Guide <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html>`__.

                
              

              - **value** *(float) --* 

                The value of the utilization metric.

                
          
        
          

          - **lookBackPeriodInDays** *(float) --* 

            The number of days the idle resource utilization metrics were analyzed.

            
          

          - **lastRefreshTimestamp** *(datetime) --* 

            The timestamp of when the idle resource recommendation was last generated.

            
          

          - **tags** *(list) --* 

            A list of tags assigned to your idle resource recommendations.

            
            

            - *(dict) --* 

              A list of tag key and value pairs that you define.

              
              

              - **key** *(string) --* 

                One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

                
              

              - **value** *(string) --* 

                One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

                
          
        
      
    
      

      - **errors** *(list) --* 

        An array of objects that describe errors of the request.

        
        

        - *(dict) --* 

          Returns of list of resources that doesn't have idle recommendations.

          
          

          - **identifier** *(string) --* 

            The ID of the error.

            
          

          - **code** *(string) --* 

            The error code.

            
          

          - **message** *(string) --* 

            The error message.

            
          

          - **resourceType** *(string) --* 

            The type of resource associated with the error.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`ComputeOptimizer.Client.exceptions.OptInRequiredException`

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

  
  *   :py:class:`ComputeOptimizer.Client.exceptions.ServiceUnavailableException`

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

  
  *   :py:class:`ComputeOptimizer.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`ComputeOptimizer.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`ComputeOptimizer.Client.exceptions.MissingAuthenticationToken`

  
  *   :py:class:`ComputeOptimizer.Client.exceptions.ThrottlingException`

  