Skip to content

delete_slot_type

delete_slot_type(
    slot_type_id: Id,
    bot_id: Id,
    bot_version: DraftBotVersion,
    locale_id: LocaleId,
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    skip_resource_in_use_check: Optional[SkipResourceInUseCheck] = None,
) -> None

Deletes a slot type from a bot locale.

If a slot is using the slot type, Amazon Lex throws a ResourceInUseException exception. To avoid the exception, set the skipResourceInUseCheck parameter to true.

Parameters:

  • slot_type_id (Id) –

    The identifier of the slot type to delete.

  • bot_id (Id) –

    The identifier of the bot associated with the slot type.

  • bot_version (DraftBotVersion) –

    The version of the bot associated with the slot type.

  • locale_id (LocaleId) –

    The identifier of the language and locale that the slot type will be deleted from. The string must match one of the supported locales. For more information, see Supported languages.

  • skip_resource_in_use_check (Optional[SkipResourceInUseCheck], default: None ) –

    By default, the DeleteSlotType operations throws a ResourceInUseException exception if you try to delete a slot type used by a slot. Set the skipResourceInUseCheck parameter to true to skip this check and remove the slot type even if a slot uses it.

Raises:

  • ConflictException –

    The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again.

  • InternalServerException –

    The service encountered an unexpected condition. Try your request again.

  • PreconditionFailedException –

    Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.

  • ServiceQuotaExceededException –

    You have reached a quota for your bot.

  • ThrottlingException –

    Your request rate is too high. Reduce the frequency of requests.

  • ValidationException –

    One of the input parameters in your request isn't valid. Check the parameters and try your request again.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_lex_models_v2/_services/lex_models_v2.py
def delete_slot_type(
    self,
    slot_type_id: "capo_lex_models_v2.types.id.Id",
    bot_id: "capo_lex_models_v2.types.id.Id",
    bot_version: "capo_lex_models_v2.types.draft_bot_version.DraftBotVersion",
    locale_id: "capo_lex_models_v2.types.locale_id.LocaleId",
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    skip_resource_in_use_check: Optional[
        "capo_lex_models_v2.types.skip_resource_in_use_check.SkipResourceInUseCheck"
    ] = None,
) -> None:
    """<p>Deletes a slot type from a bot locale.</p> <p>If a slot is using the slot type, Amazon Lex throws a <code>ResourceInUseException</code> exception. To avoid the exception, set the <code>skipResourceInUseCheck</code> parameter to <code>true</code>.</p>

    Args:
        slot_type_id: <p>The identifier of the slot type to delete.</p>
        bot_id: <p>The identifier of the bot associated with the slot type.</p>
        bot_version: <p>The version of the bot associated with the slot type.</p>
        locale_id: <p>The identifier of the language and locale that the slot type will be deleted from. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
        skip_resource_in_use_check: <p>By default, the <code>DeleteSlotType</code> operations throws a <code>ResourceInUseException</code> exception if you try to delete a slot type used by a slot. Set the <code>skipResourceInUseCheck</code> parameter to <code>true</code> to skip this check and remove the slot type even if a slot uses it.</p>

    Raises:
        capo_lex_models_v2.errors.conflict_exception.ConflictException: <p>The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again. </p>
        capo_lex_models_v2.errors.internal_server_exception.InternalServerException: <p>The service encountered an unexpected condition. Try your request again.</p>
        capo_lex_models_v2.errors.precondition_failed_exception.PreconditionFailedException: <p>Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.</p>
        capo_lex_models_v2.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>You have reached a quota for your bot. </p>
        capo_lex_models_v2.errors.throttling_exception.ThrottlingException: <p>Your request rate is too high. Reduce the frequency of requests.</p>
        capo_lex_models_v2.errors.validation_exception.ValidationException: <p>One of the input parameters in your request isn't valid. Check the parameters and try your request again.</p>
        capo_lex_models_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_lex_models_v2.types.delete_slot_type_request.DeleteSlotTypeRequest]",
    ) -> OperationResponse[None]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.delete_slot_type

        output, http_response = (
            capo_lex_models_v2._operations.lex_model_building_service_v2.delete_slot_type.delete_slot_type(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteSlotType")
    )
    input_: capo_lex_models_v2.types.delete_slot_type_request.DeleteSlotTypeRequest = {
        "slot_type_id": slot_type_id,
        "bot_id": bot_id,
        "bot_version": bot_version,
        "locale_id": locale_id,
    }
    if skip_resource_in_use_check is not None:
        input_["skip_resource_in_use_check"] = skip_resource_in_use_check

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