Skip to content

delete_lens

delete_lens(
    lens_alias: LensAlias,
    *,
    config_overrides: Optional[WellArchitectedClientConfig] = None,
    client_request_token: Optional[ClientRequestToken] = None,
    lens_status: Optional[LensStatusType] = None,
) -> None

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.

Parameters:

Raises:

Source code in docs_src/capo_wellarchitected/_services/well_architected.py
def delete_lens(
    self,
    lens_alias: "capo_wellarchitected.types.lens_alias.LensAlias",
    *,
    config_overrides: Optional[WellArchitectedClientConfig] = None,
    client_request_token: Optional[
        "capo_wellarchitected.types.client_request_token.ClientRequestToken"
    ] = None,
    lens_status: Optional[
        "capo_wellarchitected.types.lens_status_type.LensStatusType"
    ] = None,
) -> None:
    """<p>Delete an existing lens.</p> <p>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. </p> <note> <p> <b>Disclaimer</b> </p> <p>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.</p> </note>

    Args:
        lens_status: <p>The status of the lens to be deleted.</p>

    Raises:
        capo_wellarchitected.errors.access_denied_exception.AccessDeniedException: <p>User does not have sufficient access to perform this action.</p>
        capo_wellarchitected.errors.conflict_exception.ConflictException: <p>The resource has already been processed, was deleted, or is too large.</p>
        capo_wellarchitected.errors.internal_server_exception.InternalServerException: <p>There is a problem with the Well-Architected Tool API service.</p>
        capo_wellarchitected.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource was not found.</p>
        capo_wellarchitected.errors.throttling_exception.ThrottlingException: <p>Request was denied due to request throttling.</p>
        capo_wellarchitected.errors.validation_exception.ValidationException: <p>The user input is not valid.</p>
        capo_wellarchitected.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_wellarchitected.types.delete_lens_input.DeleteLensInput]",
    ) -> OperationResponse[None]:
        import capo_wellarchitected._operations.well_architected_api_service_lambda.delete_lens

        output, http_response = (
            capo_wellarchitected._operations.well_architected_api_service_lambda.delete_lens.delete_lens(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteLens")
    )
    input_: capo_wellarchitected.types.delete_lens_input.DeleteLensInput = {
        "lens_alias": lens_alias
    }
    if client_request_token is None:
        client_request_token = str(uuid.uuid4())
    input_["client_request_token"] = client_request_token
    if lens_status is not None:
        input_["lens_status"] = lens_status

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output