ImportLens - AWS Well-Architected Tool

ImportLens

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 AWS accounts until it's published with CreateLensVersion.

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

A custom lens cannot exceed 500 KB in size.

Note

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.

Request Syntax

PUT /importLens HTTP/1.1 Content-type: application/json { "ClientRequestToken": "string", "JSONString": "string", "LensAlias": "string", "Tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

ClientRequestToken

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.

Important

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

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: Yes

JSONString

The JSON representation of a lens.

Type: String

Length Constraints: Minimum length of 2. Maximum length of 500000.

Required: Yes

LensAlias

The alias of the lens.

For AWS 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 AWS 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.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: No

Tags

Tags to associate to a lens.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "LensArn": "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.

LensArn

The ARN for the lens that was created or updated.

Type: String

Status

The status of the imported lens.

Type: String

Valid Values: IN_PROGRESS | COMPLETE | ERROR

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

User does not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

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

HTTP Status Code: 409

InternalServerException

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

HTTP Status Code: 500

ResourceNotFoundException

The requested resource was not found.

HTTP Status Code: 404

ServiceQuotaExceededException

The user has reached their resource quota.

HTTP Status Code: 402

ThrottlingException

Request was denied due to request throttling.

HTTP Status Code: 429

ValidationException

The user input is not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: