Skip to content

associate_bot async

associate_bot(
    instance_id: InstanceId,
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    lex_bot: Optional[LexBot] = None,
    lex_v2_bot: Optional[LexV2Bot] = None,
    client_token: Optional[ClientToken] = None,
) -> None

This API is in preview release for Connect Customer and is subject to change.

Allows the specified Connect Customer instance to access the specified Amazon Lex or Amazon Lex V2 bot.

Parameters:

  • instance_id (InstanceId) –

    The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

  • lex_v2_bot (Optional[LexV2Bot], default: None ) –

    The Amazon Lex V2 bot to associate with the instance.

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Raises:

Source code in docs_src/capo_connect/_services/async_connect.py
async def associate_bot(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    *,
    config_overrides: Optional[AsyncConnectClientConfig] = None,
    lex_bot: Optional["capo_connect.types.lex_bot.LexBot"] = None,
    lex_v2_bot: Optional["capo_connect.types.lex_v2_bot.LexV2Bot"] = None,
    client_token: Optional["capo_connect.types.client_token.ClientToken"] = None,
) -> None:
    """<p>This API is in preview release for Connect Customer and is subject to change.</p> <p>Allows the specified Connect Customer instance to access the specified Amazon Lex or Amazon Lex V2 bot.</p>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
        lex_v2_bot: <p>The Amazon Lex V2 bot to associate with the instance.</p>
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>

    Raises:
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.limit_exceeded_exception.LimitExceededException: <p>The allowed limit for the resource has been exceeded.</p>
        capo_connect.errors.resource_conflict_exception.ResourceConflictException: <p>A resource already has that name.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_connect.types.associate_bot_request.AssociateBotRequest]",
    ) -> AsyncOperationResponse[None]:
        import capo_connect._operations.amazon_connect_service.associate_bot

        (
            output,
            http_response,
        ) = await capo_connect._operations.amazon_connect_service.associate_bot.async_associate_bot(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AssociateBot")
    )
    input_: capo_connect.types.associate_bot_request.AssociateBotRequest = {
        "instance_id": instance_id
    }
    if lex_bot is not None:
        input_["lex_bot"] = lex_bot
    if lex_v2_bot is not None:
        input_["lex_v2_bot"] = lex_v2_bot
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output