Create a lens share.
The owner of a lens can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be shared.
Shared access to a lens is not removed until the lens invitation is deleted.
If you share a lens with an organization or OU, all accounts in the organization or OU are granted access to the lens.
For more information, see Sharing a custom lens in the Well-Architected Tool User Guide.
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.
Raises:
Source code in docs_src/capo_wellarchitected/_services/well_architected.py
| def create_lens_share(
self,
lens_alias: "capo_wellarchitected.types.lens_alias.LensAlias",
*,
config_overrides: Optional[WellArchitectedClientConfig] = None,
shared_with: Optional[
"capo_wellarchitected.types.shared_with.SharedWith"
] = None,
client_request_token: Optional[
"capo_wellarchitected.types.client_request_token.ClientRequestToken"
] = None,
) -> "capo_wellarchitected.types.create_lens_share_output.CreateLensShareOutput":
"""<p>Create a lens share.</p> <p>The owner of a lens can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Lenses provided by Amazon Web Services (Amazon Web Services Official Content) cannot be shared.</p> <p> Shared access to a lens is not removed until the lens invitation is deleted.</p> <p>If you share a lens with an organization or OU, all accounts in the organization or OU are granted access to the lens.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-sharing.html">Sharing a custom lens</a> in the <i>Well-Architected Tool User Guide</i>.</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>
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.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The user has reached their resource quota.</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.create_lens_share_input.CreateLensShareInput]",
) -> OperationResponse[
"capo_wellarchitected.types.create_lens_share_output.CreateLensShareOutput"
]:
import capo_wellarchitected._operations.well_architected_api_service_lambda.create_lens_share
output, http_response = (
capo_wellarchitected._operations.well_architected_api_service_lambda.create_lens_share.create_lens_share(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateLensShare")
)
input_: capo_wellarchitected.types.create_lens_share_input.CreateLensShareInput = {
"lens_alias": lens_alias
}
if shared_with is not None:
input_["shared_with"] = shared_with
if client_request_token is None:
client_request_token = str(uuid.uuid4())
input_["client_request_token"] = client_request_token
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|