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.
{'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 )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an AWS Region.
string
[REQUIRED]
The alias of the lens, for example, serverless.
Each lens is identified by its LensSummary$LensAlias.
string
[REQUIRED]
The ID of the question.
integer
The milestone number.
A workload can have a maximum of 100 milestones.
dict
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.
{'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 )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an AWS Region.
string
[REQUIRED]
The alias of the lens, for example, serverless.
Each lens is identified by its LensSummary$LensAlias.
string
The ID used to identify a pillar, for example, security.
A pillar is identified by its PillarReviewSummary$PillarId.
integer
The milestone number.
A workload can have a maximum of 100 milestones.
string
The token to use to retrieve the next set of results.
integer
The maximum number of results to return for this request.
dict
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.
{'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' )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an AWS Region.
string
[REQUIRED]
The alias of the lens, for example, serverless.
Each lens is identified by its LensSummary$LensAlias.
string
[REQUIRED]
The ID of the question.
list
List of selected choice IDs in a question answer.
The values entered replace the previously selected choices.
(string) --
The ID of a choice.
dict
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.
string
The notes associated with the workload.
boolean
Defines whether this question is applicable to a lens review.
string
The reason why a question is not applicable to your workload.
dict
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.