All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.elasticsearch.AWSElasticsearchClient Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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 org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.elasticsearch.model.*;
import com.amazonaws.services.elasticsearch.model.transform.*;

/**
 * Client for accessing Amazon Elasticsearch Service. All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

* Amazon Elasticsearch Configuration Service *

* Use the Amazon Elasticsearch configuration API to create, configure, and * manage Elasticsearch domains. *

*

* The endpoint for configuration service requests is region-specific: * es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For * a current list of supported regions and endpoints, see Regions and Endpoints. *

*/ @ThreadSafe public class AWSElasticsearchClient extends AmazonWebServiceClient implements AWSElasticsearch { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSElasticsearch.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "es"; /** * Client configuration factory providing ClientConfigurations tailored to * this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final SdkJsonProtocolFactory protocolFactory = new SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withContentTypeOverride("") .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ValidationException") .withModeledClass( com.amazonaws.services.elasticsearch.model.ValidationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("BaseException") .withModeledClass( com.amazonaws.services.elasticsearch.model.BaseException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("DisabledOperationException") .withModeledClass( com.amazonaws.services.elasticsearch.model.DisabledOperationException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ResourceNotFoundException") .withModeledClass( com.amazonaws.services.elasticsearch.model.ResourceNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "ResourceAlreadyExistsException") .withModeledClass( com.amazonaws.services.elasticsearch.model.ResourceAlreadyExistsException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InternalException") .withModeledClass( com.amazonaws.services.elasticsearch.model.InternalException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("LimitExceededException") .withModeledClass( com.amazonaws.services.elasticsearch.model.LimitExceededException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidTypeException") .withModeledClass( com.amazonaws.services.elasticsearch.model.InvalidTypeException.class)) .withBaseServiceExceptionClass( com.amazonaws.services.elasticsearch.model.AWSElasticsearchException.class)); /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service. A credentials provider chain will be used that searches for * credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AWSElasticsearchClient() { this(new DefaultAWSCredentialsProviderChain(), configFactory .getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service. A credentials provider chain will be used that searches for * credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
* *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientConfiguration * The client configuration options controlling how this client * connects to Amazon Elasticsearch Service (ex: proxy settings, * retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AWSElasticsearchClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. */ public AWSElasticsearchClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified AWS account credentials and client * configuration options. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to Amazon Elasticsearch Service (ex: proxy settings, * retry counts, etc.). */ public AWSElasticsearchClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider( awsCredentials); init(); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. */ public AWSElasticsearchClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified AWS account credentials provider and client * configuration options. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to Amazon Elasticsearch Service (ex: proxy settings, * retry counts, etc.). */ public AWSElasticsearchClient( AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified AWS account credentials provider, client * configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client * connects to Amazon Elasticsearch Service (ex: proxy settings, * retry counts, etc.). * @param requestMetricCollector * optional request metric collector */ public AWSElasticsearchClient( AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on Amazon Elasticsearch * Service using the specified parameters. * *

* All service calls made using this new client object are blocking, and * will not return until the service call completes. * * @param clientParams * Object providing client parameters. */ AWSElasticsearchClient(AwsSyncClientParams clientParams) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://es.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s .addAll(chainFactory .newRequestHandlerChain("/com/amazonaws/services/elasticsearch/request.handlers")); requestHandler2s .addAll(chainFactory .newRequestHandler2Chain("/com/amazonaws/services/elasticsearch/request.handler2s")); } /** *

* 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 Tagging Amazon Elasticsearch Service Domains for more * information. *

* * @param addTagsRequest * Container for the parameters to the AddTags * operation. Specify the tags that you want to attach to the * Elasticsearch domain. * @return Result of the AddTags operation returned by the service. * @throws BaseException * An error occurred while processing the request. * @throws LimitExceededException * An exception for trying to create more than allowed resources or * sub-resources. Gives http status code of 409. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @sample AWSElasticsearch.AddTags */ @Override public AddTagsResult addTags(AddTagsRequest addTagsRequest) { ExecutionContext executionContext = createExecutionContext(addTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddTagsRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(addTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new AddTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon * Elasticsearch Service Developer Guide. *

* * @param createElasticsearchDomainRequest * @return Result of the CreateElasticsearchDomain operation returned by the * service. * @throws BaseException * An error occurred while processing the request. * @throws DisabledOperationException * An error occured because the client wanted to access a not * supported operation. Gives http status code of 409. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws InvalidTypeException * An exception for trying to create or access sub-resource that is * either invalid or not supported. Gives http status code of 409. * @throws LimitExceededException * An exception for trying to create more than allowed resources or * sub-resources. Gives http status code of 409. * @throws ResourceAlreadyExistsException * An exception for creating a resource that already exists. Gives * http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.CreateElasticsearchDomain */ @Override public CreateElasticsearchDomainResult createElasticsearchDomain( CreateElasticsearchDomainRequest createElasticsearchDomainRequest) { ExecutionContext executionContext = createExecutionContext(createElasticsearchDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateElasticsearchDomainRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(createElasticsearchDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new CreateElasticsearchDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Permanently deletes the specified Elasticsearch domain and all of its * data. Once a domain is deleted, it cannot be recovered. *

* * @param deleteElasticsearchDomainRequest * Container for the parameters to the * DeleteElasticsearchDomain operation. Specifies * the name of the Elasticsearch domain that you want to delete. * @return Result of the DeleteElasticsearchDomain operation returned by the * service. * @throws BaseException * An error occurred while processing the request. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws ResourceNotFoundException * An exception for accessing or deleting a resource that does not * exist. Gives http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.DeleteElasticsearchDomain */ @Override public DeleteElasticsearchDomainResult deleteElasticsearchDomain( DeleteElasticsearchDomainRequest deleteElasticsearchDomainRequest) { ExecutionContext executionContext = createExecutionContext(deleteElasticsearchDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteElasticsearchDomainRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(deleteElasticsearchDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DeleteElasticsearchDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns domain configuration information about the specified * Elasticsearch domain, including the domain ID, domain endpoint, and * domain ARN. *

* * @param describeElasticsearchDomainRequest * Container for the parameters to the * DescribeElasticsearchDomain operation. * @return Result of the DescribeElasticsearchDomain operation returned by * the service. * @throws BaseException * An error occurred while processing the request. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws ResourceNotFoundException * An exception for accessing or deleting a resource that does not * exist. Gives http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.DescribeElasticsearchDomain */ @Override public DescribeElasticsearchDomainResult describeElasticsearchDomain( DescribeElasticsearchDomainRequest describeElasticsearchDomainRequest) { ExecutionContext executionContext = createExecutionContext(describeElasticsearchDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeElasticsearchDomainRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(describeElasticsearchDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DescribeElasticsearchDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides cluster configuration information about the specified * Elasticsearch domain, such as the state, creation date, update version, * and update date for cluster options. *

* * @param describeElasticsearchDomainConfigRequest * Container for the parameters to the * DescribeElasticsearchDomainConfig operation. * Specifies the domain name for which you want configuration * information. * @return Result of the DescribeElasticsearchDomainConfig operation * returned by the service. * @throws BaseException * An error occurred while processing the request. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws ResourceNotFoundException * An exception for accessing or deleting a resource that does not * exist. Gives http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.DescribeElasticsearchDomainConfig */ @Override public DescribeElasticsearchDomainConfigResult describeElasticsearchDomainConfig( DescribeElasticsearchDomainConfigRequest describeElasticsearchDomainConfigRequest) { ExecutionContext executionContext = createExecutionContext(describeElasticsearchDomainConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeElasticsearchDomainConfigRequestMarshaller( protocolFactory) .marshall(super .beforeMarshalling(describeElasticsearchDomainConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DescribeElasticsearchDomainConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns domain configuration information about the specified * Elasticsearch domains, including the domain ID, domain endpoint, and * domain ARN. *

* * @param describeElasticsearchDomainsRequest * Container for the parameters to the * DescribeElasticsearchDomains operation. By * default, the API returns the status of all Elasticsearch domains. * @return Result of the DescribeElasticsearchDomains operation returned by * the service. * @throws BaseException * An error occurred while processing the request. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.DescribeElasticsearchDomains */ @Override public DescribeElasticsearchDomainsResult describeElasticsearchDomains( DescribeElasticsearchDomainsRequest describeElasticsearchDomainsRequest) { ExecutionContext executionContext = createExecutionContext(describeElasticsearchDomainsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeElasticsearchDomainsRequestMarshaller( protocolFactory) .marshall(super .beforeMarshalling(describeElasticsearchDomainsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DescribeElasticsearchDomainsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns the name of all Elasticsearch domains owned by the current user's * account. *

* * @param listDomainNamesRequest * @return Result of the ListDomainNames operation returned by the service. * @throws BaseException * An error occurred while processing the request. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.ListDomainNames */ @Override public ListDomainNamesResult listDomainNames( ListDomainNamesRequest listDomainNamesRequest) { ExecutionContext executionContext = createExecutionContext(listDomainNamesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDomainNamesRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(listDomainNamesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListDomainNamesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns all tags for the given Elasticsearch domain. *

* * @param listTagsRequest * Container for the parameters to the ListTags * operation. Specify the ARN for the Elasticsearch * domain to which the tags are attached that you want to view are * attached. * @return Result of the ListTags operation returned by the service. * @throws BaseException * An error occurred while processing the request. * @throws ResourceNotFoundException * An exception for accessing or deleting a resource that does not * exist. Gives http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @sample AWSElasticsearch.ListTags */ @Override public ListTagsResult listTags(ListTagsRequest listTagsRequest) { ExecutionContext executionContext = createExecutionContext(listTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(listTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes the specified set of tags from the specified Elasticsearch * domain. *

* * @param removeTagsRequest * Container for the parameters to the RemoveTags * operation. Specify the ARN for the Elasticsearch * domain from which you want to remove the specified * TagKey. * @return Result of the RemoveTags operation returned by the service. * @throws BaseException * An error occurred while processing the request. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @sample AWSElasticsearch.RemoveTags */ @Override public RemoveTagsResult removeTags(RemoveTagsRequest removeTagsRequest) { ExecutionContext executionContext = createExecutionContext(removeTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RemoveTagsRequestMarshaller(protocolFactory) .marshall(super.beforeMarshalling(removeTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new RemoveTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Modifies the cluster configuration of the specified Elasticsearch domain, * setting as setting the instance type and the number of instances. *

* * @param updateElasticsearchDomainConfigRequest * Container for the parameters to the * UpdateElasticsearchDomain operation. Specifies * the type and number of instances in the domain cluster. * @return Result of the UpdateElasticsearchDomainConfig operation returned * by the service. * @throws BaseException * An error occurred while processing the request. * @throws InternalException * The request processing has failed because of an unknown error, * exception or failure (the failure is internal to the service) . * Gives http status code of 500. * @throws InvalidTypeException * An exception for trying to create or access sub-resource that is * either invalid or not supported. Gives http status code of 409. * @throws LimitExceededException * An exception for trying to create more than allowed resources or * sub-resources. Gives http status code of 409. * @throws ResourceNotFoundException * An exception for accessing or deleting a resource that does not * exist. Gives http status code of 400. * @throws ValidationException * An exception for missing / invalid input fields. Gives http * status code of 400. * @sample AWSElasticsearch.UpdateElasticsearchDomainConfig */ @Override public UpdateElasticsearchDomainConfigResult updateElasticsearchDomainConfig( UpdateElasticsearchDomainConfigRequest updateElasticsearchDomainConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateElasticsearchDomainConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateElasticsearchDomainConfigRequestMarshaller( protocolFactory) .marshall(super .beforeMarshalling(updateElasticsearchDomainConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new UpdateElasticsearchDomainConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * 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 the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata( AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be * overriden at the request level. **/ private Response invoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { executionContext.setCredentialsProvider(CredentialUtils .getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext); } /** * Invoke with no authentication. Credentials are not required and any * credentials set on the client or request will be ignored for this * operation. **/ private Response anonymousInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext); } /** * Invoke the request using the http client. Assumes credentials (or lack * thereof) have been configured in the ExecutionContext beforehand. **/ private Response doInvoke( Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory .createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy