
com.amazonaws.services.kendra.AWSkendra Maven / Gradle / Ivy
/*
* Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.kendra;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.kendra.model.*;
/**
* Interface for accessing kendra.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.kendra.AbstractAWSkendra} instead.
*
*
*
* Amazon Kendra is a service for indexing large document sets.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSkendra {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "kendra";
/**
*
* Removes one or more documents from an index. The documents must have been added with the BatchPutDocument
* operation.
*
*
* The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any
* error messages releated to the processing of the batch are sent to you CloudWatch log.
*
*
* @param batchDeleteDocumentRequest
* @return Result of the BatchDeleteDocument operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.BatchDeleteDocument
* @see AWS API
* Documentation
*/
BatchDeleteDocumentResult batchDeleteDocument(BatchDeleteDocumentRequest batchDeleteDocumentRequest);
/**
*
* Adds one or more documents to an index.
*
*
* The BatchPutDocument
operation enables you to ingest inline documents or a set of documents stored
* in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom
* attributes to the documents, and to attach an access control list to the documents added to the index.
*
*
* The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error
* messages related to processing the batch are sent to your AWS CloudWatch log.
*
*
* @param batchPutDocumentRequest
* @return Result of the BatchPutDocument operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ServiceQuotaExceededException
* @throws InternalServerException
* @sample AWSkendra.BatchPutDocument
* @see AWS API
* Documentation
*/
BatchPutDocumentResult batchPutDocument(BatchPutDocumentRequest batchPutDocumentRequest);
/**
*
* Creates a data source that you use to with an Amazon Kendra index.
*
*
* You specify a name, data source connector type and description for your data source. You also specify
* configuration information such as document metadata (author, source URI, and so on) and user context information.
*
*
* CreateDataSource
is a synchronous operation. The operation returns 200 if the data source was
* successfully created. Otherwise, an exception is raised.
*
*
* @param createDataSourceRequest
* @return Result of the CreateDataSource operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ResourceAlreadyExistException
* @throws ServiceQuotaExceededException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.CreateDataSource
* @see AWS API
* Documentation
*/
CreateDataSourceResult createDataSource(CreateDataSourceRequest createDataSourceRequest);
/**
*
* Creates an new set of frequently asked question (FAQ) questions and answers.
*
*
* @param createFaqRequest
* @return Result of the CreateFaq operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws ServiceQuotaExceededException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.CreateFaq
* @see AWS API
* Documentation
*/
CreateFaqResult createFaq(CreateFaqRequest createFaqRequest);
/**
*
* Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation
* has completed, check the Status
field returned from a call to . The Status
field is set
* to ACTIVE
when the index is ready to use.
*
*
* Once the index is active you can index your documents using the operation or using one of the supported data
* sources.
*
*
* @param createIndexRequest
* @return Result of the CreateIndex operation returned by the service.
* @throws ValidationException
* @throws ResourceAlreadyExistException
* @throws ServiceQuotaExceededException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ConflictException
* @throws InternalServerException
* @sample AWSkendra.CreateIndex
* @see AWS API
* Documentation
*/
CreateIndexResult createIndex(CreateIndexRequest createIndexRequest);
/**
*
* Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format.
*
*
* @param createThesaurusRequest
* @return Result of the CreateThesaurus operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws ServiceQuotaExceededException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.CreateThesaurus
* @see AWS API
* Documentation
*/
CreateThesaurusResult createThesaurus(CreateThesaurusRequest createThesaurusRequest);
/**
*
* Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted.
* While the data source is being deleted, the Status
field returned by a call to the operation is set
* to DELETING
. For more information, see Deleting Data Sources.
*
*
* @param deleteDataSourceRequest
* @return Result of the DeleteDataSource operation returned by the service.
* @throws AccessDeniedException
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws InternalServerException
* @sample AWSkendra.DeleteDataSource
* @see AWS API
* Documentation
*/
DeleteDataSourceResult deleteDataSource(DeleteDataSourceRequest deleteDataSourceRequest);
/**
*
* Removes an FAQ from an index.
*
*
* @param deleteFaqRequest
* @return Result of the DeleteFaq operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DeleteFaq
* @see AWS API
* Documentation
*/
DeleteFaqResult deleteFaq(DeleteFaqRequest deleteFaqRequest);
/**
*
* Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While
* the index is being deleted, the Status
field returned by a call to the DescribeIndex
* operation is set to DELETING
.
*
*
* @param deleteIndexRequest
* @return Result of the DeleteIndex operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DeleteIndex
* @see AWS API
* Documentation
*/
DeleteIndexResult deleteIndex(DeleteIndexRequest deleteIndexRequest);
/**
*
* Deletes an existing Amazon Kendra thesaurus.
*
*
* @param deleteThesaurusRequest
* @return Result of the DeleteThesaurus operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DeleteThesaurus
* @see AWS API
* Documentation
*/
DeleteThesaurusResult deleteThesaurus(DeleteThesaurusRequest deleteThesaurusRequest);
/**
*
* Gets information about a Amazon Kendra data source.
*
*
* @param describeDataSourceRequest
* @return Result of the DescribeDataSource operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DescribeDataSource
* @see AWS API
* Documentation
*/
DescribeDataSourceResult describeDataSource(DescribeDataSourceRequest describeDataSourceRequest);
/**
*
* Gets information about an FAQ list.
*
*
* @param describeFaqRequest
* @return Result of the DescribeFaq operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DescribeFaq
* @see AWS API
* Documentation
*/
DescribeFaqResult describeFaq(DescribeFaqRequest describeFaqRequest);
/**
*
* Describes an existing Amazon Kendra index
*
*
* @param describeIndexRequest
* @return Result of the DescribeIndex operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DescribeIndex
* @see AWS API
* Documentation
*/
DescribeIndexResult describeIndex(DescribeIndexRequest describeIndexRequest);
/**
*
* Describes an existing Amazon Kendra thesaurus.
*
*
* @param describeThesaurusRequest
* @return Result of the DescribeThesaurus operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.DescribeThesaurus
* @see AWS API
* Documentation
*/
DescribeThesaurusResult describeThesaurus(DescribeThesaurusRequest describeThesaurusRequest);
/**
*
* Gets statistics about synchronizing Amazon Kendra with a data source.
*
*
* @param listDataSourceSyncJobsRequest
* @return Result of the ListDataSourceSyncJobs operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ConflictException
* @throws InternalServerException
* @sample AWSkendra.ListDataSourceSyncJobs
* @see AWS
* API Documentation
*/
ListDataSourceSyncJobsResult listDataSourceSyncJobs(ListDataSourceSyncJobsRequest listDataSourceSyncJobsRequest);
/**
*
* Lists the data sources that you have created.
*
*
* @param listDataSourcesRequest
* @return Result of the ListDataSources operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws AccessDeniedException
* @throws ThrottlingException
* @throws InternalServerException
* @sample AWSkendra.ListDataSources
* @see AWS API
* Documentation
*/
ListDataSourcesResult listDataSources(ListDataSourcesRequest listDataSourcesRequest);
/**
*
* Gets a list of FAQ lists associated with an index.
*
*
* @param listFaqsRequest
* @return Result of the ListFaqs operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.ListFaqs
* @see AWS API
* Documentation
*/
ListFaqsResult listFaqs(ListFaqsRequest listFaqsRequest);
/**
*
* Lists the Amazon Kendra indexes that you have created.
*
*
* @param listIndicesRequest
* @return Result of the ListIndices operation returned by the service.
* @throws ValidationException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.ListIndices
* @see AWS API
* Documentation
*/
ListIndicesResult listIndices(ListIndicesRequest listIndicesRequest);
/**
*
* Gets a list of tags associated with a specified resource. Indexes, FAQs, and data sources can have tags
* associated with them.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ValidationException
* @throws ResourceUnavailableException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.ListTagsForResource
* @see AWS API
* Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Lists the Amazon Kendra thesauri associated with an index.
*
*
* @param listThesauriRequest
* @return Result of the ListThesauri operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.ListThesauri
* @see AWS API
* Documentation
*/
ListThesauriResult listThesauri(ListThesauriRequest listThesauriRequest);
/**
*
* Searches an active index. Use this API to search your documents using query. The Query
operation
* enables to do faceted search and to filter results based on document attributes.
*
*
* It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the
* search results.
*
*
* Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response
* contains three types of results.
*
*
* -
*
* Relevant passages
*
*
* -
*
* Matching FAQs
*
*
* -
*
* Relevant documents
*
*
*
*
* You can specify that the query return only one type of result using the QueryResultTypeConfig
* parameter.
*
*
* Each query returns the 100 most relevant results.
*
*
* @param queryRequest
* @return Result of the Query operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ServiceQuotaExceededException
* @throws InternalServerException
* @sample AWSkendra.Query
* @see AWS API
* Documentation
*/
QueryResult query(QueryRequest queryRequest);
/**
*
* Starts a synchronization job for a data source. If a synchronization job is already in progress, Amazon Kendra
* returns a ResourceInUseException
exception.
*
*
* @param startDataSourceSyncJobRequest
* @return Result of the StartDataSourceSyncJob operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ResourceInUseException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ConflictException
* @throws InternalServerException
* @sample AWSkendra.StartDataSourceSyncJob
* @see AWS
* API Documentation
*/
StartDataSourceSyncJobResult startDataSourceSyncJob(StartDataSourceSyncJobRequest startDataSourceSyncJobRequest);
/**
*
* Stops a running synchronization job. You can't stop a scheduled synchronization job.
*
*
* @param stopDataSourceSyncJobRequest
* @return Result of the StopDataSourceSyncJob operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.StopDataSourceSyncJob
* @see AWS
* API Documentation
*/
StopDataSourceSyncJobResult stopDataSourceSyncJob(StopDataSourceSyncJobRequest stopDataSourceSyncJobRequest);
/**
*
* Enables you to provide feedback to Amazon Kendra to improve the performance of the service.
*
*
* @param submitFeedbackRequest
* @return Result of the SubmitFeedback operation returned by the service.
* @throws ValidationException
* @throws ResourceUnavailableException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.SubmitFeedback
* @see AWS API
* Documentation
*/
SubmitFeedbackResult submitFeedback(SubmitFeedbackRequest submitFeedbackRequest);
/**
*
* Adds the specified tag to the specified index, FAQ, or data source resource. If the tag already exists, the
* existing value is replaced with the new value.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ValidationException
* @throws ResourceUnavailableException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes a tag from an index, FAQ, or a data source.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ValidationException
* @throws ResourceUnavailableException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates an existing Amazon Kendra data source.
*
*
* @param updateDataSourceRequest
* @return Result of the UpdateDataSource operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws InternalServerException
* @sample AWSkendra.UpdateDataSource
* @see AWS API
* Documentation
*/
UpdateDataSourceResult updateDataSource(UpdateDataSourceRequest updateDataSourceRequest);
/**
*
* Updates an existing Amazon Kendra index.
*
*
* @param updateIndexRequest
* @return Result of the UpdateIndex operation returned by the service.
* @throws ValidationException
* @throws ConflictException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ServiceQuotaExceededException
* @throws InternalServerException
* @sample AWSkendra.UpdateIndex
* @see AWS API
* Documentation
*/
UpdateIndexResult updateIndex(UpdateIndexRequest updateIndexRequest);
/**
*
* Updates a thesaurus file associated with an index.
*
*
* @param updateThesaurusRequest
* @return Result of the UpdateThesaurus operation returned by the service.
* @throws ValidationException
* @throws ResourceNotFoundException
* @throws ThrottlingException
* @throws AccessDeniedException
* @throws ConflictException
* @throws InternalServerException
* @sample AWSkendra.UpdateThesaurus
* @see AWS API
* Documentation
*/
UpdateThesaurusResult updateThesaurus(UpdateThesaurusRequest updateThesaurusRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}