ComputeOptimizer / Client / get_recommendation_summaries

get_recommendation_summaries#

ComputeOptimizer.Client.get_recommendation_summaries(**kwargs)#

Returns the optimization findings for an account.

It returns the number of:

  • Amazon EC2 instances in an account that are Underprovisioned, Overprovisioned, or Optimized.

  • Auto Scaling groups in an account that are NotOptimized, or Optimized.

  • Amazon EBS volumes in an account that are NotOptimized, or Optimized.

  • Lambda functions in an account that are NotOptimized, or Optimized.

  • Amazon ECS services in an account that are Underprovisioned, Overprovisioned, or Optimized.

See also: AWS API Documentation

Request Syntax

response = client.get_recommendation_summaries(
    accountIds=[
        'string',
    ],
    nextToken='string',
    maxResults=123
)
Parameters:
  • accountIds (list) –

    The ID of the Amazon Web Services account for which to return recommendation summaries.

    If your account is the management account of an organization, use this parameter to specify the member account for which you want to return recommendation summaries.

    Only one account ID can be specified per request.

    • (string) –

  • nextToken (string) – The token to advance to the next page of recommendation summaries.

  • maxResults (integer) –

    The maximum number of recommendation summaries to return with a single request.

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

Return type:

dict

Returns:

Response Syntax

{
    'nextToken': 'string',
    'recommendationSummaries': [
        {
            'summaries': [
                {
                    'name': 'Underprovisioned'|'Overprovisioned'|'Optimized'|'NotOptimized',
                    'value': 123.0,
                    'reasonCodeSummaries': [
                        {
                            'name': 'MemoryOverprovisioned'|'MemoryUnderprovisioned',
                            'value': 123.0
                        },
                    ]
                },
            ],
            'recommendationResourceType': 'Ec2Instance'|'AutoScalingGroup'|'EbsVolume'|'LambdaFunction'|'EcsService'|'License',
            'accountId': 'string',
            'savingsOpportunity': {
                'savingsOpportunityPercentage': 123.0,
                'estimatedMonthlySavings': {
                    'currency': 'USD'|'CNY',
                    'value': 123.0
                }
            },
            'currentPerformanceRiskRatings': {
                'high': 123,
                'medium': 123,
                'low': 123,
                'veryLow': 123
            },
            'inferredWorkloadSavings': [
                {
                    'inferredWorkloadTypes': [
                        'AmazonEmr'|'ApacheCassandra'|'ApacheHadoop'|'Memcached'|'Nginx'|'PostgreSql'|'Redis'|'Kafka'|'SQLServer',
                    ],
                    'estimatedMonthlySavings': {
                        'currency': 'USD'|'CNY',
                        'value': 123.0
                    }
                },
            ]
        },
    ]
}

Response Structure

  • (dict) –

    • nextToken (string) –

      The token to use to advance to the next page of recommendation summaries.

      This value is null when there are no more pages of recommendation summaries to return.

    • recommendationSummaries (list) –

      An array of objects that summarize a recommendation.

      • (dict) –

        A summary of a recommendation.

        • summaries (list) –

          An array of objects that describe a recommendation summary.

          • (dict) –

            The summary of a recommendation.

            • name (string) –

              The finding classification of the recommendation.

            • value (float) –

              The value of the recommendation summary.

            • reasonCodeSummaries (list) –

              An array of objects that summarize a finding reason code.

              • (dict) –

                A summary of a finding reason code.

                • name (string) –

                  The name of the finding reason code.

                • value (float) –

                  The value of the finding reason code summary.

        • recommendationResourceType (string) –

          The resource type that the recommendation summary applies to.

        • accountId (string) –

          The Amazon Web Services account ID of the recommendation summary.

        • savingsOpportunity (dict) –

          An object that describes the savings opportunity for a given resource type. Savings opportunity includes the estimated monthly savings amount and percentage.

          • savingsOpportunityPercentage (float) –

            The estimated monthly savings possible as a percentage of monthly cost by adopting Compute Optimizer recommendations for a given resource.

          • estimatedMonthlySavings (dict) –

            An object that describes the estimated monthly savings amount possible by adopting Compute Optimizer recommendations for a given resource. This is based on the On-Demand instance pricing..

            • currency (string) –

              The currency of the estimated monthly savings.

            • value (float) –

              The value of the estimated monthly savings.

        • currentPerformanceRiskRatings (dict) –

          An object that describes the performance risk ratings for a given resource type.

          • high (integer) –

            A count of the applicable resource types with a high performance risk rating.

          • medium (integer) –

            A count of the applicable resource types with a medium performance risk rating.

          • low (integer) –

            A count of the applicable resource types with a low performance risk rating.

          • veryLow (integer) –

            A count of the applicable resource types with a very low performance risk rating.

        • inferredWorkloadSavings (list) –

          An array of objects that describes the estimated monthly saving amounts for the instances running on the specified inferredWorkloadTypes. The array contains the top five savings opportunites for the instances that run inferred workload types.

          • (dict) –

            The estimated monthly savings after you adjust the configurations of your instances running on the inferred workload types to the recommended configurations. If the inferredWorkloadTypes list contains multiple entries, then the savings are the sum of the monthly savings from instances that run the exact combination of the inferred workload types.

            • inferredWorkloadTypes (list) –

              The applications that might be running on the instance as inferred by Compute Optimizer.

              Compute Optimizer can infer if one of the following applications might be running on the instance:

              • AmazonEmr - Infers that Amazon EMR might be running on the instance.

              • ApacheCassandra - Infers that Apache Cassandra might be running on the instance.

              • ApacheHadoop - Infers that Apache Hadoop might be running on the instance.

              • Memcached - Infers that Memcached might be running on the instance.

              • NGINX - Infers that NGINX might be running on the instance.

              • PostgreSql - Infers that PostgreSQL might be running on the instance.

              • Redis - Infers that Redis might be running on the instance.

              • Kafka - Infers that Kafka might be running on the instance.

              • SQLServer - Infers that SQLServer might be running on the instance.

              • (string) –

            • estimatedMonthlySavings (dict) –

              An object that describes the estimated monthly savings amount possible by adopting Compute Optimizer recommendations for a given resource. This is based on the On-Demand instance pricing.

              • currency (string) –

                The currency of the estimated monthly savings.

              • value (float) –

                The value of the estimated monthly savings.

Exceptions

  • ComputeOptimizer.Client.exceptions.OptInRequiredException

  • ComputeOptimizer.Client.exceptions.InternalServerException

  • ComputeOptimizer.Client.exceptions.ServiceUnavailableException

  • ComputeOptimizer.Client.exceptions.AccessDeniedException

  • ComputeOptimizer.Client.exceptions.InvalidParameterValueException

  • ComputeOptimizer.Client.exceptions.MissingAuthenticationToken

  • ComputeOptimizer.Client.exceptions.ThrottlingException