Skip to content

create_template_share async

create_template_share(
    template_arn: TemplateArn,
    *,
    config_overrides: Optional[AsyncWellArchitectedClientConfig] = None,
    shared_with: Optional[SharedWith] = None,
    client_request_token: Optional[ClientRequestToken] = None,
) -> CreateTemplateShareOutput

Create a review template share.

The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region.

Shared access to a review template is not removed until the review template share invitation is deleted.

If you share a review template with an organization or OU, all accounts in the organization or OU are granted access to the review template.

Disclaimer

By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your review template available to those other accounts.

Parameters:

  • template_arn (TemplateArn) –

    The review template ARN.

Raises:

Source code in docs_src/capo_wellarchitected/_services/async_well_architected.py
async def create_template_share(
    self,
    template_arn: "capo_wellarchitected.types.template_arn.TemplateArn",
    *,
    config_overrides: Optional[AsyncWellArchitectedClientConfig] = 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_template_share_output.CreateTemplateShareOutput":
    """<p>Create a review template share.</p> <p>The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. </p> <p> Shared access to a review template is not removed until the review template share invitation is deleted.</p> <p>If you share a review template with an organization or OU, all accounts in the organization or OU are granted access to the review template.</p> <note> <p> <b>Disclaimer</b> </p> <p>By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your review template available to those other accounts.</p> </note>

    Args:
        template_arn: <p>The review template ARN.</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.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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_wellarchitected.types.create_template_share_input.CreateTemplateShareInput]",
    ) -> AsyncOperationResponse[
        "capo_wellarchitected.types.create_template_share_output.CreateTemplateShareOutput"
    ]:
        import capo_wellarchitected._operations.well_architected_api_service_lambda.create_template_share

        (
            output,
            http_response,
        ) = await capo_wellarchitected._operations.well_architected_api_service_lambda.create_template_share.async_create_template_share(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateTemplateShare")
    )
    input_: capo_wellarchitected.types.create_template_share_input.CreateTemplateShareInput = {
        "template_arn": template_arn
    }
    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 = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output