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.
{'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 )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.
string
[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.
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', '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.
{'Lens': {'Tags': {'string': 'string'}}}
Get an existing lens.
See also: AWS API Documentation
Request Syntax
client.get_lens( LensAlias='string', LensVersion='string' )
string
[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.
string
The lens version to be retrieved.
dict
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) --
{'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 )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.
string
[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.
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', '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.
{'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' )
string
[REQUIRED]
The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.
string
[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.
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', '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.