/*
* 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.elasticbeanstalk;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
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.services.elasticbeanstalk.AWSElasticBeanstalkClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.elasticbeanstalk.model.*;
import com.amazonaws.services.elasticbeanstalk.model.transform.*;
/**
* Client for accessing Elastic Beanstalk. All service calls made using this client are blocking, and will not return
* until the service call completes.
* <p>
* <fullname>AWS Elastic Beanstalk</fullname>
* <p>
* AWS Elastic Beanstalk makes it easy for you to create, deploy, and manage scalable, fault-tolerant applications
* running on the Amazon Web Services cloud.
* </p>
* <p>
* For more information about this product, go to the <a href="http://aws.amazon.com/elasticbeanstalk/">AWS Elastic
* Beanstalk</a> details page. The location of the latest AWS Elastic Beanstalk WSDL is <a
* href="http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl"
* >http://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl</a>. To install the Software
* Development Kits (SDKs), Integrated Development Environment (IDE) Toolkits, and command line tools that enable you to
* access the API, go to <a href="http://aws.amazon.com/tools/">Tools for Amazon Web Services</a>.
* </p>
* <p>
* <b>Endpoints</b>
* </p>
* <p>
* For a list of region-specific endpoints that AWS Elastic Beanstalk supports, go to <a
* href="http://docs.aws.amazon.com/general/latest/gr/rande.html#elasticbeanstalk_region">Regions and Endpoints</a> in
* the <i>Amazon Web Services Glossary</i>.
* </p>
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSElasticBeanstalkClient extends AmazonWebServiceClient implements AWSElasticBeanstalk {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AWSElasticBeanstalk.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "elasticbeanstalk";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
/**
* List of exception unmarshallers for all modeled exceptions
*/
protected final List<Unmarshaller<AmazonServiceException, Node>> exceptionUnmarshallers = new ArrayList<Unmarshaller<AmazonServiceException, Node>>();
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk. A credentials provider chain will be used
* that searches for credentials in this order:
* <ul>
* <li>Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY</li>
* <li>Java System Properties - aws.accessKeyId and aws.secretKey</li>
* <li>Instance profile credentials delivered through the Amazon EC2 metadata service</li>
* </ul>
*
* <p>
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#defaultClient()}
*/
@Deprecated
public AWSElasticBeanstalkClient() {
this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk. A credentials provider chain will be used
* that searches for credentials in this order:
* <ul>
* <li>Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY</li>
* <li>Java System Properties - aws.accessKeyId and aws.secretKey</li>
* <li>Instance profile credentials delivered through the Amazon EC2 metadata service</li>
* </ul>
*
* <p>
* 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 Elastic Beanstalk (ex: proxy
* settings, retry counts, etc.).
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSElasticBeanstalkClient(ClientConfiguration clientConfiguration) {
this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified AWS account
* credentials.
*
* <p>
* 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.
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withCredentials(AWSCredentialsProvider)} for example:
* {@code AWSElasticBeanstalkClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();}
*/
@Deprecated
public AWSElasticBeanstalkClient(AWSCredentials awsCredentials) {
this(awsCredentials, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified AWS account
* credentials and client configuration options.
*
* <p>
* 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 Elastic Beanstalk (ex: proxy
* settings, retry counts, etc.).
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSElasticBeanstalkClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSElasticBeanstalkClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) {
super(clientConfiguration);
this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials);
init();
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified AWS account
* credentials provider.
*
* <p>
* 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.
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withCredentials(AWSCredentialsProvider)}
*/
@Deprecated
public AWSElasticBeanstalkClient(AWSCredentialsProvider awsCredentialsProvider) {
this(awsCredentialsProvider, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified AWS account
* credentials provider and client configuration options.
*
* <p>
* 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 Elastic Beanstalk (ex: proxy
* settings, retry counts, etc.).
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSElasticBeanstalkClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSElasticBeanstalkClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) {
this(awsCredentialsProvider, clientConfiguration, null);
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified AWS account
* credentials provider, client configuration options, and request metric collector.
*
* <p>
* 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 Elastic Beanstalk (ex: proxy
* settings, retry counts, etc.).
* @param requestMetricCollector
* optional request metric collector
* @deprecated use {@link AWSElasticBeanstalkClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSElasticBeanstalkClientBuilder#withClientConfiguration(ClientConfiguration)} and
* {@link AWSElasticBeanstalkClientBuilder#withMetricsCollector(RequestMetricCollector)}
*/
@Deprecated
public AWSElasticBeanstalkClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector) {
super(clientConfiguration, requestMetricCollector);
this.awsCredentialsProvider = awsCredentialsProvider;
init();
}
public static AWSElasticBeanstalkClientBuilder builder() {
return AWSElasticBeanstalkClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Elastic Beanstalk using the specified parameters.
*
* <p>
* 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.
*/
AWSElasticBeanstalkClient(AwsSyncClientParams clientParams) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
init();
}
private void init() {
exceptionUnmarshallers.add(new S3LocationNotInServiceRegionExceptionUnmarshaller());
exceptionUnmarshallers.add(new InvalidRequestExceptionUnmarshaller());
exceptionUnmarshallers.add(new ManagedActionInvalidStateExceptionUnmarshaller());
exceptionUnmarshallers.add(new InsufficientPrivilegesExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyPlatformsExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyApplicationVersionsExceptionUnmarshaller());
exceptionUnmarshallers.add(new CodeBuildNotInServiceRegionExceptionUnmarshaller());
exceptionUnmarshallers.add(new S3SubscriptionRequiredExceptionUnmarshaller());
exceptionUnmarshallers.add(new SourceBundleDeletionExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyConfigurationTemplatesExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyApplicationsExceptionUnmarshaller());
exceptionUnmarshallers.add(new OperationInProgressExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyEnvironmentsExceptionUnmarshaller());
exceptionUnmarshallers.add(new TooManyBucketsExceptionUnmarshaller());
exceptionUnmarshallers.add(new ElasticBeanstalkServiceExceptionUnmarshaller());
exceptionUnmarshallers.add(new PlatformVersionStillReferencedExceptionUnmarshaller());
exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.elasticbeanstalk.model.AWSElasticBeanstalkException.class));
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
this.setEndpoint("https://elasticbeanstalk.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/elasticbeanstalk/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/elasticbeanstalk/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
* <p>
* Cancels in-progress environment configuration update or application version deployment.
* </p>
*
* @param abortEnvironmentUpdateRequest
* @return Result of the AbortEnvironmentUpdate operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.AbortEnvironmentUpdate
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AbortEnvironmentUpdate"
* target="_top">AWS API Documentation</a>
*/
@Override
public AbortEnvironmentUpdateResult abortEnvironmentUpdate(AbortEnvironmentUpdateRequest request) {
request = beforeClientExecution(request);
return executeAbortEnvironmentUpdate(request);
}
@SdkInternalApi
final AbortEnvironmentUpdateResult executeAbortEnvironmentUpdate(AbortEnvironmentUpdateRequest abortEnvironmentUpdateRequest) {
ExecutionContext executionContext = createExecutionContext(abortEnvironmentUpdateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<AbortEnvironmentUpdateRequest> request = null;
Response<AbortEnvironmentUpdateResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AbortEnvironmentUpdateRequestMarshaller().marshall(super.beforeMarshalling(abortEnvironmentUpdateRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<AbortEnvironmentUpdateResult> responseHandler = new StaxResponseHandler<AbortEnvironmentUpdateResult>(
new AbortEnvironmentUpdateResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public AbortEnvironmentUpdateResult abortEnvironmentUpdate() {
return abortEnvironmentUpdate(new AbortEnvironmentUpdateRequest());
}
/**
* <p>
* Applies a scheduled managed action immediately. A managed action can be applied only if its status is
* <code>Scheduled</code>. Get the status and action ID of a managed action with
* <a>DescribeEnvironmentManagedActions</a>.
* </p>
*
* @param applyEnvironmentManagedActionRequest
* Request to execute a scheduled managed action immediately.
* @return Result of the ApplyEnvironmentManagedAction operation returned by the service.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @throws ManagedActionInvalidStateException
* Cannot modify the managed action in its current state.
* @sample AWSElasticBeanstalk.ApplyEnvironmentManagedAction
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ApplyEnvironmentManagedAction"
* target="_top">AWS API Documentation</a>
*/
@Override
public ApplyEnvironmentManagedActionResult applyEnvironmentManagedAction(ApplyEnvironmentManagedActionRequest request) {
request = beforeClientExecution(request);
return executeApplyEnvironmentManagedAction(request);
}
@SdkInternalApi
final ApplyEnvironmentManagedActionResult executeApplyEnvironmentManagedAction(ApplyEnvironmentManagedActionRequest applyEnvironmentManagedActionRequest) {
ExecutionContext executionContext = createExecutionContext(applyEnvironmentManagedActionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<ApplyEnvironmentManagedActionRequest> request = null;
Response<ApplyEnvironmentManagedActionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ApplyEnvironmentManagedActionRequestMarshaller().marshall(super.beforeMarshalling(applyEnvironmentManagedActionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<ApplyEnvironmentManagedActionResult> responseHandler = new StaxResponseHandler<ApplyEnvironmentManagedActionResult>(
new ApplyEnvironmentManagedActionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Checks if the specified CNAME is available.
* </p>
*
* @param checkDNSAvailabilityRequest
* Results message indicating whether a CNAME is available.
* @return Result of the CheckDNSAvailability operation returned by the service.
* @sample AWSElasticBeanstalk.CheckDNSAvailability
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CheckDNSAvailability"
* target="_top">AWS API Documentation</a>
*/
@Override
public CheckDNSAvailabilityResult checkDNSAvailability(CheckDNSAvailabilityRequest request) {
request = beforeClientExecution(request);
return executeCheckDNSAvailability(request);
}
@SdkInternalApi
final CheckDNSAvailabilityResult executeCheckDNSAvailability(CheckDNSAvailabilityRequest checkDNSAvailabilityRequest) {
ExecutionContext executionContext = createExecutionContext(checkDNSAvailabilityRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CheckDNSAvailabilityRequest> request = null;
Response<CheckDNSAvailabilityResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CheckDNSAvailabilityRequestMarshaller().marshall(super.beforeMarshalling(checkDNSAvailabilityRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CheckDNSAvailabilityResult> responseHandler = new StaxResponseHandler<CheckDNSAvailabilityResult>(
new CheckDNSAvailabilityResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Create or update a group of environments that each run a separate component of a single application. Takes a list
* of version labels that specify application source bundles for each of the environments to create or update. The
* name of each environment and other required information must be included in the source bundles in an environment
* manifest named <code>env.yaml</code>. See <a
* href="http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-mgmt-compose.html">Compose
* Environments</a> for details.
* </p>
*
* @param composeEnvironmentsRequest
* Request to create or update a group of environments.
* @return Result of the ComposeEnvironments operation returned by the service.
* @throws TooManyEnvironmentsException
* The specified account has reached its limit of environments.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.ComposeEnvironments
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ComposeEnvironments"
* target="_top">AWS API Documentation</a>
*/
@Override
public ComposeEnvironmentsResult composeEnvironments(ComposeEnvironmentsRequest request) {
request = beforeClientExecution(request);
return executeComposeEnvironments(request);
}
@SdkInternalApi
final ComposeEnvironmentsResult executeComposeEnvironments(ComposeEnvironmentsRequest composeEnvironmentsRequest) {
ExecutionContext executionContext = createExecutionContext(composeEnvironmentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<ComposeEnvironmentsRequest> request = null;
Response<ComposeEnvironmentsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ComposeEnvironmentsRequestMarshaller().marshall(super.beforeMarshalling(composeEnvironmentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<ComposeEnvironmentsResult> responseHandler = new StaxResponseHandler<ComposeEnvironmentsResult>(
new ComposeEnvironmentsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an application that has one configuration template named <code>default</code> and no application
* versions.
* </p>
*
* @param createApplicationRequest
* Request to create an application.
* @return Result of the CreateApplication operation returned by the service.
* @throws TooManyApplicationsException
* The specified account has reached its limit of applications.
* @sample AWSElasticBeanstalk.CreateApplication
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplication"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreateApplicationResult createApplication(CreateApplicationRequest request) {
request = beforeClientExecution(request);
return executeCreateApplication(request);
}
@SdkInternalApi
final CreateApplicationResult executeCreateApplication(CreateApplicationRequest createApplicationRequest) {
ExecutionContext executionContext = createExecutionContext(createApplicationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreateApplicationRequest> request = null;
Response<CreateApplicationResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateApplicationRequestMarshaller().marshall(super.beforeMarshalling(createApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreateApplicationResult> responseHandler = new StaxResponseHandler<CreateApplicationResult>(
new CreateApplicationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates an application version for the specified application. You can create an application version from a source
* bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows:
* </p>
* <p>
* Specify a commit in an AWS CodeCommit repository with <code>SourceBuildInformation</code>.
* </p>
* <p>
* Specify a build in an AWS CodeBuild with <code>SourceBuildInformation</code> and <code>BuildConfiguration</code>.
* </p>
* <p>
* Specify a source bundle in S3 with <code>SourceBundle</code>
* </p>
* <p>
* Omit both <code>SourceBuildInformation</code> and <code>SourceBundle</code> to use the default sample
* application.
* </p>
* <note>
* <p>
* Once you create an application version with a specified Amazon S3 bucket and key location, you cannot change that
* Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an
* environment from the application version.
* </p>
* </note>
*
* @param createApplicationVersionRequest
* @return Result of the CreateApplicationVersion operation returned by the service.
* @throws TooManyApplicationsException
* The specified account has reached its limit of applications.
* @throws TooManyApplicationVersionsException
* The specified account has reached its limit of application versions.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws S3LocationNotInServiceRegionException
* The specified S3 bucket does not belong to the S3 region in which the service is running. The following
* regions are supported:</p>
* <ul>
* <li>
* <p>
* IAD/us-east-1
* </p>
* </li>
* <li>
* <p>
* PDX/us-west-2
* </p>
* </li>
* <li>
* <p>
* DUB/eu-west-1
* </p>
* </li>
* @throws CodeBuildNotInServiceRegionException
* AWS CodeBuild is not available in the specified region.
* @sample AWSElasticBeanstalk.CreateApplicationVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplicationVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreateApplicationVersionResult createApplicationVersion(CreateApplicationVersionRequest request) {
request = beforeClientExecution(request);
return executeCreateApplicationVersion(request);
}
@SdkInternalApi
final CreateApplicationVersionResult executeCreateApplicationVersion(CreateApplicationVersionRequest createApplicationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(createApplicationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreateApplicationVersionRequest> request = null;
Response<CreateApplicationVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateApplicationVersionRequestMarshaller().marshall(super.beforeMarshalling(createApplicationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreateApplicationVersionResult> responseHandler = new StaxResponseHandler<CreateApplicationVersionResult>(
new CreateApplicationVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates a configuration template. Templates are associated with a specific application and are used to deploy
* different versions of the application with the same configuration settings.
* </p>
* <p>
* Related Topics
* </p>
* <ul>
* <li>
* <p>
* <a>DescribeConfigurationOptions</a>
* </p>
* </li>
* <li>
* <p>
* <a>DescribeConfigurationSettings</a>
* </p>
* </li>
* <li>
* <p>
* <a>ListAvailableSolutionStacks</a>
* </p>
* </li>
* </ul>
*
* @param createConfigurationTemplateRequest
* Request to create a configuration template.
* @return Result of the CreateConfigurationTemplate operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @throws TooManyConfigurationTemplatesException
* The specified account has reached its limit of configuration templates.
* @sample AWSElasticBeanstalk.CreateConfigurationTemplate
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateConfigurationTemplate"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreateConfigurationTemplateResult createConfigurationTemplate(CreateConfigurationTemplateRequest request) {
request = beforeClientExecution(request);
return executeCreateConfigurationTemplate(request);
}
@SdkInternalApi
final CreateConfigurationTemplateResult executeCreateConfigurationTemplate(CreateConfigurationTemplateRequest createConfigurationTemplateRequest) {
ExecutionContext executionContext = createExecutionContext(createConfigurationTemplateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreateConfigurationTemplateRequest> request = null;
Response<CreateConfigurationTemplateResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateConfigurationTemplateRequestMarshaller().marshall(super.beforeMarshalling(createConfigurationTemplateRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreateConfigurationTemplateResult> responseHandler = new StaxResponseHandler<CreateConfigurationTemplateResult>(
new CreateConfigurationTemplateResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Launches an environment for the specified application using the specified configuration.
* </p>
*
* @param createEnvironmentRequest
* @return Result of the CreateEnvironment operation returned by the service.
* @throws TooManyEnvironmentsException
* The specified account has reached its limit of environments.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.CreateEnvironment
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateEnvironment"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreateEnvironmentResult createEnvironment(CreateEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeCreateEnvironment(request);
}
@SdkInternalApi
final CreateEnvironmentResult executeCreateEnvironment(CreateEnvironmentRequest createEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(createEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreateEnvironmentRequest> request = null;
Response<CreateEnvironmentResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateEnvironmentRequestMarshaller().marshall(super.beforeMarshalling(createEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreateEnvironmentResult> responseHandler = new StaxResponseHandler<CreateEnvironmentResult>(
new CreateEnvironmentResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Create a new version of your custom platform.
* </p>
*
* @param createPlatformVersionRequest
* Request to create a new platform version.
* @return Result of the CreatePlatformVersion operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @throws TooManyPlatformsException
* You have exceeded the maximum number of allowed platforms associated with the account.
* @sample AWSElasticBeanstalk.CreatePlatformVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreatePlatformVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreatePlatformVersionResult createPlatformVersion(CreatePlatformVersionRequest request) {
request = beforeClientExecution(request);
return executeCreatePlatformVersion(request);
}
@SdkInternalApi
final CreatePlatformVersionResult executeCreatePlatformVersion(CreatePlatformVersionRequest createPlatformVersionRequest) {
ExecutionContext executionContext = createExecutionContext(createPlatformVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreatePlatformVersionRequest> request = null;
Response<CreatePlatformVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreatePlatformVersionRequestMarshaller().marshall(super.beforeMarshalling(createPlatformVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreatePlatformVersionResult> responseHandler = new StaxResponseHandler<CreatePlatformVersionResult>(
new CreatePlatformVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Creates the Amazon S3 storage location for the account.
* </p>
* <p>
* This location is used to store user log files.
* </p>
*
* @param createStorageLocationRequest
* @return Result of the CreateStorageLocation operation returned by the service.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @throws S3SubscriptionRequiredException
* The specified account does not have a subscription to Amazon S3.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.CreateStorageLocation
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateStorageLocation"
* target="_top">AWS API Documentation</a>
*/
@Override
public CreateStorageLocationResult createStorageLocation(CreateStorageLocationRequest request) {
request = beforeClientExecution(request);
return executeCreateStorageLocation(request);
}
@SdkInternalApi
final CreateStorageLocationResult executeCreateStorageLocation(CreateStorageLocationRequest createStorageLocationRequest) {
ExecutionContext executionContext = createExecutionContext(createStorageLocationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<CreateStorageLocationRequest> request = null;
Response<CreateStorageLocationResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateStorageLocationRequestMarshaller().marshall(super.beforeMarshalling(createStorageLocationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<CreateStorageLocationResult> responseHandler = new StaxResponseHandler<CreateStorageLocationResult>(
new CreateStorageLocationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public CreateStorageLocationResult createStorageLocation() {
return createStorageLocation(new CreateStorageLocationRequest());
}
/**
* <p>
* Deletes the specified application along with all associated versions and configurations. The application versions
* will not be deleted from your Amazon S3 bucket.
* </p>
* <note>
* <p>
* You cannot delete an application that has a running environment.
* </p>
* </note>
*
* @param deleteApplicationRequest
* Request to delete an application.
* @return Result of the DeleteApplication operation returned by the service.
* @throws OperationInProgressException
* Unable to perform the specified operation because another operation that effects an element in this
* activity is already in progress.
* @sample AWSElasticBeanstalk.DeleteApplication
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplication"
* target="_top">AWS API Documentation</a>
*/
@Override
public DeleteApplicationResult deleteApplication(DeleteApplicationRequest request) {
request = beforeClientExecution(request);
return executeDeleteApplication(request);
}
@SdkInternalApi
final DeleteApplicationResult executeDeleteApplication(DeleteApplicationRequest deleteApplicationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteApplicationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DeleteApplicationRequest> request = null;
Response<DeleteApplicationResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteApplicationRequestMarshaller().marshall(super.beforeMarshalling(deleteApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DeleteApplicationResult> responseHandler = new StaxResponseHandler<DeleteApplicationResult>(
new DeleteApplicationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified version from the specified application.
* </p>
* <note>
* <p>
* You cannot delete an application version that is associated with a running environment.
* </p>
* </note>
*
* @param deleteApplicationVersionRequest
* Request to delete an application version.
* @return Result of the DeleteApplicationVersion operation returned by the service.
* @throws SourceBundleDeletionException
* Unable to delete the Amazon S3 source bundle associated with the application version. The application
* version was deleted successfully.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws OperationInProgressException
* Unable to perform the specified operation because another operation that effects an element in this
* activity is already in progress.
* @throws S3LocationNotInServiceRegionException
* The specified S3 bucket does not belong to the S3 region in which the service is running. The following
* regions are supported:</p>
* <ul>
* <li>
* <p>
* IAD/us-east-1
* </p>
* </li>
* <li>
* <p>
* PDX/us-west-2
* </p>
* </li>
* <li>
* <p>
* DUB/eu-west-1
* </p>
* </li>
* @sample AWSElasticBeanstalk.DeleteApplicationVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplicationVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public DeleteApplicationVersionResult deleteApplicationVersion(DeleteApplicationVersionRequest request) {
request = beforeClientExecution(request);
return executeDeleteApplicationVersion(request);
}
@SdkInternalApi
final DeleteApplicationVersionResult executeDeleteApplicationVersion(DeleteApplicationVersionRequest deleteApplicationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteApplicationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DeleteApplicationVersionRequest> request = null;
Response<DeleteApplicationVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteApplicationVersionRequestMarshaller().marshall(super.beforeMarshalling(deleteApplicationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DeleteApplicationVersionResult> responseHandler = new StaxResponseHandler<DeleteApplicationVersionResult>(
new DeleteApplicationVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified configuration template.
* </p>
* <note>
* <p>
* When you launch an environment using a configuration template, the environment gets a copy of the template. You
* can delete or modify the environment's copy of the template without affecting the running environment.
* </p>
* </note>
*
* @param deleteConfigurationTemplateRequest
* Request to delete a configuration template.
* @return Result of the DeleteConfigurationTemplate operation returned by the service.
* @throws OperationInProgressException
* Unable to perform the specified operation because another operation that effects an element in this
* activity is already in progress.
* @sample AWSElasticBeanstalk.DeleteConfigurationTemplate
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteConfigurationTemplate"
* target="_top">AWS API Documentation</a>
*/
@Override
public DeleteConfigurationTemplateResult deleteConfigurationTemplate(DeleteConfigurationTemplateRequest request) {
request = beforeClientExecution(request);
return executeDeleteConfigurationTemplate(request);
}
@SdkInternalApi
final DeleteConfigurationTemplateResult executeDeleteConfigurationTemplate(DeleteConfigurationTemplateRequest deleteConfigurationTemplateRequest) {
ExecutionContext executionContext = createExecutionContext(deleteConfigurationTemplateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DeleteConfigurationTemplateRequest> request = null;
Response<DeleteConfigurationTemplateResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteConfigurationTemplateRequestMarshaller().marshall(super.beforeMarshalling(deleteConfigurationTemplateRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DeleteConfigurationTemplateResult> responseHandler = new StaxResponseHandler<DeleteConfigurationTemplateResult>(
new DeleteConfigurationTemplateResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the draft configuration associated with the running environment.
* </p>
* <p>
* Updating a running environment with any configuration changes creates a draft configuration set. You can get the
* draft configuration using <a>DescribeConfigurationSettings</a> while the update is in progress or if the update
* fails. The <code>DeploymentStatus</code> for the draft configuration indicates whether the deployment is in
* process or has failed. The draft configuration remains in existence until it is deleted with this action.
* </p>
*
* @param deleteEnvironmentConfigurationRequest
* Request to delete a draft environment configuration.
* @return Result of the DeleteEnvironmentConfiguration operation returned by the service.
* @sample AWSElasticBeanstalk.DeleteEnvironmentConfiguration
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteEnvironmentConfiguration"
* target="_top">AWS API Documentation</a>
*/
@Override
public DeleteEnvironmentConfigurationResult deleteEnvironmentConfiguration(DeleteEnvironmentConfigurationRequest request) {
request = beforeClientExecution(request);
return executeDeleteEnvironmentConfiguration(request);
}
@SdkInternalApi
final DeleteEnvironmentConfigurationResult executeDeleteEnvironmentConfiguration(DeleteEnvironmentConfigurationRequest deleteEnvironmentConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteEnvironmentConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DeleteEnvironmentConfigurationRequest> request = null;
Response<DeleteEnvironmentConfigurationResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteEnvironmentConfigurationRequestMarshaller().marshall(super.beforeMarshalling(deleteEnvironmentConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DeleteEnvironmentConfigurationResult> responseHandler = new StaxResponseHandler<DeleteEnvironmentConfigurationResult>(
new DeleteEnvironmentConfigurationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes the specified version of a custom platform.
* </p>
*
* @param deletePlatformVersionRequest
* @return Result of the DeletePlatformVersion operation returned by the service.
* @throws OperationInProgressException
* Unable to perform the specified operation because another operation that effects an element in this
* activity is already in progress.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @throws PlatformVersionStillReferencedException
* You cannot delete the platform version because there are still environments running on it.
* @sample AWSElasticBeanstalk.DeletePlatformVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeletePlatformVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public DeletePlatformVersionResult deletePlatformVersion(DeletePlatformVersionRequest request) {
request = beforeClientExecution(request);
return executeDeletePlatformVersion(request);
}
@SdkInternalApi
final DeletePlatformVersionResult executeDeletePlatformVersion(DeletePlatformVersionRequest deletePlatformVersionRequest) {
ExecutionContext executionContext = createExecutionContext(deletePlatformVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DeletePlatformVersionRequest> request = null;
Response<DeletePlatformVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeletePlatformVersionRequestMarshaller().marshall(super.beforeMarshalling(deletePlatformVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DeletePlatformVersionResult> responseHandler = new StaxResponseHandler<DeletePlatformVersionResult>(
new DeletePlatformVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Retrieve a list of application versions.
* </p>
*
* @param describeApplicationVersionsRequest
* Request to describe application versions.
* @return Result of the DescribeApplicationVersions operation returned by the service.
* @sample AWSElasticBeanstalk.DescribeApplicationVersions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplicationVersions"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeApplicationVersionsResult describeApplicationVersions(DescribeApplicationVersionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeApplicationVersions(request);
}
@SdkInternalApi
final DescribeApplicationVersionsResult executeDescribeApplicationVersions(DescribeApplicationVersionsRequest describeApplicationVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeApplicationVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeApplicationVersionsRequest> request = null;
Response<DescribeApplicationVersionsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeApplicationVersionsRequestMarshaller().marshall(super.beforeMarshalling(describeApplicationVersionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeApplicationVersionsResult> responseHandler = new StaxResponseHandler<DescribeApplicationVersionsResult>(
new DescribeApplicationVersionsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public DescribeApplicationVersionsResult describeApplicationVersions() {
return describeApplicationVersions(new DescribeApplicationVersionsRequest());
}
/**
* <p>
* Returns the descriptions of existing applications.
* </p>
*
* @param describeApplicationsRequest
* Request to describe one or more applications.
* @return Result of the DescribeApplications operation returned by the service.
* @sample AWSElasticBeanstalk.DescribeApplications
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeApplicationsResult describeApplications(DescribeApplicationsRequest request) {
request = beforeClientExecution(request);
return executeDescribeApplications(request);
}
@SdkInternalApi
final DescribeApplicationsResult executeDescribeApplications(DescribeApplicationsRequest describeApplicationsRequest) {
ExecutionContext executionContext = createExecutionContext(describeApplicationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeApplicationsRequest> request = null;
Response<DescribeApplicationsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeApplicationsRequestMarshaller().marshall(super.beforeMarshalling(describeApplicationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeApplicationsResult> responseHandler = new StaxResponseHandler<DescribeApplicationsResult>(
new DescribeApplicationsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public DescribeApplicationsResult describeApplications() {
return describeApplications(new DescribeApplicationsRequest());
}
/**
* <p>
* Describes the configuration options that are used in a particular configuration template or environment, or that
* a specified solution stack defines. The description includes the values the options, their default values, and an
* indication of the required action on a running environment if an option value is changed.
* </p>
*
* @param describeConfigurationOptionsRequest
* Result message containing a list of application version descriptions.
* @return Result of the DescribeConfigurationOptions operation returned by the service.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @sample AWSElasticBeanstalk.DescribeConfigurationOptions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationOptions"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeConfigurationOptionsResult describeConfigurationOptions(DescribeConfigurationOptionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeConfigurationOptions(request);
}
@SdkInternalApi
final DescribeConfigurationOptionsResult executeDescribeConfigurationOptions(DescribeConfigurationOptionsRequest describeConfigurationOptionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeConfigurationOptionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeConfigurationOptionsRequest> request = null;
Response<DescribeConfigurationOptionsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeConfigurationOptionsRequestMarshaller().marshall(super.beforeMarshalling(describeConfigurationOptionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeConfigurationOptionsResult> responseHandler = new StaxResponseHandler<DescribeConfigurationOptionsResult>(
new DescribeConfigurationOptionsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Returns a description of the settings for the specified configuration set, that is, either a configuration
* template or the configuration set associated with a running environment.
* </p>
* <p>
* When describing the settings for the configuration set associated with a running environment, it is possible to
* receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft
* configuration of an environment that is either in the process of deployment or that failed to deploy.
* </p>
* <p>
* Related Topics
* </p>
* <ul>
* <li>
* <p>
* <a>DeleteEnvironmentConfiguration</a>
* </p>
* </li>
* </ul>
*
* @param describeConfigurationSettingsRequest
* Result message containing all of the configuration settings for a specified solution stack or
* configuration template.
* @return Result of the DescribeConfigurationSettings operation returned by the service.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @sample AWSElasticBeanstalk.DescribeConfigurationSettings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationSettings"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeConfigurationSettingsResult describeConfigurationSettings(DescribeConfigurationSettingsRequest request) {
request = beforeClientExecution(request);
return executeDescribeConfigurationSettings(request);
}
@SdkInternalApi
final DescribeConfigurationSettingsResult executeDescribeConfigurationSettings(DescribeConfigurationSettingsRequest describeConfigurationSettingsRequest) {
ExecutionContext executionContext = createExecutionContext(describeConfigurationSettingsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeConfigurationSettingsRequest> request = null;
Response<DescribeConfigurationSettingsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeConfigurationSettingsRequestMarshaller().marshall(super.beforeMarshalling(describeConfigurationSettingsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeConfigurationSettingsResult> responseHandler = new StaxResponseHandler<DescribeConfigurationSettingsResult>(
new DescribeConfigurationSettingsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Returns information about the overall health of the specified environment. The <b>DescribeEnvironmentHealth</b>
* operation is only available with AWS Elastic Beanstalk Enhanced Health.
* </p>
*
* @param describeEnvironmentHealthRequest
* See the example below to learn how to create a request body.
* @return Result of the DescribeEnvironmentHealth operation returned by the service.
* @throws InvalidRequestException
* One or more input parameters is not valid. Please correct the input parameters and try the operation
* again.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.DescribeEnvironmentHealth
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentHealth"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEnvironmentHealthResult describeEnvironmentHealth(DescribeEnvironmentHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeEnvironmentHealth(request);
}
@SdkInternalApi
final DescribeEnvironmentHealthResult executeDescribeEnvironmentHealth(DescribeEnvironmentHealthRequest describeEnvironmentHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeEnvironmentHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEnvironmentHealthRequest> request = null;
Response<DescribeEnvironmentHealthResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEnvironmentHealthRequestMarshaller().marshall(super.beforeMarshalling(describeEnvironmentHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEnvironmentHealthResult> responseHandler = new StaxResponseHandler<DescribeEnvironmentHealthResult>(
new DescribeEnvironmentHealthResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Lists an environment's completed and failed managed actions.
* </p>
*
* @param describeEnvironmentManagedActionHistoryRequest
* Request to list completed and failed managed actions.
* @return Result of the DescribeEnvironmentManagedActionHistory operation returned by the service.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.DescribeEnvironmentManagedActionHistory
* @see <a
* href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActionHistory"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEnvironmentManagedActionHistoryResult describeEnvironmentManagedActionHistory(DescribeEnvironmentManagedActionHistoryRequest request) {
request = beforeClientExecution(request);
return executeDescribeEnvironmentManagedActionHistory(request);
}
@SdkInternalApi
final DescribeEnvironmentManagedActionHistoryResult executeDescribeEnvironmentManagedActionHistory(
DescribeEnvironmentManagedActionHistoryRequest describeEnvironmentManagedActionHistoryRequest) {
ExecutionContext executionContext = createExecutionContext(describeEnvironmentManagedActionHistoryRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEnvironmentManagedActionHistoryRequest> request = null;
Response<DescribeEnvironmentManagedActionHistoryResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEnvironmentManagedActionHistoryRequestMarshaller().marshall(super
.beforeMarshalling(describeEnvironmentManagedActionHistoryRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEnvironmentManagedActionHistoryResult> responseHandler = new StaxResponseHandler<DescribeEnvironmentManagedActionHistoryResult>(
new DescribeEnvironmentManagedActionHistoryResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Lists an environment's upcoming and in-progress managed actions.
* </p>
*
* @param describeEnvironmentManagedActionsRequest
* Request to list an environment's upcoming and in-progress managed actions.
* @return Result of the DescribeEnvironmentManagedActions operation returned by the service.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.DescribeEnvironmentManagedActions
* @see <a
* href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActions"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEnvironmentManagedActionsResult describeEnvironmentManagedActions(DescribeEnvironmentManagedActionsRequest request) {
request = beforeClientExecution(request);
return executeDescribeEnvironmentManagedActions(request);
}
@SdkInternalApi
final DescribeEnvironmentManagedActionsResult executeDescribeEnvironmentManagedActions(
DescribeEnvironmentManagedActionsRequest describeEnvironmentManagedActionsRequest) {
ExecutionContext executionContext = createExecutionContext(describeEnvironmentManagedActionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEnvironmentManagedActionsRequest> request = null;
Response<DescribeEnvironmentManagedActionsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEnvironmentManagedActionsRequestMarshaller().marshall(super.beforeMarshalling(describeEnvironmentManagedActionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEnvironmentManagedActionsResult> responseHandler = new StaxResponseHandler<DescribeEnvironmentManagedActionsResult>(
new DescribeEnvironmentManagedActionsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Returns AWS resources for this environment.
* </p>
*
* @param describeEnvironmentResourcesRequest
* Request to describe the resources in an environment.
* @return Result of the DescribeEnvironmentResources operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.DescribeEnvironmentResources
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentResources"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEnvironmentResourcesResult describeEnvironmentResources(DescribeEnvironmentResourcesRequest request) {
request = beforeClientExecution(request);
return executeDescribeEnvironmentResources(request);
}
@SdkInternalApi
final DescribeEnvironmentResourcesResult executeDescribeEnvironmentResources(DescribeEnvironmentResourcesRequest describeEnvironmentResourcesRequest) {
ExecutionContext executionContext = createExecutionContext(describeEnvironmentResourcesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEnvironmentResourcesRequest> request = null;
Response<DescribeEnvironmentResourcesResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEnvironmentResourcesRequestMarshaller().marshall(super.beforeMarshalling(describeEnvironmentResourcesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEnvironmentResourcesResult> responseHandler = new StaxResponseHandler<DescribeEnvironmentResourcesResult>(
new DescribeEnvironmentResourcesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Returns descriptions for existing environments.
* </p>
*
* @param describeEnvironmentsRequest
* Request to describe one or more environments.
* @return Result of the DescribeEnvironments operation returned by the service.
* @sample AWSElasticBeanstalk.DescribeEnvironments
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEnvironmentsResult describeEnvironments(DescribeEnvironmentsRequest request) {
request = beforeClientExecution(request);
return executeDescribeEnvironments(request);
}
@SdkInternalApi
final DescribeEnvironmentsResult executeDescribeEnvironments(DescribeEnvironmentsRequest describeEnvironmentsRequest) {
ExecutionContext executionContext = createExecutionContext(describeEnvironmentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEnvironmentsRequest> request = null;
Response<DescribeEnvironmentsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEnvironmentsRequestMarshaller().marshall(super.beforeMarshalling(describeEnvironmentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEnvironmentsResult> responseHandler = new StaxResponseHandler<DescribeEnvironmentsResult>(
new DescribeEnvironmentsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public DescribeEnvironmentsResult describeEnvironments() {
return describeEnvironments(new DescribeEnvironmentsRequest());
}
/**
* <p>
* Returns list of event descriptions matching criteria up to the last 6 weeks.
* </p>
* <note>
* <p>
* This action returns the most recent 1,000 events from the specified <code>NextToken</code>.
* </p>
* </note>
*
* @param describeEventsRequest
* Request to retrieve a list of events for an environment.
* @return Result of the DescribeEvents operation returned by the service.
* @sample AWSElasticBeanstalk.DescribeEvents
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEvents"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeEventsResult describeEvents(DescribeEventsRequest request) {
request = beforeClientExecution(request);
return executeDescribeEvents(request);
}
@SdkInternalApi
final DescribeEventsResult executeDescribeEvents(DescribeEventsRequest describeEventsRequest) {
ExecutionContext executionContext = createExecutionContext(describeEventsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeEventsRequest> request = null;
Response<DescribeEventsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEventsRequestMarshaller().marshall(super.beforeMarshalling(describeEventsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeEventsResult> responseHandler = new StaxResponseHandler<DescribeEventsResult>(
new DescribeEventsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public DescribeEventsResult describeEvents() {
return describeEvents(new DescribeEventsRequest());
}
/**
* <p>
* Retrives detailed information about the health of instances in your AWS Elastic Beanstalk. This operation
* requires <a href="http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html">enhanced health
* reporting</a>.
* </p>
*
* @param describeInstancesHealthRequest
* Parameters for a call to <code>DescribeInstancesHealth</code>.
* @return Result of the DescribeInstancesHealth operation returned by the service.
* @throws InvalidRequestException
* One or more input parameters is not valid. Please correct the input parameters and try the operation
* again.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.DescribeInstancesHealth
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeInstancesHealth"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribeInstancesHealthResult describeInstancesHealth(DescribeInstancesHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeInstancesHealth(request);
}
@SdkInternalApi
final DescribeInstancesHealthResult executeDescribeInstancesHealth(DescribeInstancesHealthRequest describeInstancesHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeInstancesHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribeInstancesHealthRequest> request = null;
Response<DescribeInstancesHealthResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeInstancesHealthRequestMarshaller().marshall(super.beforeMarshalling(describeInstancesHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribeInstancesHealthResult> responseHandler = new StaxResponseHandler<DescribeInstancesHealthResult>(
new DescribeInstancesHealthResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Describes the version of the platform.
* </p>
*
* @param describePlatformVersionRequest
* @return Result of the DescribePlatformVersion operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.DescribePlatformVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribePlatformVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public DescribePlatformVersionResult describePlatformVersion(DescribePlatformVersionRequest request) {
request = beforeClientExecution(request);
return executeDescribePlatformVersion(request);
}
@SdkInternalApi
final DescribePlatformVersionResult executeDescribePlatformVersion(DescribePlatformVersionRequest describePlatformVersionRequest) {
ExecutionContext executionContext = createExecutionContext(describePlatformVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<DescribePlatformVersionRequest> request = null;
Response<DescribePlatformVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribePlatformVersionRequestMarshaller().marshall(super.beforeMarshalling(describePlatformVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<DescribePlatformVersionResult> responseHandler = new StaxResponseHandler<DescribePlatformVersionResult>(
new DescribePlatformVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Returns a list of the available solution stack names, with the public version first and then in reverse
* chronological order.
* </p>
*
* @param listAvailableSolutionStacksRequest
* @return Result of the ListAvailableSolutionStacks operation returned by the service.
* @sample AWSElasticBeanstalk.ListAvailableSolutionStacks
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListAvailableSolutionStacks"
* target="_top">AWS API Documentation</a>
*/
@Override
public ListAvailableSolutionStacksResult listAvailableSolutionStacks(ListAvailableSolutionStacksRequest request) {
request = beforeClientExecution(request);
return executeListAvailableSolutionStacks(request);
}
@SdkInternalApi
final ListAvailableSolutionStacksResult executeListAvailableSolutionStacks(ListAvailableSolutionStacksRequest listAvailableSolutionStacksRequest) {
ExecutionContext executionContext = createExecutionContext(listAvailableSolutionStacksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<ListAvailableSolutionStacksRequest> request = null;
Response<ListAvailableSolutionStacksResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAvailableSolutionStacksRequestMarshaller().marshall(super.beforeMarshalling(listAvailableSolutionStacksRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<ListAvailableSolutionStacksResult> responseHandler = new StaxResponseHandler<ListAvailableSolutionStacksResult>(
new ListAvailableSolutionStacksResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListAvailableSolutionStacksResult listAvailableSolutionStacks() {
return listAvailableSolutionStacks(new ListAvailableSolutionStacksRequest());
}
/**
* <p>
* Lists the available platforms.
* </p>
*
* @param listPlatformVersionsRequest
* @return Result of the ListPlatformVersions operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws ElasticBeanstalkServiceException
* A generic service exception has occurred.
* @sample AWSElasticBeanstalk.ListPlatformVersions
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformVersions"
* target="_top">AWS API Documentation</a>
*/
@Override
public ListPlatformVersionsResult listPlatformVersions(ListPlatformVersionsRequest request) {
request = beforeClientExecution(request);
return executeListPlatformVersions(request);
}
@SdkInternalApi
final ListPlatformVersionsResult executeListPlatformVersions(ListPlatformVersionsRequest listPlatformVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(listPlatformVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<ListPlatformVersionsRequest> request = null;
Response<ListPlatformVersionsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListPlatformVersionsRequestMarshaller().marshall(super.beforeMarshalling(listPlatformVersionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<ListPlatformVersionsResult> responseHandler = new StaxResponseHandler<ListPlatformVersionsResult>(
new ListPlatformVersionsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a
* specified environment and forces a restart.
* </p>
*
* @param rebuildEnvironmentRequest
* @return Result of the RebuildEnvironment operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.RebuildEnvironment
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RebuildEnvironment"
* target="_top">AWS API Documentation</a>
*/
@Override
public RebuildEnvironmentResult rebuildEnvironment(RebuildEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeRebuildEnvironment(request);
}
@SdkInternalApi
final RebuildEnvironmentResult executeRebuildEnvironment(RebuildEnvironmentRequest rebuildEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(rebuildEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<RebuildEnvironmentRequest> request = null;
Response<RebuildEnvironmentResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RebuildEnvironmentRequestMarshaller().marshall(super.beforeMarshalling(rebuildEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<RebuildEnvironmentResult> responseHandler = new StaxResponseHandler<RebuildEnvironmentResult>(
new RebuildEnvironmentResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Initiates a request to compile the specified type of information of the deployed environment.
* </p>
* <p>
* Setting the <code>InfoType</code> to <code>tail</code> compiles the last lines from the application server log
* files of every Amazon EC2 instance in your environment.
* </p>
* <p>
* Setting the <code>InfoType</code> to <code>bundle</code> compresses the application server log files for every
* Amazon EC2 instance into a <code>.zip</code> file. Legacy and .NET containers do not support bundle logs.
* </p>
* <p>
* Use <a>RetrieveEnvironmentInfo</a> to obtain the set of logs.
* </p>
* <p>
* Related Topics
* </p>
* <ul>
* <li>
* <p>
* <a>RetrieveEnvironmentInfo</a>
* </p>
* </li>
* </ul>
*
* @param requestEnvironmentInfoRequest
* Request to retrieve logs from an environment and store them in your Elastic Beanstalk storage bucket.
* @return Result of the RequestEnvironmentInfo operation returned by the service.
* @sample AWSElasticBeanstalk.RequestEnvironmentInfo
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RequestEnvironmentInfo"
* target="_top">AWS API Documentation</a>
*/
@Override
public RequestEnvironmentInfoResult requestEnvironmentInfo(RequestEnvironmentInfoRequest request) {
request = beforeClientExecution(request);
return executeRequestEnvironmentInfo(request);
}
@SdkInternalApi
final RequestEnvironmentInfoResult executeRequestEnvironmentInfo(RequestEnvironmentInfoRequest requestEnvironmentInfoRequest) {
ExecutionContext executionContext = createExecutionContext(requestEnvironmentInfoRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<RequestEnvironmentInfoRequest> request = null;
Response<RequestEnvironmentInfoResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RequestEnvironmentInfoRequestMarshaller().marshall(super.beforeMarshalling(requestEnvironmentInfoRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<RequestEnvironmentInfoResult> responseHandler = new StaxResponseHandler<RequestEnvironmentInfoResult>(
new RequestEnvironmentInfoResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Causes the environment to restart the application container server running on each Amazon EC2 instance.
* </p>
*
* @param restartAppServerRequest
* @return Result of the RestartAppServer operation returned by the service.
* @sample AWSElasticBeanstalk.RestartAppServer
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RestartAppServer"
* target="_top">AWS API Documentation</a>
*/
@Override
public RestartAppServerResult restartAppServer(RestartAppServerRequest request) {
request = beforeClientExecution(request);
return executeRestartAppServer(request);
}
@SdkInternalApi
final RestartAppServerResult executeRestartAppServer(RestartAppServerRequest restartAppServerRequest) {
ExecutionContext executionContext = createExecutionContext(restartAppServerRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<RestartAppServerRequest> request = null;
Response<RestartAppServerResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RestartAppServerRequestMarshaller().marshall(super.beforeMarshalling(restartAppServerRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<RestartAppServerResult> responseHandler = new StaxResponseHandler<RestartAppServerResult>(
new RestartAppServerResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Retrieves the compiled information from a <a>RequestEnvironmentInfo</a> request.
* </p>
* <p>
* Related Topics
* </p>
* <ul>
* <li>
* <p>
* <a>RequestEnvironmentInfo</a>
* </p>
* </li>
* </ul>
*
* @param retrieveEnvironmentInfoRequest
* Request to download logs retrieved with <a>RequestEnvironmentInfo</a>.
* @return Result of the RetrieveEnvironmentInfo operation returned by the service.
* @sample AWSElasticBeanstalk.RetrieveEnvironmentInfo
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RetrieveEnvironmentInfo"
* target="_top">AWS API Documentation</a>
*/
@Override
public RetrieveEnvironmentInfoResult retrieveEnvironmentInfo(RetrieveEnvironmentInfoRequest request) {
request = beforeClientExecution(request);
return executeRetrieveEnvironmentInfo(request);
}
@SdkInternalApi
final RetrieveEnvironmentInfoResult executeRetrieveEnvironmentInfo(RetrieveEnvironmentInfoRequest retrieveEnvironmentInfoRequest) {
ExecutionContext executionContext = createExecutionContext(retrieveEnvironmentInfoRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<RetrieveEnvironmentInfoRequest> request = null;
Response<RetrieveEnvironmentInfoResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RetrieveEnvironmentInfoRequestMarshaller().marshall(super.beforeMarshalling(retrieveEnvironmentInfoRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<RetrieveEnvironmentInfoResult> responseHandler = new StaxResponseHandler<RetrieveEnvironmentInfoResult>(
new RetrieveEnvironmentInfoResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Swaps the CNAMEs of two environments.
* </p>
*
* @param swapEnvironmentCNAMEsRequest
* Swaps the CNAMEs of two environments.
* @return Result of the SwapEnvironmentCNAMEs operation returned by the service.
* @sample AWSElasticBeanstalk.SwapEnvironmentCNAMEs
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/SwapEnvironmentCNAMEs"
* target="_top">AWS API Documentation</a>
*/
@Override
public SwapEnvironmentCNAMEsResult swapEnvironmentCNAMEs(SwapEnvironmentCNAMEsRequest request) {
request = beforeClientExecution(request);
return executeSwapEnvironmentCNAMEs(request);
}
@SdkInternalApi
final SwapEnvironmentCNAMEsResult executeSwapEnvironmentCNAMEs(SwapEnvironmentCNAMEsRequest swapEnvironmentCNAMEsRequest) {
ExecutionContext executionContext = createExecutionContext(swapEnvironmentCNAMEsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<SwapEnvironmentCNAMEsRequest> request = null;
Response<SwapEnvironmentCNAMEsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new SwapEnvironmentCNAMEsRequestMarshaller().marshall(super.beforeMarshalling(swapEnvironmentCNAMEsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<SwapEnvironmentCNAMEsResult> responseHandler = new StaxResponseHandler<SwapEnvironmentCNAMEsResult>(
new SwapEnvironmentCNAMEsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public SwapEnvironmentCNAMEsResult swapEnvironmentCNAMEs() {
return swapEnvironmentCNAMEs(new SwapEnvironmentCNAMEsRequest());
}
/**
* <p>
* Terminates the specified environment.
* </p>
*
* @param terminateEnvironmentRequest
* Request to terminate an environment.
* @return Result of the TerminateEnvironment operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.TerminateEnvironment
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/TerminateEnvironment"
* target="_top">AWS API Documentation</a>
*/
@Override
public TerminateEnvironmentResult terminateEnvironment(TerminateEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeTerminateEnvironment(request);
}
@SdkInternalApi
final TerminateEnvironmentResult executeTerminateEnvironment(TerminateEnvironmentRequest terminateEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(terminateEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<TerminateEnvironmentRequest> request = null;
Response<TerminateEnvironmentResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new TerminateEnvironmentRequestMarshaller().marshall(super.beforeMarshalling(terminateEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<TerminateEnvironmentResult> responseHandler = new StaxResponseHandler<TerminateEnvironmentResult>(
new TerminateEnvironmentResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Updates the specified application to have the specified properties.
* </p>
* <note>
* <p>
* If a property (for example, <code>description</code>) is not provided, the value remains unchanged. To clear
* these properties, specify an empty string.
* </p>
* </note>
*
* @param updateApplicationRequest
* Request to update an application.
* @return Result of the UpdateApplication operation returned by the service.
* @sample AWSElasticBeanstalk.UpdateApplication
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplication"
* target="_top">AWS API Documentation</a>
*/
@Override
public UpdateApplicationResult updateApplication(UpdateApplicationRequest request) {
request = beforeClientExecution(request);
return executeUpdateApplication(request);
}
@SdkInternalApi
final UpdateApplicationResult executeUpdateApplication(UpdateApplicationRequest updateApplicationRequest) {
ExecutionContext executionContext = createExecutionContext(updateApplicationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<UpdateApplicationRequest> request = null;
Response<UpdateApplicationResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateApplicationRequestMarshaller().marshall(super.beforeMarshalling(updateApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<UpdateApplicationResult> responseHandler = new StaxResponseHandler<UpdateApplicationResult>(
new UpdateApplicationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Modifies lifecycle settings for an application.
* </p>
*
* @param updateApplicationResourceLifecycleRequest
* @return Result of the UpdateApplicationResourceLifecycle operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @sample AWSElasticBeanstalk.UpdateApplicationResourceLifecycle
* @see <a
* href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationResourceLifecycle"
* target="_top">AWS API Documentation</a>
*/
@Override
public UpdateApplicationResourceLifecycleResult updateApplicationResourceLifecycle(UpdateApplicationResourceLifecycleRequest request) {
request = beforeClientExecution(request);
return executeUpdateApplicationResourceLifecycle(request);
}
@SdkInternalApi
final UpdateApplicationResourceLifecycleResult executeUpdateApplicationResourceLifecycle(
UpdateApplicationResourceLifecycleRequest updateApplicationResourceLifecycleRequest) {
ExecutionContext executionContext = createExecutionContext(updateApplicationResourceLifecycleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<UpdateApplicationResourceLifecycleRequest> request = null;
Response<UpdateApplicationResourceLifecycleResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateApplicationResourceLifecycleRequestMarshaller()
.marshall(super.beforeMarshalling(updateApplicationResourceLifecycleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<UpdateApplicationResourceLifecycleResult> responseHandler = new StaxResponseHandler<UpdateApplicationResourceLifecycleResult>(
new UpdateApplicationResourceLifecycleResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Updates the specified application version to have the specified properties.
* </p>
* <note>
* <p>
* If a property (for example, <code>description</code>) is not provided, the value remains unchanged. To clear
* properties, specify an empty string.
* </p>
* </note>
*
* @param updateApplicationVersionRequest
* @return Result of the UpdateApplicationVersion operation returned by the service.
* @sample AWSElasticBeanstalk.UpdateApplicationVersion
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationVersion"
* target="_top">AWS API Documentation</a>
*/
@Override
public UpdateApplicationVersionResult updateApplicationVersion(UpdateApplicationVersionRequest request) {
request = beforeClientExecution(request);
return executeUpdateApplicationVersion(request);
}
@SdkInternalApi
final UpdateApplicationVersionResult executeUpdateApplicationVersion(UpdateApplicationVersionRequest updateApplicationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(updateApplicationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<UpdateApplicationVersionRequest> request = null;
Response<UpdateApplicationVersionResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateApplicationVersionRequestMarshaller().marshall(super.beforeMarshalling(updateApplicationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<UpdateApplicationVersionResult> responseHandler = new StaxResponseHandler<UpdateApplicationVersionResult>(
new UpdateApplicationVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Updates the specified configuration template to have the specified properties or configuration option values.
* </p>
* <note>
* <p>
* If a property (for example, <code>ApplicationName</code>) is not provided, its value remains unchanged. To clear
* such properties, specify an empty string.
* </p>
* </note>
* <p>
* Related Topics
* </p>
* <ul>
* <li>
* <p>
* <a>DescribeConfigurationOptions</a>
* </p>
* </li>
* </ul>
*
* @param updateConfigurationTemplateRequest
* The result message containing the options for the specified solution stack.
* @return Result of the UpdateConfigurationTemplate operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @sample AWSElasticBeanstalk.UpdateConfigurationTemplate
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateConfigurationTemplate"
* target="_top">AWS API Documentation</a>
*/
@Override
public UpdateConfigurationTemplateResult updateConfigurationTemplate(UpdateConfigurationTemplateRequest request) {
request = beforeClientExecution(request);
return executeUpdateConfigurationTemplate(request);
}
@SdkInternalApi
final UpdateConfigurationTemplateResult executeUpdateConfigurationTemplate(UpdateConfigurationTemplateRequest updateConfigurationTemplateRequest) {
ExecutionContext executionContext = createExecutionContext(updateConfigurationTemplateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<UpdateConfigurationTemplateRequest> request = null;
Response<UpdateConfigurationTemplateResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateConfigurationTemplateRequestMarshaller().marshall(super.beforeMarshalling(updateConfigurationTemplateRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<UpdateConfigurationTemplateResult> responseHandler = new StaxResponseHandler<UpdateConfigurationTemplateResult>(
new UpdateConfigurationTemplateResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Updates the environment description, deploys a new application version, updates the configuration settings to an
* entirely new configuration template, or updates select configuration option values in the running environment.
* </p>
* <p>
* Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an
* <code>InvalidParameterCombination</code> error.
* </p>
* <p>
* When updating the configuration settings to a new template or individual settings, a draft configuration is
* created and <a>DescribeConfigurationSettings</a> for this environment returns two setting descriptions with
* different <code>DeploymentStatus</code> values.
* </p>
*
* @param updateEnvironmentRequest
* Request to update an environment.
* @return Result of the UpdateEnvironment operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @sample AWSElasticBeanstalk.UpdateEnvironment
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateEnvironment"
* target="_top">AWS API Documentation</a>
*/
@Override
public UpdateEnvironmentResult updateEnvironment(UpdateEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeUpdateEnvironment(request);
}
@SdkInternalApi
final UpdateEnvironmentResult executeUpdateEnvironment(UpdateEnvironmentRequest updateEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(updateEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<UpdateEnvironmentRequest> request = null;
Response<UpdateEnvironmentResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateEnvironmentRequestMarshaller().marshall(super.beforeMarshalling(updateEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<UpdateEnvironmentResult> responseHandler = new StaxResponseHandler<UpdateEnvironmentResult>(
new UpdateEnvironmentResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* <p>
* Takes a set of configuration settings and either a configuration template or environment, and determines whether
* those values are valid.
* </p>
* <p>
* This action returns a list of messages indicating any errors or warnings associated with the selection of option
* values.
* </p>
*
* @param validateConfigurationSettingsRequest
* A list of validation messages for a specified configuration template.
* @return Result of the ValidateConfigurationSettings operation returned by the service.
* @throws InsufficientPrivilegesException
* The specified account does not have sufficient privileges for one of more AWS services.
* @throws TooManyBucketsException
* The specified account has reached its limit of Amazon S3 buckets.
* @sample AWSElasticBeanstalk.ValidateConfigurationSettings
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ValidateConfigurationSettings"
* target="_top">AWS API Documentation</a>
*/
@Override
public ValidateConfigurationSettingsResult validateConfigurationSettings(ValidateConfigurationSettingsRequest request) {
request = beforeClientExecution(request);
return executeValidateConfigurationSettings(request);
}
@SdkInternalApi
final ValidateConfigurationSettingsResult executeValidateConfigurationSettings(ValidateConfigurationSettingsRequest validateConfigurationSettingsRequest) {
ExecutionContext executionContext = createExecutionContext(validateConfigurationSettingsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request<ValidateConfigurationSettingsRequest> request = null;
Response<ValidateConfigurationSettingsResult> response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ValidateConfigurationSettingsRequestMarshaller().marshall(super.beforeMarshalling(validateConfigurationSettingsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler<ValidateConfigurationSettingsResult> responseHandler = new StaxResponseHandler<ValidateConfigurationSettingsResult>(
new ValidateConfigurationSettingsResultStaxUnmarshaller());
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.
* <p>
* 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 <X, Y extends AmazonWebServiceRequest> Response<X> invoke(Request<Y> request, HttpResponseHandler<AmazonWebServiceResponse<X>> 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 <X, Y extends AmazonWebServiceRequest> Response<X> anonymousInvoke(Request<Y> request,
HttpResponseHandler<AmazonWebServiceResponse<X>> 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 <X, Y extends AmazonWebServiceRequest> Response<X> doInvoke(Request<Y> request, HttpResponseHandler<AmazonWebServiceResponse<X>> responseHandler,
ExecutionContext executionContext) {
request.setEndpoint(endpoint);
request.setTimeOffset(timeOffset);
DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallers);
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
}