Skip to content

/AWS1/IF_WAD=>IMPORTLENS()

About 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 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.

Method Signature

METHODS /AWS1/IF_WAD~IMPORTLENS
  IMPORTING
    !IV_LENSALIAS TYPE /AWS1/WADLENSALIAS OPTIONAL
    !IV_JSONSTRING TYPE /AWS1/WADLENSJSON OPTIONAL
    !IV_CLIENTREQUESTTOKEN TYPE /AWS1/WADCLIENTREQUESTTOKEN OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_WADTAGMAP_W=>TT_TAGMAP OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_wadimportlensoutput
  RAISING
    /AWS1/CX_WADACCESSDENIEDEX
    /AWS1/CX_WADCONFLICTEXCEPTION
    /AWS1/CX_WADINTERNALSERVEREX
    /AWS1/CX_WADRESOURCENOTFOUNDEX
    /AWS1/CX_WADSERVICEQUOTAEXCDEX
    /AWS1/CX_WADTHROTTLINGEX
    /AWS1/CX_WADVALIDATIONEX
    /AWS1/CX_WADCLIENTEXC
    /AWS1/CX_WADSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_jsonstring TYPE /AWS1/WADLENSJSON /AWS1/WADLENSJSON

The JSON representation of a lens.

iv_clientrequesttoken TYPE /AWS1/WADCLIENTREQUESTTOKEN /AWS1/WADCLIENTREQUESTTOKEN

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.

Optional arguments:

iv_lensalias TYPE /AWS1/WADLENSALIAS /AWS1/WADLENSALIAS

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.

it_tags TYPE /AWS1/CL_WADTAGMAP_W=>TT_TAGMAP TT_TAGMAP

Tags to associate to a lens.

RETURNING

oo_output TYPE REF TO /aws1/cl_wadimportlensoutput /AWS1/CL_WADIMPORTLENSOUTPUT

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->importlens(
  it_tags = VALUE /aws1/cl_wadtagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_wadtagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_wadtagmap_w( |string| )
      )
    )
  )
  iv_clientrequesttoken = |string|
  iv_jsonstring = |string|
  iv_lensalias = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_lensarn = lo_result->get_lensarn( ).
  lv_importlensstatus = lo_result->get_status( ).
ENDIF.