/*
* Copyright 2012-2017 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.elasticsearch;
import javax.annotation.Generated;
import com.amazonaws.services.elasticsearch.model.*;
/**
* Interface for accessing Amazon Elasticsearch Service asynchronously. Each asynchronous method will return a Java
* Future object representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to
* receive notification when an asynchronous operation completes.
* <p>
* <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.elasticsearch.AbstractAWSElasticsearchAsync} instead.
* </p>
* <p>
* <fullname>Amazon Elasticsearch Configuration Service</fullname>
* <p>
* Use the Amazon Elasticsearch configuration API to create, configure, and manage Elasticsearch domains.
* </p>
* <p>
* The endpoint for configuration service requests is region-specific: es.<i>region</i>.amazonaws.com. For example,
* es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see <a
* href="http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticsearch-service-regions" target="_blank">Regions
* and Endpoints</a>.
* </p>
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSElasticsearchAsync extends AWSElasticsearch {
/**
* <p>
* Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An
* Elasticsearch domain may have up to 10 tags. See <a href=
* "http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-awsresorcetagging"
* target="_blank"> Tagging Amazon Elasticsearch Service Domains for more information.</a>
* </p>
*
* @param addTagsRequest
* Container for the parameters to the <code><a>AddTags</a></code> operation. Specify the tags that you want
* to attach to the Elasticsearch domain.
* @return A Java Future containing the result of the AddTags operation returned by the service.
* @sample AWSElasticsearchAsync.AddTags
*/
java.util.concurrent.Future<AddTagsResult> addTagsAsync(AddTagsRequest addTagsRequest);
/**
* <p>
* Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An
* Elasticsearch domain may have up to 10 tags. See <a href=
* "http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains.html#es-managedomains-awsresorcetagging"
* target="_blank"> Tagging Amazon Elasticsearch Service Domains for more information.</a>
* </p>
*
* @param addTagsRequest
* Container for the parameters to the <code><a>AddTags</a></code> operation. Specify the tags that you want
* to attach to the Elasticsearch domain.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the AddTags operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.AddTags
*/
java.util.concurrent.Future<AddTagsResult> addTagsAsync(AddTagsRequest addTagsRequest,
com.amazonaws.handlers.AsyncHandler<AddTagsRequest, AddTagsResult> asyncHandler);
/**
* <p>
* Creates a new Elasticsearch domain. For more information, see <a href=
* "http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains"
* target="_blank">Creating Elasticsearch Domains</a> in the <i>Amazon Elasticsearch Service Developer Guide</i>.
* </p>
*
* @param createElasticsearchDomainRequest
* @return A Java Future containing the result of the CreateElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsync.CreateElasticsearchDomain
*/
java.util.concurrent.Future<CreateElasticsearchDomainResult> createElasticsearchDomainAsync(
CreateElasticsearchDomainRequest createElasticsearchDomainRequest);
/**
* <p>
* Creates a new Elasticsearch domain. For more information, see <a href=
* "http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-createupdatedomains.html#es-createdomains"
* target="_blank">Creating Elasticsearch Domains</a> in the <i>Amazon Elasticsearch Service Developer Guide</i>.
* </p>
*
* @param createElasticsearchDomainRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.CreateElasticsearchDomain
*/
java.util.concurrent.Future<CreateElasticsearchDomainResult> createElasticsearchDomainAsync(
CreateElasticsearchDomainRequest createElasticsearchDomainRequest,
com.amazonaws.handlers.AsyncHandler<CreateElasticsearchDomainRequest, CreateElasticsearchDomainResult> asyncHandler);
/**
* <p>
* Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot
* be recovered.
* </p>
*
* @param deleteElasticsearchDomainRequest
* Container for the parameters to the <code><a>DeleteElasticsearchDomain</a></code> operation. Specifies the
* name of the Elasticsearch domain that you want to delete.
* @return A Java Future containing the result of the DeleteElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsync.DeleteElasticsearchDomain
*/
java.util.concurrent.Future<DeleteElasticsearchDomainResult> deleteElasticsearchDomainAsync(
DeleteElasticsearchDomainRequest deleteElasticsearchDomainRequest);
/**
* <p>
* Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot
* be recovered.
* </p>
*
* @param deleteElasticsearchDomainRequest
* Container for the parameters to the <code><a>DeleteElasticsearchDomain</a></code> operation. Specifies the
* name of the Elasticsearch domain that you want to delete.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.DeleteElasticsearchDomain
*/
java.util.concurrent.Future<DeleteElasticsearchDomainResult> deleteElasticsearchDomainAsync(
DeleteElasticsearchDomainRequest deleteElasticsearchDomainRequest,
com.amazonaws.handlers.AsyncHandler<DeleteElasticsearchDomainRequest, DeleteElasticsearchDomainResult> asyncHandler);
/**
* <p>
* Returns domain configuration information about the specified Elasticsearch domain, including the domain ID,
* domain endpoint, and domain ARN.
* </p>
*
* @param describeElasticsearchDomainRequest
* Container for the parameters to the <code><a>DescribeElasticsearchDomain</a></code> operation.
* @return A Java Future containing the result of the DescribeElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsync.DescribeElasticsearchDomain
*/
java.util.concurrent.Future<DescribeElasticsearchDomainResult> describeElasticsearchDomainAsync(
DescribeElasticsearchDomainRequest describeElasticsearchDomainRequest);
/**
* <p>
* Returns domain configuration information about the specified Elasticsearch domain, including the domain ID,
* domain endpoint, and domain ARN.
* </p>
*
* @param describeElasticsearchDomainRequest
* Container for the parameters to the <code><a>DescribeElasticsearchDomain</a></code> operation.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeElasticsearchDomain operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.DescribeElasticsearchDomain
*/
java.util.concurrent.Future<DescribeElasticsearchDomainResult> describeElasticsearchDomainAsync(
DescribeElasticsearchDomainRequest describeElasticsearchDomainRequest,
com.amazonaws.handlers.AsyncHandler<DescribeElasticsearchDomainRequest, DescribeElasticsearchDomainResult> asyncHandler);
/**
* <p>
* Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation
* date, update version, and update date for cluster options.
* </p>
*
* @param describeElasticsearchDomainConfigRequest
* Container for the parameters to the <code>DescribeElasticsearchDomainConfig</code> operation. Specifies
* the domain name for which you want configuration information.
* @return A Java Future containing the result of the DescribeElasticsearchDomainConfig operation returned by the
* service.
* @sample AWSElasticsearchAsync.DescribeElasticsearchDomainConfig
*/
java.util.concurrent.Future<DescribeElasticsearchDomainConfigResult> describeElasticsearchDomainConfigAsync(
DescribeElasticsearchDomainConfigRequest describeElasticsearchDomainConfigRequest);
/**
* <p>
* Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation
* date, update version, and update date for cluster options.
* </p>
*
* @param describeElasticsearchDomainConfigRequest
* Container for the parameters to the <code>DescribeElasticsearchDomainConfig</code> operation. Specifies
* the domain name for which you want configuration information.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeElasticsearchDomainConfig operation returned by the
* service.
* @sample AWSElasticsearchAsyncHandler.DescribeElasticsearchDomainConfig
*/
java.util.concurrent.Future<DescribeElasticsearchDomainConfigResult> describeElasticsearchDomainConfigAsync(
DescribeElasticsearchDomainConfigRequest describeElasticsearchDomainConfigRequest,
com.amazonaws.handlers.AsyncHandler<DescribeElasticsearchDomainConfigRequest, DescribeElasticsearchDomainConfigResult> asyncHandler);
/**
* <p>
* Returns domain configuration information about the specified Elasticsearch domains, including the domain ID,
* domain endpoint, and domain ARN.
* </p>
*
* @param describeElasticsearchDomainsRequest
* Container for the parameters to the <code><a>DescribeElasticsearchDomains</a></code> operation. By
* default, the API returns the status of all Elasticsearch domains.
* @return A Java Future containing the result of the DescribeElasticsearchDomains operation returned by the
* service.
* @sample AWSElasticsearchAsync.DescribeElasticsearchDomains
*/
java.util.concurrent.Future<DescribeElasticsearchDomainsResult> describeElasticsearchDomainsAsync(
DescribeElasticsearchDomainsRequest describeElasticsearchDomainsRequest);
/**
* <p>
* Returns domain configuration information about the specified Elasticsearch domains, including the domain ID,
* domain endpoint, and domain ARN.
* </p>
*
* @param describeElasticsearchDomainsRequest
* Container for the parameters to the <code><a>DescribeElasticsearchDomains</a></code> operation. By
* default, the API returns the status of all Elasticsearch domains.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeElasticsearchDomains operation returned by the
* service.
* @sample AWSElasticsearchAsyncHandler.DescribeElasticsearchDomains
*/
java.util.concurrent.Future<DescribeElasticsearchDomainsResult> describeElasticsearchDomainsAsync(
DescribeElasticsearchDomainsRequest describeElasticsearchDomainsRequest,
com.amazonaws.handlers.AsyncHandler<DescribeElasticsearchDomainsRequest, DescribeElasticsearchDomainsResult> asyncHandler);
/**
* <p>
* Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain,
* specify the <code> <a>DomainName</a> </code> to know what Limits are supported for modifying.
* </p>
*
* @param describeElasticsearchInstanceTypeLimitsRequest
* Container for the parameters to <code> <a>DescribeElasticsearchInstanceTypeLimits</a> </code> operation.
* @return A Java Future containing the result of the DescribeElasticsearchInstanceTypeLimits operation returned by
* the service.
* @sample AWSElasticsearchAsync.DescribeElasticsearchInstanceTypeLimits
*/
java.util.concurrent.Future<DescribeElasticsearchInstanceTypeLimitsResult> describeElasticsearchInstanceTypeLimitsAsync(
DescribeElasticsearchInstanceTypeLimitsRequest describeElasticsearchInstanceTypeLimitsRequest);
/**
* <p>
* Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain,
* specify the <code> <a>DomainName</a> </code> to know what Limits are supported for modifying.
* </p>
*
* @param describeElasticsearchInstanceTypeLimitsRequest
* Container for the parameters to <code> <a>DescribeElasticsearchInstanceTypeLimits</a> </code> operation.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DescribeElasticsearchInstanceTypeLimits operation returned by
* the service.
* @sample AWSElasticsearchAsyncHandler.DescribeElasticsearchInstanceTypeLimits
*/
java.util.concurrent.Future<DescribeElasticsearchInstanceTypeLimitsResult> describeElasticsearchInstanceTypeLimitsAsync(
DescribeElasticsearchInstanceTypeLimitsRequest describeElasticsearchInstanceTypeLimitsRequest,
com.amazonaws.handlers.AsyncHandler<DescribeElasticsearchInstanceTypeLimitsRequest, DescribeElasticsearchInstanceTypeLimitsResult> asyncHandler);
/**
* <p>
* Returns the name of all Elasticsearch domains owned by the current user's account.
* </p>
*
* @param listDomainNamesRequest
* @return A Java Future containing the result of the ListDomainNames operation returned by the service.
* @sample AWSElasticsearchAsync.ListDomainNames
*/
java.util.concurrent.Future<ListDomainNamesResult> listDomainNamesAsync(ListDomainNamesRequest listDomainNamesRequest);
/**
* <p>
* Returns the name of all Elasticsearch domains owned by the current user's account.
* </p>
*
* @param listDomainNamesRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListDomainNames operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.ListDomainNames
*/
java.util.concurrent.Future<ListDomainNamesResult> listDomainNamesAsync(ListDomainNamesRequest listDomainNamesRequest,
com.amazonaws.handlers.AsyncHandler<ListDomainNamesRequest, ListDomainNamesResult> asyncHandler);
/**
* <p>
* List all Elasticsearch instance types that are supported for given ElasticsearchVersion
* </p>
*
* @param listElasticsearchInstanceTypesRequest
* Container for the parameters to the <code> <a>ListElasticsearchInstanceTypes</a> </code> operation.
* @return A Java Future containing the result of the ListElasticsearchInstanceTypes operation returned by the
* service.
* @sample AWSElasticsearchAsync.ListElasticsearchInstanceTypes
*/
java.util.concurrent.Future<ListElasticsearchInstanceTypesResult> listElasticsearchInstanceTypesAsync(
ListElasticsearchInstanceTypesRequest listElasticsearchInstanceTypesRequest);
/**
* <p>
* List all Elasticsearch instance types that are supported for given ElasticsearchVersion
* </p>
*
* @param listElasticsearchInstanceTypesRequest
* Container for the parameters to the <code> <a>ListElasticsearchInstanceTypes</a> </code> operation.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListElasticsearchInstanceTypes operation returned by the
* service.
* @sample AWSElasticsearchAsyncHandler.ListElasticsearchInstanceTypes
*/
java.util.concurrent.Future<ListElasticsearchInstanceTypesResult> listElasticsearchInstanceTypesAsync(
ListElasticsearchInstanceTypesRequest listElasticsearchInstanceTypesRequest,
com.amazonaws.handlers.AsyncHandler<ListElasticsearchInstanceTypesRequest, ListElasticsearchInstanceTypesResult> asyncHandler);
/**
* <p>
* List all supported Elasticsearch versions
* </p>
*
* @param listElasticsearchVersionsRequest
* Container for the parameters to the <code> <a>ListElasticsearchVersions</a> </code> operation.
* <p>
* Use <code> <a>MaxResults</a> </code> to control the maximum number of results to retrieve in a single
* call.
* </p>
* <p>
* Use <code> <a>NextToken</a> </code> in response to retrieve more results. If the received response does
* not contain a NextToken, then there are no more results to retrieve.
* </p>
* @return A Java Future containing the result of the ListElasticsearchVersions operation returned by the service.
* @sample AWSElasticsearchAsync.ListElasticsearchVersions
*/
java.util.concurrent.Future<ListElasticsearchVersionsResult> listElasticsearchVersionsAsync(
ListElasticsearchVersionsRequest listElasticsearchVersionsRequest);
/**
* <p>
* List all supported Elasticsearch versions
* </p>
*
* @param listElasticsearchVersionsRequest
* Container for the parameters to the <code> <a>ListElasticsearchVersions</a> </code> operation.
* <p>
* Use <code> <a>MaxResults</a> </code> to control the maximum number of results to retrieve in a single
* call.
* </p>
* <p>
* Use <code> <a>NextToken</a> </code> in response to retrieve more results. If the received response does
* not contain a NextToken, then there are no more results to retrieve.
* </p>
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListElasticsearchVersions operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.ListElasticsearchVersions
*/
java.util.concurrent.Future<ListElasticsearchVersionsResult> listElasticsearchVersionsAsync(
ListElasticsearchVersionsRequest listElasticsearchVersionsRequest,
com.amazonaws.handlers.AsyncHandler<ListElasticsearchVersionsRequest, ListElasticsearchVersionsResult> asyncHandler);
/**
* <p>
* Returns all tags for the given Elasticsearch domain.
* </p>
*
* @param listTagsRequest
* Container for the parameters to the <code><a>ListTags</a></code> operation. Specify the <code>ARN</code>
* for the Elasticsearch domain to which the tags are attached that you want to view are attached.
* @return A Java Future containing the result of the ListTags operation returned by the service.
* @sample AWSElasticsearchAsync.ListTags
*/
java.util.concurrent.Future<ListTagsResult> listTagsAsync(ListTagsRequest listTagsRequest);
/**
* <p>
* Returns all tags for the given Elasticsearch domain.
* </p>
*
* @param listTagsRequest
* Container for the parameters to the <code><a>ListTags</a></code> operation. Specify the <code>ARN</code>
* for the Elasticsearch domain to which the tags are attached that you want to view are attached.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListTags operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.ListTags
*/
java.util.concurrent.Future<ListTagsResult> listTagsAsync(ListTagsRequest listTagsRequest,
com.amazonaws.handlers.AsyncHandler<ListTagsRequest, ListTagsResult> asyncHandler);
/**
* <p>
* Removes the specified set of tags from the specified Elasticsearch domain.
* </p>
*
* @param removeTagsRequest
* Container for the parameters to the <code><a>RemoveTags</a></code> operation. Specify the <code>ARN</code>
* for the Elasticsearch domain from which you want to remove the specified <code>TagKey</code>.
* @return A Java Future containing the result of the RemoveTags operation returned by the service.
* @sample AWSElasticsearchAsync.RemoveTags
*/
java.util.concurrent.Future<RemoveTagsResult> removeTagsAsync(RemoveTagsRequest removeTagsRequest);
/**
* <p>
* Removes the specified set of tags from the specified Elasticsearch domain.
* </p>
*
* @param removeTagsRequest
* Container for the parameters to the <code><a>RemoveTags</a></code> operation. Specify the <code>ARN</code>
* for the Elasticsearch domain from which you want to remove the specified <code>TagKey</code>.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the RemoveTags operation returned by the service.
* @sample AWSElasticsearchAsyncHandler.RemoveTags
*/
java.util.concurrent.Future<RemoveTagsResult> removeTagsAsync(RemoveTagsRequest removeTagsRequest,
com.amazonaws.handlers.AsyncHandler<RemoveTagsRequest, RemoveTagsResult> asyncHandler);
/**
* <p>
* Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type
* and the number of instances.
* </p>
*
* @param updateElasticsearchDomainConfigRequest
* Container for the parameters to the <code><a>UpdateElasticsearchDomain</a></code> operation. Specifies the
* type and number of instances in the domain cluster.
* @return A Java Future containing the result of the UpdateElasticsearchDomainConfig operation returned by the
* service.
* @sample AWSElasticsearchAsync.UpdateElasticsearchDomainConfig
*/
java.util.concurrent.Future<UpdateElasticsearchDomainConfigResult> updateElasticsearchDomainConfigAsync(
UpdateElasticsearchDomainConfigRequest updateElasticsearchDomainConfigRequest);
/**
* <p>
* Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type
* and the number of instances.
* </p>
*
* @param updateElasticsearchDomainConfigRequest
* Container for the parameters to the <code><a>UpdateElasticsearchDomain</a></code> operation. Specifies the
* type and number of instances in the domain cluster.
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the UpdateElasticsearchDomainConfig operation returned by the
* service.
* @sample AWSElasticsearchAsyncHandler.UpdateElasticsearchDomainConfig
*/
java.util.concurrent.Future<UpdateElasticsearchDomainConfigResult> updateElasticsearchDomainConfigAsync(
UpdateElasticsearchDomainConfigRequest updateElasticsearchDomainConfigRequest,
com.amazonaws.handlers.AsyncHandler<UpdateElasticsearchDomainConfigRequest, UpdateElasticsearchDomainConfigResult> asyncHandler);
}