StartAgentRecommendationGeneration
Note
AWS Well-Architected Agent is in preview release and is subject to change.
Starts a recommendation generation process for the specified agent profile. This asynchronous operation returns immediately. Use GetAgentRecommendationGeneration to check the status of the generation.
Currently, only the ARCHITECTURE recommendation type is supported. RESOURCE and APPLICATION recommendations are generated only by the scheduled generation cycle and cannot be started with this operation.
For the ARCHITECTURE type, the generation analyzes the infrastructure as code (IaC) template that you specify in additionalContext, and returns updated templates with best practice fixes applied. You must specify scope and additionalContext. You can optionally specify name.
Architecture review generations are subject to a daily quota for each profile. For more information, see Quotas and limits in the AWS Well-Architected User Guide.
Request Syntax
POST /api/v1/agent-profiles/profileArn/generations HTTP/1.1
Content-type: application/json
{
"additionalContext": JSON value,
"name": "string",
"scope": {
"goalIds": [ "string" ],
"items": [
{
"ids": [ "string" ],
"pillar": "string"
}
],
"pillars": [ "string" ]
},
"types": [ "string" ]
}
URI Request Parameters
The request uses the following URI parameters.
- profileArn
-
The Amazon Resource Name (ARN) of the optimization profile to use for generating recommendations.
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
arn:aws([a-z0-9-]+)?:wellarchitected:[a-z0-9-]{6,64}:\d{12}:agent-profile/([a-zA-Z0-9_-]+)Required: Yes
Request Body
The request accepts the following data in JSON format.
- additionalContext
-
The location of the infrastructure as code (IaC) template to review, and the lenses to review it against. Required for the
ARCHITECTUREtype. Must be absent for other types. Specify a JSON object with the following members:-
s3Uri: The Amazon S3 URI of the IaC template, .zip archive, or folder to review. -
s3VersionId: The version ID of the Amazon S3 object. If you omit this member, the current version is used. -
lensArns: The ARNs of the lenses to review against. Onlyarn:aws:wellarchitected::aws:lens/wellarchitectedis supported.
Type: JSON value
Required: No
-
- name
-
An optional name for this generation that identifies the architecture review in the console and in
ListAgentRecommendationGenerationsresults. Applies toARCHITECTUREtype only. Must be absent for other types.Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[A-Za-z0-9_-]+Required: No
- scope
-
Defines which pillars, goals, and items the review covers. Required for the
ARCHITECTUREtype. Must be absent for other types.Type: Scope object
Required: No
- types
-
The types of recommendations to generate. You can specify up to two types in a single request. Currently, only
ARCHITECTUREis supported for this operation.Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 2 items.
Valid Values:
RESOURCE | ARCHITECTURE | APPLICATIONRequired: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"createdAt": "string",
"createdBy": "string",
"estimatedCompletionTime": "string",
"id": "string",
"lastModifiedAt": "string",
"lastModifiedBy": "string",
"name": "string",
"profileArn": "string",
"status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- createdAt
-
The timestamp when the generation was started.
Type: Timestamp
- createdBy
-
The identifier of the user or system that started this generation.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
- estimatedCompletionTime
-
The estimated time for the generation to complete.
Type: Timestamp
- id
-
The unique identifier of the recommendation generation.
Type: String
Pattern:
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} - lastModifiedAt
-
The timestamp when the generation was last modified.
Type: Timestamp
- lastModifiedBy
-
The identifier of the user or system that last modified this generation.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
- name
-
The name of the recommendation generation.
Type: String
- profileArn
-
The Amazon Resource Name (ARN) of the profile used for this generation.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
arn:aws([a-z0-9-]+)?:wellarchitected:[a-z0-9-]{6,64}:\d{12}:agent-profile/([a-zA-Z0-9_-]+) - status
-
The current status of the recommendation generation.
Type: String
Valid Values:
QUEUED | IN_PROGRESS | COMPLETED | ERROR
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
User does not have sufficient access to perform this action.
- Message
-
Description of the error.
HTTP Status Code: 403
- ConflictException
-
The resource has already been processed, was deleted, or is too large.
- Message
-
Description of the error.
- ResourceId
-
Identifier of the resource affected.
- ResourceType
-
Type of the resource affected.
HTTP Status Code: 409
- InternalServerException
-
There is a problem with the AWS Well-Architected Tool API service.
- Message
-
Description of the error.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The user has reached their resource quota.
- Message
-
Description of the error.
- QuotaCode
-
Service Quotas requirement to identify originating quota.
- ResourceId
-
Identifier of the resource affected.
- ResourceType
-
Type of the resource affected.
- ServiceCode
-
Service Quotas requirement to identify originating service.
HTTP Status Code: 402
- ThrottlingException
-
Request was denied due to request throttling.
- Message
-
Description of the error.
- QuotaCode
-
Service Quotas requirement to identify originating quota.
- ServiceCode
-
Service Quotas requirement to identify originating service.
HTTP Status Code: 429
- ValidationException
-
The user input is not valid.
- Fields
-
The fields that caused the error, if applicable.
- Message
-
Description of the error.
- Reason
-
The reason why the request failed validation.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: