AWS Well-Architected Tool

2023/03/30 - AWS Well-Architected Tool - 1 new api methods

Changes  AWS Well-Architected SDK now supports getting consolidated report metrics and generating a consolidated report PDF.

GetConsolidatedReport (new) Link ΒΆ

Get a consolidated report of your workloads.

You can optionally choose to include workloads that have been shared with you.

See also: AWS API Documentation

Request Syntax

client.get_consolidated_report(
    Format='PDF'|'JSON',
    IncludeSharedResources=True|False,
    NextToken='string',
    MaxResults=123
)
type Format:

string

param Format:

[REQUIRED]

The format of the consolidated report.

For PDF, Base64String is returned. For JSON, Metrics is returned.

type IncludeSharedResources:

boolean

param IncludeSharedResources:

Set to true to have shared resources included in the report.

type NextToken:

string

param NextToken:

The token to use to retrieve the next set of results.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return for this request.

rtype:

dict

returns:

Response Syntax

{
    'Metrics': [
        {
            'MetricType': 'WORKLOAD',
            'RiskCounts': {
                'string': 123
            },
            'WorkloadId': 'string',
            'WorkloadName': 'string',
            'WorkloadArn': 'string',
            'UpdatedAt': datetime(2015, 1, 1),
            'Lenses': [
                {
                    'LensArn': 'string',
                    'Pillars': [
                        {
                            'PillarId': 'string',
                            'RiskCounts': {
                                'string': 123
                            },
                            'Questions': [
                                {
                                    'QuestionId': 'string',
                                    'Risk': 'UNANSWERED'|'HIGH'|'MEDIUM'|'NONE'|'NOT_APPLICABLE',
                                    'BestPractices': [
                                        {
                                            'ChoiceId': 'string',
                                            'ChoiceTitle': 'string'
                                        },
                                    ]
                                },
                            ]
                        },
                    ],
                    'RiskCounts': {
                        'string': 123
                    }
                },
            ],
            'LensesAppliedCount': 123
        },
    ],
    'NextToken': 'string',
    'Base64String': 'string'
}

Response Structure

  • (dict) --

    • Metrics (list) --

      The metrics that make up the consolidated report.

      Only returned when JSON format is requested.

      • (dict) --

        A metric that contributes to the consolidated report.

        • MetricType (string) --

          The metric type of a metric in the consolidated report. Currently only WORKLOAD metric types are supported.

        • RiskCounts (dict) --

          A map from risk names to the count of how many questions have that rating.

          • (string) --

            The risk for a given workload, lens review, pillar, or question.

            • (integer) --

              A non-negative integer that denotes how many.

        • WorkloadId (string) --

          The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

        • WorkloadName (string) --

          The name of the workload.

          The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

        • WorkloadArn (string) --

          The ARN for the workload.

        • UpdatedAt (datetime) --

          The date and time recorded.

        • Lenses (list) --

          The metrics for the lenses in the workload.

          • (dict) --

            A metric for a particular lens in a workload.

            • LensArn (string) --

              The lens ARN.

            • Pillars (list) --

              The metrics for the pillars in a lens.

              • (dict) --

                A metric for a particular pillar in a lens.

                • PillarId (string) --

                  The ID used to identify a pillar, for example, security.

                  A pillar is identified by its PillarReviewSummary$PillarId.

                • RiskCounts (dict) --

                  A map from risk names to the count of how many questions have that rating.

                  • (string) --

                    The risk for a given workload, lens review, pillar, or question.

                    • (integer) --

                      A non-negative integer that denotes how many.

                • Questions (list) --

                  The questions that have been identified as risks in the pillar.

                  • (dict) --

                    A metric for a particular question in the pillar.

                    • QuestionId (string) --

                      The ID of the question.

                    • Risk (string) --

                      The risk for a given workload, lens review, pillar, or question.

                    • BestPractices (list) --

                      The best practices, or choices, that have been identified as contributing to risk in a question.

                      • (dict) --

                        A best practice, or question choice, that has been identified as a risk in this question.

                        • ChoiceId (string) --

                          The ID of a choice.

                        • ChoiceTitle (string) --

                          The title of a choice.

            • RiskCounts (dict) --

              A map from risk names to the count of how many questions have that rating.

              • (string) --

                The risk for a given workload, lens review, pillar, or question.

                • (integer) --

                  A non-negative integer that denotes how many.

        • LensesAppliedCount (integer) --

          The total number of lenses applied to the workload.

    • NextToken (string) --

      The token to use to retrieve the next set of results.

    • Base64String (string) --

      The Base64-encoded string representation of a lens review report.

      This data can be used to create a PDF file.

      Only returned by GetConsolidatedReport when PDF format is requested.