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.