Skip to content

update_thesaurus

update_thesaurus(
    id: ThesaurusId,
    index_id: IndexId,
    *,
    config_overrides: Optional[kendraClientConfig] = None,
    name: Optional[ThesaurusName] = None,
    description: Optional[Description] = None,
    role_arn: Optional[RoleArn] = None,
    source_s3_path: Optional[S3Path] = None,
) -> None

Updates a thesaurus for an index.

Parameters:

  • id (ThesaurusId) –

    The identifier of the thesaurus you want to update.

  • name (Optional[ThesaurusName], default: None ) –

    A new name for the thesaurus.

  • index_id (IndexId) –

    The identifier of the index for the thesaurus.

  • description (Optional[Description], default: None ) –

    A new description for the thesaurus.

  • role_arn (Optional[RoleArn], default: None ) –

    An IAM role that gives Amazon Kendra permissions to access thesaurus file specified in SourceS3Path.

Raises:

  • AccessDeniedException –

    You don't have sufficient access to perform this action. Please ensure you have the required permission policies and user accounts and try again.

  • ConflictException –

    A conflict occurred with the request. Please fix any inconsistences with your resources and try again.

  • InternalServerException –

    An issue occurred with the internal server used for your Amazon Kendra service. Please wait a few minutes and try again, or contact Support for help.

  • ResourceNotFoundException –

    The resource you want to use doesn’t exist. Please check you have provided the correct resource and try again.

  • ThrottlingException –

    The request was denied due to request throttling. Please reduce the number of requests and try again.

  • ValidationException –

    The input fails to satisfy the constraints set by the Amazon Kendra service. Please provide the correct input and try again.

  • UnknownServiceError –

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

Source code in docs_src/capo_kendra/_services/kendra.py
def update_thesaurus(
    self,
    id: "capo_kendra.types.thesaurus_id.ThesaurusId",
    index_id: "capo_kendra.types.index_id.IndexId",
    *,
    config_overrides: Optional[kendraClientConfig] = None,
    name: Optional["capo_kendra.types.thesaurus_name.ThesaurusName"] = None,
    description: Optional["capo_kendra.types.description.Description"] = None,
    role_arn: Optional["capo_kendra.types.role_arn.RoleArn"] = None,
    source_s3_path: Optional["capo_kendra.types.s3_path.S3Path"] = None,
) -> None:
    """<p>Updates a thesaurus for an index.</p>

    Args:
        id: <p>The identifier of the thesaurus you want to update.</p>
        name: <p>A new name for the thesaurus.</p>
        index_id: <p>The identifier of the index for the thesaurus.</p>
        description: <p>A new description for the thesaurus.</p>
        role_arn: <p>An IAM role that gives Amazon Kendra permissions to access thesaurus file specified in <code>SourceS3Path</code>.</p>

    Raises:
        capo_kendra.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient access to perform this action. Please ensure you have the required permission policies and user accounts and try again.</p>
        capo_kendra.errors.conflict_exception.ConflictException: <p>A conflict occurred with the request. Please fix any inconsistences with your resources and try again.</p>
        capo_kendra.errors.internal_server_exception.InternalServerException: <p>An issue occurred with the internal server used for your Amazon Kendra service. Please wait a few minutes and try again, or contact <a href="http://aws.amazon.com/contact-us/">Support</a> for help.</p>
        capo_kendra.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource you want to use doesn’t exist. Please check you have provided the correct resource and try again.</p>
        capo_kendra.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling. Please reduce the number of requests and try again.</p>
        capo_kendra.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints set by the Amazon Kendra service. Please provide the correct input and try again.</p>
        capo_kendra.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_kendra.types.update_thesaurus_request.UpdateThesaurusRequest]",
    ) -> OperationResponse[None]:
        import capo_kendra._operations.aws_kendra_frontend_service.update_thesaurus

        output, http_response = (
            capo_kendra._operations.aws_kendra_frontend_service.update_thesaurus.update_thesaurus(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateThesaurus")
    )
    input_: capo_kendra.types.update_thesaurus_request.UpdateThesaurusRequest = {
        "id": id,
        "index_id": index_id,
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description
    if role_arn is not None:
        input_["role_arn"] = role_arn
    if source_s3_path is not None:
        input_["source_s3_path"] = source_s3_path

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