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.