CreateAgentProfile
Note
AWS Well-Architected Agent is in preview release and is subject to change.
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 AWS resources.
Request Syntax
POST /api/v1/agent-profiles HTTP/1.1
Content-type: application/json
{
"aggregationConfiguration": [
{
"accessRoleArn": "string",
"accountId": "string",
"regions": [ "string" ]
}
],
"businessOverview": "string",
"clientToken": "string",
"deletionProtection": boolean,
"description": "string",
"displayName": "string",
"executionRoleArn": "string",
"name": "string",
"pillars": [ "string" ],
"tags": [
{
"key": "string",
"value": "string"
}
]
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- aggregationConfiguration
-
The aggregation configuration that defines which AWS accounts and Regions to analyze.
Type: Array of AggregationConfiguration objects
Array Members: Minimum number of 0 items. Maximum number of 100 items.
Required: Yes
- businessOverview
-
The business overview for this profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])*Required: No
- clientToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\x21-\x7E]+Required: No
- deletionProtection
-
Indicates whether deletion protection is enabled for the profile.
Type: Boolean
Required: No
- description
-
A description of the profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])*Required: No
- displayName
-
The display name of the profile shown to users.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 128.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])+Required: No
- executionRoleArn
-
The ARN of the IAM execution role used for recommendation actions.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
arn:([a-z\-]+):iam::\d{12}:role/(service-role/)?[a-zA-Z0-9+=,.@\-_]+Required: Yes
- name
-
The system name of the profile.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 128.
Pattern:
[a-zA-Z0-9_-]+Required: Yes
- pillars
-
The AWS Well-Architected Framework pillars to associate with this profile.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 5 items.
Valid Values:
COST_OPTIMIZATION | SECURITY | RESILIENCE | PERFORMANCE | OPERATIONAL_EXCELLENCERequired: Yes
-
The tags to associate with the profile.
Type: Array of Tag objects
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"aggregationConfiguration": [
{
"accessRoleArn": "string",
"accountId": "string",
"regions": [ "string" ]
}
],
"arn": "string",
"businessOverview": "string",
"createdAt": "string",
"createdBy": "string",
"deletionProtection": boolean,
"description": "string",
"displayName": "string",
"eligibleForArchitectureGeneration": boolean,
"eligibleForScheduledGeneration": boolean,
"executionRoleArn": "string",
"fieldErrors": {
"string" : "string"
},
"lastModifiedAt": "string",
"lastModifiedBy": "string",
"name": "string",
"pillars": [ "string" ],
"tags": [
{
"key": "string",
"value": "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.
- aggregationConfiguration
-
The aggregation configuration.
Type: Array of AggregationConfiguration objects
Array Members: Minimum number of 0 items. Maximum number of 100 items.
- arn
-
The Amazon Resource Name (ARN) of the created profile.
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_-]+) - businessOverview
-
The business overview of the created profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])* - createdAt
-
The timestamp when the profile was created.
Type: Timestamp
- createdBy
-
The identifier of the user or system that created this profile.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
- deletionProtection
-
Indicates whether deletion protection is enabled.
Type: Boolean
- description
-
A description of the created profile.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 512.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])* - displayName
-
The display name of the created profile.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 128.
Pattern:
(?:(?!\$\{[a-zA-Z]+:)[\P{C}])+ - eligibleForArchitectureGeneration
-
Indicates whether the profile is valid for manual architecture generation.
Type: Boolean
- eligibleForScheduledGeneration
-
Indicates whether the profile is valid for scheduled recommendation generation.
Type: Boolean
- executionRoleArn
-
The ARN of the IAM execution role.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
arn:([a-z\-]+):iam::\d{12}:role/(service-role/)?[a-zA-Z0-9+=,.@\-_]+ - fieldErrors
-
A map of field paths to error messages for invalid or missing input fields.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 100 items.
Key Length Constraints: Minimum length of 1. Maximum length of 256.
Value Length Constraints: Minimum length of 1. Maximum length of 1024.
- lastModifiedAt
-
The timestamp when the profile was last modified.
Type: Timestamp
- lastModifiedBy
-
The identifier of the user or system that last modified this profile.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
- name
-
The system name of the created profile.
Type: String
Length Constraints: Minimum length of 3. Maximum length of 128.
Pattern:
[a-zA-Z0-9_-]+ - pillars
-
The AWS Well-Architected Framework pillars associated with the created profile.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 5 items.
Valid Values:
COST_OPTIMIZATION | SECURITY | RESILIENCE | PERFORMANCE | OPERATIONAL_EXCELLENCE -
The tags associated with the created profile.
Type: Array of Tag objects
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: