AWS Well-Architected Tool

2021/07/14 - AWS Well-Architected Tool - 3 updated api methods

Changes  This update provides support for Well-Architected API users to mark answer choices as not applicable.

GetAnswer (updated) Link ¶
Changes (response)
{'Answer': {'ChoiceAnswers': [{'ChoiceId': 'string',
                               'Notes': 'string',
                               'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                                         'ARCHITECTURE_CONSTRAINTS | OTHER | '
                                         'NONE',
                               'Status': 'SELECTED | NOT_APPLICABLE | '
                                         'UNSELECTED'}],
            'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                      'ARCHITECTURE_CONSTRAINTS | OTHER | NONE'}}

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 AWS Region.

type LensAlias:

string

param LensAlias:

[REQUIRED]

The alias of the lens, for example, serverless.

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',
    'Answer': {
        'QuestionId': 'string',
        'PillarId': 'string',
        'QuestionTitle': 'string',
        'QuestionDescription': 'string',
        'ImprovementPlanUrl': 'string',
        'HelpfulResourceUrl': 'string',
        'Choices': [
            {
                'ChoiceId': 'string',
                'Title': 'string',
                'Description': '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 AWS Region.

    • MilestoneNumber (integer) --

      The milestone number.

      A workload can have a maximum of 100 milestones.

    • LensAlias (string) --

      The alias of the lens, for example, serverless.

      Each lens is identified by its LensSummary$LensAlias.

    • 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.

      • 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.

      • 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.

ListAnswers (updated) Link ¶
Changes (response)
{'AnswerSummaries': {'ChoiceAnswerSummaries': [{'ChoiceId': 'string',
                                                'Reason': 'OUT_OF_SCOPE | '
                                                          'BUSINESS_PRIORITIES '
                                                          '| '
                                                          'ARCHITECTURE_CONSTRAINTS '
                                                          '| OTHER | NONE',
                                                'Status': 'SELECTED | '
                                                          'NOT_APPLICABLE | '
                                                          'UNSELECTED'}],
                     'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                               'ARCHITECTURE_CONSTRAINTS | OTHER | NONE'}}

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 AWS Region.

type LensAlias:

string

param LensAlias:

[REQUIRED]

The alias of the lens, for example, serverless.

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',
    'AnswerSummaries': [
        {
            'QuestionId': 'string',
            'PillarId': 'string',
            'QuestionTitle': 'string',
            'Choices': [
                {
                    'ChoiceId': 'string',
                    'Title': 'string',
                    'Description': '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 AWS Region.

    • MilestoneNumber (integer) --

      The milestone number.

      A workload can have a maximum of 100 milestones.

    • LensAlias (string) --

      The alias of the lens, for example, serverless.

      Each lens is identified by its LensSummary$LensAlias.

    • 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.

        • 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 (request, response)
Request
{'ChoiceUpdates': {'string': {'Notes': 'string',
                              'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                                        'ARCHITECTURE_CONSTRAINTS | OTHER | '
                                        'NONE',
                              'Status': 'SELECTED | NOT_APPLICABLE | '
                                        'UNSELECTED'}},
 'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | ARCHITECTURE_CONSTRAINTS | '
           'OTHER | NONE'}
Response
{'Answer': {'ChoiceAnswers': [{'ChoiceId': 'string',
                               'Notes': 'string',
                               'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                                         'ARCHITECTURE_CONSTRAINTS | OTHER | '
                                         'NONE',
                               'Status': 'SELECTED | NOT_APPLICABLE | '
                                         'UNSELECTED'}],
            'Reason': 'OUT_OF_SCOPE | BUSINESS_PRIORITIES | '
                      'ARCHITECTURE_CONSTRAINTS | OTHER | NONE'}}

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 AWS Region.

type LensAlias:

string

param LensAlias:

[REQUIRED]

The alias of the lens, for example, serverless.

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',
    'Answer': {
        'QuestionId': 'string',
        'PillarId': 'string',
        'QuestionTitle': 'string',
        'QuestionDescription': 'string',
        'ImprovementPlanUrl': 'string',
        'HelpfulResourceUrl': 'string',
        'Choices': [
            {
                'ChoiceId': 'string',
                'Title': 'string',
                'Description': '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 AWS Region.

    • LensAlias (string) --

      The alias of the lens, for example, serverless.

      Each lens is identified by its LensSummary$LensAlias.

    • 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.

      • 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.

      • 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.