AWS Well-Architected Tool

2022/06/21 - AWS Well-Architected Tool - 4 updated api methods

Changes  Adds support for lens tagging, Adds support for multiple helpful-resource urls and multiple improvement-plan urls.

GetAnswer (updated) Link ¶
Changes (response)
{'Answer': {'Choices': {'AdditionalResources': [{'Content': [{'DisplayText': 'string',
                                                              'Url': 'string'}],
                                                 'Type': 'HELPFUL_RESOURCE | '
                                                         'IMPROVEMENT_PLAN'}]}}}

Get the answer to a specific question in a workload review.

See also: AWS API Documentation

Request Syntax

client.get_answer(
    WorkloadId='string',
    LensAlias='string',
    QuestionId='string',
    MilestoneNumber=123
)
type WorkloadId

string

param WorkloadId

[REQUIRED]

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

type LensAlias

string

param LensAlias

[REQUIRED]

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

Each lens is identified by its LensSummary$LensAlias.

type QuestionId

string

param QuestionId

[REQUIRED]

The ID of the question.

type MilestoneNumber

integer

param MilestoneNumber

The milestone number.

A workload can have a maximum of 100 milestones.

rtype

dict

returns

Response Syntax

{
    'WorkloadId': 'string',
    'MilestoneNumber': 123,
    'LensAlias': 'string',
    'LensArn': 'string',
    'Answer': {
        'QuestionId': 'string',
        'PillarId': 'string',
        'QuestionTitle': 'string',
        'QuestionDescription': 'string',
        'ImprovementPlanUrl': 'string',
        'HelpfulResourceUrl': 'string',
        'HelpfulResourceDisplayText': 'string',
        'Choices': [
            {
                'ChoiceId': 'string',
                'Title': 'string',
                'Description': 'string',
                'HelpfulResource': {
                    'DisplayText': 'string',
                    'Url': 'string'
                },
                'ImprovementPlan': {
                    'DisplayText': 'string',
                    'Url': 'string'
                },
                'AdditionalResources': [
                    {
                        'Type': 'HELPFUL_RESOURCE'|'IMPROVEMENT_PLAN',
                        'Content': [
                            {
                                'DisplayText': 'string',
                                'Url': 'string'
                            },
                        ]
                    },
                ]
            },
        ],
        'SelectedChoices': [
            'string',
        ],
        'ChoiceAnswers': [
            {
                'ChoiceId': 'string',
                'Status': 'SELECTED'|'NOT_APPLICABLE'|'UNSELECTED',
                'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE',
                'Notes': 'string'
            },
        ],
        'IsApplicable': True|False,
        'Risk': 'UNANSWERED'|'HIGH'|'MEDIUM'|'NONE'|'NOT_APPLICABLE',
        'Notes': 'string',
        'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE'
    }
}

Response Structure

  • (dict) --

    Output of a get answer call.

    • WorkloadId (string) --

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

    • MilestoneNumber (integer) --

      The milestone number.

      A workload can have a maximum of 100 milestones.

    • LensAlias (string) --

      The alias of the lens.

      For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

      For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

      Each lens is identified by its LensSummary$LensAlias.

    • LensArn (string) --

      The ARN for the lens.

    • Answer (dict) --

      An answer of the question.

      • QuestionId (string) --

        The ID of the question.

      • PillarId (string) --

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

        A pillar is identified by its PillarReviewSummary$PillarId.

      • QuestionTitle (string) --

        The title of the question.

      • QuestionDescription (string) --

        The description of the question.

      • ImprovementPlanUrl (string) --

        The improvement plan URL for a question.

        This value is only available if the question has been answered.

      • HelpfulResourceUrl (string) --

        The helpful resource URL for a question.

      • HelpfulResourceDisplayText (string) --

        The helpful resource text to be displayed.

      • Choices (list) --

        List of choices available for a question.

        • (dict) --

          A choice available to answer question.

          • ChoiceId (string) --

            The ID of a choice.

          • Title (string) --

            The title of a choice.

          • Description (string) --

            The description of a choice.

          • HelpfulResource (dict) --

            The choice level helpful resource.

            • DisplayText (string) --

              The display text for the choice content.

            • Url (string) --

              The URL for the choice content.

          • ImprovementPlan (dict) --

            The choice level improvement plan.

            • DisplayText (string) --

              The display text for the choice content.

            • Url (string) --

              The URL for the choice content.

          • AdditionalResources (list) --

            The additional resources for a choice. A choice can have up to two additional resources: one of type HELPFUL_RESOURCE , one of type IMPROVEMENT_PLAN , or both.

            • (dict) --

              The choice level additional resources.

              • Type (string) --

                Type of additional resource.

              • Content (list) --

                The URLs for additional resources, either helpful resources or improvement plans. Up to five additional URLs can be specified.

                • (dict) --

                  The choice content.

                  • DisplayText (string) --

                    The display text for the choice content.

                  • Url (string) --

                    The URL for the choice content.

      • SelectedChoices (list) --

        List of selected choice IDs in a question answer.

        The values entered replace the previously selected choices.

        • (string) --

          The ID of a choice.

      • ChoiceAnswers (list) --

        A list of selected choices to a question in your workload.

        • (dict) --

          A choice that has been answered on a question in your workload.

          • ChoiceId (string) --

            The ID of a choice.

          • Status (string) --

            The status of a choice.

          • Reason (string) --

            The reason why a choice is non-applicable to a question in your workload.

          • Notes (string) --

            The notes associated with a choice.

      • IsApplicable (boolean) --

        Defines whether this question is applicable to a lens review.

      • Risk (string) --

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

      • Notes (string) --

        The notes associated with the workload.

      • Reason (string) --

        The reason why the question is not applicable to your workload.

GetLens (updated) Link ¶
Changes (response)
{'Lens': {'Tags': {'string': 'string'}}}

Get an existing lens.

See also: AWS API Documentation

Request Syntax

client.get_lens(
    LensAlias='string',
    LensVersion='string'
)
type LensAlias

string

param LensAlias

[REQUIRED]

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

Each lens is identified by its LensSummary$LensAlias.

type LensVersion

string

param LensVersion

The lens version to be retrieved.

rtype

dict

returns

Response Syntax

{
    'Lens': {
        'LensArn': 'string',
        'LensVersion': 'string',
        'Name': 'string',
        'Description': 'string',
        'Owner': 'string',
        'ShareInvitationId': 'string',
        'Tags': {
            'string': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • Lens (dict) --

      A lens return object.

      • LensArn (string) --

        The ARN of a lens.

      • LensVersion (string) --

        The version of a lens.

      • Name (string) --

        The full name of the lens.

      • Description (string) --

        The description of the lens.

      • Owner (string) --

        The Amazon Web Services account ID that owns the lens.

      • ShareInvitationId (string) --

        The ID assigned to the share invitation.

      • Tags (dict) --

        The tags assigned to the lens.

        • (string) --

          • (string) --

ListAnswers (updated) Link ¶
Changes (response)
{'AnswerSummaries': {'Choices': {'AdditionalResources': [{'Content': [{'DisplayText': 'string',
                                                                       'Url': 'string'}],
                                                          'Type': 'HELPFUL_RESOURCE '
                                                                  '| '
                                                                  'IMPROVEMENT_PLAN'}]}}}

List of answers.

See also: AWS API Documentation

Request Syntax

client.list_answers(
    WorkloadId='string',
    LensAlias='string',
    PillarId='string',
    MilestoneNumber=123,
    NextToken='string',
    MaxResults=123
)
type WorkloadId

string

param WorkloadId

[REQUIRED]

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

type LensAlias

string

param LensAlias

[REQUIRED]

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

Each lens is identified by its LensSummary$LensAlias.

type PillarId

string

param PillarId

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

A pillar is identified by its PillarReviewSummary$PillarId.

type MilestoneNumber

integer

param MilestoneNumber

The milestone number.

A workload can have a maximum of 100 milestones.

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

{
    'WorkloadId': 'string',
    'MilestoneNumber': 123,
    'LensAlias': 'string',
    'LensArn': 'string',
    'AnswerSummaries': [
        {
            'QuestionId': 'string',
            'PillarId': 'string',
            'QuestionTitle': 'string',
            'Choices': [
                {
                    'ChoiceId': 'string',
                    'Title': 'string',
                    'Description': 'string',
                    'HelpfulResource': {
                        'DisplayText': 'string',
                        'Url': 'string'
                    },
                    'ImprovementPlan': {
                        'DisplayText': 'string',
                        'Url': 'string'
                    },
                    'AdditionalResources': [
                        {
                            'Type': 'HELPFUL_RESOURCE'|'IMPROVEMENT_PLAN',
                            'Content': [
                                {
                                    'DisplayText': 'string',
                                    'Url': 'string'
                                },
                            ]
                        },
                    ]
                },
            ],
            'SelectedChoices': [
                'string',
            ],
            'ChoiceAnswerSummaries': [
                {
                    'ChoiceId': 'string',
                    'Status': 'SELECTED'|'NOT_APPLICABLE'|'UNSELECTED',
                    'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE'
                },
            ],
            'IsApplicable': True|False,
            'Risk': 'UNANSWERED'|'HIGH'|'MEDIUM'|'NONE'|'NOT_APPLICABLE',
            'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    Output of a list answers call.

    • WorkloadId (string) --

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

    • MilestoneNumber (integer) --

      The milestone number.

      A workload can have a maximum of 100 milestones.

    • LensAlias (string) --

      The alias of the lens.

      For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

      For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

      Each lens is identified by its LensSummary$LensAlias.

    • LensArn (string) --

      The ARN for the lens.

    • AnswerSummaries (list) --

      List of answer summaries of lens review in a workload.

      • (dict) --

        An answer summary of a lens review in a workload.

        • QuestionId (string) --

          The ID of the question.

        • PillarId (string) --

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

          A pillar is identified by its PillarReviewSummary$PillarId.

        • QuestionTitle (string) --

          The title of the question.

        • Choices (list) --

          List of choices available for a question.

          • (dict) --

            A choice available to answer question.

            • ChoiceId (string) --

              The ID of a choice.

            • Title (string) --

              The title of a choice.

            • Description (string) --

              The description of a choice.

            • HelpfulResource (dict) --

              The choice level helpful resource.

              • DisplayText (string) --

                The display text for the choice content.

              • Url (string) --

                The URL for the choice content.

            • ImprovementPlan (dict) --

              The choice level improvement plan.

              • DisplayText (string) --

                The display text for the choice content.

              • Url (string) --

                The URL for the choice content.

            • AdditionalResources (list) --

              The additional resources for a choice. A choice can have up to two additional resources: one of type HELPFUL_RESOURCE , one of type IMPROVEMENT_PLAN , or both.

              • (dict) --

                The choice level additional resources.

                • Type (string) --

                  Type of additional resource.

                • Content (list) --

                  The URLs for additional resources, either helpful resources or improvement plans. Up to five additional URLs can be specified.

                  • (dict) --

                    The choice content.

                    • DisplayText (string) --

                      The display text for the choice content.

                    • Url (string) --

                      The URL for the choice content.

        • SelectedChoices (list) --

          List of selected choice IDs in a question answer.

          The values entered replace the previously selected choices.

          • (string) --

            The ID of a choice.

        • ChoiceAnswerSummaries (list) --

          A list of selected choices to a question in your workload.

          • (dict) --

            A choice summary that has been answered on a question in your workload.

            • ChoiceId (string) --

              The ID of a choice.

            • Status (string) --

              The status of a choice.

            • Reason (string) --

              The reason why a choice is non-applicable to a question in your workload.

        • IsApplicable (boolean) --

          Defines whether this question is applicable to a lens review.

        • Risk (string) --

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

        • Reason (string) --

          The reason why a choice is non-applicable to a question in your workload.

    • NextToken (string) --

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

UpdateAnswer (updated) Link ¶
Changes (response)
{'Answer': {'Choices': {'AdditionalResources': [{'Content': [{'DisplayText': 'string',
                                                              'Url': 'string'}],
                                                 'Type': 'HELPFUL_RESOURCE | '
                                                         'IMPROVEMENT_PLAN'}]}}}

Update the answer to a specific question in a workload review.

See also: AWS API Documentation

Request Syntax

client.update_answer(
    WorkloadId='string',
    LensAlias='string',
    QuestionId='string',
    SelectedChoices=[
        'string',
    ],
    ChoiceUpdates={
        'string': {
            'Status': 'SELECTED'|'NOT_APPLICABLE'|'UNSELECTED',
            'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE',
            'Notes': 'string'
        }
    },
    Notes='string',
    IsApplicable=True|False,
    Reason='OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE'
)
type WorkloadId

string

param WorkloadId

[REQUIRED]

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

type LensAlias

string

param LensAlias

[REQUIRED]

The alias of the lens.

For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

Each lens is identified by its LensSummary$LensAlias.

type QuestionId

string

param QuestionId

[REQUIRED]

The ID of the question.

type SelectedChoices

list

param SelectedChoices

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

  • (string) --

    The ID of a choice.

type ChoiceUpdates

dict

param ChoiceUpdates

A list of choices to update on a question in your workload. The String key corresponds to the choice ID to be updated.

  • (string) --

    The ID of a choice.

    • (dict) --

      A list of choices to be updated.

      • Status (string) -- [REQUIRED]

        The status of a choice.

      • Reason (string) --

        The reason why a choice is non-applicable to a question in your workload.

      • Notes (string) --

        The notes associated with a choice.

type Notes

string

param Notes

The notes associated with the workload.

type IsApplicable

boolean

param IsApplicable

Defines whether this question is applicable to a lens review.

type Reason

string

param Reason

The reason why a question is not applicable to your workload.

rtype

dict

returns

Response Syntax

{
    'WorkloadId': 'string',
    'LensAlias': 'string',
    'LensArn': 'string',
    'Answer': {
        'QuestionId': 'string',
        'PillarId': 'string',
        'QuestionTitle': 'string',
        'QuestionDescription': 'string',
        'ImprovementPlanUrl': 'string',
        'HelpfulResourceUrl': 'string',
        'HelpfulResourceDisplayText': 'string',
        'Choices': [
            {
                'ChoiceId': 'string',
                'Title': 'string',
                'Description': 'string',
                'HelpfulResource': {
                    'DisplayText': 'string',
                    'Url': 'string'
                },
                'ImprovementPlan': {
                    'DisplayText': 'string',
                    'Url': 'string'
                },
                'AdditionalResources': [
                    {
                        'Type': 'HELPFUL_RESOURCE'|'IMPROVEMENT_PLAN',
                        'Content': [
                            {
                                'DisplayText': 'string',
                                'Url': 'string'
                            },
                        ]
                    },
                ]
            },
        ],
        'SelectedChoices': [
            'string',
        ],
        'ChoiceAnswers': [
            {
                'ChoiceId': 'string',
                'Status': 'SELECTED'|'NOT_APPLICABLE'|'UNSELECTED',
                'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE',
                'Notes': 'string'
            },
        ],
        'IsApplicable': True|False,
        'Risk': 'UNANSWERED'|'HIGH'|'MEDIUM'|'NONE'|'NOT_APPLICABLE',
        'Notes': 'string',
        'Reason': 'OUT_OF_SCOPE'|'BUSINESS_PRIORITIES'|'ARCHITECTURE_CONSTRAINTS'|'OTHER'|'NONE'
    }
}

Response Structure

  • (dict) --

    Output of a update answer call.

    • WorkloadId (string) --

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

    • LensAlias (string) --

      The alias of the lens.

      For Amazon Web Services official lenses, this is either the lens alias, such as serverless , or the lens ARN, such as arn:aws:wellarchitected:us-west-2::lens/serverless .

      For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-east-1:123456789012:lens/my-lens .

      Each lens is identified by its LensSummary$LensAlias.

    • LensArn (string) --

      The ARN for the lens.

    • Answer (dict) --

      An answer of the question.

      • QuestionId (string) --

        The ID of the question.

      • PillarId (string) --

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

        A pillar is identified by its PillarReviewSummary$PillarId.

      • QuestionTitle (string) --

        The title of the question.

      • QuestionDescription (string) --

        The description of the question.

      • ImprovementPlanUrl (string) --

        The improvement plan URL for a question.

        This value is only available if the question has been answered.

      • HelpfulResourceUrl (string) --

        The helpful resource URL for a question.

      • HelpfulResourceDisplayText (string) --

        The helpful resource text to be displayed.

      • Choices (list) --

        List of choices available for a question.

        • (dict) --

          A choice available to answer question.

          • ChoiceId (string) --

            The ID of a choice.

          • Title (string) --

            The title of a choice.

          • Description (string) --

            The description of a choice.

          • HelpfulResource (dict) --

            The choice level helpful resource.

            • DisplayText (string) --

              The display text for the choice content.

            • Url (string) --

              The URL for the choice content.

          • ImprovementPlan (dict) --

            The choice level improvement plan.

            • DisplayText (string) --

              The display text for the choice content.

            • Url (string) --

              The URL for the choice content.

          • AdditionalResources (list) --

            The additional resources for a choice. A choice can have up to two additional resources: one of type HELPFUL_RESOURCE , one of type IMPROVEMENT_PLAN , or both.

            • (dict) --

              The choice level additional resources.

              • Type (string) --

                Type of additional resource.

              • Content (list) --

                The URLs for additional resources, either helpful resources or improvement plans. Up to five additional URLs can be specified.

                • (dict) --

                  The choice content.

                  • DisplayText (string) --

                    The display text for the choice content.

                  • Url (string) --

                    The URL for the choice content.

      • SelectedChoices (list) --

        List of selected choice IDs in a question answer.

        The values entered replace the previously selected choices.

        • (string) --

          The ID of a choice.

      • ChoiceAnswers (list) --

        A list of selected choices to a question in your workload.

        • (dict) --

          A choice that has been answered on a question in your workload.

          • ChoiceId (string) --

            The ID of a choice.

          • Status (string) --

            The status of a choice.

          • Reason (string) --

            The reason why a choice is non-applicable to a question in your workload.

          • Notes (string) --

            The notes associated with a choice.

      • IsApplicable (boolean) --

        Defines whether this question is applicable to a lens review.

      • Risk (string) --

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

      • Notes (string) --

        The notes associated with the workload.

      • Reason (string) --

        The reason why the question is not applicable to your workload.