SDK for PHP V3

Client: Aws\WellArchitected\WellArchitectedClient
Service ID: wellarchitected
Version: 2020-03-31

This page describes the parameters and results for the operations of the AWS Well-Architected Tool (2020-03-31), and shows how to use the Aws\WellArchitected\WellArchitectedClient object to call the described operations. This documentation is specific to the 2020-03-31 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AssociateLenses ( array $params = [] )
Associate a lens to a workload.
AssociateProfiles ( array $params = [] )
Associate a profile with a workload.
CreateAgentContext ( array $params = [] )
Creates a context associated with an optimization profile.
CreateAgentGoal ( array $params = [] )
Creates an optimization goal associated with a profile.
CreateAgentProfile ( array $params = [] )
Creates an optimization profile that defines the scope and configuration for generating recommendations.
CreateLensShare ( array $params = [] )
Create a lens share.
CreateLensVersion ( array $params = [] )
Create a new lens version.
CreateMilestone ( array $params = [] )
Create a milestone for an existing workload.
CreateProfile ( array $params = [] )
Create a profile.
CreateProfileShare ( array $params = [] )
Create a profile share.
CreateReviewTemplate ( array $params = [] )
Create a review template.
CreateTemplateShare ( array $params = [] )
Create a review template share.
CreateWorkload ( array $params = [] )
Create a new workload.
CreateWorkloadShare ( array $params = [] )
Create a workload share.
DeleteAgentContext ( array $params = [] )
Deletes a context associated with a profile.
DeleteAgentGoal ( array $params = [] )
Deletes an optimization goal from a profile.
DeleteAgentProfile ( array $params = [] )
Deletes an optimization profile and its associated configuration.
DeleteLens ( array $params = [] )
Delete an existing lens.
DeleteLensShare ( array $params = [] )
Delete a lens share.
DeleteProfile ( array $params = [] )
Delete a profile.
DeleteProfileShare ( array $params = [] )
Delete a profile share.
DeleteReviewTemplate ( array $params = [] )
Delete a review template.
DeleteTemplateShare ( array $params = [] )
Delete a review template share.
DeleteWorkload ( array $params = [] )
Delete an existing workload.
DeleteWorkloadShare ( array $params = [] )
Delete a workload share.
DisassociateLenses ( array $params = [] )
Disassociate a lens from a workload.
DisassociateProfiles ( array $params = [] )
Disassociate a profile from a workload.
ExportLens ( array $params = [] )
Export an existing lens.
GetAgentContext ( array $params = [] )
Retrieves detailed information about a specific context associated with a profile.
GetAgentGoal ( array $params = [] )
Retrieves detailed information about a specific optimization goal.
GetAgentProfile ( array $params = [] )
Retrieves detailed information about an optimization profile, including its configuration and metadata.
GetAgentRecommendation ( array $params = [] )
Retrieves detailed information about a specific optimization recommendation, including its impact analysis, content, and implementation guidance.
GetAgentRecommendationGeneration ( array $params = [] )
Retrieves information about a recommendation generation process, including its status, progress, and results.
GetAnswer ( array $params = [] )
Get the answer to a specific question in a workload review.
GetConsolidatedReport ( array $params = [] )
Get a consolidated report of your workloads.
GetGlobalSettings ( array $params = [] )
Global settings for all workloads.
GetLens ( array $params = [] )
Get an existing lens.
GetLensReview ( array $params = [] )
Get lens review.
GetLensReviewReport ( array $params = [] )
Get lens review report.
GetLensVersionDifference ( array $params = [] )
Get lens version differences.
GetMilestone ( array $params = [] )
Get a milestone for an existing workload.
GetProfile ( array $params = [] )
Get profile information.
GetProfileTemplate ( array $params = [] )
Get profile template.
GetReviewTemplate ( array $params = [] )
Get review template.
GetReviewTemplateAnswer ( array $params = [] )
Get review template answer.
GetReviewTemplateLensReview ( array $params = [] )
Get a lens review associated with a review template.
GetWorkload ( array $params = [] )
Get an existing workload.
ImportLens ( array $params = [] )
Import a new custom lens or update an existing custom lens.
ListAgentContexts ( array $params = [] )
Lists contexts associated with a profile.
ListAgentGoals ( array $params = [] )
Lists optimization goals associated with a specified profile.
ListAgentProfiles ( array $params = [] )
Lists optimization profiles in your account.
ListAgentRecommendationGenerations ( array $params = [] )
Lists recommendation generation processes for a specified profile.
ListAgentRecommendationItems ( array $params = [] )
Lists recommendation items for a specific recommendation.
ListAgentRecommendations ( array $params = [] )
Lists active optimization recommendations for a specified profile with optional filtering by state.
ListAnswers ( array $params = [] )
List of answers for a particular workload and lens.
ListCheckDetails ( array $params = [] )
List of Trusted Advisor check details by account related to the workload.
ListCheckSummaries ( array $params = [] )
List of Trusted Advisor checks summarized for all accounts related to the workload.
ListLensReviewImprovements ( array $params = [] )
List the improvements of a particular lens review.
ListLensReviews ( array $params = [] )
List lens reviews for a particular workload.
ListLensShares ( array $params = [] )
List the lens shares associated with the lens.
ListLenses ( array $params = [] )
List the available lenses.
ListMilestones ( array $params = [] )
List all milestones for an existing workload.
ListNotifications ( array $params = [] )
List lens notifications.
ListProfileNotifications ( array $params = [] )
List profile notifications.
ListProfileShares ( array $params = [] )
List profile shares.
ListProfiles ( array $params = [] )
List profiles.
ListReviewTemplateAnswers ( array $params = [] )
List the answers of a review template.
ListReviewTemplates ( array $params = [] )
List review templates.
ListShareInvitations ( array $params = [] )
List the share invitations.
ListTagsForResource ( array $params = [] )
List the tags for a resource.
ListTemplateShares ( array $params = [] )
List review template shares.
ListWorkloadShares ( array $params = [] )
List the workload shares associated with the workload.
ListWorkloads ( array $params = [] )
Paginated list of workloads.
PutAgentRecommendationFeedback ( array $params = [] )
Submits user feedback on a recommendation to help improve future optimization suggestions and track implementation outcomes.
StartAgentRecommendationGeneration ( array $params = [] )
Initiates a new recommendation generation process for the specified optimization profile.
TagResource ( array $params = [] )
Adds one or more tags to the specified resource.
UntagResource ( array $params = [] )
Deletes specified tags from a resource.
UpdateAgentContext ( array $params = [] )
Updates an existing context associated with a profile.
UpdateAgentGoal ( array $params = [] )
Updates the pillars and title of an existing goal associated with a profile.
UpdateAgentProfile ( array $params = [] )
Updates an existing optimization profile's configuration, including its pillars, execution role, and aggregation settings.
UpdateAgentRecommendationStatus ( array $params = [] )
Updates the status of a recommendation to track its progress through the implementation lifecycle.
UpdateAnswer ( array $params = [] )
Update the answer to a specific question in a workload review.
UpdateGlobalSettings ( array $params = [] )
Update whether the Amazon Web Services account is opted into organization sharing and discovery integration features.
UpdateIntegration ( array $params = [] )
Update integration features.
UpdateLensReview ( array $params = [] )
Update lens review for a particular workload.
UpdateProfile ( array $params = [] )
Update a profile.
UpdateReviewTemplate ( array $params = [] )
Update a review template.
UpdateReviewTemplateAnswer ( array $params = [] )
Update a review template answer.
UpdateReviewTemplateLensReview ( array $params = [] )
Update a lens review associated with a review template.
UpdateShareInvitation ( array $params = [] )
Update a workload or custom lens share invitation.
UpdateWorkload ( array $params = [] )
Update an existing workload.
UpdateWorkloadShare ( array $params = [] )
Update a workload share.
UpgradeLensReview ( array $params = [] )
Upgrade lens review for a particular workload.
UpgradeProfileVersion ( array $params = [] )
Upgrade a profile.
UpgradeReviewTemplateLensReview ( array $params = [] )
Upgrade the lens review of a review template.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

GetConsolidatedReport
ListAgentContexts
ListAgentGoals
ListAgentProfiles
ListAgentRecommendationGenerations
ListAgentRecommendationItems
ListAgentRecommendations
ListAnswers
ListCheckDetails
ListCheckSummaries
ListLensReviewImprovements
ListLensReviews
ListLensShares
ListLenses
ListMilestones
ListNotifications
ListProfileNotifications
ListProfileShares
ListProfiles
ListReviewTemplateAnswers
ListReviewTemplates
ListShareInvitations
ListTemplateShares
ListWorkloadShares
ListWorkloads

Operations

AssociateLenses

$result = $client->associateLenses([/* ... */]);
$promise = $client->associateLensesAsync([/* ... */]);

Associate a lens to a workload.

Up to 10 lenses can be associated with a workload in a single API operation. A maximum of 20 lenses can be associated with a workload.

Disclaimer

By accessing and/or applying custom lenses created by another Amazon Web Services user or account, you acknowledge that custom lenses created by other users and shared with you are Third Party Content as defined in the Amazon Web Services Customer Agreement.

Parameter Syntax

$result = $client->associateLenses([
    'LensAliases' => ['<string>', ...], // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAliases
Required: Yes
Type: Array of strings

List of lens aliases to associate or disassociate with a workload. Up to 10 lenses can be specified.

Identify a lens using its LensSummary$LensAlias.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

AssociateProfiles

$result = $client->associateProfiles([/* ... */]);
$promise = $client->associateProfilesAsync([/* ... */]);

Associate a profile with a workload.

Parameter Syntax

$result = $client->associateProfiles([
    'ProfileArns' => ['<string>', ...], // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ProfileArns
Required: Yes
Type: Array of strings

The list of profile ARNs to associate with the workload.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateAgentContext

$result = $client->createAgentContext([/* ... */]);
$promise = $client->createAgentContextAsync([/* ... */]);

Creates a context associated with an optimization profile. Contexts provide application and environment information used during recommendation generation.

Parameter Syntax

$result = $client->createAgentContext([
    'clientToken' => '<string>',
    'content' => [ // REQUIRED
        'accountIds' => ['<string>', ...],
        'additionalContext' => '<string>',
        'applicationOverview' => '<string>',
        'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
        'architectureOverview' => '<string>',
        'awsServices' => ['<string>', ...],
        'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
        'industry' => '<string>',
        'regions' => ['<string>', ...],
        'resourceTags' => [
            [
                'key' => '<string>', // REQUIRED
                'value' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'resourceTypes' => ['<string>', ...],
    ],
    'contextType' => 'APPLICATION', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
    'title' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

content
Required: Yes
Type: ContextContent structure

The typed content of the context. The structure contains application-specific fields such as account IDs, Regions, services, and resource types.

contextType
Required: Yes
Type: string

The type of the context.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile to associate the context with.

title
Required: Yes
Type: string

The title of the context.

Result Syntax

[
    'context' => [
        'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
        'content' => [
            'accountIds' => ['<string>', ...],
            'additionalContext' => '<string>',
            'applicationOverview' => '<string>',
            'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
            'architectureOverview' => '<string>',
            'awsServices' => ['<string>', ...],
            'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
            'industry' => '<string>',
            'regions' => ['<string>', ...],
            'resourceTags' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'resourceTypes' => ['<string>', ...],
        ],
        'contextType' => 'APPLICATION',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
context
Required: Yes
Type: ContextSummary structure

The created context summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateAgentGoal

$result = $client->createAgentGoal([/* ... */]);
$promise = $client->createAgentGoalAsync([/* ... */]);

Creates an optimization goal associated with a profile. Goals define specific targets and objectives for the optimization process.

Parameter Syntax

$result = $client->createAgentGoal([
    'clientToken' => '<string>',
    'description' => '<string>',
    'pillars' => ['<string>', ...], // REQUIRED
    'profileArn' => '<string>', // REQUIRED
    'title' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

description
Type: string

A description of the goal.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars to associate with this goal.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile to associate the goal with.

title
Required: Yes
Type: string

The title of the goal.

Result Syntax

[
    'goal' => [
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'pillars' => ['<string>', ...],
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
goal
Required: Yes
Type: GoalSummary structure

The created goal summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateAgentProfile

$result = $client->createAgentProfile([/* ... */]);
$promise = $client->createAgentProfileAsync([/* ... */]);

Creates an optimization profile that defines the scope and configuration for generating recommendations. A profile specifies the execution role, target pillars, and aggregation settings for analyzing your Amazon Web Services resources.

Parameter Syntax

$result = $client->createAgentProfile([
    'aggregationConfiguration' => [ // REQUIRED
        [
            'accessRoleArn' => '<string>', // REQUIRED
            'accountId' => '<string>', // REQUIRED
            'regions' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'businessOverview' => '<string>',
    'clientToken' => '<string>',
    'deletionProtection' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'executionRoleArn' => '<string>', // REQUIRED
    'name' => '<string>', // REQUIRED
    'pillars' => ['<string>', ...], // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
aggregationConfiguration
Required: Yes
Type: Array of AggregationConfiguration structures

The aggregation configuration that defines which Amazon Web Services accounts and Regions to analyze.

businessOverview
Type: string

The business overview for this profile.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled for the profile.

description
Type: string

A description of the profile.

displayName
Type: string

The display name of the profile shown to users.

executionRoleArn
Required: Yes
Type: string

The ARN of the IAM execution role used for recommendation actions.

name
Required: Yes
Type: string

The system name of the profile.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars to associate with this profile.

tags
Type: Array of Tag structures

The tags to associate with the profile.

Result Syntax

[
    'aggregationConfiguration' => [
        [
            'accessRoleArn' => '<string>',
            'accountId' => '<string>',
            'regions' => ['<string>', ...],
        ],
        // ...
    ],
    'arn' => '<string>',
    'businessOverview' => '<string>',
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'deletionProtection' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'eligibleForArchitectureGeneration' => true || false,
    'eligibleForScheduledGeneration' => true || false,
    'executionRoleArn' => '<string>',
    'fieldErrors' => ['<string>', ...],
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'name' => '<string>',
    'pillars' => ['<string>', ...],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
aggregationConfiguration
Required: Yes
Type: Array of AggregationConfiguration structures

The aggregation configuration.

arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the created profile.

businessOverview
Type: string

The business overview of the created profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this profile.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled.

description
Type: string

A description of the created profile.

displayName
Type: string

The display name of the created profile.

eligibleForArchitectureGeneration
Type: boolean

Indicates whether the profile is valid for manual architecture generation.

eligibleForScheduledGeneration
Type: boolean

Indicates whether the profile is valid for scheduled recommendation generation.

executionRoleArn
Required: Yes
Type: string

The ARN of the IAM execution role.

fieldErrors
Type: Associative array of custom strings keys (FieldErrorPath) to strings

A map of field paths to error messages for invalid or missing input fields.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this profile.

name
Required: Yes
Type: string

The system name of the created profile.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars associated with the created profile.

tags
Type: Array of Tag structures

The tags associated with the created profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ThrottlingException:

Request was denied due to request throttling.

CreateLensShare

$result = $client->createLensShare([/* ... */]);
$promise = $client->createLensShareAsync([/* ... */]);

Create a lens share.

The owner of a lens can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be shared.

Shared access to a lens is not removed until the lens invitation is deleted.

If you share a lens with an organization or OU, all accounts in the organization or OU are granted access to the lens.

For more information, see Sharing a custom lens in the Well-Architected Tool User Guide.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

Parameter Syntax

$result = $client->createLensShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'LensAlias' => '<string>', // REQUIRED
    'SharedWith' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

SharedWith
Required: Yes
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Result Syntax

[
    'ShareId' => '<string>',
]

Result Details

Members
ShareId
Type: string

The ID associated with the share.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateLensVersion

$result = $client->createLensVersion([/* ... */]);
$promise = $client->createLensVersionAsync([/* ... */]);

Create a new lens version.

A lens can have up to 100 versions.

Use this operation to publish a new lens version after you have imported a lens. The LensAlias is used to identify the lens to be published. The owner of a lens can share the lens with other Amazon Web Services accounts and users in the same Amazon Web Services Region. Only the owner of a lens can delete it.

Parameter Syntax

$result = $client->createLensVersion([
    'ClientRequestToken' => '<string>', // REQUIRED
    'IsMajorVersion' => true || false,
    'LensAlias' => '<string>', // REQUIRED
    'LensVersion' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

IsMajorVersion
Type: boolean

Set to true if this new major lens version.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensVersion
Required: Yes
Type: string

The version of the lens being created.

Result Syntax

[
    'LensArn' => '<string>',
    'LensVersion' => '<string>',
]

Result Details

Members
LensArn
Type: string

The ARN for the lens.

LensVersion
Type: string

The version of the lens.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateMilestone

$result = $client->createMilestone([/* ... */]);
$promise = $client->createMilestoneAsync([/* ... */]);

Create a milestone for an existing workload.

Parameter Syntax

$result = $client->createMilestone([
    'ClientRequestToken' => '<string>', // REQUIRED
    'MilestoneName' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

MilestoneName
Required: Yes
Type: string

The name of the milestone in a workload.

Milestone names must be unique within a workload.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>',
]

Result Details

Members
MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateProfile

$result = $client->createProfile([/* ... */]);
$promise = $client->createProfileAsync([/* ... */]);

Create a profile.

Parameter Syntax

$result = $client->createProfile([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ProfileDescription' => '<string>', // REQUIRED
    'ProfileName' => '<string>', // REQUIRED
    'ProfileQuestions' => [ // REQUIRED
        [
            'QuestionId' => '<string>',
            'SelectedChoiceIds' => ['<string>', ...],
        ],
        // ...
    ],
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ProfileDescription
Required: Yes
Type: string

The profile description.

ProfileName
Required: Yes
Type: string

Name of the profile.

ProfileQuestions
Required: Yes
Type: Array of ProfileQuestionUpdate structures

The profile questions.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the profile.

Result Syntax

[
    'ProfileArn' => '<string>',
    'ProfileVersion' => '<string>',
]

Result Details

Members
ProfileArn
Type: string

The profile ARN.

ProfileVersion
Type: string

Version of the profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ThrottlingException:

Request was denied due to request throttling.

CreateProfileShare

$result = $client->createProfileShare([/* ... */]);
$promise = $client->createProfileShareAsync([/* ... */]);

Create a profile share.

Parameter Syntax

$result = $client->createProfileShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ProfileArn' => '<string>', // REQUIRED
    'SharedWith' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ProfileArn
Required: Yes
Type: string

The profile ARN.

SharedWith
Required: Yes
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Result Syntax

[
    'ProfileArn' => '<string>',
    'ShareId' => '<string>',
]

Result Details

Members
ProfileArn
Type: string

The profile ARN.

ShareId
Type: string

The ID associated with the share.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateReviewTemplate

$result = $client->createReviewTemplate([/* ... */]);
$promise = $client->createReviewTemplateAsync([/* ... */]);

Create a review template.

Disclaimer

Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your review templates. If your review template or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.

Parameter Syntax

$result = $client->createReviewTemplate([
    'ClientRequestToken' => '<string>', // REQUIRED
    'Description' => '<string>', // REQUIRED
    'Lenses' => ['<string>', ...], // REQUIRED
    'Notes' => '<string>',
    'Tags' => ['<string>', ...],
    'TemplateName' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

Description
Required: Yes
Type: string

The review template description.

Lenses
Required: Yes
Type: Array of strings

Lenses applied to the review template.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the review template.

TemplateName
Required: Yes
Type: string

Name of the review template.

Result Syntax

[
    'TemplateArn' => '<string>',
]

Result Details

Members
TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateTemplateShare

$result = $client->createTemplateShare([/* ... */]);
$promise = $client->createTemplateShareAsync([/* ... */]);

Create a review template share.

The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region.

Shared access to a review template is not removed until the review template share invitation is deleted.

If you share a review template with an organization or OU, all accounts in the organization or OU are granted access to the review template.

Disclaimer

By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your review template available to those other accounts.

Parameter Syntax

$result = $client->createTemplateShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'SharedWith' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

SharedWith
Required: Yes
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'ShareId' => '<string>',
    'TemplateArn' => '<string>',
]

Result Details

Members
ShareId
Type: string

The ID associated with the share.

TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateWorkload

$result = $client->createWorkload([/* ... */]);
$promise = $client->createWorkloadAsync([/* ... */]);

Create a new workload.

The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.

For more information, see Defining a Workload in the Well-Architected Tool User Guide.

Either AwsRegions, NonAwsRegions, or both must be specified when creating a workload.

You also must specify ReviewOwner, even though the parameter is listed as not being required in the following section.

When creating a workload using a review template, you must have the following IAM permissions:

  • wellarchitected:GetReviewTemplate

  • wellarchitected:GetReviewTemplateAnswer

  • wellarchitected:ListReviewTemplateAnswers

  • wellarchitected:GetReviewTemplateLensReview

Parameter Syntax

$result = $client->createWorkload([
    'AccountIds' => ['<string>', ...],
    'Applications' => ['<string>', ...],
    'ArchitecturalDesign' => '<string>',
    'AwsRegions' => ['<string>', ...],
    'ClientRequestToken' => '<string>', // REQUIRED
    'Description' => '<string>', // REQUIRED
    'DiscoveryConfig' => [
        'TrustedAdvisorIntegrationStatus' => 'ENABLED|DISABLED',
        'WorkloadResourceDefinition' => ['<string>', ...],
    ],
    'Environment' => 'PRODUCTION|PREPRODUCTION', // REQUIRED
    'Industry' => '<string>',
    'IndustryType' => '<string>',
    'JiraConfiguration' => [
        'IssueManagementStatus' => 'ENABLED|DISABLED|INHERIT',
        'IssueManagementType' => 'AUTO|MANUAL',
        'JiraProjectKey' => '<string>',
    ],
    'Lenses' => ['<string>', ...], // REQUIRED
    'NonAwsRegions' => ['<string>', ...],
    'Notes' => '<string>',
    'PillarPriorities' => ['<string>', ...],
    'ProfileArns' => ['<string>', ...],
    'ReviewOwner' => '<string>',
    'ReviewTemplateArns' => ['<string>', ...],
    'Tags' => ['<string>', ...],
    'WorkloadName' => '<string>', // REQUIRED
]);

Parameter Details

Members
AccountIds
Type: Array of strings

The list of Amazon Web Services account IDs associated with the workload.

Applications
Type: Array of strings

List of AppRegistry application ARNs associated to the workload.

ArchitecturalDesign
Type: string

The URL of the architectural design for the workload.

AwsRegions
Type: Array of strings

The list of Amazon Web Services Regions associated with the workload, for example, us-east-2, or ca-central-1.

ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

Description
Required: Yes
Type: string

The description for the workload.

DiscoveryConfig
Type: WorkloadDiscoveryConfig structure

Well-Architected discovery configuration settings associated to the workload.

Environment
Required: Yes
Type: string

The environment for the workload.

Industry
Type: string

The industry for the workload.

IndustryType
Type: string

The industry type for the workload.

If specified, must be one of the following:

  • Agriculture

  • Automobile

  • Defense

  • Design and Engineering

  • Digital Advertising

  • Education

  • Environmental Protection

  • Financial Services

  • Gaming

  • General Public Services

  • Healthcare

  • Hospitality

  • InfoTech

  • Justice and Public Safety

  • Life Sciences

  • Manufacturing

  • Media & Entertainment

  • Mining & Resources

  • Oil & Gas

  • Power & Utilities

  • Professional Services

  • Real Estate & Construction

  • Retail & Wholesale

  • Social Protection

  • Telecommunications

  • Travel, Transportation & Logistics

  • Other

JiraConfiguration

Jira configuration settings when creating a workload.

Lenses
Required: Yes
Type: Array of strings

The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.

If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.

NonAwsRegions
Type: Array of strings

The list of non-Amazon Web Services Regions associated with the workload.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarPriorities
Type: Array of strings

The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its PillarReviewSummary$PillarId.

ProfileArns
Type: Array of strings

The list of profile ARNs associated with the workload.

ReviewOwner
Type: string

The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.

ReviewTemplateArns
Type: Array of strings

The list of review template ARNs to associate with the workload.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags to be associated with the workload.

WorkloadName
Required: Yes
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

Result Syntax

[
    'WorkloadArn' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
WorkloadArn
Type: string

The ARN for the workload.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

CreateWorkloadShare

$result = $client->createWorkloadShare([/* ... */]);
$promise = $client->createWorkloadShareAsync([/* ... */]);

Create a workload share.

The owner of a workload can share it with other Amazon Web Services accounts and users in the same Amazon Web Services Region. Shared access to a workload is not removed until the workload invitation is deleted.

If you share a workload with an organization or OU, all accounts in the organization or OU are granted access to the workload.

For more information, see Sharing a workload in the Well-Architected Tool User Guide.

Parameter Syntax

$result = $client->createWorkloadShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'PermissionType' => 'READONLY|CONTRIBUTOR', // REQUIRED
    'SharedWith' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

PermissionType
Required: Yes
Type: string

Permission granted on a share request.

SharedWith
Required: Yes
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'ShareId' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
ShareId
Type: string

The ID associated with the share.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteAgentContext

$result = $client->deleteAgentContext([/* ... */]);
$promise = $client->deleteAgentContextAsync([/* ... */]);

Deletes a context associated with a profile.

Parameter Syntax

$result = $client->deleteAgentContext([
    'id' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of the context to delete.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the context.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteAgentGoal

$result = $client->deleteAgentGoal([/* ... */]);
$promise = $client->deleteAgentGoalAsync([/* ... */]);

Deletes an optimization goal from a profile.

Parameter Syntax

$result = $client->deleteAgentGoal([
    'id' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of the goal to delete.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the goal.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteAgentProfile

$result = $client->deleteAgentProfile([/* ... */]);
$promise = $client->deleteAgentProfileAsync([/* ... */]);

Deletes an optimization profile and its associated configuration. This action cannot be undone.

Parameter Syntax

$result = $client->deleteAgentProfile([
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteLens

$result = $client->deleteLens([/* ... */]);
$promise = $client->deleteLensAsync([/* ... */]);

Delete an existing lens.

Only the owner of a lens can delete it. After the lens is deleted, Amazon Web Services accounts and users that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

Parameter Syntax

$result = $client->deleteLens([
    'ClientRequestToken' => '<string>', // REQUIRED
    'LensAlias' => '<string>', // REQUIRED
    'LensStatus' => 'ALL|DRAFT|PUBLISHED', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensStatus
Required: Yes
Type: string

The status of the lens to be deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteLensShare

$result = $client->deleteLensShare([/* ... */]);
$promise = $client->deleteLensShareAsync([/* ... */]);

Delete a lens share.

After the lens share is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads.

Disclaimer

By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your custom lenses available to those other accounts. Those other accounts may continue to access and use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or terminate your Amazon Web Services account.

Parameter Syntax

$result = $client->deleteLensShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'LensAlias' => '<string>', // REQUIRED
    'ShareId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

ShareId
Required: Yes
Type: string

The ID associated with the share.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteProfile

$result = $client->deleteProfile([/* ... */]);
$promise = $client->deleteProfileAsync([/* ... */]);

Delete a profile.

Disclaimer

By sharing your profile with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your profile available to those other accounts. Those other accounts may continue to access and use your shared profile even if you delete the profile from your own Amazon Web Services account or terminate your Amazon Web Services account.

Parameter Syntax

$result = $client->deleteProfile([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ProfileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ProfileArn
Required: Yes
Type: string

The profile ARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteProfileShare

$result = $client->deleteProfileShare([/* ... */]);
$promise = $client->deleteProfileShareAsync([/* ... */]);

Delete a profile share.

Parameter Syntax

$result = $client->deleteProfileShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ProfileArn' => '<string>', // REQUIRED
    'ShareId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ProfileArn
Required: Yes
Type: string

The profile ARN.

ShareId
Required: Yes
Type: string

The ID associated with the share.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteReviewTemplate

$result = $client->deleteReviewTemplate([/* ... */]);
$promise = $client->deleteReviewTemplateAsync([/* ... */]);

Delete a review template.

Only the owner of a review template can delete it.

After the review template is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.

Parameter Syntax

$result = $client->deleteReviewTemplate([
    'ClientRequestToken' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteTemplateShare

$result = $client->deleteTemplateShare([/* ... */]);
$promise = $client->deleteTemplateShareAsync([/* ... */]);

Delete a review template share.

After the review template share is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.

Parameter Syntax

$result = $client->deleteTemplateShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ShareId' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ShareId
Required: Yes
Type: string

The ID associated with the share.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteWorkload

$result = $client->deleteWorkload([/* ... */]);
$promise = $client->deleteWorkloadAsync([/* ... */]);

Delete an existing workload.

Parameter Syntax

$result = $client->deleteWorkload([
    'ClientRequestToken' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DeleteWorkloadShare

$result = $client->deleteWorkloadShare([/* ... */]);
$promise = $client->deleteWorkloadShareAsync([/* ... */]);

Delete a workload share.

Parameter Syntax

$result = $client->deleteWorkloadShare([
    'ClientRequestToken' => '<string>', // REQUIRED
    'ShareId' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

ShareId
Required: Yes
Type: string

The ID associated with the share.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DisassociateLenses

$result = $client->disassociateLenses([/* ... */]);
$promise = $client->disassociateLensesAsync([/* ... */]);

Disassociate a lens from a workload.

Up to 10 lenses can be disassociated from a workload in a single API operation.

The Amazon Web Services Well-Architected Framework lens (wellarchitected) cannot be removed from a workload.

Parameter Syntax

$result = $client->disassociateLenses([
    'LensAliases' => ['<string>', ...], // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAliases
Required: Yes
Type: Array of strings

List of lens aliases to associate or disassociate with a workload. Up to 10 lenses can be specified.

Identify a lens using its LensSummary$LensAlias.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

DisassociateProfiles

$result = $client->disassociateProfiles([/* ... */]);
$promise = $client->disassociateProfilesAsync([/* ... */]);

Disassociate a profile from a workload.

Parameter Syntax

$result = $client->disassociateProfiles([
    'ProfileArns' => ['<string>', ...], // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ProfileArns
Required: Yes
Type: Array of strings

The list of profile ARNs to disassociate from the workload.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ExportLens

$result = $client->exportLens([/* ... */]);
$promise = $client->exportLensAsync([/* ... */]);

Export an existing lens.

Only the owner of a lens can export it. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be exported.

Lenses are defined in JSON. For more information, see JSON format specification in the Well-Architected Tool User Guide.

Disclaimer

Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.

Parameter Syntax

$result = $client->exportLens([
    'LensAlias' => '<string>', // REQUIRED
    'LensVersion' => '<string>',
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensVersion
Type: string

The lens version to be exported.

Result Syntax

[
    'LensJSON' => '<string>',
]

Result Details

Members
LensJSON
Type: string

The JSON representation of a lens.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAgentContext

$result = $client->getAgentContext([/* ... */]);
$promise = $client->getAgentContextAsync([/* ... */]);

Retrieves detailed information about a specific context associated with a profile.

Parameter Syntax

$result = $client->getAgentContext([
    'id' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of the context to retrieve.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the context.

Result Syntax

[
    'context' => [
        'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
        'content' => [
            'accountIds' => ['<string>', ...],
            'additionalContext' => '<string>',
            'applicationOverview' => '<string>',
            'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
            'architectureOverview' => '<string>',
            'awsServices' => ['<string>', ...],
            'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
            'industry' => '<string>',
            'regions' => ['<string>', ...],
            'resourceTags' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'resourceTypes' => ['<string>', ...],
        ],
        'contextType' => 'APPLICATION',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
context
Required: Yes
Type: ContextSummary structure

The retrieved context summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAgentGoal

$result = $client->getAgentGoal([/* ... */]);
$promise = $client->getAgentGoalAsync([/* ... */]);

Retrieves detailed information about a specific optimization goal.

Parameter Syntax

$result = $client->getAgentGoal([
    'id' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
id
Required: Yes
Type: string

The unique identifier of the goal to retrieve.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the goal.

Result Syntax

[
    'goal' => [
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'pillars' => ['<string>', ...],
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
goal
Required: Yes
Type: GoalSummary structure

The retrieved goal summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAgentProfile

$result = $client->getAgentProfile([/* ... */]);
$promise = $client->getAgentProfileAsync([/* ... */]);

Retrieves detailed information about an optimization profile, including its configuration and metadata.

Parameter Syntax

$result = $client->getAgentProfile([
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile to retrieve.

Result Syntax

[
    'aggregationConfiguration' => [
        [
            'accessRoleArn' => '<string>',
            'accountId' => '<string>',
            'regions' => ['<string>', ...],
        ],
        // ...
    ],
    'arn' => '<string>',
    'businessOverview' => '<string>',
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'deletionProtection' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'eligibleForArchitectureGeneration' => true || false,
    'eligibleForScheduledGeneration' => true || false,
    'executionRoleArn' => '<string>',
    'fieldErrors' => ['<string>', ...],
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'name' => '<string>',
    'pillars' => ['<string>', ...],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
aggregationConfiguration
Required: Yes
Type: Array of AggregationConfiguration structures

The aggregation configuration.

arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile.

businessOverview
Type: string

The business overview of the profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this profile.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled.

description
Type: string

A description of the profile.

displayName
Type: string

The display name of the profile.

eligibleForArchitectureGeneration
Type: boolean

Indicates whether the profile is valid for manual architecture generation.

eligibleForScheduledGeneration
Type: boolean

Indicates whether the profile is valid for scheduled recommendation generation.

executionRoleArn
Required: Yes
Type: string

The ARN of the IAM execution role.

fieldErrors
Type: Associative array of custom strings keys (FieldErrorPath) to strings

A map of field paths to error messages for invalid or missing input fields.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this profile.

name
Required: Yes
Type: string

The system name of the profile.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars associated with the profile.

tags
Type: Array of Tag structures

The tags associated with the profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAgentRecommendation

$result = $client->getAgentRecommendation([/* ... */]);
$promise = $client->getAgentRecommendationAsync([/* ... */]);

Retrieves detailed information about a specific optimization recommendation, including its impact analysis, content, and implementation guidance.

Parameter Syntax

$result = $client->getAgentRecommendation([
    'recommendationArn' => '<string>', // REQUIRED
    'remediationType' => 'AUTO_REMEDIATION|CONSOLE|CLI|SDK|IAC|MCP',
]);

Parameter Details

Members
recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation to retrieve.

remediationType
Type: string

Optional filter on remediation type.

Result Syntax

[
    'applications' => ['<string>', ...],
    'awsServices' => ['<string>', ...],
    'businessUnits' => ['<string>', ...],
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'crossPillarBenefits' => [
        [
            'description' => '<string>',
            'impact' => 'HIGH|MEDIUM|LOW',
            'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
            'title' => '<string>',
        ],
        // ...
    ],
    'description' => '<string>',
    'effort' => 'LARGE|MEDIUM|SMALL',
    'goals' => [
        [
            'title' => '<string>',
        ],
        // ...
    ],
    'highlights' => ['<string>', ...],
    'impact' => 'HIGH|MEDIUM|LOW',
    'impactDetails' => ['<string>', ...],
    'insights' => [
        [
            'signalsDetected' => '<string>',
            'usagePattern' => '<string>',
        ],
        // ...
    ],
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'numberOfResources' => <integer>,
    'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
    'priority' => 'HIGH|MEDIUM|LOW',
    'profileArn' => '<string>',
    'recommendationArn' => '<string>',
    'remediationSummary' => [
        'recommendation' => '<string>',
        'steps' => ['<string>', ...],
    ],
    'remediations' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'recommendationArn' => '<string>',
            'resourceLinks' => [
                [
                    'title' => '<string>',
                    'url' => '<string>',
                ],
                // ...
            ],
            'steps' => [
                [
                    'content' => '<string>',
                    'title' => '<string>',
                ],
                // ...
            ],
            'type' => 'AUTO_REMEDIATION|CONSOLE|CLI|SDK|IAC|MCP',
        ],
        // ...
    ],
    'roi' => [
        'detail' => '<string>',
        'estimate' => '<string>',
    ],
    'sources' => ['<string>', ...],
    'state' => 'OPEN|CLOSED',
    'status' => 'ACTIVE|SUPPRESSED|COMPLETED',
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
    'title' => '<string>',
    'tradeOffs' => [
        [
            'description' => '<string>',
            'mitigation' => '<string>',
            'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
            'risk' => 'LOW|MEDIUM|HIGH',
            'riskExplanation' => '<string>',
            'title' => '<string>',
        ],
        // ...
    ],
    'type' => 'RESOURCE|ARCHITECTURE|APPLICATION',
    'updateReason' => '<string>',
]

Result Details

Members
applications
Type: Array of strings

The applications that the recommendation targets.

awsServices
Type: Array of strings

The Amazon Web Services services that the recommendation applies to.

businessUnits
Type: Array of strings

The business units that own the affected resources.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this recommendation.

crossPillarBenefits
Type: Array of CrossPillarBenefit structures

Cross-pillar benefits of acting on the recommendation.

description
Required: Yes
Type: string

A description of the recommendation.

effort
Required: Yes
Type: string

The effort required to implement the recommendation.

goals
Type: Array of RecommendationGoal structures

Goals that this recommendation targets.

highlights
Required: Yes
Type: Array of strings

Highlights describing what was detected.

impact
Required: Yes
Type: string

The severity of the recommendation's impact.

impactDetails
Required: Yes
Type: Array of strings

Detailed impact information for the recommendation.

insights
Required: Yes
Type: Array of Insight structures

A list of insights about the recommendation.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this recommendation.

numberOfResources
Type: int

The number of Amazon Web Services resources this recommendation affects.

pillar
Required: Yes
Type: string

The Well-Architected Tool Framework pillar that the recommendation addresses.

priority
Required: Yes
Type: string

The priority of the recommendation.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the associated profile.

recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation.

remediationSummary
Required: Yes
Type: RemediationSummary structure

A high-level summary of the recommended remediation.

remediations
Type: Array of AgentRecommendationRemediation structures

A list of remediations for the recommendation.

roi
Required: Yes
Type: Roi structure

The return on investment estimate for the recommendation.

sources
Type: Array of strings

Sources that generated this recommendation.

state
Required: Yes
Type: string

The current state of the recommendation.

status
Required: Yes
Type: string

The current status of the recommendation.

tags
Type: Array of Tag structures

A set of key-value pairs associated with the recommendation, used for cost allocation and access control.

title
Required: Yes
Type: string

The title of the recommendation.

tradeOffs
Type: Array of TradeOff structures

Trade-offs of acting on the recommendation.

type
Required: Yes
Type: string

The type of the recommendation.

updateReason
Type: string

The free-text reason associated with the recommendation's most recent status update.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAgentRecommendationGeneration

$result = $client->getAgentRecommendationGeneration([/* ... */]);
$promise = $client->getAgentRecommendationGenerationAsync([/* ... */]);

Retrieves information about a recommendation generation process, including its status, progress, and results. Recommendation generation is asynchronous: poll this operation until status reaches a terminal value of COMPLETED (results are ready) or ERROR (see errorDetails). Intermediate values are QUEUED and IN_PROGRESS.

Parameter Syntax

$result = $client->getAgentRecommendationGeneration([
    'generationId' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
generationId
Required: Yes
Type: string

The unique identifier of the recommendation generation to retrieve.

profileArn
Required: Yes
Type: string

The ARN of the optimization profile associated with this generation.

Result Syntax

[
    'additionalContext' => [
    ],
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'endedAt' => <DateTime>,
    'errorDetails' => [
        'code' => '<string>',
        'message' => '<string>',
    ],
    'estimatedCompletionTime' => <DateTime>,
    'id' => '<string>',
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'name' => '<string>',
    'profileArn' => '<string>',
    'progress' => [
        'completionPercentage' => <float>,
        'stepsCompleted' => <integer>,
        'totalSteps' => <integer>,
    ],
    'scope' => [
        'goalIds' => ['<string>', ...],
        'items' => [
            [
                'ids' => ['<string>', ...],
                'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
            ],
            // ...
        ],
        'pillars' => ['<string>', ...],
    ],
    'startedAt' => <DateTime>,
    'status' => 'QUEUED|IN_PROGRESS|COMPLETED|ERROR',
]

Result Details

Members
additionalContext
Type: document (null|bool|string|numeric) or an (array|associative array) whose members are all valid documents

Additional context information provided to guide the recommendation generation process.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was started.

createdBy
Required: Yes
Type: string

The identifier of the user or system that started this generation.

endedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation generation process completed.

errorDetails
Type: ErrorDetails structure

Details about the error if the generation status is ERROR.

estimatedCompletionTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The estimated time for the generation to complete.

id
Required: Yes
Type: string

The unique identifier of the recommendation generation.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this generation.

name
Type: string

The name of the recommendation generation.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile used for this generation.

progress
Type: Progress structure

Current progress information including steps completed and completion percentage.

scope
Type: Scope structure

The scope configuration that defines which pillars and goals to focus on during generation.

startedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation generation process started.

status
Required: Yes
Type: string

The current status of the recommendation generation.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetAnswer

$result = $client->getAnswer([/* ... */]);
$promise = $client->getAnswerAsync([/* ... */]);

Get the answer to a specific question in a workload review.

Parameter Syntax

$result = $client->getAnswer([
    'LensAlias' => '<string>', // REQUIRED
    'MilestoneNumber' => <integer>,
    'QuestionId' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

QuestionId
Required: Yes
Type: string

The ID of the question.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'Answer' => [
        'ChoiceAnswers' => [
            [
                'ChoiceId' => '<string>',
                'Notes' => '<string>',
                'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
            ],
            // ...
        ],
        'Choices' => [
            [
                'AdditionalResources' => [
                    [
                        'Content' => [
                            [
                                'DisplayText' => '<string>',
                                'Url' => '<string>',
                            ],
                            // ...
                        ],
                        'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                    ],
                    // ...
                ],
                'ChoiceId' => '<string>',
                'Description' => '<string>',
                'HelpfulResource' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'ImprovementPlan' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'Title' => '<string>',
            ],
            // ...
        ],
        'HelpfulResourceDisplayText' => '<string>',
        'HelpfulResourceUrl' => '<string>',
        'ImprovementPlanUrl' => '<string>',
        'IsApplicable' => true || false,
        'JiraConfiguration' => [
            'JiraIssueUrl' => '<string>',
            'LastSyncedTime' => <DateTime>,
        ],
        'Notes' => '<string>',
        'PillarId' => '<string>',
        'QuestionDescription' => '<string>',
        'QuestionId' => '<string>',
        'QuestionTitle' => '<string>',
        'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
        'Risk' => 'UNANSWERED|HIGH|MEDIUM|NONE|NOT_APPLICABLE',
        'SelectedChoices' => ['<string>', ...],
    ],
    'LensAlias' => '<string>',
    'LensArn' => '<string>',
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>',
]

Result Details

Members
Answer
Type: Answer structure

An answer of the question.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetConsolidatedReport

$result = $client->getConsolidatedReport([/* ... */]);
$promise = $client->getConsolidatedReportAsync([/* ... */]);

Get a consolidated report of your workloads.

You can optionally choose to include workloads that have been shared with you.

Parameter Syntax

$result = $client->getConsolidatedReport([
    'Format' => 'PDF|JSON', // REQUIRED
    'IncludeSharedResources' => true || false,
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Format
Required: Yes
Type: string

The format of the consolidated report.

For PDF, Base64String is returned. For JSON, Metrics is returned.

IncludeSharedResources
Type: boolean

Set to true to have shared resources included in the report.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

Result Syntax

[
    'Base64String' => '<string>',
    'Metrics' => [
        [
            'Lenses' => [
                [
                    'LensArn' => '<string>',
                    'Pillars' => [
                        [
                            'PillarId' => '<string>',
                            'Questions' => [
                                [
                                    'BestPractices' => [
                                        [
                                            'ChoiceId' => '<string>',
                                            'ChoiceTitle' => '<string>',
                                        ],
                                        // ...
                                    ],
                                    'QuestionId' => '<string>',
                                    'Risk' => 'UNANSWERED|HIGH|MEDIUM|NONE|NOT_APPLICABLE',
                                ],
                                // ...
                            ],
                            'RiskCounts' => [<integer>, ...],
                        ],
                        // ...
                    ],
                    'RiskCounts' => [<integer>, ...],
                ],
                // ...
            ],
            'LensesAppliedCount' => <integer>,
            'MetricType' => 'WORKLOAD',
            'RiskCounts' => [<integer>, ...],
            'UpdatedAt' => <DateTime>,
            'WorkloadArn' => '<string>',
            'WorkloadId' => '<string>',
            'WorkloadName' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Base64String
Type: string

The Base64-encoded string representation of a lens review report.

This data can be used to create a PDF file.

Only returned by GetConsolidatedReport when PDF format is requested.

Metrics
Type: Array of ConsolidatedReportMetric structures

The metrics that make up the consolidated report.

Only returned when JSON format is requested.

NextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ThrottlingException:

Request was denied due to request throttling.

GetGlobalSettings

$result = $client->getGlobalSettings([/* ... */]);
$promise = $client->getGlobalSettingsAsync([/* ... */]);

Global settings for all workloads.

Parameter Syntax

$result = $client->getGlobalSettings([
]);

Parameter Details

Members

Result Syntax

[
    'DiscoveryIntegrationStatus' => 'ENABLED|DISABLED',
    'JiraConfiguration' => [
        'IntegrationStatus' => 'CONFIGURED|NOT_CONFIGURED',
        'IssueManagementStatus' => 'ENABLED|DISABLED',
        'IssueManagementType' => 'AUTO|MANUAL',
        'JiraProjectKey' => '<string>',
        'StatusMessage' => '<string>',
        'Subdomain' => '<string>',
    ],
    'OrganizationSharingStatus' => 'ENABLED|DISABLED',
]

Result Details

Members
DiscoveryIntegrationStatus
Type: string

Discovery integration status.

JiraConfiguration

Jira configuration status.

OrganizationSharingStatus
Type: string

Amazon Web Services Organizations sharing status.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

GetLens

$result = $client->getLens([/* ... */]);
$promise = $client->getLensAsync([/* ... */]);

Get an existing lens.

Parameter Syntax

$result = $client->getLens([
    'LensAlias' => '<string>', // REQUIRED
    'LensVersion' => '<string>',
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensVersion
Type: string

The lens version to be retrieved.

Result Syntax

[
    'Lens' => [
        'Description' => '<string>',
        'LensArn' => '<string>',
        'LensVersion' => '<string>',
        'Name' => '<string>',
        'Owner' => '<string>',
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
    ],
]

Result Details

Members
Lens
Type: Lens structure

A lens return object.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetLensReview

$result = $client->getLensReview([/* ... */]);
$promise = $client->getLensReviewAsync([/* ... */]);

Get lens review.

Parameter Syntax

$result = $client->getLensReview([
    'LensAlias' => '<string>', // REQUIRED
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'LensReview' => [
        'JiraConfiguration' => [
            'SelectedPillars' => [
                [
                    'PillarId' => '<string>',
                    'SelectedQuestionIds' => ['<string>', ...],
                ],
                // ...
            ],
        ],
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
        'LensName' => '<string>',
        'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
        'LensVersion' => '<string>',
        'NextToken' => '<string>',
        'Notes' => '<string>',
        'PillarReviewSummaries' => [
            [
                'Notes' => '<string>',
                'PillarId' => '<string>',
                'PillarName' => '<string>',
                'PrioritizedRiskCounts' => [<integer>, ...],
                'RiskCounts' => [<integer>, ...],
            ],
            // ...
        ],
        'PrioritizedRiskCounts' => [<integer>, ...],
        'Profiles' => [
            [
                'ProfileArn' => '<string>',
                'ProfileVersion' => '<string>',
            ],
            // ...
        ],
        'RiskCounts' => [<integer>, ...],
        'UpdatedAt' => <DateTime>,
    ],
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>',
]

Result Details

Members
LensReview
Type: LensReview structure

A lens review of a question.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetLensReviewReport

$result = $client->getLensReviewReport([/* ... */]);
$promise = $client->getLensReviewReportAsync([/* ... */]);

Get lens review report.

Parameter Syntax

$result = $client->getLensReviewReport([
    'LensAlias' => '<string>', // REQUIRED
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'LensReviewReport' => [
        'Base64String' => '<string>',
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
    ],
    'MilestoneNumber' => <integer>,
    'WorkloadId' => '<string>',
]

Result Details

Members
LensReviewReport
Type: LensReviewReport structure

A report of a lens review.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetLensVersionDifference

$result = $client->getLensVersionDifference([/* ... */]);
$promise = $client->getLensVersionDifferenceAsync([/* ... */]);

Get lens version differences.

Parameter Syntax

$result = $client->getLensVersionDifference([
    'BaseLensVersion' => '<string>',
    'LensAlias' => '<string>', // REQUIRED
    'TargetLensVersion' => '<string>',
]);

Parameter Details

Members
BaseLensVersion
Type: string

The base version of the lens.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

TargetLensVersion
Type: string

The lens version to target a difference for.

Result Syntax

[
    'BaseLensVersion' => '<string>',
    'LatestLensVersion' => '<string>',
    'LensAlias' => '<string>',
    'LensArn' => '<string>',
    'TargetLensVersion' => '<string>',
    'VersionDifferences' => [
        'PillarDifferences' => [
            [
                'DifferenceStatus' => 'UPDATED|NEW|DELETED',
                'PillarId' => '<string>',
                'PillarName' => '<string>',
                'QuestionDifferences' => [
                    [
                        'DifferenceStatus' => 'UPDATED|NEW|DELETED',
                        'QuestionId' => '<string>',
                        'QuestionTitle' => '<string>',
                    ],
                    // ...
                ],
            ],
            // ...
        ],
    ],
]

Result Details

Members
BaseLensVersion
Type: string

The base version of the lens.

LatestLensVersion
Type: string

The latest version of the lens.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

TargetLensVersion
Type: string

The target lens version for the lens.

VersionDifferences
Type: VersionDifferences structure

The differences between the base and latest versions of the lens.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetMilestone

$result = $client->getMilestone([/* ... */]);
$promise = $client->getMilestoneAsync([/* ... */]);

Get a milestone for an existing workload.

Parameter Syntax

$result = $client->getMilestone([
    'MilestoneNumber' => <integer>, // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MilestoneNumber
Required: Yes
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'Milestone' => [
        'MilestoneName' => '<string>',
        'MilestoneNumber' => <integer>,
        'RecordedAt' => <DateTime>,
        'Workload' => [
            'AccountIds' => ['<string>', ...],
            'Applications' => ['<string>', ...],
            'ArchitecturalDesign' => '<string>',
            'AwsRegions' => ['<string>', ...],
            'Description' => '<string>',
            'DiscoveryConfig' => [
                'TrustedAdvisorIntegrationStatus' => 'ENABLED|DISABLED',
                'WorkloadResourceDefinition' => ['<string>', ...],
            ],
            'Environment' => 'PRODUCTION|PREPRODUCTION',
            'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
            'Industry' => '<string>',
            'IndustryType' => '<string>',
            'IsReviewOwnerUpdateAcknowledged' => true || false,
            'JiraConfiguration' => [
                'IssueManagementStatus' => 'ENABLED|DISABLED|INHERIT',
                'IssueManagementType' => 'AUTO|MANUAL',
                'JiraProjectKey' => '<string>',
                'StatusMessage' => '<string>',
            ],
            'Lenses' => ['<string>', ...],
            'NonAwsRegions' => ['<string>', ...],
            'Notes' => '<string>',
            'Owner' => '<string>',
            'PillarPriorities' => ['<string>', ...],
            'PrioritizedRiskCounts' => [<integer>, ...],
            'Profiles' => [
                [
                    'ProfileArn' => '<string>',
                    'ProfileVersion' => '<string>',
                ],
                // ...
            ],
            'ReviewOwner' => '<string>',
            'ReviewRestrictionDate' => <DateTime>,
            'RiskCounts' => [<integer>, ...],
            'ShareInvitationId' => '<string>',
            'Tags' => ['<string>', ...],
            'UpdatedAt' => <DateTime>,
            'WorkloadArn' => '<string>',
            'WorkloadId' => '<string>',
            'WorkloadName' => '<string>',
        ],
    ],
    'WorkloadId' => '<string>',
]

Result Details

Members
Milestone
Type: Milestone structure

A milestone return object.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetProfile

$result = $client->getProfile([/* ... */]);
$promise = $client->getProfileAsync([/* ... */]);

Get profile information.

Parameter Syntax

$result = $client->getProfile([
    'ProfileArn' => '<string>', // REQUIRED
    'ProfileVersion' => '<string>',
]);

Parameter Details

Members
ProfileArn
Required: Yes
Type: string

The profile ARN.

ProfileVersion
Type: string

The profile version.

Result Syntax

[
    'Profile' => [
        'CreatedAt' => <DateTime>,
        'Owner' => '<string>',
        'ProfileArn' => '<string>',
        'ProfileDescription' => '<string>',
        'ProfileName' => '<string>',
        'ProfileQuestions' => [
            [
                'MaxSelectedChoices' => <integer>,
                'MinSelectedChoices' => <integer>,
                'QuestionChoices' => [
                    [
                        'ChoiceDescription' => '<string>',
                        'ChoiceId' => '<string>',
                        'ChoiceTitle' => '<string>',
                    ],
                    // ...
                ],
                'QuestionDescription' => '<string>',
                'QuestionId' => '<string>',
                'QuestionTitle' => '<string>',
                'SelectedChoiceIds' => ['<string>', ...],
            ],
            // ...
        ],
        'ProfileVersion' => '<string>',
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'UpdatedAt' => <DateTime>,
    ],
]

Result Details

Members
Profile
Type: Profile structure

The profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetProfileTemplate

$result = $client->getProfileTemplate([/* ... */]);
$promise = $client->getProfileTemplateAsync([/* ... */]);

Get profile template.

Parameter Syntax

$result = $client->getProfileTemplate([
]);

Parameter Details

Members

Result Syntax

[
    'ProfileTemplate' => [
        'CreatedAt' => <DateTime>,
        'TemplateName' => '<string>',
        'TemplateQuestions' => [
            [
                'MaxSelectedChoices' => <integer>,
                'MinSelectedChoices' => <integer>,
                'QuestionChoices' => [
                    [
                        'ChoiceDescription' => '<string>',
                        'ChoiceId' => '<string>',
                        'ChoiceTitle' => '<string>',
                    ],
                    // ...
                ],
                'QuestionDescription' => '<string>',
                'QuestionId' => '<string>',
                'QuestionTitle' => '<string>',
            ],
            // ...
        ],
        'UpdatedAt' => <DateTime>,
    ],
]

Result Details

Members
ProfileTemplate
Type: ProfileTemplate structure

The profile template.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetReviewTemplate

$result = $client->getReviewTemplate([/* ... */]);
$promise = $client->getReviewTemplateAsync([/* ... */]);

Get review template.

Parameter Syntax

$result = $client->getReviewTemplate([
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'ReviewTemplate' => [
        'Description' => '<string>',
        'Lenses' => ['<string>', ...],
        'Notes' => '<string>',
        'Owner' => '<string>',
        'QuestionCounts' => [<integer>, ...],
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'TemplateArn' => '<string>',
        'TemplateName' => '<string>',
        'UpdateStatus' => 'CURRENT|LENS_NOT_CURRENT',
        'UpdatedAt' => <DateTime>,
    ],
]

Result Details

Members
ReviewTemplate
Type: ReviewTemplate structure

The review template.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetReviewTemplateAnswer

$result = $client->getReviewTemplateAnswer([/* ... */]);
$promise = $client->getReviewTemplateAnswerAsync([/* ... */]);

Get review template answer.

Parameter Syntax

$result = $client->getReviewTemplateAnswer([
    'LensAlias' => '<string>', // REQUIRED
    'QuestionId' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

QuestionId
Required: Yes
Type: string

The ID of the question.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'Answer' => [
        'AnswerStatus' => 'UNANSWERED|ANSWERED',
        'ChoiceAnswers' => [
            [
                'ChoiceId' => '<string>',
                'Notes' => '<string>',
                'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
            ],
            // ...
        ],
        'Choices' => [
            [
                'AdditionalResources' => [
                    [
                        'Content' => [
                            [
                                'DisplayText' => '<string>',
                                'Url' => '<string>',
                            ],
                            // ...
                        ],
                        'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                    ],
                    // ...
                ],
                'ChoiceId' => '<string>',
                'Description' => '<string>',
                'HelpfulResource' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'ImprovementPlan' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'Title' => '<string>',
            ],
            // ...
        ],
        'HelpfulResourceDisplayText' => '<string>',
        'HelpfulResourceUrl' => '<string>',
        'ImprovementPlanUrl' => '<string>',
        'IsApplicable' => true || false,
        'Notes' => '<string>',
        'PillarId' => '<string>',
        'QuestionDescription' => '<string>',
        'QuestionId' => '<string>',
        'QuestionTitle' => '<string>',
        'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
        'SelectedChoices' => ['<string>', ...],
    ],
    'LensAlias' => '<string>',
    'TemplateArn' => '<string>',
]

Result Details

Members
Answer
Type: ReviewTemplateAnswer structure

An answer of the question.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetReviewTemplateLensReview

$result = $client->getReviewTemplateLensReview([/* ... */]);
$promise = $client->getReviewTemplateLensReviewAsync([/* ... */]);

Get a lens review associated with a review template.

Parameter Syntax

$result = $client->getReviewTemplateLensReview([
    'LensAlias' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'LensReview' => [
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
        'LensName' => '<string>',
        'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
        'LensVersion' => '<string>',
        'NextToken' => '<string>',
        'Notes' => '<string>',
        'PillarReviewSummaries' => [
            [
                'Notes' => '<string>',
                'PillarId' => '<string>',
                'PillarName' => '<string>',
                'QuestionCounts' => [<integer>, ...],
            ],
            // ...
        ],
        'QuestionCounts' => [<integer>, ...],
        'UpdatedAt' => <DateTime>,
    ],
    'TemplateArn' => '<string>',
]

Result Details

Members
LensReview
Type: ReviewTemplateLensReview structure

A lens review of a question.

TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

GetWorkload

$result = $client->getWorkload([/* ... */]);
$promise = $client->getWorkloadAsync([/* ... */]);

Get an existing workload.

Parameter Syntax

$result = $client->getWorkload([
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'Workload' => [
        'AccountIds' => ['<string>', ...],
        'Applications' => ['<string>', ...],
        'ArchitecturalDesign' => '<string>',
        'AwsRegions' => ['<string>', ...],
        'Description' => '<string>',
        'DiscoveryConfig' => [
            'TrustedAdvisorIntegrationStatus' => 'ENABLED|DISABLED',
            'WorkloadResourceDefinition' => ['<string>', ...],
        ],
        'Environment' => 'PRODUCTION|PREPRODUCTION',
        'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
        'Industry' => '<string>',
        'IndustryType' => '<string>',
        'IsReviewOwnerUpdateAcknowledged' => true || false,
        'JiraConfiguration' => [
            'IssueManagementStatus' => 'ENABLED|DISABLED|INHERIT',
            'IssueManagementType' => 'AUTO|MANUAL',
            'JiraProjectKey' => '<string>',
            'StatusMessage' => '<string>',
        ],
        'Lenses' => ['<string>', ...],
        'NonAwsRegions' => ['<string>', ...],
        'Notes' => '<string>',
        'Owner' => '<string>',
        'PillarPriorities' => ['<string>', ...],
        'PrioritizedRiskCounts' => [<integer>, ...],
        'Profiles' => [
            [
                'ProfileArn' => '<string>',
                'ProfileVersion' => '<string>',
            ],
            // ...
        ],
        'ReviewOwner' => '<string>',
        'ReviewRestrictionDate' => <DateTime>,
        'RiskCounts' => [<integer>, ...],
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'UpdatedAt' => <DateTime>,
        'WorkloadArn' => '<string>',
        'WorkloadId' => '<string>',
        'WorkloadName' => '<string>',
    ],
]

Result Details

Members
Workload
Type: Workload structure

A workload return object.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ImportLens

$result = $client->importLens([/* ... */]);
$promise = $client->importLensAsync([/* ... */]);

Import a new custom lens or update an existing custom lens.

To update an existing custom lens, specify its ARN as the LensAlias. If no ARN is specified, a new custom lens is created.

The new or updated lens will have a status of DRAFT. The lens cannot be applied to workloads or shared with other Amazon Web Services accounts until it's published with CreateLensVersion.

Lenses are defined in JSON. For more information, see JSON format specification in the Well-Architected Tool User Guide.

A custom lens cannot exceed 500 KB in size.

Disclaimer

Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.

Parameter Syntax

$result = $client->importLens([
    'ClientRequestToken' => '<string>', // REQUIRED
    'JSONString' => '<string>', // REQUIRED
    'LensAlias' => '<string>',
    'Tags' => ['<string>', ...],
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

JSONString
Required: Yes
Type: string

The JSON representation of a lens.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

Tags to associate to a lens.

Result Syntax

[
    'LensArn' => '<string>',
    'Status' => 'IN_PROGRESS|COMPLETE|ERROR',
]

Result Details

Members
LensArn
Type: string

The ARN for the lens that was created or updated.

Status
Type: string

The status of the imported lens.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListAgentContexts

$result = $client->listAgentContexts([/* ... */]);
$promise = $client->listAgentContextsAsync([/* ... */]);

Lists contexts associated with a profile.

Parameter Syntax

$result = $client->listAgentContexts([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return for this request.

nextToken
Type: string

The token to use to retrieve the next set of results.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile to list contexts for.

Result Syntax

[
    'items' => [
        [
            'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
            'content' => [
                'accountIds' => ['<string>', ...],
                'additionalContext' => '<string>',
                'applicationOverview' => '<string>',
                'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
                'architectureOverview' => '<string>',
                'awsServices' => ['<string>', ...],
                'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
                'industry' => '<string>',
                'regions' => ['<string>', ...],
                'resourceTags' => [
                    [
                        'key' => '<string>',
                        'value' => '<string>',
                    ],
                    // ...
                ],
                'resourceTypes' => ['<string>', ...],
            ],
            'contextType' => 'APPLICATION',
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
            'id' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'profileArn' => '<string>',
            'title' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of ContextSummary structures

A list of context summaries associated with the profile.

nextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListAgentGoals

$result = $client->listAgentGoals([/* ... */]);
$promise = $client->listAgentGoalsAsync([/* ... */]);

Lists optimization goals associated with a specified profile. Goals define specific targets and objectives for the optimization process.

Parameter Syntax

$result = $client->listAgentGoals([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of goals to return in a single response.

nextToken
Type: string

A pagination token returned from a previous call to continue retrieving results.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile to list goals for.

Result Syntax

[
    'items' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'id' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'pillars' => ['<string>', ...],
            'profileArn' => '<string>',
            'title' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of GoalSummary structures

A list of goal summaries associated with the profile.

nextToken
Type: string

A pagination token to retrieve the next set of results, if available.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListAgentProfiles

$result = $client->listAgentProfiles([/* ... */]);
$promise = $client->listAgentProfilesAsync([/* ... */]);

Lists optimization profiles in your account. Profiles define the scope and configuration for generating optimization recommendations.

Parameter Syntax

$result = $client->listAgentProfiles([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of profiles to return in a single call. Default is 100.

nextToken
Type: string

A pagination token returned from a previous call to continue retrieving results.

Result Syntax

[
    'items' => [
        [
            'aggregationConfiguration' => [
                [
                    'accessRoleArn' => '<string>',
                    'accountId' => '<string>',
                    'regions' => ['<string>', ...],
                ],
                // ...
            ],
            'arn' => '<string>',
            'businessOverview' => '<string>',
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'deletionProtection' => true || false,
            'description' => '<string>',
            'displayName' => '<string>',
            'eligibleForArchitectureGeneration' => true || false,
            'eligibleForScheduledGeneration' => true || false,
            'executionRoleArn' => '<string>',
            'fieldErrors' => ['<string>', ...],
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'name' => '<string>',
            'pillars' => ['<string>', ...],
            'tags' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of AgentProfileSummary structures

A list of profile summaries.

nextToken
Type: string

A pagination token to retrieve the next set of results, if available.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListAgentRecommendationGenerations

$result = $client->listAgentRecommendationGenerations([/* ... */]);
$promise = $client->listAgentRecommendationGenerationsAsync([/* ... */]);

Lists recommendation generation processes for a specified profile.

Parameter Syntax

$result = $client->listAgentRecommendationGenerations([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'profileArn' => '<string>', // REQUIRED
    'recommendationType' => 'RESOURCE|ARCHITECTURE|APPLICATION',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of generation processes to return in a single response.

nextToken
Type: string

A pagination token returned from a previous call to continue retrieving results.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile to list generation processes for.

recommendationType
Type: string

Optional filter by recommendation type.

Result Syntax

[
    'items' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'estimatedCompletionTime' => <DateTime>,
            'id' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'name' => '<string>',
            'profileArn' => '<string>',
            'status' => 'QUEUED|IN_PROGRESS|COMPLETED|ERROR',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of AgentRecommendationGenerationSummary structures

A list of recommendation generation summaries.

nextToken
Type: string

A pagination token to retrieve the next set of results, if available.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListAgentRecommendationItems

$result = $client->listAgentRecommendationItems([/* ... */]);
$promise = $client->listAgentRecommendationItemsAsync([/* ... */]);

Lists recommendation items for a specific recommendation. Recommendation items provide detailed information about individual optimization opportunities.

Parameter Syntax

$result = $client->listAgentRecommendationItems([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'recommendationArn' => '<string>', // REQUIRED
    'type' => 'AWS_RESOURCE|RECOMMENDATION',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of recommendation items to return in a single response.

nextToken
Type: string

A pagination token returned from a previous call to continue retrieving results.

recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation to list items for.

type
Type: string

Optional filter to return only recommendation items of the specified type.

Result Syntax

[
    'items' => [
        [
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'id' => '<string>',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'metadata' => [
            ],
            'recommendationArn' => '<string>',
            'type' => 'AWS_RESOURCE|RECOMMENDATION',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of AgentRecommendationItemSummary structures

A list of recommendation items with their detailed metadata and configuration information.

nextToken
Type: string

A pagination token to retrieve the next set of results, if available.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListAgentRecommendations

$result = $client->listAgentRecommendations([/* ... */]);
$promise = $client->listAgentRecommendationsAsync([/* ... */]);

Lists active optimization recommendations for a specified profile with optional filtering by state.

Parameter Syntax

$result = $client->listAgentRecommendations([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
    'profileArn' => '<string>', // REQUIRED
    'state' => 'OPEN|CLOSED',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of recommendations to return in a single response.

nextToken
Type: string

A pagination token returned from a previous call to continue retrieving results.

pillar
Type: string

Optional filter to return only recommendations for the specified pillar.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile to list recommendations for.

state
Type: string

Optional filter to return only recommendations with the specified state (OPEN or CLOSED).

Result Syntax

[
    'items' => [
        [
            'applications' => ['<string>', ...],
            'awsServices' => ['<string>', ...],
            'businessUnits' => ['<string>', ...],
            'createdAt' => <DateTime>,
            'createdBy' => '<string>',
            'description' => '<string>',
            'effort' => 'LARGE|MEDIUM|SMALL',
            'impact' => 'HIGH|MEDIUM|LOW',
            'lastModifiedAt' => <DateTime>,
            'lastModifiedBy' => '<string>',
            'numberOfResources' => <integer>,
            'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE',
            'priority' => 'HIGH|MEDIUM|LOW',
            'profileArn' => '<string>',
            'recommendationArn' => '<string>',
            'roi' => [
                'detail' => '<string>',
                'estimate' => '<string>',
            ],
            'state' => 'OPEN|CLOSED',
            'status' => 'ACTIVE|SUPPRESSED|COMPLETED',
            'title' => '<string>',
            'type' => 'RESOURCE|ARCHITECTURE|APPLICATION',
            'updateReason' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
items
Required: Yes
Type: Array of AgentRecommendationSummary structures

A list of recommendation summaries.

nextToken
Type: string

A pagination token to retrieve the next set of results, if available.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListAnswers

$result = $client->listAnswers([/* ... */]);
$promise = $client->listAnswersAsync([/* ... */]);

List of answers for a particular workload and lens.

Parameter Syntax

$result = $client->listAnswers([
    'LensAlias' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'PillarId' => '<string>',
    'QuestionPriority' => 'PRIORITIZED|NONE',
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MaxResults
Type: int

The maximum number of results to return for this request.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionPriority
Type: string

The priority of the question.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'AnswerSummaries' => [
        [
            'ChoiceAnswerSummaries' => [
                [
                    'ChoiceId' => '<string>',
                    'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                    'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
                ],
                // ...
            ],
            'Choices' => [
                [
                    'AdditionalResources' => [
                        [
                            'Content' => [
                                [
                                    'DisplayText' => '<string>',
                                    'Url' => '<string>',
                                ],
                                // ...
                            ],
                            'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                        ],
                        // ...
                    ],
                    'ChoiceId' => '<string>',
                    'Description' => '<string>',
                    'HelpfulResource' => [
                        'DisplayText' => '<string>',
                        'Url' => '<string>',
                    ],
                    'ImprovementPlan' => [
                        'DisplayText' => '<string>',
                        'Url' => '<string>',
                    ],
                    'Title' => '<string>',
                ],
                // ...
            ],
            'IsApplicable' => true || false,
            'JiraConfiguration' => [
                'JiraIssueUrl' => '<string>',
                'LastSyncedTime' => <DateTime>,
            ],
            'PillarId' => '<string>',
            'QuestionId' => '<string>',
            'QuestionTitle' => '<string>',
            'QuestionType' => 'PRIORITIZED|NON_PRIORITIZED',
            'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
            'Risk' => 'UNANSWERED|HIGH|MEDIUM|NONE|NOT_APPLICABLE',
            'SelectedChoices' => ['<string>', ...],
        ],
        // ...
    ],
    'LensAlias' => '<string>',
    'LensArn' => '<string>',
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
AnswerSummaries
Type: Array of AnswerSummary structures

List of answer summaries of lens review in a workload.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListCheckDetails

$result = $client->listCheckDetails([/* ... */]);
$promise = $client->listCheckDetailsAsync([/* ... */]);

List of Trusted Advisor check details by account related to the workload.

Parameter Syntax

$result = $client->listCheckDetails([
    'ChoiceId' => '<string>', // REQUIRED
    'LensArn' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PillarId' => '<string>', // REQUIRED
    'QuestionId' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChoiceId
Required: Yes
Type: string

The ID of a choice.

LensArn
Required: Yes
Type: string

Well-Architected Lens ARN.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

PillarId
Required: Yes
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionId
Required: Yes
Type: string

The ID of the question.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'CheckDetails' => [
        [
            'AccountId' => '<string>',
            'ChoiceId' => '<string>',
            'Description' => '<string>',
            'FlaggedResources' => <integer>,
            'Id' => '<string>',
            'LensArn' => '<string>',
            'Name' => '<string>',
            'PillarId' => '<string>',
            'Provider' => 'TRUSTED_ADVISOR',
            'QuestionId' => '<string>',
            'Reason' => 'ASSUME_ROLE_ERROR|ACCESS_DENIED|UNKNOWN_ERROR|PREMIUM_SUPPORT_REQUIRED',
            'Status' => 'OKAY|WARNING|ERROR|NOT_AVAILABLE|FETCH_FAILED',
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CheckDetails
Type: Array of CheckDetail structures

The details about the Trusted Advisor checks related to the Well-Architected best practice.

NextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListCheckSummaries

$result = $client->listCheckSummaries([/* ... */]);
$promise = $client->listCheckSummariesAsync([/* ... */]);

List of Trusted Advisor checks summarized for all accounts related to the workload.

Parameter Syntax

$result = $client->listCheckSummaries([
    'ChoiceId' => '<string>', // REQUIRED
    'LensArn' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PillarId' => '<string>', // REQUIRED
    'QuestionId' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChoiceId
Required: Yes
Type: string

The ID of a choice.

LensArn
Required: Yes
Type: string

Well-Architected Lens ARN.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

PillarId
Required: Yes
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionId
Required: Yes
Type: string

The ID of the question.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'CheckSummaries' => [
        [
            'AccountSummary' => [<integer>, ...],
            'ChoiceId' => '<string>',
            'Description' => '<string>',
            'Id' => '<string>',
            'LensArn' => '<string>',
            'Name' => '<string>',
            'PillarId' => '<string>',
            'Provider' => 'TRUSTED_ADVISOR',
            'QuestionId' => '<string>',
            'Status' => 'OKAY|WARNING|ERROR|NOT_AVAILABLE|FETCH_FAILED',
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
CheckSummaries
Type: Array of CheckSummary structures

List of Trusted Advisor summaries related to the Well-Architected best practice.

NextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListLensReviewImprovements

$result = $client->listLensReviewImprovements([/* ... */]);
$promise = $client->listLensReviewImprovementsAsync([/* ... */]);

List the improvements of a particular lens review.

Parameter Syntax

$result = $client->listLensReviewImprovements([
    'LensAlias' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'PillarId' => '<string>',
    'QuestionPriority' => 'PRIORITIZED|NONE',
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MaxResults
Type: int

The maximum number of results to return for this request.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionPriority
Type: string

The priority of the question.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'ImprovementSummaries' => [
        [
            'ImprovementPlanUrl' => '<string>',
            'ImprovementPlans' => [
                [
                    'ChoiceId' => '<string>',
                    'DisplayText' => '<string>',
                    'ImprovementPlanUrl' => '<string>',
                ],
                // ...
            ],
            'JiraConfiguration' => [
                'JiraIssueUrl' => '<string>',
                'LastSyncedTime' => <DateTime>,
            ],
            'PillarId' => '<string>',
            'QuestionId' => '<string>',
            'QuestionTitle' => '<string>',
            'Risk' => 'UNANSWERED|HIGH|MEDIUM|NONE|NOT_APPLICABLE',
        ],
        // ...
    ],
    'LensAlias' => '<string>',
    'LensArn' => '<string>',
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
ImprovementSummaries
Type: Array of ImprovementSummary structures

List of improvement summaries of lens review in a workload.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListLensReviews

$result = $client->listLensReviews([/* ... */]);
$promise = $client->listLensReviewsAsync([/* ... */]);

List lens reviews for a particular workload.

Parameter Syntax

$result = $client->listLensReviews([
    'MaxResults' => <integer>,
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'LensReviewSummaries' => [
        [
            'LensAlias' => '<string>',
            'LensArn' => '<string>',
            'LensName' => '<string>',
            'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
            'LensVersion' => '<string>',
            'PrioritizedRiskCounts' => [<integer>, ...],
            'Profiles' => [
                [
                    'ProfileArn' => '<string>',
                    'ProfileVersion' => '<string>',
                ],
                // ...
            ],
            'RiskCounts' => [<integer>, ...],
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
    'MilestoneNumber' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
LensReviewSummaries
Type: Array of LensReviewSummary structures

List of lens summaries of lens reviews of a workload.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListLensShares

$result = $client->listLensShares([/* ... */]);
$promise = $client->listLensSharesAsync([/* ... */]);

List the lens shares associated with the lens.

Parameter Syntax

$result = $client->listLensShares([
    'LensAlias' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SharedWithPrefix' => '<string>',
    'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

SharedWithPrefix
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the lens is shared.

Status
Type: string

The status of the share request.

Result Syntax

[
    'LensShareSummaries' => [
        [
            'ShareId' => '<string>',
            'SharedWith' => '<string>',
            'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
            'StatusMessage' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LensShareSummaries
Type: Array of LensShareSummary structures

A list of lens share summaries.

NextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListLenses

$result = $client->listLenses([/* ... */]);
$promise = $client->listLensesAsync([/* ... */]);

List the available lenses.

Parameter Syntax

$result = $client->listLenses([
    'LensName' => '<string>',
    'LensStatus' => 'ALL|DRAFT|PUBLISHED',
    'LensType' => 'AWS_OFFICIAL|CUSTOM_SHARED|CUSTOM_SELF',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
LensName
Type: string

The full name of the lens.

LensStatus
Type: string

The status of lenses to be returned.

LensType
Type: string

The type of lenses to be returned.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

Result Syntax

[
    'LensSummaries' => [
        [
            'CreatedAt' => <DateTime>,
            'Description' => '<string>',
            'LensAlias' => '<string>',
            'LensArn' => '<string>',
            'LensName' => '<string>',
            'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
            'LensType' => 'AWS_OFFICIAL|CUSTOM_SHARED|CUSTOM_SELF',
            'LensVersion' => '<string>',
            'Owner' => '<string>',
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
LensSummaries
Type: Array of LensSummary structures

List of lens summaries of available lenses.

NextToken
Type: string

The token to use to retrieve the next set of results.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListMilestones

$result = $client->listMilestones([/* ... */]);
$promise = $client->listMilestonesAsync([/* ... */]);

List all milestones for an existing workload.

Parameter Syntax

$result = $client->listMilestones([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'MilestoneSummaries' => [
        [
            'MilestoneName' => '<string>',
            'MilestoneNumber' => <integer>,
            'RecordedAt' => <DateTime>,
            'WorkloadSummary' => [
                'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
                'Lenses' => ['<string>', ...],
                'Owner' => '<string>',
                'PrioritizedRiskCounts' => [<integer>, ...],
                'Profiles' => [
                    [
                        'ProfileArn' => '<string>',
                        'ProfileVersion' => '<string>',
                    ],
                    // ...
                ],
                'RiskCounts' => [<integer>, ...],
                'UpdatedAt' => <DateTime>,
                'WorkloadArn' => '<string>',
                'WorkloadId' => '<string>',
                'WorkloadName' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
MilestoneSummaries
Type: Array of MilestoneSummary structures

A list of milestone summaries.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListNotifications

$result = $client->listNotifications([/* ... */]);
$promise = $client->listNotificationsAsync([/* ... */]);

List lens notifications.

Parameter Syntax

$result = $client->listNotifications([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ResourceArn' => '<string>',
    'WorkloadId' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

ResourceArn
Type: string

The ARN for the related resource for the notification.

Only one of WorkloadID or ResourceARN should be specified.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'NextToken' => '<string>',
    'NotificationSummaries' => [
        [
            'LensUpgradeSummary' => [
                'CurrentLensVersion' => '<string>',
                'LatestLensVersion' => '<string>',
                'LensAlias' => '<string>',
                'LensArn' => '<string>',
                'ResourceArn' => '<string>',
                'ResourceName' => '<string>',
                'WorkloadId' => '<string>',
                'WorkloadName' => '<string>',
            ],
            'Type' => 'LENS_VERSION_UPGRADED|LENS_VERSION_DEPRECATED',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

NotificationSummaries
Type: Array of NotificationSummary structures

List of lens notification summaries in a workload.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListProfileNotifications

$result = $client->listProfileNotifications([/* ... */]);
$promise = $client->listProfileNotificationsAsync([/* ... */]);

List profile notifications.

Parameter Syntax

$result = $client->listProfileNotifications([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'NextToken' => '<string>',
    'NotificationSummaries' => [
        [
            'CurrentProfileVersion' => '<string>',
            'LatestProfileVersion' => '<string>',
            'ProfileArn' => '<string>',
            'ProfileName' => '<string>',
            'Type' => 'PROFILE_ANSWERS_UPDATED|PROFILE_DELETED',
            'WorkloadId' => '<string>',
            'WorkloadName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

NotificationSummaries
Type: Array of ProfileNotificationSummary structures

Notification summaries.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListProfileShares

$result = $client->listProfileShares([/* ... */]);
$promise = $client->listProfileSharesAsync([/* ... */]);

List profile shares.

Parameter Syntax

$result = $client->listProfileShares([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProfileArn' => '<string>', // REQUIRED
    'SharedWithPrefix' => '<string>',
    'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

ProfileArn
Required: Yes
Type: string

The profile ARN.

SharedWithPrefix
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.

Status
Type: string

The status of the share request.

Result Syntax

[
    'NextToken' => '<string>',
    'ProfileShareSummaries' => [
        [
            'ShareId' => '<string>',
            'SharedWith' => '<string>',
            'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
            'StatusMessage' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

ProfileShareSummaries
Type: Array of ProfileShareSummary structures

Profile share summaries.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListProfiles

$result = $client->listProfiles([/* ... */]);
$promise = $client->listProfilesAsync([/* ... */]);

List profiles.

Parameter Syntax

$result = $client->listProfiles([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProfileNamePrefix' => '<string>',
    'ProfileOwnerType' => 'SELF|SHARED',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

ProfileNamePrefix
Type: string

An optional string added to the beginning of each profile name returned in the results.

ProfileOwnerType
Type: string

Profile owner type.

Result Syntax

[
    'NextToken' => '<string>',
    'ProfileSummaries' => [
        [
            'CreatedAt' => <DateTime>,
            'Owner' => '<string>',
            'ProfileArn' => '<string>',
            'ProfileDescription' => '<string>',
            'ProfileName' => '<string>',
            'ProfileVersion' => '<string>',
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

ProfileSummaries
Type: Array of ProfileSummary structures

Profile summaries.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListReviewTemplateAnswers

$result = $client->listReviewTemplateAnswers([/* ... */]);
$promise = $client->listReviewTemplateAnswersAsync([/* ... */]);

List the answers of a review template.

Parameter Syntax

$result = $client->listReviewTemplateAnswers([
    'LensAlias' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'PillarId' => '<string>',
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

TemplateArn
Required: Yes
Type: string

The ARN of the review template.

Result Syntax

[
    'AnswerSummaries' => [
        [
            'AnswerStatus' => 'UNANSWERED|ANSWERED',
            'ChoiceAnswerSummaries' => [
                [
                    'ChoiceId' => '<string>',
                    'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                    'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
                ],
                // ...
            ],
            'Choices' => [
                [
                    'AdditionalResources' => [
                        [
                            'Content' => [
                                [
                                    'DisplayText' => '<string>',
                                    'Url' => '<string>',
                                ],
                                // ...
                            ],
                            'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                        ],
                        // ...
                    ],
                    'ChoiceId' => '<string>',
                    'Description' => '<string>',
                    'HelpfulResource' => [
                        'DisplayText' => '<string>',
                        'Url' => '<string>',
                    ],
                    'ImprovementPlan' => [
                        'DisplayText' => '<string>',
                        'Url' => '<string>',
                    ],
                    'Title' => '<string>',
                ],
                // ...
            ],
            'IsApplicable' => true || false,
            'PillarId' => '<string>',
            'QuestionId' => '<string>',
            'QuestionTitle' => '<string>',
            'QuestionType' => 'PRIORITIZED|NON_PRIORITIZED',
            'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
            'SelectedChoices' => ['<string>', ...],
        ],
        // ...
    ],
    'LensAlias' => '<string>',
    'NextToken' => '<string>',
    'TemplateArn' => '<string>',
]

Result Details

Members
AnswerSummaries
Type: Array of ReviewTemplateAnswerSummary structures

List of answer summaries of a lens review in a review template.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

NextToken
Type: string

The token to use to retrieve the next set of results.

TemplateArn
Type: string

The ARN of the review template.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListReviewTemplates

$result = $client->listReviewTemplates([/* ... */]);
$promise = $client->listReviewTemplatesAsync([/* ... */]);

List review templates.

Parameter Syntax

$result = $client->listReviewTemplates([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

Result Syntax

[
    'NextToken' => '<string>',
    'ReviewTemplates' => [
        [
            'Description' => '<string>',
            'Lenses' => ['<string>', ...],
            'Owner' => '<string>',
            'TemplateArn' => '<string>',
            'TemplateName' => '<string>',
            'UpdateStatus' => 'CURRENT|LENS_NOT_CURRENT',
            'UpdatedAt' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

ReviewTemplates
Type: Array of ReviewTemplateSummary structures

List of review templates.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListShareInvitations

$result = $client->listShareInvitations([/* ... */]);
$promise = $client->listShareInvitationsAsync([/* ... */]);

List the share invitations.

WorkloadNamePrefix, LensNamePrefix, ProfileNamePrefix, and TemplateNamePrefix are mutually exclusive. Use the parameter that matches your ShareResourceType.

Parameter Syntax

$result = $client->listShareInvitations([
    'LensNamePrefix' => '<string>',
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'ProfileNamePrefix' => '<string>',
    'ShareResourceType' => 'WORKLOAD|LENS|PROFILE|TEMPLATE',
    'TemplateNamePrefix' => '<string>',
    'WorkloadNamePrefix' => '<string>',
]);

Parameter Details

Members
LensNamePrefix
Type: string

An optional string added to the beginning of each lens name returned in the results.

MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

ProfileNamePrefix
Type: string

An optional string added to the beginning of each profile name returned in the results.

ShareResourceType
Type: string

The type of share invitations to be returned.

TemplateNamePrefix
Type: string

An optional string added to the beginning of each review template name returned in the results.

WorkloadNamePrefix
Type: string

An optional string added to the beginning of each workload name returned in the results.

Result Syntax

[
    'NextToken' => '<string>',
    'ShareInvitationSummaries' => [
        [
            'LensArn' => '<string>',
            'LensName' => '<string>',
            'PermissionType' => 'READONLY|CONTRIBUTOR',
            'ProfileArn' => '<string>',
            'ProfileName' => '<string>',
            'ShareInvitationId' => '<string>',
            'ShareResourceType' => 'WORKLOAD|LENS|PROFILE|TEMPLATE',
            'SharedBy' => '<string>',
            'SharedWith' => '<string>',
            'TemplateArn' => '<string>',
            'TemplateName' => '<string>',
            'WorkloadId' => '<string>',
            'WorkloadName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

ShareInvitationSummaries
Type: Array of ShareInvitationSummary structures

List of share invitation summaries in a workload.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

List the tags for a resource.

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

Parameter Syntax

$result = $client->listTagsForResource([
    'WorkloadArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
WorkloadArn
Required: Yes
Type: string

The ARN for the workload.

Result Syntax

[
    'Tags' => ['<string>', ...],
]

Result Details

Members
Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags for the resource.

Errors

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ListTemplateShares

$result = $client->listTemplateShares([/* ... */]);
$promise = $client->listTemplateSharesAsync([/* ... */]);

List review template shares.

Parameter Syntax

$result = $client->listTemplateShares([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SharedWithPrefix' => '<string>',
    'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

SharedWithPrefix
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.

Status
Type: string

The status of the share request.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'NextToken' => '<string>',
    'TemplateArn' => '<string>',
    'TemplateShareSummaries' => [
        [
            'ShareId' => '<string>',
            'SharedWith' => '<string>',
            'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
            'StatusMessage' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

TemplateArn
Type: string

The review template ARN.

TemplateShareSummaries
Type: Array of TemplateShareSummary structures

A review template share summary return object.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListWorkloadShares

$result = $client->listWorkloadShares([/* ... */]);
$promise = $client->listWorkloadSharesAsync([/* ... */]);

List the workload shares associated with the workload.

Parameter Syntax

$result = $client->listWorkloadShares([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SharedWithPrefix' => '<string>',
    'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

SharedWithPrefix
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload is shared.

Status
Type: string

The status of the share request.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'NextToken' => '<string>',
    'WorkloadId' => '<string>',
    'WorkloadShareSummaries' => [
        [
            'PermissionType' => 'READONLY|CONTRIBUTOR',
            'ShareId' => '<string>',
            'SharedWith' => '<string>',
            'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
            'StatusMessage' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadShareSummaries
Type: Array of WorkloadShareSummary structures

A list of workload share summaries.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

ListWorkloads

$result = $client->listWorkloads([/* ... */]);
$promise = $client->listWorkloadsAsync([/* ... */]);

Paginated list of workloads.

Parameter Syntax

$result = $client->listWorkloads([
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'WorkloadNamePrefix' => '<string>',
]);

Parameter Details

Members
MaxResults
Type: int

The maximum number of results to return for this request.

NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadNamePrefix
Type: string

An optional string added to the beginning of each workload name returned in the results.

Result Syntax

[
    'NextToken' => '<string>',
    'WorkloadSummaries' => [
        [
            'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
            'Lenses' => ['<string>', ...],
            'Owner' => '<string>',
            'PrioritizedRiskCounts' => [<integer>, ...],
            'Profiles' => [
                [
                    'ProfileArn' => '<string>',
                    'ProfileVersion' => '<string>',
                ],
                // ...
            ],
            'RiskCounts' => [<integer>, ...],
            'UpdatedAt' => <DateTime>,
            'WorkloadArn' => '<string>',
            'WorkloadId' => '<string>',
            'WorkloadName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The token to use to retrieve the next set of results.

WorkloadSummaries
Type: Array of WorkloadSummary structures

A list of workload summaries.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ThrottlingException:

Request was denied due to request throttling.

PutAgentRecommendationFeedback

$result = $client->putAgentRecommendationFeedback([/* ... */]);
$promise = $client->putAgentRecommendationFeedbackAsync([/* ... */]);

Submits user feedback on a recommendation to help improve future optimization suggestions and track implementation outcomes.

Parameter Syntax

$result = $client->putAgentRecommendationFeedback([
    'comments' => '<string>',
    'feedbackCategory' => 'OTHER|RECOMMENDATION_NOT_RELEVANT|RESOURCE_NOT_IMPORTANT|RESOURCE_TYPE_NOT_IMPORTANT|RECOMMENDATION_INCORRECT',
    'recommendationArn' => '<string>', // REQUIRED
    'type' => 'USEFUL|NOT_USEFUL', // REQUIRED
]);

Parameter Details

Members
comments
Type: string

Optional comments providing additional context about the feedback.

feedbackCategory
Type: string

Optional category classifying the nature of the feedback.

recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation to provide feedback for.

type
Required: Yes
Type: string

The type of feedback being provided.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

StartAgentRecommendationGeneration

$result = $client->startAgentRecommendationGeneration([/* ... */]);
$promise = $client->startAgentRecommendationGenerationAsync([/* ... */]);

Initiates a new recommendation generation process for the specified optimization profile. This asynchronous operation analyzes your Amazon Web Services resources and generates optimization recommendations based on the configured pillars and scope. Use GetAgentRecommendationGeneration to check status.

Parameter Syntax

$result = $client->startAgentRecommendationGeneration([
    'additionalContext' => [
    ],
    'name' => '<string>',
    'profileArn' => '<string>', // REQUIRED
    'scope' => [ // REQUIRED
        'goalIds' => ['<string>', ...],
        'items' => [
            [
                'ids' => ['<string>', ...], // REQUIRED
                'pillar' => 'COST_OPTIMIZATION|SECURITY|RESILIENCE|PERFORMANCE|OPERATIONAL_EXCELLENCE', // REQUIRED
            ],
            // ...
        ],
        'pillars' => ['<string>', ...], // REQUIRED
    ],
    'types' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
additionalContext
Type: document (null|bool|string|numeric) or an (array|associative array) whose members are all valid documents

Optional additional context to guide the recommendation generation, such as specific business requirements or constraints.

name
Type: string

An optional name for this generation process to help identify it in lists and logs.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile to use for generating recommendations.

scope
Required: Yes
Type: Scope structure

Scope configuration to focus the generation on specific pillars or goals.

types
Required: Yes
Type: Array of strings

The types of recommendations to generate.

Result Syntax

[
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'estimatedCompletionTime' => <DateTime>,
    'id' => '<string>',
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'name' => '<string>',
    'profileArn' => '<string>',
    'status' => 'QUEUED|IN_PROGRESS|COMPLETED|ERROR',
]

Result Details

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was started.

createdBy
Required: Yes
Type: string

The identifier of the user or system that started this generation.

estimatedCompletionTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The estimated time for the generation to complete.

id
Required: Yes
Type: string

The unique identifier of the recommendation generation.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this generation.

name
Type: string

The name of the recommendation generation.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile used for this generation.

status
Required: Yes
Type: string

The current status of the recommendation generation.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ThrottlingException:

Request was denied due to request throttling.

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds one or more tags to the specified resource.

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

Parameter Syntax

$result = $client->tagResource([
    'Tags' => ['<string>', ...], // REQUIRED
    'WorkloadArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
Tags
Required: Yes
Type: Associative array of custom strings keys (TagKey) to strings

The tags for the resource.

WorkloadArn
Required: Yes
Type: string

The ARN for the workload.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Deletes specified tags from a resource.

The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

To specify multiple tags, use separate tagKeys parameters, for example:

DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2

Parameter Syntax

$result = $client->untagResource([
    'TagKeys' => ['<string>', ...], // REQUIRED
    'WorkloadArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
TagKeys
Required: Yes
Type: Array of strings

A list of tag keys. Existing tags of the resource whose keys are members of this list are removed from the resource.

WorkloadArn
Required: Yes
Type: string

The ARN for the workload.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

UpdateAgentContext

$result = $client->updateAgentContext([/* ... */]);
$promise = $client->updateAgentContextAsync([/* ... */]);

Updates an existing context associated with a profile.

Parameter Syntax

$result = $client->updateAgentContext([
    'clientToken' => '<string>',
    'content' => [
        'accountIds' => ['<string>', ...],
        'additionalContext' => '<string>',
        'applicationOverview' => '<string>',
        'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
        'architectureOverview' => '<string>',
        'awsServices' => ['<string>', ...],
        'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
        'industry' => '<string>',
        'regions' => ['<string>', ...],
        'resourceTags' => [
            [
                'key' => '<string>', // REQUIRED
                'value' => '<string>', // REQUIRED
            ],
            // ...
        ],
        'resourceTypes' => ['<string>', ...],
    ],
    'id' => '<string>', // REQUIRED
    'profileArn' => '<string>', // REQUIRED
    'title' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

content
Type: ContextContent structure

The updated typed content of the context. The structure contains application-specific fields such as account IDs, Regions, services, and resource types.

id
Required: Yes
Type: string

The unique identifier of the context to update.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the context.

title
Type: string

The updated title of the context.

Result Syntax

[
    'context' => [
        'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
        'content' => [
            'accountIds' => ['<string>', ...],
            'additionalContext' => '<string>',
            'applicationOverview' => '<string>',
            'applicationType' => 'SAS|DESKTOP_APPLICATION|OTHER',
            'architectureOverview' => '<string>',
            'awsServices' => ['<string>', ...],
            'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
            'industry' => '<string>',
            'regions' => ['<string>', ...],
            'resourceTags' => [
                [
                    'key' => '<string>',
                    'value' => '<string>',
                ],
                // ...
            ],
            'resourceTypes' => ['<string>', ...],
        ],
        'contextType' => 'APPLICATION',
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'criticality' => 'MISSION_CRITICAL|BUSINESS_CRITICAL|NON_CRITICAL|TEST_DEVELOPMENT',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
context
Required: Yes
Type: ContextSummary structure

The updated context summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateAgentGoal

$result = $client->updateAgentGoal([/* ... */]);
$promise = $client->updateAgentGoalAsync([/* ... */]);

Updates the pillars and title of an existing goal associated with a profile.

Parameter Syntax

$result = $client->updateAgentGoal([
    'clientToken' => '<string>',
    'description' => '<string>',
    'id' => '<string>', // REQUIRED
    'pillars' => ['<string>', ...],
    'profileArn' => '<string>', // REQUIRED
    'title' => '<string>',
]);

Parameter Details

Members
clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

description
Type: string

A description of the goal.

id
Required: Yes
Type: string

The unique identifier of the goal to update.

pillars
Type: Array of strings

The updated pillars for the goal. Pillars define the optimization focus areas such as cost, performance, resilience, and operational excellence.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile containing the goal to update.

title
Type: string

The updated title for the goal. Maximum length of 1000 characters.

Result Syntax

[
    'goal' => [
        'createdAt' => <DateTime>,
        'createdBy' => '<string>',
        'description' => '<string>',
        'id' => '<string>',
        'lastModifiedAt' => <DateTime>,
        'lastModifiedBy' => '<string>',
        'pillars' => ['<string>', ...],
        'profileArn' => '<string>',
        'title' => '<string>',
    ],
]

Result Details

Members
goal
Required: Yes
Type: GoalSummary structure

The updated goal summary.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateAgentProfile

$result = $client->updateAgentProfile([/* ... */]);
$promise = $client->updateAgentProfileAsync([/* ... */]);

Updates an existing optimization profile's configuration, including its pillars, execution role, and aggregation settings.

Parameter Syntax

$result = $client->updateAgentProfile([
    'aggregationConfiguration' => [
        [
            'accessRoleArn' => '<string>', // REQUIRED
            'accountId' => '<string>', // REQUIRED
            'regions' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'businessOverview' => '<string>',
    'clientToken' => '<string>',
    'deletionProtection' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'executionRoleArn' => '<string>',
    'pillars' => ['<string>', ...],
    'profileArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
aggregationConfiguration
Type: Array of AggregationConfiguration structures

The updated aggregation configuration.

businessOverview
Type: string

The updated business overview for the profile.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled for the profile.

description
Type: string

The updated description of the profile.

displayName
Type: string

The updated display name of the profile.

executionRoleArn
Type: string

The updated ARN of the IAM execution role.

pillars
Type: Array of strings

The updated Well-Architected Tool Framework pillars for the profile.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile to update.

Result Syntax

[
    'aggregationConfiguration' => [
        [
            'accessRoleArn' => '<string>',
            'accountId' => '<string>',
            'regions' => ['<string>', ...],
        ],
        // ...
    ],
    'arn' => '<string>',
    'businessOverview' => '<string>',
    'createdAt' => <DateTime>,
    'createdBy' => '<string>',
    'deletionProtection' => true || false,
    'description' => '<string>',
    'displayName' => '<string>',
    'eligibleForArchitectureGeneration' => true || false,
    'eligibleForScheduledGeneration' => true || false,
    'executionRoleArn' => '<string>',
    'fieldErrors' => ['<string>', ...],
    'lastModifiedAt' => <DateTime>,
    'lastModifiedBy' => '<string>',
    'name' => '<string>',
    'pillars' => ['<string>', ...],
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
aggregationConfiguration
Required: Yes
Type: Array of AggregationConfiguration structures

The aggregation configuration.

arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the updated profile.

businessOverview
Type: string

The business overview of the updated profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this profile.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled.

description
Type: string

A description of the updated profile.

displayName
Type: string

The display name of the updated profile.

eligibleForArchitectureGeneration
Type: boolean

Indicates whether the profile is valid for manual architecture generation.

eligibleForScheduledGeneration
Type: boolean

Indicates whether the profile is valid for scheduled recommendation generation.

executionRoleArn
Required: Yes
Type: string

The ARN of the IAM execution role.

fieldErrors
Type: Associative array of custom strings keys (FieldErrorPath) to strings

A map of field paths to error messages for invalid or missing input fields.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this profile.

name
Required: Yes
Type: string

The system name of the updated profile.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars associated with the updated profile.

tags
Type: Array of Tag structures

The tags associated with the updated profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateAgentRecommendationStatus

$result = $client->updateAgentRecommendationStatus([/* ... */]);
$promise = $client->updateAgentRecommendationStatusAsync([/* ... */]);

Updates the status of a recommendation to track its progress through the implementation lifecycle.

Parameter Syntax

$result = $client->updateAgentRecommendationStatus([
    'recommendationArn' => '<string>', // REQUIRED
    'status' => 'ACTIVE|SUPPRESSED|COMPLETED', // REQUIRED
    'updateReason' => '<string>',
]);

Parameter Details

Members
recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation to update.

status
Required: Yes
Type: string

The new status to assign to the recommendation.

updateReason
Type: string

A free-text reason explaining this status update.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateAnswer

$result = $client->updateAnswer([/* ... */]);
$promise = $client->updateAnswerAsync([/* ... */]);

Update the answer to a specific question in a workload review.

Parameter Syntax

$result = $client->updateAnswer([
    'ChoiceUpdates' => [
        '<ChoiceId>' => [
            'Notes' => '<string>',
            'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
            'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED', // REQUIRED
        ],
        // ...
    ],
    'IsApplicable' => true || false,
    'LensAlias' => '<string>', // REQUIRED
    'Notes' => '<string>',
    'QuestionId' => '<string>', // REQUIRED
    'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
    'SelectedChoices' => ['<string>', ...],
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChoiceUpdates
Type: Associative array of custom strings keys (ChoiceId) to ChoiceUpdate structures

A list of choices to update on a question in your workload. The String key corresponds to the choice ID to be updated.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

QuestionId
Required: Yes
Type: string

The ID of the question.

Reason
Type: string

The reason why a question is not applicable to your workload.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'Answer' => [
        'ChoiceAnswers' => [
            [
                'ChoiceId' => '<string>',
                'Notes' => '<string>',
                'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
            ],
            // ...
        ],
        'Choices' => [
            [
                'AdditionalResources' => [
                    [
                        'Content' => [
                            [
                                'DisplayText' => '<string>',
                                'Url' => '<string>',
                            ],
                            // ...
                        ],
                        'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                    ],
                    // ...
                ],
                'ChoiceId' => '<string>',
                'Description' => '<string>',
                'HelpfulResource' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'ImprovementPlan' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'Title' => '<string>',
            ],
            // ...
        ],
        'HelpfulResourceDisplayText' => '<string>',
        'HelpfulResourceUrl' => '<string>',
        'ImprovementPlanUrl' => '<string>',
        'IsApplicable' => true || false,
        'JiraConfiguration' => [
            'JiraIssueUrl' => '<string>',
            'LastSyncedTime' => <DateTime>,
        ],
        'Notes' => '<string>',
        'PillarId' => '<string>',
        'QuestionDescription' => '<string>',
        'QuestionId' => '<string>',
        'QuestionTitle' => '<string>',
        'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
        'Risk' => 'UNANSWERED|HIGH|MEDIUM|NONE|NOT_APPLICABLE',
        'SelectedChoices' => ['<string>', ...],
    ],
    'LensAlias' => '<string>',
    'LensArn' => '<string>',
    'WorkloadId' => '<string>',
]

Result Details

Members
Answer
Type: Answer structure

An answer of the question.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateGlobalSettings

$result = $client->updateGlobalSettings([/* ... */]);
$promise = $client->updateGlobalSettingsAsync([/* ... */]);

Update whether the Amazon Web Services account is opted into organization sharing and discovery integration features.

Parameter Syntax

$result = $client->updateGlobalSettings([
    'DiscoveryIntegrationStatus' => 'ENABLED|DISABLED',
    'JiraConfiguration' => [
        'IntegrationStatus' => 'NOT_CONFIGURED',
        'IssueManagementStatus' => 'ENABLED|DISABLED',
        'IssueManagementType' => 'AUTO|MANUAL',
        'JiraProjectKey' => '<string>',
    ],
    'OrganizationSharingStatus' => 'ENABLED|DISABLED',
]);

Parameter Details

Members
DiscoveryIntegrationStatus
Type: string

The status of discovery support settings.

JiraConfiguration

The status of Jira integration settings.

OrganizationSharingStatus
Type: string

The status of organization sharing settings.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ThrottlingException:

Request was denied due to request throttling.

UpdateIntegration

$result = $client->updateIntegration([/* ... */]);
$promise = $client->updateIntegrationAsync([/* ... */]);

Update integration features.

Parameter Syntax

$result = $client->updateIntegration([
    'ClientRequestToken' => '<string>', // REQUIRED
    'IntegratingService' => 'JIRA', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Required: Yes
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

IntegratingService
Required: Yes
Type: string

Which integrated service to update.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateLensReview

$result = $client->updateLensReview([/* ... */]);
$promise = $client->updateLensReviewAsync([/* ... */]);

Update lens review for a particular workload.

Parameter Syntax

$result = $client->updateLensReview([
    'JiraConfiguration' => [
        'SelectedPillars' => [
            [
                'PillarId' => '<string>',
                'SelectedQuestionIds' => ['<string>', ...],
            ],
            // ...
        ],
    ],
    'LensAlias' => '<string>', // REQUIRED
    'LensNotes' => '<string>',
    'PillarNotes' => ['<string>', ...],
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
JiraConfiguration

Configuration of the Jira integration.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensNotes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarNotes
Type: Associative array of custom strings keys (PillarId) to strings

List of pillar notes of a lens review in a workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'LensReview' => [
        'JiraConfiguration' => [
            'SelectedPillars' => [
                [
                    'PillarId' => '<string>',
                    'SelectedQuestionIds' => ['<string>', ...],
                ],
                // ...
            ],
        ],
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
        'LensName' => '<string>',
        'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
        'LensVersion' => '<string>',
        'NextToken' => '<string>',
        'Notes' => '<string>',
        'PillarReviewSummaries' => [
            [
                'Notes' => '<string>',
                'PillarId' => '<string>',
                'PillarName' => '<string>',
                'PrioritizedRiskCounts' => [<integer>, ...],
                'RiskCounts' => [<integer>, ...],
            ],
            // ...
        ],
        'PrioritizedRiskCounts' => [<integer>, ...],
        'Profiles' => [
            [
                'ProfileArn' => '<string>',
                'ProfileVersion' => '<string>',
            ],
            // ...
        ],
        'RiskCounts' => [<integer>, ...],
        'UpdatedAt' => <DateTime>,
    ],
    'WorkloadId' => '<string>',
]

Result Details

Members
LensReview
Type: LensReview structure

A lens review of a question.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateProfile

$result = $client->updateProfile([/* ... */]);
$promise = $client->updateProfileAsync([/* ... */]);

Update a profile.

Parameter Syntax

$result = $client->updateProfile([
    'ProfileArn' => '<string>', // REQUIRED
    'ProfileDescription' => '<string>',
    'ProfileQuestions' => [
        [
            'QuestionId' => '<string>',
            'SelectedChoiceIds' => ['<string>', ...],
        ],
        // ...
    ],
]);

Parameter Details

Members
ProfileArn
Required: Yes
Type: string

The profile ARN.

ProfileDescription
Type: string

The profile description.

ProfileQuestions
Type: Array of ProfileQuestionUpdate structures

Profile questions.

Result Syntax

[
    'Profile' => [
        'CreatedAt' => <DateTime>,
        'Owner' => '<string>',
        'ProfileArn' => '<string>',
        'ProfileDescription' => '<string>',
        'ProfileName' => '<string>',
        'ProfileQuestions' => [
            [
                'MaxSelectedChoices' => <integer>,
                'MinSelectedChoices' => <integer>,
                'QuestionChoices' => [
                    [
                        'ChoiceDescription' => '<string>',
                        'ChoiceId' => '<string>',
                        'ChoiceTitle' => '<string>',
                    ],
                    // ...
                ],
                'QuestionDescription' => '<string>',
                'QuestionId' => '<string>',
                'QuestionTitle' => '<string>',
                'SelectedChoiceIds' => ['<string>', ...],
            ],
            // ...
        ],
        'ProfileVersion' => '<string>',
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'UpdatedAt' => <DateTime>,
    ],
]

Result Details

Members
Profile
Type: Profile structure

The profile.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateReviewTemplate

$result = $client->updateReviewTemplate([/* ... */]);
$promise = $client->updateReviewTemplateAsync([/* ... */]);

Update a review template.

Parameter Syntax

$result = $client->updateReviewTemplate([
    'Description' => '<string>',
    'LensesToAssociate' => ['<string>', ...],
    'LensesToDisassociate' => ['<string>', ...],
    'Notes' => '<string>',
    'TemplateArn' => '<string>', // REQUIRED
    'TemplateName' => '<string>',
]);

Parameter Details

Members
Description
Type: string

The review template description.

LensesToAssociate
Type: Array of strings

A list of lens aliases or ARNs to apply to the review template.

LensesToDisassociate
Type: Array of strings

A list of lens aliases or ARNs to unapply to the review template. The wellarchitected lens cannot be unapplied.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

TemplateArn
Required: Yes
Type: string

The review template ARN.

TemplateName
Type: string

The review template name.

Result Syntax

[
    'ReviewTemplate' => [
        'Description' => '<string>',
        'Lenses' => ['<string>', ...],
        'Notes' => '<string>',
        'Owner' => '<string>',
        'QuestionCounts' => [<integer>, ...],
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'TemplateArn' => '<string>',
        'TemplateName' => '<string>',
        'UpdateStatus' => 'CURRENT|LENS_NOT_CURRENT',
        'UpdatedAt' => <DateTime>,
    ],
]

Result Details

Members
ReviewTemplate
Type: ReviewTemplate structure

A review template.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateReviewTemplateAnswer

$result = $client->updateReviewTemplateAnswer([/* ... */]);
$promise = $client->updateReviewTemplateAnswerAsync([/* ... */]);

Update a review template answer.

Parameter Syntax

$result = $client->updateReviewTemplateAnswer([
    'ChoiceUpdates' => [
        '<ChoiceId>' => [
            'Notes' => '<string>',
            'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
            'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED', // REQUIRED
        ],
        // ...
    ],
    'IsApplicable' => true || false,
    'LensAlias' => '<string>', // REQUIRED
    'Notes' => '<string>',
    'QuestionId' => '<string>', // REQUIRED
    'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
    'SelectedChoices' => ['<string>', ...],
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChoiceUpdates
Type: Associative array of custom strings keys (ChoiceId) to ChoiceUpdate structures

A list of choices to be updated.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

QuestionId
Required: Yes
Type: string

The ID of the question.

Reason
Type: string

The update reason.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'Answer' => [
        'AnswerStatus' => 'UNANSWERED|ANSWERED',
        'ChoiceAnswers' => [
            [
                'ChoiceId' => '<string>',
                'Notes' => '<string>',
                'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
                'Status' => 'SELECTED|NOT_APPLICABLE|UNSELECTED',
            ],
            // ...
        ],
        'Choices' => [
            [
                'AdditionalResources' => [
                    [
                        'Content' => [
                            [
                                'DisplayText' => '<string>',
                                'Url' => '<string>',
                            ],
                            // ...
                        ],
                        'Type' => 'HELPFUL_RESOURCE|IMPROVEMENT_PLAN',
                    ],
                    // ...
                ],
                'ChoiceId' => '<string>',
                'Description' => '<string>',
                'HelpfulResource' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'ImprovementPlan' => [
                    'DisplayText' => '<string>',
                    'Url' => '<string>',
                ],
                'Title' => '<string>',
            ],
            // ...
        ],
        'HelpfulResourceDisplayText' => '<string>',
        'HelpfulResourceUrl' => '<string>',
        'ImprovementPlanUrl' => '<string>',
        'IsApplicable' => true || false,
        'Notes' => '<string>',
        'PillarId' => '<string>',
        'QuestionDescription' => '<string>',
        'QuestionId' => '<string>',
        'QuestionTitle' => '<string>',
        'Reason' => 'OUT_OF_SCOPE|BUSINESS_PRIORITIES|ARCHITECTURE_CONSTRAINTS|OTHER|NONE',
        'SelectedChoices' => ['<string>', ...],
    ],
    'LensAlias' => '<string>',
    'TemplateArn' => '<string>',
]

Result Details

Members
Answer
Type: ReviewTemplateAnswer structure

An answer of the question.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateReviewTemplateLensReview

$result = $client->updateReviewTemplateLensReview([/* ... */]);
$promise = $client->updateReviewTemplateLensReviewAsync([/* ... */]);

Update a lens review associated with a review template.

Parameter Syntax

$result = $client->updateReviewTemplateLensReview([
    'LensAlias' => '<string>', // REQUIRED
    'LensNotes' => '<string>',
    'PillarNotes' => ['<string>', ...],
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensNotes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarNotes
Type: Associative array of custom strings keys (PillarId) to strings

List of pillar notes of a lens review in a workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

TemplateArn
Required: Yes
Type: string

The review template ARN.

Result Syntax

[
    'LensReview' => [
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
        'LensName' => '<string>',
        'LensStatus' => 'CURRENT|NOT_CURRENT|DEPRECATED|DELETED|UNSHARED',
        'LensVersion' => '<string>',
        'NextToken' => '<string>',
        'Notes' => '<string>',
        'PillarReviewSummaries' => [
            [
                'Notes' => '<string>',
                'PillarId' => '<string>',
                'PillarName' => '<string>',
                'QuestionCounts' => [<integer>, ...],
            ],
            // ...
        ],
        'QuestionCounts' => [<integer>, ...],
        'UpdatedAt' => <DateTime>,
    ],
    'TemplateArn' => '<string>',
]

Result Details

Members
LensReview
Type: ReviewTemplateLensReview structure

A lens review of a question.

TemplateArn
Type: string

The review template ARN.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateShareInvitation

$result = $client->updateShareInvitation([/* ... */]);
$promise = $client->updateShareInvitationAsync([/* ... */]);

Update a workload or custom lens share invitation.

This API operation can be called independently of any resource. Previous documentation implied that a workload ARN must be specified.

Parameter Syntax

$result = $client->updateShareInvitation([
    'ShareInvitationAction' => 'ACCEPT|REJECT', // REQUIRED
    'ShareInvitationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ShareInvitationAction
Required: Yes
Type: string

Share invitation action taken by contributor.

ShareInvitationId
Required: Yes
Type: string

The ID assigned to the share invitation.

Result Syntax

[
    'ShareInvitation' => [
        'LensAlias' => '<string>',
        'LensArn' => '<string>',
        'ProfileArn' => '<string>',
        'ShareInvitationId' => '<string>',
        'ShareResourceType' => 'WORKLOAD|LENS|PROFILE|TEMPLATE',
        'TemplateArn' => '<string>',
        'WorkloadId' => '<string>',
    ],
]

Result Details

Members
ShareInvitation
Type: ShareInvitation structure

The updated workload or custom lens share invitation.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateWorkload

$result = $client->updateWorkload([/* ... */]);
$promise = $client->updateWorkloadAsync([/* ... */]);

Update an existing workload.

Parameter Syntax

$result = $client->updateWorkload([
    'AccountIds' => ['<string>', ...],
    'Applications' => ['<string>', ...],
    'ArchitecturalDesign' => '<string>',
    'AwsRegions' => ['<string>', ...],
    'Description' => '<string>',
    'DiscoveryConfig' => [
        'TrustedAdvisorIntegrationStatus' => 'ENABLED|DISABLED',
        'WorkloadResourceDefinition' => ['<string>', ...],
    ],
    'Environment' => 'PRODUCTION|PREPRODUCTION',
    'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
    'Industry' => '<string>',
    'IndustryType' => '<string>',
    'IsReviewOwnerUpdateAcknowledged' => true || false,
    'JiraConfiguration' => [
        'IssueManagementStatus' => 'ENABLED|DISABLED|INHERIT',
        'IssueManagementType' => 'AUTO|MANUAL',
        'JiraProjectKey' => '<string>',
    ],
    'NonAwsRegions' => ['<string>', ...],
    'Notes' => '<string>',
    'PillarPriorities' => ['<string>', ...],
    'ReviewOwner' => '<string>',
    'WorkloadId' => '<string>', // REQUIRED
    'WorkloadName' => '<string>',
]);

Parameter Details

Members
AccountIds
Type: Array of strings

The list of Amazon Web Services account IDs associated with the workload.

Applications
Type: Array of strings

List of AppRegistry application ARNs to associate to the workload.

ArchitecturalDesign
Type: string

The URL of the architectural design for the workload.

AwsRegions
Type: Array of strings

The list of Amazon Web Services Regions associated with the workload, for example, us-east-2, or ca-central-1.

Description
Type: string

The description for the workload.

DiscoveryConfig
Type: WorkloadDiscoveryConfig structure

Well-Architected discovery configuration settings to associate to the workload.

Environment
Type: string

The environment for the workload.

ImprovementStatus
Type: string

The improvement status for a workload.

Industry
Type: string

The industry for the workload.

IndustryType
Type: string

The industry type for the workload.

If specified, must be one of the following:

  • Agriculture

  • Automobile

  • Defense

  • Design and Engineering

  • Digital Advertising

  • Education

  • Environmental Protection

  • Financial Services

  • Gaming

  • General Public Services

  • Healthcare

  • Hospitality

  • InfoTech

  • Justice and Public Safety

  • Life Sciences

  • Manufacturing

  • Media & Entertainment

  • Mining & Resources

  • Oil & Gas

  • Power & Utilities

  • Professional Services

  • Real Estate & Construction

  • Retail & Wholesale

  • Social Protection

  • Telecommunications

  • Travel, Transportation & Logistics

  • Other

IsReviewOwnerUpdateAcknowledged
Type: boolean

Flag indicating whether the workload owner has acknowledged that the Review owner field is required.

If a Review owner is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.

JiraConfiguration

Configuration of the Jira integration.

NonAwsRegions
Type: Array of strings

The list of non-Amazon Web Services Regions associated with the workload.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarPriorities
Type: Array of strings

The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its PillarReviewSummary$PillarId.

ReviewOwner
Type: string

The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

Result Syntax

[
    'Workload' => [
        'AccountIds' => ['<string>', ...],
        'Applications' => ['<string>', ...],
        'ArchitecturalDesign' => '<string>',
        'AwsRegions' => ['<string>', ...],
        'Description' => '<string>',
        'DiscoveryConfig' => [
            'TrustedAdvisorIntegrationStatus' => 'ENABLED|DISABLED',
            'WorkloadResourceDefinition' => ['<string>', ...],
        ],
        'Environment' => 'PRODUCTION|PREPRODUCTION',
        'ImprovementStatus' => 'NOT_APPLICABLE|NOT_STARTED|IN_PROGRESS|COMPLETE|RISK_ACKNOWLEDGED',
        'Industry' => '<string>',
        'IndustryType' => '<string>',
        'IsReviewOwnerUpdateAcknowledged' => true || false,
        'JiraConfiguration' => [
            'IssueManagementStatus' => 'ENABLED|DISABLED|INHERIT',
            'IssueManagementType' => 'AUTO|MANUAL',
            'JiraProjectKey' => '<string>',
            'StatusMessage' => '<string>',
        ],
        'Lenses' => ['<string>', ...],
        'NonAwsRegions' => ['<string>', ...],
        'Notes' => '<string>',
        'Owner' => '<string>',
        'PillarPriorities' => ['<string>', ...],
        'PrioritizedRiskCounts' => [<integer>, ...],
        'Profiles' => [
            [
                'ProfileArn' => '<string>',
                'ProfileVersion' => '<string>',
            ],
            // ...
        ],
        'ReviewOwner' => '<string>',
        'ReviewRestrictionDate' => <DateTime>,
        'RiskCounts' => [<integer>, ...],
        'ShareInvitationId' => '<string>',
        'Tags' => ['<string>', ...],
        'UpdatedAt' => <DateTime>,
        'WorkloadArn' => '<string>',
        'WorkloadId' => '<string>',
        'WorkloadName' => '<string>',
    ],
]

Result Details

Members
Workload
Type: Workload structure

A workload return object.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpdateWorkloadShare

$result = $client->updateWorkloadShare([/* ... */]);
$promise = $client->updateWorkloadShareAsync([/* ... */]);

Update a workload share.

Parameter Syntax

$result = $client->updateWorkloadShare([
    'PermissionType' => 'READONLY|CONTRIBUTOR', // REQUIRED
    'ShareId' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
PermissionType
Required: Yes
Type: string

Permission granted on a share request.

ShareId
Required: Yes
Type: string

The ID associated with the share.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[
    'WorkloadId' => '<string>',
    'WorkloadShare' => [
        'PermissionType' => 'READONLY|CONTRIBUTOR',
        'ShareId' => '<string>',
        'SharedBy' => '<string>',
        'SharedWith' => '<string>',
        'Status' => 'ACCEPTED|REJECTED|PENDING|REVOKED|EXPIRED|ASSOCIATING|ASSOCIATED|FAILED',
        'WorkloadId' => '<string>',
        'WorkloadName' => '<string>',
    ],
]

Result Details

Members
WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadShare
Type: WorkloadShare structure

A workload share return object.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpgradeLensReview

$result = $client->upgradeLensReview([/* ... */]);
$promise = $client->upgradeLensReviewAsync([/* ... */]);

Upgrade lens review for a particular workload.

Parameter Syntax

$result = $client->upgradeLensReview([
    'ClientRequestToken' => '<string>',
    'LensAlias' => '<string>', // REQUIRED
    'MilestoneName' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

MilestoneName
Required: Yes
Type: string

The name of the milestone in a workload.

Milestone names must be unique within a workload.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpgradeProfileVersion

$result = $client->upgradeProfileVersion([/* ... */]);
$promise = $client->upgradeProfileVersionAsync([/* ... */]);

Upgrade a profile.

Parameter Syntax

$result = $client->upgradeProfileVersion([
    'ClientRequestToken' => '<string>',
    'MilestoneName' => '<string>',
    'ProfileArn' => '<string>', // REQUIRED
    'WorkloadId' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

MilestoneName
Type: string

The name of the milestone in a workload.

Milestone names must be unique within a workload.

ProfileArn
Required: Yes
Type: string

The profile ARN.

WorkloadId
Required: Yes
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ServiceQuotaExceededException:

The user has reached their resource quota.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

UpgradeReviewTemplateLensReview

$result = $client->upgradeReviewTemplateLensReview([/* ... */]);
$promise = $client->upgradeReviewTemplateLensReviewAsync([/* ... */]);

Upgrade the lens review of a review template.

Parameter Syntax

$result = $client->upgradeReviewTemplateLensReview([
    'ClientRequestToken' => '<string>',
    'LensAlias' => '<string>', // REQUIRED
    'TemplateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ClientRequestToken
Type: string

A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

LensAlias
Required: Yes
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

TemplateArn
Required: Yes
Type: string

The ARN of the review template.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

AccessDeniedException:

User does not have sufficient access to perform this action.

ValidationException:

The user input is not valid.

InternalServerException:

There is a problem with the Well-Architected Tool API service.

ConflictException:

The resource has already been processed, was deleted, or is too large.

ResourceNotFoundException:

The requested resource was not found.

ThrottlingException:

Request was denied due to request throttling.

Shapes

AccessDeniedException

Description

User does not have sufficient access to perform this action.

Members
Message
Required: Yes
Type: string

Description of the error.

AccountJiraConfigurationInput

Description

Account-level: Input for the Jira configuration.

Members
IntegrationStatus
Type: string

Account-level: Configuration status of the Jira integration.

IssueManagementStatus
Type: string

Account-level: Jira issue management status.

IssueManagementType
Type: string

Account-level: Jira issue management type.

JiraProjectKey
Type: string

Account-level: Jira project key to sync workloads to.

AccountJiraConfigurationOutput

Description

Account-level: Output configuration of the Jira integration.

Members
IntegrationStatus
Type: string

Account-level: Configuration status of the Jira integration.

IssueManagementStatus
Type: string

Account-level: Jira issue management status.

IssueManagementType
Type: string

Account-level: Jira issue management type.

JiraProjectKey
Type: string

Account-level: Jira project key to sync workloads to.

StatusMessage
Type: string

Account-level: Status message on configuration of the Jira integration.

Subdomain
Type: string

Account-level: Jira subdomain URL.

AdditionalResources

Description

The choice level additional resources for a custom lens.

This field does not apply to Amazon Web Services official lenses.

Members
Content
Type: Array of ChoiceContent structures

The URLs for additional resources, either helpful resources or improvement plans, for a custom lens. Up to five additional URLs can be specified.

Type
Type: string

Type of additional resource for a custom lens.

AgentProfileSummary

Description

Summary of an optimization profile, including its configuration, metadata, and audit information.

Members
aggregationConfiguration
Required: Yes
Type: Array of AggregationConfiguration structures

The aggregation configuration that defines which Amazon Web Services accounts and Regions to analyze.

arn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the optimization profile.

businessOverview
Type: string

The business overview for this profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this profile.

deletionProtection
Type: boolean

Indicates whether deletion protection is enabled for the profile.

description
Type: string

A description of the profile.

displayName
Type: string

The display name of the profile shown to users.

eligibleForArchitectureGeneration
Type: boolean

Indicates whether the profile is valid for manual architecture generation.

eligibleForScheduledGeneration
Type: boolean

Indicates whether the profile is valid for scheduled recommendation generation.

executionRoleArn
Required: Yes
Type: string

The ARN of the IAM execution role used for recommendation actions.

fieldErrors
Type: Associative array of custom strings keys (FieldErrorPath) to strings

A map of field paths to error messages for invalid or missing input fields.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the profile was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this profile.

name
Required: Yes
Type: string

The system name of the profile.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars associated with this profile.

tags
Type: Array of Tag structures

The tags associated with the profile.

AgentRecommendationGenerationSummary

Description

Summary of a recommendation generation process initiated through the agent API.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was started.

createdBy
Required: Yes
Type: string

The identifier of the user or system that started this generation.

estimatedCompletionTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The estimated time for the generation to complete.

id
Required: Yes
Type: string

The unique identifier of the recommendation generation.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the generation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this generation.

name
Type: string

The name of the recommendation generation.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the profile used for this generation.

status
Required: Yes
Type: string

The current status of the recommendation generation.

AgentRecommendationItemSummary

Description

Summary of an agent recommendation item, representing an Amazon Web Services resource or recommendation affected by the optimization recommendation.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation item was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this recommendation item.

id
Required: Yes
Type: string

The unique identifier of the recommendation item.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation item was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this recommendation item.

metadata
Required: Yes
Type: document (null|bool|string|numeric) or an (array|associative array) whose members are all valid documents

Metadata containing a snapshot of the resource or recommendation at the time of generation.

recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the associated recommendation.

type
Required: Yes
Type: string

The type of the recommendation item.

AgentRecommendationRemediation

Description

The core fields for a remediation.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the remediation was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this remediation.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the remediation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this remediation.

recommendationArn
Required: Yes
Type: string

The ARN of the recommendation that this remediation belongs to.

resourceLinks
Type: Array of ResourceLink structures

External references associated with the steps.

steps
Required: Yes
Type: Array of RemediationStep structures

The procedural steps to perform the remediation.

type
Required: Yes
Type: string

The remediation method.

AgentRecommendationSummary

Description

Summary of an agent optimization recommendation returned by list operations.

Members
applications
Type: Array of strings

The applications that the recommendation targets.

awsServices
Type: Array of strings

The Amazon Web Services services that the recommendation applies to.

businessUnits
Type: Array of strings

The business units that own the affected resources.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this recommendation.

description
Required: Yes
Type: string

A description of the recommendation.

effort
Required: Yes
Type: string

The effort required to implement the recommendation.

impact
Required: Yes
Type: string

The severity of the recommendation's impact.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the recommendation was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this recommendation.

numberOfResources
Type: int

The number of Amazon Web Services resources this recommendation affects.

pillar
Required: Yes
Type: string

The Well-Architected Tool Framework pillar that the recommendation addresses.

priority
Required: Yes
Type: string

The priority of the recommendation.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the associated profile.

recommendationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the recommendation.

roi
Required: Yes
Type: Roi structure

The return on investment estimate for the recommendation.

state
Required: Yes
Type: string

The current state of the recommendation.

status
Required: Yes
Type: string

The current status of the recommendation.

title
Required: Yes
Type: string

The title of the recommendation.

type
Required: Yes
Type: string

The type of the recommendation.

updateReason
Type: string

The free-text reason associated with the recommendation's most recent status update.

AggregationConfiguration

Description

Configuration settings that define the scope of Amazon Web Services resources to analyze for optimization recommendations.

Members
accessRoleArn
Required: Yes
Type: string

The ARN of an IAM role to assume for resource analysis in this account.

accountId
Required: Yes
Type: string

The Amazon Web Services account ID to analyze.

regions
Required: Yes
Type: Array of strings

A list of Amazon Web Services Regions to include in the analysis.

Answer

Description

An answer of the question.

Members
ChoiceAnswers
Type: Array of ChoiceAnswer structures

A list of selected choices to a question in your workload.

Choices
Type: Array of Choice structures

List of choices available for a question.

HelpfulResourceDisplayText
Type: string

The helpful resource text to be displayed for a custom lens.

This field does not apply to Amazon Web Services official lenses.

HelpfulResourceUrl
Type: string

The helpful resource URL.

For Amazon Web Services official lenses, this is the helpful resource URL for a question or choice.

For custom lenses, this is the helpful resource URL for a question and is only provided if HelpfulResourceDisplayText was specified for the question.

ImprovementPlanUrl
Type: string

The improvement plan URL for a question in an Amazon Web Services official lenses.

This value is only available if the question has been answered.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

JiraConfiguration
Type: JiraConfiguration structure

Configuration of the Jira integration.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionDescription
Type: string

The description of the question.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

Reason
Type: string

The reason why the question is not applicable to your workload.

Risk
Type: string

The risk for a given workload, lens review, pillar, or question.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

AnswerSummary

Description

An answer summary of a lens review in a workload.

Members
ChoiceAnswerSummaries
Type: Array of ChoiceAnswerSummary structures

A list of selected choices to a question in your workload.

Choices
Type: Array of Choice structures

List of choices available for a question.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

JiraConfiguration
Type: JiraConfiguration structure

Configuration of the Jira integration.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

QuestionType
Type: string

The type of the question.

Reason
Type: string

The reason why a choice is non-applicable to a question in your workload.

Risk
Type: string

The risk for a given workload, lens review, pillar, or question.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

BestPractice

Description

A best practice, or question choice, that has been identified as a risk in this question.

Members
ChoiceId
Type: string

The ID of a choice.

ChoiceTitle
Type: string

The title of a choice.

CheckDetail

Description

Account details for a Well-Architected best practice in relation to Trusted Advisor checks.

Members
AccountId
Type: string

An Amazon Web Services account ID.

ChoiceId
Type: string

The ID of a choice.

Description
Type: string

Trusted Advisor check description.

FlaggedResources
Type: int

Count of flagged resources associated to the check.

Id
Type: string

Trusted Advisor check ID.

LensArn
Type: string

Well-Architected Lens ARN associated to the check.

Name
Type: string

Trusted Advisor check name.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

Provider
Type: string

Provider of the check related to the best practice.

QuestionId
Type: string

The ID of the question.

Reason
Type: string

Reason associated to the check.

Status
Type: string

Status associated to the check.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the check was last updated.

CheckSummary

Description

Trusted Advisor check summary.

Members
AccountSummary
Type: Associative array of custom strings keys (CheckStatus) to ints

Account summary associated to the check.

ChoiceId
Type: string

The ID of a choice.

Description
Type: string

Trusted Advisor check description.

Id
Type: string

Trusted Advisor check ID.

LensArn
Type: string

Well-Architected Lens ARN associated to the check.

Name
Type: string

Trusted Advisor check name.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

Provider
Type: string

Provider of the check related to the best practice.

QuestionId
Type: string

The ID of the question.

Status
Type: string

Status associated to the check.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the check summary was last updated.

Choice

Description

A choice available to answer question.

Members
AdditionalResources
Type: Array of AdditionalResources structures

The additional resources for a choice in a custom lens.

A choice can have up to two additional resources: one of type HELPFUL_RESOURCE, one of type IMPROVEMENT_PLAN, or both.

ChoiceId
Type: string

The ID of a choice.

Description
Type: string

The description of a choice.

HelpfulResource
Type: ChoiceContent structure

The helpful resource (both text and URL) for a particular choice.

This field only applies to custom lenses. Each choice can have only one helpful resource.

ImprovementPlan
Type: ChoiceContent structure

The improvement plan (both text and URL) for a particular choice.

This field only applies to custom lenses. Each choice can have only one improvement plan.

Title
Type: string

The title of a choice.

ChoiceAnswer

Description

A choice that has been answered on a question in your workload.

Members
ChoiceId
Type: string

The ID of a choice.

Notes
Type: string

The notes associated with a choice.

Reason
Type: string

The reason why a choice is non-applicable to a question in your workload.

Status
Type: string

The status of a choice.

ChoiceAnswerSummary

Description

A choice summary that has been answered on a question in your workload.

Members
ChoiceId
Type: string

The ID of a choice.

Reason
Type: string

The reason why a choice is non-applicable to a question in your workload.

Status
Type: string

The status of a choice.

ChoiceContent

Description

The choice content.

Members
DisplayText
Type: string

The display text for the choice content.

Url
Type: string

The URL for the choice content.

ChoiceImprovementPlan

Description

The choice level improvement plan.

This value is only applicable to custom lenses.

Members
ChoiceId
Type: string

The ID of a choice.

DisplayText
Type: string

The display text for the improvement plan.

ImprovementPlanUrl
Type: string

The improvement plan URL for a question in an Amazon Web Services official lenses.

This value is only available if the question has been answered.

ChoiceUpdate

Description

A list of choices to be updated.

Members
Notes
Type: string

The notes associated with a choice.

Reason
Type: string

The reason why a choice is non-applicable to a question in your workload.

Status
Required: Yes
Type: string

The status of a choice.

ConflictException

Description

The resource has already been processed, was deleted, or is too large.

Members
Message
Required: Yes
Type: string

Description of the error.

ResourceId
Required: Yes
Type: string

Identifier of the resource affected.

ResourceType
Required: Yes
Type: string

Type of the resource affected.

ConsolidatedReportMetric

Description

A metric that contributes to the consolidated report.

Members
Lenses
Type: Array of LensMetric structures

The metrics for the lenses in the workload.

LensesAppliedCount
Type: int

The total number of lenses applied to the workload.

MetricType
Type: string

The metric type of a metric in the consolidated report. Currently only WORKLOAD metric types are supported.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the consolidated report metric was last updated.

WorkloadArn
Type: string

The ARN for the workload.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

ContextContent

Description

Typed content structure for a context. Contains application-specific fields that describe the environment used during recommendation generation.

Members
accountIds
Type: Array of strings

The Amazon Web Services account IDs associated with this application context.

additionalContext
Type: string

Additional context not captured by other fields.

applicationOverview
Type: string

A free-form overview of the application.

applicationType
Type: string

The type of the application.

architectureOverview
Type: string

A free-form description of the application architecture.

awsServices
Type: Array of strings

The Amazon Web Services services used by this application.

criticality
Type: string

The business criticality of the application.

industry
Type: string

The industry vertical for this application.

regions
Type: Array of strings

The Amazon Web Services Regions where this application operates.

resourceTags
Type: Array of ContextResourceTag structures

Resource tags used to scope this application context.

resourceTypes
Type: Array of strings

The Amazon Web Services resource types relevant to this application.

ContextResourceTag

Description

A key-value pair representing a resource tag used to scope context content.

Members
key
Required: Yes
Type: string

The tag key.

value
Required: Yes
Type: string

The tag value.

ContextSummary

Description

Summary of a context associated with a profile, representing application or environment information used during recommendation generation.

Members
applicationType
Type: string

The type of application described by this context.

content
Required: Yes
Type: ContextContent structure

The typed content of the context, containing application-specific fields such as account IDs, Regions, services, and resource types.

contextType
Required: Yes
Type: string

The type of the context.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the context was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this context.

criticality
Type: string

The business criticality of the application described by this context.

id
Required: Yes
Type: string

The unique identifier of the context.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the context was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this context.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the associated profile.

title
Required: Yes
Type: string

The title of the context.

CrossPillarBenefit

Description

A benefit on a different pillar from acting on the recommendation.

Members
description
Required: Yes
Type: string

A description of what changes and why it matters.

impact
Required: Yes
Type: string

The severity of the benefit.

pillar
Required: Yes
Type: string

The pillar that would be positively impacted.

title
Required: Yes
Type: string

A short phrase describing the outcome.

Document

Members

ErrorDetails

Description

Details about an error that occurred during recommendation generation.

Members
code
Required: Yes
Type: string

The status code identifying the type of error.

message
Required: Yes
Type: string

A human-readable description of the error.

GoalSummary

Description

Summary of an optimization goal associated with a profile.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the goal was created.

createdBy
Required: Yes
Type: string

The identifier of the user or system that created this goal.

description
Type: string

A description of the goal.

id
Required: Yes
Type: string

The unique identifier of the goal.

lastModifiedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp when the goal was last modified.

lastModifiedBy
Type: string

The identifier of the user or system that last modified this goal.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars associated with this goal.

profileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the associated profile.

title
Required: Yes
Type: string

The title of the goal.

ImprovementSummary

Description

An improvement summary of a lens review in a workload.

Members
ImprovementPlanUrl
Type: string

The improvement plan URL for a question in an Amazon Web Services official lenses.

This value is only available if the question has been answered.

ImprovementPlans
Type: Array of ChoiceImprovementPlan structures

The improvement plan details.

This value is only applicable to custom lenses.

JiraConfiguration
Type: JiraConfiguration structure

Configuration of the Jira integration.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

Risk
Type: string

The risk for a given workload, lens review, pillar, or question.

Insight

Description

An insight describing a usage pattern and the signals detected.

Members
signalsDetected
Type: string

A description of the signals detected.

usagePattern
Required: Yes
Type: string

A description of the usage pattern.

InternalServerException

Description

There is a problem with the Well-Architected Tool API service.

Members
Message
Required: Yes
Type: string

Description of the error.

JiraConfiguration

Description

Configuration of the Jira integration.

Members
JiraIssueUrl
Type: string

The URL of the associated Jira issue.

LastSyncedTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the Jira configuration was last synced.

JiraSelectedQuestionConfiguration

Description

Selected questions in the workload.

Members
SelectedPillars
Type: Array of SelectedPillar structures

Selected pillars in the workload.

Lens

Description

A lens return object.

Members
Description
Type: string

The description of the lens.

LensArn
Type: string

The ARN of a lens.

LensVersion
Type: string

The version of a lens.

Name
Type: string

The full name of the lens.

Owner
Type: string

The Amazon Web Services account ID that owns the lens.

ShareInvitationId
Type: string

The ID assigned to the share invitation.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the lens.

LensMetric

Description

A metric for a particular lens in a workload.

Members
LensArn
Type: string

The lens ARN.

Pillars
Type: Array of PillarMetric structures

The metrics for the pillars in a lens.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

LensReview

Description

A lens review of a question.

Members
JiraConfiguration

Jira configuration status of the Lens review.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

LensName
Type: string

The full name of the lens.

LensStatus
Type: string

The status of the lens.

LensVersion
Type: string

The version of the lens.

NextToken
Type: string

The token to use to retrieve the next set of results.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarReviewSummaries
Type: Array of PillarReviewSummary structures

List of pillar review summaries of lens review in a workload.

PrioritizedRiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

Profiles
Type: Array of WorkloadProfile structures

The profiles associated with the workload.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the lens review was last updated.

LensReviewReport

Description

A report of a lens review.

Members
Base64String
Type: string

The Base64-encoded string representation of a lens review report.

This data can be used to create a PDF file.

Only returned by GetConsolidatedReport when PDF format is requested.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

LensReviewSummary

Description

A lens review summary of a workload.

Members
LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

LensName
Type: string

The full name of the lens.

LensStatus
Type: string

The status of the lens.

LensVersion
Type: string

The version of the lens.

PrioritizedRiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

Profiles
Type: Array of WorkloadProfile structures

The profiles associated with the workload.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the lens review was last updated.

LensShareSummary

Description

A lens share summary return object.

Members
ShareId
Type: string

The ID associated with the share.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Status
Type: string

The status of the share request.

StatusMessage
Type: string

Optional message to compliment the Status field.

LensSummary

Description

A lens summary of a lens.

Members
CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the lens was created.

Description
Type: string

The description of the lens.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN of the lens.

LensName
Type: string

The full name of the lens.

LensStatus
Type: string

The status of the lens.

LensType
Type: string

The type of the lens.

LensVersion
Type: string

The version of the lens.

Owner
Type: string

An Amazon Web Services account ID.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the lens was last updated.

LensUpgradeSummary

Description

Lens upgrade summary return object.

Members
CurrentLensVersion
Type: string

The current version of the lens.

LatestLensVersion
Type: string

The latest version of the lens.

LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

ResourceArn
Type: string

ResourceArn of the lens being upgraded

ResourceName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

Milestone

Description

A milestone return object.

Members
MilestoneName
Type: string

The name of the milestone in a workload.

Milestone names must be unique within a workload.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

RecordedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the milestone was recorded.

Workload
Type: Workload structure

A workload return object.

MilestoneSummary

Description

A milestone summary return object.

Members
MilestoneName
Type: string

The name of the milestone in a workload.

Milestone names must be unique within a workload.

MilestoneNumber
Type: int

The milestone number.

A workload can have a maximum of 100 milestones.

RecordedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the milestone was recorded.

WorkloadSummary
Type: WorkloadSummary structure

A workload summary return object.

NotificationSummary

Description

A notification summary return object.

Members
LensUpgradeSummary
Type: LensUpgradeSummary structure

Summary of lens upgrade.

Type
Type: string

The type of notification.

PillarDifference

Description

A pillar difference return object.

Members
DifferenceStatus
Type: string

Indicates the type of change to the pillar.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

PillarName
Type: string

The name of the pillar.

QuestionDifferences
Type: Array of QuestionDifference structures

List of question differences.

PillarItem

Description

Item configuration for a specific Well-Architected Tool Framework pillar.

Members
ids
Required: Yes
Type: Array of strings

A list of item IDs to process for this pillar, such as best practice IDs, Amazon Web Services service names, or resource ARNs.

pillar
Required: Yes
Type: string

The pillar this item configuration applies to.

PillarMetric

Description

A metric for a particular pillar in a lens.

Members
PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

Questions
Type: Array of QuestionMetric structures

The questions that have been identified as risks in the pillar.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

PillarReviewSummary

Description

A pillar review summary of a lens review.

Members
Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

PillarName
Type: string

The name of the pillar.

PrioritizedRiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

Profile

Description

A profile.

Members
CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile was created.

Owner
Type: string

An Amazon Web Services account ID.

ProfileArn
Type: string

The profile ARN.

ProfileDescription
Type: string

The profile description.

ProfileName
Type: string

The profile name.

ProfileQuestions
Type: Array of ProfileQuestion structures

Profile questions.

ProfileVersion
Type: string

The profile version.

ShareInvitationId
Type: string

The ID assigned to the share invitation.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the profile.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile was last updated.

ProfileChoice

Description

The profile choice.

Members
ChoiceDescription
Type: string

The description of a choice.

ChoiceId
Type: string

The ID of a choice.

ChoiceTitle
Type: string

The title of a choice.

ProfileNotificationSummary

Description

The profile notification summary.

Members
CurrentProfileVersion
Type: string

The current profile version.

LatestProfileVersion
Type: string

The latest profile version.

ProfileArn
Type: string

The profile ARN.

ProfileName
Type: string

The profile name.

Type
Type: string

Type of notification.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

ProfileQuestion

Description

A profile question.

Members
MaxSelectedChoices
Type: int

The maximum number of selected choices.

MinSelectedChoices
Type: int

The minimum number of selected choices.

QuestionChoices
Type: Array of ProfileChoice structures

The question choices.

QuestionDescription
Type: string

The description of the question.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

SelectedChoiceIds
Type: Array of strings

The selected choices.

ProfileQuestionUpdate

Description

An update to a profile question.

Members
QuestionId
Type: string

The ID of the question.

SelectedChoiceIds
Type: Array of strings

The selected choices.

ProfileShareSummary

Description

Summary of a profile share.

Members
ShareId
Type: string

The ID associated with the share.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Status
Type: string

The status of the share request.

StatusMessage
Type: string

Profile share invitation status message.

ProfileSummary

Description

Summary of a profile.

Members
CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile was created.

Owner
Type: string

An Amazon Web Services account ID.

ProfileArn
Type: string

The profile ARN.

ProfileDescription
Type: string

The profile description.

ProfileName
Type: string

The profile name.

ProfileVersion
Type: string

The profile version.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile was last updated.

ProfileTemplate

Description

The profile template.

Members
CreatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile template was created.

TemplateName
Type: string

The name of the profile template.

TemplateQuestions
Type: Array of ProfileTemplateQuestion structures

Profile template questions.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the profile template was last updated.

ProfileTemplateChoice

Description

A profile template choice.

Members
ChoiceDescription
Type: string

The description of a choice.

ChoiceId
Type: string

The ID of a choice.

ChoiceTitle
Type: string

The title of a choice.

ProfileTemplateQuestion

Description

A profile template question.

Members
MaxSelectedChoices
Type: int

The maximum number of choices selected.

MinSelectedChoices
Type: int

The minimum number of choices selected.

QuestionChoices
Type: Array of ProfileTemplateChoice structures

The question choices.

QuestionDescription
Type: string

The description of the question.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

Progress

Description

Progress information for a recommendation generation process.

Members
completionPercentage
Required: Yes
Type: double

The completion percentage of the generation process (0-100).

stepsCompleted
Required: Yes
Type: int

The number of generation steps that have been completed.

totalSteps
Required: Yes
Type: int

The total number of steps in the generation process.

QuestionDifference

Description

A question difference return object.

Members
DifferenceStatus
Type: string

Indicates the type of change to the question.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

QuestionMetric

Description

A metric for a particular question in the pillar.

Members
BestPractices
Type: Array of BestPractice structures

The best practices, or choices, that have been identified as contributing to risk in a question.

QuestionId
Type: string

The ID of the question.

Risk
Type: string

The risk for a given workload, lens review, pillar, or question.

RecommendationGoal

Description

Contains information about a goal associated with a recommendation.

Members
title
Required: Yes
Type: string

The title of the goal associated with the recommendation.

RemediationStep

Description

One step within a remediation procedure.

Members
content
Required: Yes
Type: string

The content describing the step, which can include code examples and verification checklists.

title
Type: string

An optional short label for the step.

RemediationSummary

Description

A high-level remediation summary returned in the detail response.

Members
recommendation
Required: Yes
Type: string

A short imperative statement of the recommended action.

steps
Required: Yes
Type: Array of strings

High-level steps to implement the fix.

Description

An external reference associated with remediation steps.

Members
title
Type: string

An optional human-readable title for the link.

url
Required: Yes
Type: string

The URL of the external reference.

ResourceNotFoundException

Description

The requested resource was not found.

Members
Message
Required: Yes
Type: string

Description of the error.

ResourceId
Required: Yes
Type: string

Identifier of the resource affected.

ResourceType
Required: Yes
Type: string

Type of the resource affected.

ReviewTemplate

Description

A review template.

Members
Description
Type: string

The review template description.

Lenses
Type: Array of strings

The lenses applied to the review template.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

Owner
Type: string

An Amazon Web Services account ID.

QuestionCounts
Type: Associative array of custom strings keys (Question) to ints

A count of how many total questions are answered and unanswered in the review template.

ShareInvitationId
Type: string

The ID assigned to the template share invitation.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags assigned to the review template.

TemplateArn
Type: string

The review template ARN.

TemplateName
Type: string

The name of the review template.

UpdateStatus
Type: string

The latest status of a review template.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the review template was last updated.

ReviewTemplateAnswer

Description

An answer of the question.

Members
AnswerStatus
Type: string

The status of whether or not this question has been answered.

ChoiceAnswers
Type: Array of ChoiceAnswer structures

A list of selected choices to a question in your review template.

Choices
Type: Array of Choice structures

List of choices available for a question.

HelpfulResourceDisplayText
Type: string

The helpful resource text to be displayed for a custom lens.

This field does not apply to Amazon Web Services official lenses.

HelpfulResourceUrl
Type: string

The helpful resource URL.

For Amazon Web Services official lenses, this is the helpful resource URL for a question or choice.

For custom lenses, this is the helpful resource URL for a question and is only provided if HelpfulResourceDisplayText was specified for the question.

ImprovementPlanUrl
Type: string

The improvement plan URL for a question in an Amazon Web Services official lenses.

This value is only available if the question has been answered.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionDescription
Type: string

The description of the question.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

Reason
Type: string

The reason why the question is not applicable to your review template.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

ReviewTemplateAnswerSummary

Description

The summary of review template answers.

Members
AnswerStatus
Type: string

The status of whether or not this question has been answered.

ChoiceAnswerSummaries
Type: Array of ChoiceAnswerSummary structures

A list of selected choices to a question in the review template.

Choices
Type: Array of Choice structures

List of choices available for a question.

IsApplicable
Type: boolean

Defines whether this question is applicable to a lens review.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

QuestionId
Type: string

The ID of the question.

QuestionTitle
Type: string

The title of the question.

QuestionType
Type: string

The type of question.

Reason
Type: string

The reason why a choice is not-applicable to a question in the review template.

SelectedChoices
Type: Array of strings

List of selected choice IDs in a question answer.

The values entered replace the previously selected choices.

ReviewTemplateLensReview

Description

The lens review of a review template.

Members
LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The lens ARN.

LensName
Type: string

The full name of the lens.

LensStatus
Type: string

The status of the lens.

LensVersion
Type: string

The version of the lens.

NextToken
Type: string

The token to use to retrieve the next set of results.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarReviewSummaries
Type: Array of ReviewTemplatePillarReviewSummary structures

Pillar review summaries of a lens review.

QuestionCounts
Type: Associative array of custom strings keys (Question) to ints

A count of how many questions are answered and unanswered in the lens review.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the review template lens review was last updated.

ReviewTemplatePillarReviewSummary

Description

Summary of a review template.

Members
Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

PillarName
Type: string

The name of the pillar.

QuestionCounts
Type: Associative array of custom strings keys (Question) to ints

A count of how many questions are answered and unanswered in the requested pillar of the lens review.

ReviewTemplateSummary

Description

Summary of a review template.

Members
Description
Type: string

Description of the review template.

Lenses
Type: Array of strings

Lenses associated with the review template.

Owner
Type: string

An Amazon Web Services account ID.

TemplateArn
Type: string

The review template ARN.

TemplateName
Type: string

The name of the review template.

UpdateStatus
Type: string

The latest status of a review template.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the review template was last updated.

Roi

Description

A return-on-investment estimate with context.

Members
detail
Required: Yes
Type: string

A sentence providing context for the estimate.

estimate
Type: string

A short statistic or key metric. Optional when there is no quantifiable figure.

Scope

Description

Defines the scope for recommendation generation, specifying which pillars and goals to focus on.

Members
goalIds
Type: Array of strings

Specific goal IDs to focus on during recommendation generation.

items
Type: Array of PillarItem structures

Optional per-pillar item filtering configuration.

pillars
Required: Yes
Type: Array of strings

The Well-Architected Tool Framework pillars to include in the generation scope.

SelectedPillar

Description

The selected pillar.

Members
PillarId
Type: string

The ID used to identify a pillar, for example, security.

A pillar is identified by its PillarReviewSummary$PillarId.

SelectedQuestionIds
Type: Array of strings

Selected question IDs in the selected pillar.

ServiceQuotaExceededException

Description

The user has reached their resource quota.

Members
Message
Required: Yes
Type: string

Description of the error.

QuotaCode
Required: Yes
Type: string

Service Quotas requirement to identify originating quota.

ResourceId
Type: string

Identifier of the resource affected.

ResourceType
Type: string

Type of the resource affected.

ServiceCode
Required: Yes
Type: string

Service Quotas requirement to identify originating service.

ShareInvitation

Description

The share invitation.

Members
LensAlias
Type: 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-east-1::lens/serverless. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

For custom lenses, this is the lens ARN, such as arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef.

Each lens is identified by its LensSummary$LensAlias.

LensArn
Type: string

The ARN for the lens.

ProfileArn
Type: string

The profile ARN.

ShareInvitationId
Type: string

The ID assigned to the share invitation.

ShareResourceType
Type: string

The resource type of the share invitation.

TemplateArn
Type: string

The review template ARN.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

ShareInvitationSummary

Description

A share invitation summary return object.

Members
LensArn
Type: string

The ARN for the lens.

LensName
Type: string

The full name of the lens.

PermissionType
Type: string

Permission granted on a share request.

ProfileArn
Type: string

The profile ARN.

ProfileName
Type: string

The profile name.

ShareInvitationId
Type: string

The ID assigned to the share invitation.

ShareResourceType
Type: string

The resource type of the share invitation.

SharedBy
Type: string

An Amazon Web Services account ID.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

TemplateArn
Type: string

The review template ARN.

TemplateName
Type: string

The name of the review template.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

Tag

Description

A key-value pair associated with a resource for cost allocation and access control.

Members
key
Required: Yes
Type: string

The key of the tag.

value
Required: Yes
Type: string

The value of the tag.

TemplateShareSummary

Description

Summary of a review template share.

Members
ShareId
Type: string

The ID associated with the share.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Status
Type: string

The status of the share request.

StatusMessage
Type: string

Review template share invitation status message.

ThrottlingException

Description

Request was denied due to request throttling.

Members
Message
Required: Yes
Type: string

Description of the error.

QuotaCode
Type: string

Service Quotas requirement to identify originating quota.

ServiceCode
Type: string

Service Quotas requirement to identify originating service.

TradeOff

Description

A negative trade-off from acting on the recommendation.

Members
description
Required: Yes
Type: string

A description of the specific risk and the condition that triggers it.

mitigation
Required: Yes
Type: string

A specific action to mitigate the trade-off and when to take it.

pillar
Required: Yes
Type: string

The pillar that could be negatively impacted.

risk
Required: Yes
Type: string

The risk rating for the trade-off.

riskExplanation
Type: string

An optional explanation providing additional context for the risk rating.

title
Required: Yes
Type: string

A short phrase describing what is lost or degraded.

ValidationException

Description

The user input is not valid.

Members
Fields
Type: Array of ValidationExceptionField structures

The fields that caused the error, if applicable.

Message
Required: Yes
Type: string

Description of the error.

Reason
Type: string

The reason why the request failed validation.

ValidationExceptionField

Description

Stores information about a field passed inside a request that resulted in an exception.

Members
Message
Required: Yes
Type: string

Description of the error.

Name
Required: Yes
Type: string

The field name for which validation failed.

VersionDifferences

Description

The differences between the base and latest versions of the lens.

Members
PillarDifferences
Type: Array of PillarDifference structures

The differences between the base and latest versions of the lens.

Workload

Description

A workload return object.

Members
AccountIds
Type: Array of strings

The list of Amazon Web Services account IDs associated with the workload.

Applications
Type: Array of strings

List of AppRegistry application ARNs associated to the workload.

ArchitecturalDesign
Type: string

The URL of the architectural design for the workload.

AwsRegions
Type: Array of strings

The list of Amazon Web Services Regions associated with the workload, for example, us-east-2, or ca-central-1.

Description
Type: string

The description for the workload.

DiscoveryConfig
Type: WorkloadDiscoveryConfig structure

Discovery configuration associated to the workload.

Environment
Type: string

The environment for the workload.

ImprovementStatus
Type: string

The improvement status for a workload.

Industry
Type: string

The industry for the workload.

IndustryType
Type: string

The industry type for the workload.

If specified, must be one of the following:

  • Agriculture

  • Automobile

  • Defense

  • Design and Engineering

  • Digital Advertising

  • Education

  • Environmental Protection

  • Financial Services

  • Gaming

  • General Public Services

  • Healthcare

  • Hospitality

  • InfoTech

  • Justice and Public Safety

  • Life Sciences

  • Manufacturing

  • Media & Entertainment

  • Mining & Resources

  • Oil & Gas

  • Power & Utilities

  • Professional Services

  • Real Estate & Construction

  • Retail & Wholesale

  • Social Protection

  • Telecommunications

  • Travel, Transportation & Logistics

  • Other

IsReviewOwnerUpdateAcknowledged
Type: boolean

Flag indicating whether the workload owner has acknowledged that the Review owner field is required.

If a Review owner is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.

JiraConfiguration

Jira configuration for a specific workload.

Lenses
Type: Array of strings

The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.

If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.

NonAwsRegions
Type: Array of strings

The list of non-Amazon Web Services Regions associated with the workload.

Notes
Type: string

The notes associated with the workload.

For a review template, these are the notes that will be associated with the workload when the template is applied.

Owner
Type: string

An Amazon Web Services account ID.

PillarPriorities
Type: Array of strings

The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its PillarReviewSummary$PillarId.

PrioritizedRiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

Profiles
Type: Array of WorkloadProfile structures

Profile associated with a workload.

ReviewOwner
Type: string

The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.

ReviewRestrictionDate
Type: timestamp (string|DateTime or anything parsable by strtotime)

The review restriction date for the workload.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

ShareInvitationId
Type: string

The ID assigned to the share invitation.

Tags
Type: Associative array of custom strings keys (TagKey) to strings

The tags associated with the workload.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the workload was last updated.

WorkloadArn
Type: string

The ARN for the workload.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

WorkloadDiscoveryConfig

Description

Discovery configuration associated to the workload.

Members
TrustedAdvisorIntegrationStatus
Type: string

Discovery integration status in respect to Trusted Advisor for the workload.

WorkloadResourceDefinition
Type: Array of strings

The mode to use for identifying resources associated with the workload.

You can specify WORKLOAD_METADATA, APP_REGISTRY, or both.

WorkloadJiraConfigurationInput

Description

Workload-level: Input for the Jira configuration.

Members
IssueManagementStatus
Type: string

Workload-level: Jira issue management status.

IssueManagementType
Type: string

Workload-level: Jira issue management type.

JiraProjectKey
Type: string

Workload-level: Jira project key to sync workloads to.

WorkloadJiraConfigurationOutput

Description

Workload-level: Output configuration of the Jira integration.

Members
IssueManagementStatus
Type: string

Workload-level: Jira issue management status.

IssueManagementType
Type: string

Workload-level: Jira issue management type.

JiraProjectKey
Type: string

Workload-level: Jira project key to sync workloads to.

StatusMessage
Type: string

Workload-level: Status message on configuration of the Jira integration.

WorkloadProfile

Description

The profile associated with a workload.

Members
ProfileArn
Type: string

The profile ARN.

ProfileVersion
Type: string

The profile version.

WorkloadShare

Description

A workload share return object.

Members
PermissionType
Type: string

Permission granted on a share request.

ShareId
Type: string

The ID associated with the share.

SharedBy
Type: string

An Amazon Web Services account ID.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Status
Type: string

The status of the share request.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

WorkloadShareSummary

Description

A workload share summary return object.

Members
PermissionType
Type: string

Permission granted on a share request.

ShareId
Type: string

The ID associated with the share.

SharedWith
Type: string

The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

Status
Type: string

The status of the share request.

StatusMessage
Type: string

Optional message to compliment the Status field.

WorkloadSummary

Description

A workload summary return object.

Members
ImprovementStatus
Type: string

The improvement status for a workload.

Lenses
Type: Array of strings

The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.

If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.

Owner
Type: string

An Amazon Web Services account ID.

PrioritizedRiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

Profiles
Type: Array of WorkloadProfile structures

Profile associated with a workload.

RiskCounts
Type: Associative array of custom strings keys (Risk) to ints

A map from risk names to the count of how many questions have that rating.

UpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)

The date and time when the workload was last updated.

WorkloadArn
Type: string

The ARN for the workload.

WorkloadId
Type: string

The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

WorkloadName
Type: string

The name of the workload.

The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.