/*
* Copyright 2018-2023 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.appconfig;
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.client.builder.AdvancedConfig;
import com.amazonaws.services.appconfig.AmazonAppConfigClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.appconfig.model.*;
import com.amazonaws.services.appconfig.model.transform.*;
/**
* Client for accessing AppConfig. All service calls made using this client are blocking, and will not return until the
* service call completes.
*
*
* Use AppConfig, a capability of Amazon Web Services Systems Manager, to create, manage, and quickly deploy application
* configurations. AppConfig supports controlled deployments to applications of any size and includes built-in
* validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, Lambda,
* containers, mobile applications, or IoT devices.
*
*
* To prevent errors when deploying application configurations, especially for production systems where a simple typo
* could cause an unexpected outage, AppConfig includes validators. A validator provides a syntactic or semantic check
* to ensure that the configuration you want to deploy works as intended. To validate your application configuration
* data, you provide a schema or an Amazon Web Services Lambda function that runs against the configuration. The
* configuration deployment or update can only proceed when the configuration data is valid.
*
*
* During a configuration deployment, AppConfig monitors the application to ensure that the deployment is successful. If
* the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You
* can configure a deployment strategy for each application or environment that includes deployment criteria, including
* velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, AppConfig
* automatically rolls back to the previous version.
*
*
* AppConfig supports multiple use cases. Here are some examples:
*
*
* -
*
* Feature flags: Use AppConfig to turn on new features that require a timely deployment, such as a product
* launch or announcement.
*
*
* -
*
* Application tuning: Use AppConfig to carefully introduce changes to your application that can only be tested
* with production traffic.
*
*
* -
*
* Allow list: Use AppConfig to allow premium subscribers to access paid content.
*
*
* -
*
* Operational issues: Use AppConfig to reduce stress on your application when a dependency or other external
* factor impacts the system.
*
*
*
*
* This reference is intended to be used with the AppConfig User Guide.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonAppConfigClient extends AmazonWebServiceClient implements AmazonAppConfig {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonAppConfig.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "appconfig";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.withContentTypeOverride("application/json")
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InternalServerException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.InternalServerExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.ConflictExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("PayloadTooLargeException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.PayloadTooLargeExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("BadRequestException").withExceptionUnmarshaller(
com.amazonaws.services.appconfig.model.transform.BadRequestExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.appconfig.model.AmazonAppConfigException.class));
public static AmazonAppConfigClientBuilder builder() {
return AmazonAppConfigClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on AppConfig using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonAppConfigClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on AppConfig using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonAppConfigClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("appconfig.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/appconfig/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/appconfig/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Creates an application. In AppConfig, an application is simply an organizational construct like a folder. This
* organizational construct has a relationship with some unit of executable code. For example, you could create an
* application called MyMobileApp to organize and manage configuration data for a mobile application installed by
* your users.
*
*
* @param createApplicationRequest
* @return Result of the CreateApplication operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.CreateApplication
* @see AWS
* API Documentation
*/
@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 request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateApplicationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateApplication");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateApplicationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a configuration profile, which is information that enables AppConfig to access the configuration source.
* Valid configuration sources include the following:
*
*
* -
*
* Configuration data in YAML, JSON, and other formats stored in the AppConfig hosted configuration store
*
*
* -
*
* Configuration data stored as objects in an Amazon Simple Storage Service (Amazon S3) bucket
*
*
* -
*
* Pipelines stored in CodePipeline
*
*
* -
*
* Secrets stored in Secrets Manager
*
*
* -
*
* Standard and secure string parameters stored in Amazon Web Services Systems Manager Parameter Store
*
*
* -
*
* Configuration data in SSM documents stored in the Systems Manager document store
*
*
*
*
* A configuration profile includes the following information:
*
*
* -
*
* The URI location of the configuration data.
*
*
* -
*
* The Identity and Access Management (IAM) role that provides access to the configuration data.
*
*
* -
*
* A validator for the configuration data. Available validators include either a JSON Schema or an Amazon Web
* Services Lambda function.
*
*
*
*
* For more information, see Create a Configuration and a Configuration Profile in the AppConfig User Guide.
*
*
* @param createConfigurationProfileRequest
* @return Result of the CreateConfigurationProfile operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.CreateConfigurationProfile
* @see AWS API Documentation
*/
@Override
public CreateConfigurationProfileResult createConfigurationProfile(CreateConfigurationProfileRequest request) {
request = beforeClientExecution(request);
return executeCreateConfigurationProfile(request);
}
@SdkInternalApi
final CreateConfigurationProfileResult executeCreateConfigurationProfile(CreateConfigurationProfileRequest createConfigurationProfileRequest) {
ExecutionContext executionContext = createExecutionContext(createConfigurationProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateConfigurationProfileRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createConfigurationProfileRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateConfigurationProfile");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateConfigurationProfileResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a deployment strategy that defines important criteria for rolling out your configuration to the
* designated targets. A deployment strategy includes the overall duration required, a percentage of targets to
* receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.
*
*
* @param createDeploymentStrategyRequest
* @return Result of the CreateDeploymentStrategy operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.CreateDeploymentStrategy
* @see AWS API Documentation
*/
@Override
public CreateDeploymentStrategyResult createDeploymentStrategy(CreateDeploymentStrategyRequest request) {
request = beforeClientExecution(request);
return executeCreateDeploymentStrategy(request);
}
@SdkInternalApi
final CreateDeploymentStrategyResult executeCreateDeploymentStrategy(CreateDeploymentStrategyRequest createDeploymentStrategyRequest) {
ExecutionContext executionContext = createExecutionContext(createDeploymentStrategyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateDeploymentStrategyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createDeploymentStrategyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateDeploymentStrategy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateDeploymentStrategyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an environment. For each application, you define one or more environments. An environment is a deployment
* group of AppConfig targets, such as applications in a Beta
or Production
environment.
* You can also define environments for application subcomponents such as the Web
, Mobile
* and Back-end
components for your application. You can configure Amazon CloudWatch alarms for each
* environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system
* rolls back the configuration.
*
*
* @param createEnvironmentRequest
* @return Result of the CreateEnvironment operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.CreateEnvironment
* @see AWS
* API Documentation
*/
@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 request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateEnvironmentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateEnvironment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateEnvironmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different
* points during the AppConfig workflow of creating or deploying a configuration.
*
*
* You can create your own extensions or use the Amazon Web Services authored extensions provided by AppConfig. For
* most use cases, to create your own extension, you must create an Lambda function to perform any computation and
* processing defined in the extension. For more information about extensions, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param createExtensionRequest
* @return Result of the CreateExtension operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws ServiceQuotaExceededException
* The number of hosted configuration versions exceeds the limit for the AppConfig hosted configuration
* store. Delete one or more versions and try again.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.CreateExtension
* @see AWS API
* Documentation
*/
@Override
public CreateExtensionResult createExtension(CreateExtensionRequest request) {
request = beforeClientExecution(request);
return executeCreateExtension(request);
}
@SdkInternalApi
final CreateExtensionResult executeCreateExtension(CreateExtensionRequest createExtensionRequest) {
ExecutionContext executionContext = createExecutionContext(createExtensionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateExtensionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createExtensionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateExtension");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateExtensionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* When you create an extension or configure an Amazon Web Services authored extension, you associate the extension
* with an AppConfig application, environment, or configuration profile. For example, you can choose to run the
* AppConfig deployment events to Amazon SNS
Amazon Web Services authored extension and receive
* notifications on an Amazon SNS topic anytime a configuration deployment is started for a specific application.
* Defining which extension to associate with an AppConfig resource is called an extension association. An
* extension association is a specified relationship between an extension and an AppConfig resource, such as an
* application or a configuration profile. For more information about extensions and associations, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param createExtensionAssociationRequest
* @return Result of the CreateExtensionAssociation operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws ServiceQuotaExceededException
* The number of hosted configuration versions exceeds the limit for the AppConfig hosted configuration
* store. Delete one or more versions and try again.
* @sample AmazonAppConfig.CreateExtensionAssociation
* @see AWS API Documentation
*/
@Override
public CreateExtensionAssociationResult createExtensionAssociation(CreateExtensionAssociationRequest request) {
request = beforeClientExecution(request);
return executeCreateExtensionAssociation(request);
}
@SdkInternalApi
final CreateExtensionAssociationResult executeCreateExtensionAssociation(CreateExtensionAssociationRequest createExtensionAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(createExtensionAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateExtensionAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createExtensionAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateExtensionAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateExtensionAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new configuration in the AppConfig hosted configuration store.
*
*
* @param createHostedConfigurationVersionRequest
* @return Result of the CreateHostedConfigurationVersion operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ServiceQuotaExceededException
* The number of hosted configuration versions exceeds the limit for the AppConfig hosted configuration
* store. Delete one or more versions and try again.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws PayloadTooLargeException
* The configuration size is too large.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.CreateHostedConfigurationVersion
* @see AWS API Documentation
*/
@Override
public CreateHostedConfigurationVersionResult createHostedConfigurationVersion(CreateHostedConfigurationVersionRequest request) {
request = beforeClientExecution(request);
return executeCreateHostedConfigurationVersion(request);
}
@SdkInternalApi
final CreateHostedConfigurationVersionResult executeCreateHostedConfigurationVersion(
CreateHostedConfigurationVersionRequest createHostedConfigurationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(createHostedConfigurationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateHostedConfigurationVersionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createHostedConfigurationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateHostedConfigurationVersion");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(false).withHasStreamingSuccessResponse(false),
new CreateHostedConfigurationVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes an application. Deleting an application does not delete a configuration from a host.
*
*
* @param deleteApplicationRequest
* @return Result of the DeleteApplication operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.DeleteApplication
* @see AWS
* API Documentation
*/
@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 request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteApplicationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteApplication");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteApplicationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a configuration profile. Deleting a configuration profile does not delete a configuration from a host.
*
*
* @param deleteConfigurationProfileRequest
* @return Result of the DeleteConfigurationProfile operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.DeleteConfigurationProfile
* @see AWS API Documentation
*/
@Override
public DeleteConfigurationProfileResult deleteConfigurationProfile(DeleteConfigurationProfileRequest request) {
request = beforeClientExecution(request);
return executeDeleteConfigurationProfile(request);
}
@SdkInternalApi
final DeleteConfigurationProfileResult executeDeleteConfigurationProfile(DeleteConfigurationProfileRequest deleteConfigurationProfileRequest) {
ExecutionContext executionContext = createExecutionContext(deleteConfigurationProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteConfigurationProfileRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteConfigurationProfileRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteConfigurationProfile");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteConfigurationProfileResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a deployment strategy. Deleting a deployment strategy does not delete a configuration from a host.
*
*
* @param deleteDeploymentStrategyRequest
* @return Result of the DeleteDeploymentStrategy operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.DeleteDeploymentStrategy
* @see AWS API Documentation
*/
@Override
public DeleteDeploymentStrategyResult deleteDeploymentStrategy(DeleteDeploymentStrategyRequest request) {
request = beforeClientExecution(request);
return executeDeleteDeploymentStrategy(request);
}
@SdkInternalApi
final DeleteDeploymentStrategyResult executeDeleteDeploymentStrategy(DeleteDeploymentStrategyRequest deleteDeploymentStrategyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteDeploymentStrategyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteDeploymentStrategyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteDeploymentStrategyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteDeploymentStrategy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteDeploymentStrategyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes an environment. Deleting an environment does not delete a configuration from a host.
*
*
* @param deleteEnvironmentRequest
* @return Result of the DeleteEnvironment operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.DeleteEnvironment
* @see AWS
* API Documentation
*/
@Override
public DeleteEnvironmentResult deleteEnvironment(DeleteEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeDeleteEnvironment(request);
}
@SdkInternalApi
final DeleteEnvironmentResult executeDeleteEnvironment(DeleteEnvironmentRequest deleteEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(deleteEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteEnvironmentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteEnvironment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteEnvironmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes an AppConfig extension. You must delete all associations to an extension before you delete the extension.
*
*
* @param deleteExtensionRequest
* @return Result of the DeleteExtension operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.DeleteExtension
* @see AWS API
* Documentation
*/
@Override
public DeleteExtensionResult deleteExtension(DeleteExtensionRequest request) {
request = beforeClientExecution(request);
return executeDeleteExtension(request);
}
@SdkInternalApi
final DeleteExtensionResult executeDeleteExtension(DeleteExtensionRequest deleteExtensionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteExtensionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteExtensionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteExtensionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteExtension");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteExtensionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes an extension association. This action doesn't delete extensions defined in the association.
*
*
* @param deleteExtensionAssociationRequest
* @return Result of the DeleteExtensionAssociation operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.DeleteExtensionAssociation
* @see AWS API Documentation
*/
@Override
public DeleteExtensionAssociationResult deleteExtensionAssociation(DeleteExtensionAssociationRequest request) {
request = beforeClientExecution(request);
return executeDeleteExtensionAssociation(request);
}
@SdkInternalApi
final DeleteExtensionAssociationResult executeDeleteExtensionAssociation(DeleteExtensionAssociationRequest deleteExtensionAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteExtensionAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteExtensionAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteExtensionAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteExtensionAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteExtensionAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a version of a configuration from the AppConfig hosted configuration store.
*
*
* @param deleteHostedConfigurationVersionRequest
* @return Result of the DeleteHostedConfigurationVersion operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.DeleteHostedConfigurationVersion
* @see AWS API Documentation
*/
@Override
public DeleteHostedConfigurationVersionResult deleteHostedConfigurationVersion(DeleteHostedConfigurationVersionRequest request) {
request = beforeClientExecution(request);
return executeDeleteHostedConfigurationVersion(request);
}
@SdkInternalApi
final DeleteHostedConfigurationVersionResult executeDeleteHostedConfigurationVersion(
DeleteHostedConfigurationVersionRequest deleteHostedConfigurationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteHostedConfigurationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteHostedConfigurationVersionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteHostedConfigurationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteHostedConfigurationVersion");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteHostedConfigurationVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about an application.
*
*
* @param getApplicationRequest
* @return Result of the GetApplication operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetApplication
* @see AWS API
* Documentation
*/
@Override
public GetApplicationResult getApplication(GetApplicationRequest request) {
request = beforeClientExecution(request);
return executeGetApplication(request);
}
@SdkInternalApi
final GetApplicationResult executeGetApplication(GetApplicationRequest getApplicationRequest) {
ExecutionContext executionContext = createExecutionContext(getApplicationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetApplicationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetApplication");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetApplicationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* (Deprecated) Retrieves the latest deployed configuration.
*
*
*
* Note the following important information.
*
*
*
*
* @param getConfigurationRequest
* @return Result of the GetConfiguration operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetConfiguration
* @see AWS API
* Documentation
*/
@Override
@Deprecated
public GetConfigurationResult getConfiguration(GetConfigurationRequest request) {
request = beforeClientExecution(request);
return executeGetConfiguration(request);
}
@SdkInternalApi
final GetConfigurationResult executeGetConfiguration(GetConfigurationRequest getConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(getConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(false).withHasStreamingSuccessResponse(false), new GetConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about a configuration profile.
*
*
* @param getConfigurationProfileRequest
* @return Result of the GetConfigurationProfile operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetConfigurationProfile
* @see AWS API Documentation
*/
@Override
public GetConfigurationProfileResult getConfigurationProfile(GetConfigurationProfileRequest request) {
request = beforeClientExecution(request);
return executeGetConfigurationProfile(request);
}
@SdkInternalApi
final GetConfigurationProfileResult executeGetConfigurationProfile(GetConfigurationProfileRequest getConfigurationProfileRequest) {
ExecutionContext executionContext = createExecutionContext(getConfigurationProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetConfigurationProfileRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getConfigurationProfileRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetConfigurationProfile");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetConfigurationProfileResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about a configuration deployment.
*
*
* @param getDeploymentRequest
* @return Result of the GetDeployment operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetDeployment
* @see AWS API
* Documentation
*/
@Override
public GetDeploymentResult getDeployment(GetDeploymentRequest request) {
request = beforeClientExecution(request);
return executeGetDeployment(request);
}
@SdkInternalApi
final GetDeploymentResult executeGetDeployment(GetDeploymentRequest getDeploymentRequest) {
ExecutionContext executionContext = createExecutionContext(getDeploymentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDeploymentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDeploymentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDeployment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDeploymentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about a deployment strategy. A deployment strategy defines important criteria for rolling
* out your configuration to the designated targets. A deployment strategy includes the overall duration required, a
* percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage
* grows, and bake time.
*
*
* @param getDeploymentStrategyRequest
* @return Result of the GetDeploymentStrategy operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetDeploymentStrategy
* @see AWS API Documentation
*/
@Override
public GetDeploymentStrategyResult getDeploymentStrategy(GetDeploymentStrategyRequest request) {
request = beforeClientExecution(request);
return executeGetDeploymentStrategy(request);
}
@SdkInternalApi
final GetDeploymentStrategyResult executeGetDeploymentStrategy(GetDeploymentStrategyRequest getDeploymentStrategyRequest) {
ExecutionContext executionContext = createExecutionContext(getDeploymentStrategyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDeploymentStrategyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDeploymentStrategyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDeploymentStrategy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetDeploymentStrategyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about an environment. An environment is a deployment group of AppConfig applications, such
* as applications in a Production
environment or in an EU_Region
environment. Each
* configuration deployment targets an environment. You can enable one or more Amazon CloudWatch alarms for an
* environment. If an alarm is triggered during a deployment, AppConfig roles back the configuration.
*
*
* @param getEnvironmentRequest
* @return Result of the GetEnvironment operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetEnvironment
* @see AWS API
* Documentation
*/
@Override
public GetEnvironmentResult getEnvironment(GetEnvironmentRequest request) {
request = beforeClientExecution(request);
return executeGetEnvironment(request);
}
@SdkInternalApi
final GetEnvironmentResult executeGetEnvironment(GetEnvironmentRequest getEnvironmentRequest) {
ExecutionContext executionContext = createExecutionContext(getEnvironmentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetEnvironmentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetEnvironment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetEnvironmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns information about an AppConfig extension.
*
*
* @param getExtensionRequest
* @return Result of the GetExtension operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.GetExtension
* @see AWS API
* Documentation
*/
@Override
public GetExtensionResult getExtension(GetExtensionRequest request) {
request = beforeClientExecution(request);
return executeGetExtension(request);
}
@SdkInternalApi
final GetExtensionResult executeGetExtension(GetExtensionRequest getExtensionRequest) {
ExecutionContext executionContext = createExecutionContext(getExtensionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetExtensionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getExtensionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetExtension");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetExtensionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns information about an AppConfig extension association. For more information about extensions and
* associations, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param getExtensionAssociationRequest
* @return Result of the GetExtensionAssociation operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.GetExtensionAssociation
* @see AWS API Documentation
*/
@Override
public GetExtensionAssociationResult getExtensionAssociation(GetExtensionAssociationRequest request) {
request = beforeClientExecution(request);
return executeGetExtensionAssociation(request);
}
@SdkInternalApi
final GetExtensionAssociationResult executeGetExtensionAssociation(GetExtensionAssociationRequest getExtensionAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(getExtensionAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetExtensionAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getExtensionAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetExtensionAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetExtensionAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about a specific configuration version.
*
*
* @param getHostedConfigurationVersionRequest
* @return Result of the GetHostedConfigurationVersion operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.GetHostedConfigurationVersion
* @see AWS API Documentation
*/
@Override
public GetHostedConfigurationVersionResult getHostedConfigurationVersion(GetHostedConfigurationVersionRequest request) {
request = beforeClientExecution(request);
return executeGetHostedConfigurationVersion(request);
}
@SdkInternalApi
final GetHostedConfigurationVersionResult executeGetHostedConfigurationVersion(GetHostedConfigurationVersionRequest getHostedConfigurationVersionRequest) {
ExecutionContext executionContext = createExecutionContext(getHostedConfigurationVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHostedConfigurationVersionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getHostedConfigurationVersionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHostedConfigurationVersion");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(false).withHasStreamingSuccessResponse(false),
new GetHostedConfigurationVersionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all applications in your Amazon Web Services account.
*
*
* @param listApplicationsRequest
* @return Result of the ListApplications operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListApplications
* @see AWS API
* Documentation
*/
@Override
public ListApplicationsResult listApplications(ListApplicationsRequest request) {
request = beforeClientExecution(request);
return executeListApplications(request);
}
@SdkInternalApi
final ListApplicationsResult executeListApplications(ListApplicationsRequest listApplicationsRequest) {
ExecutionContext executionContext = createExecutionContext(listApplicationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListApplicationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listApplicationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListApplications");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListApplicationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the configuration profiles for an application.
*
*
* @param listConfigurationProfilesRequest
* @return Result of the ListConfigurationProfiles operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListConfigurationProfiles
* @see AWS API Documentation
*/
@Override
public ListConfigurationProfilesResult listConfigurationProfiles(ListConfigurationProfilesRequest request) {
request = beforeClientExecution(request);
return executeListConfigurationProfiles(request);
}
@SdkInternalApi
final ListConfigurationProfilesResult executeListConfigurationProfiles(ListConfigurationProfilesRequest listConfigurationProfilesRequest) {
ExecutionContext executionContext = createExecutionContext(listConfigurationProfilesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListConfigurationProfilesRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listConfigurationProfilesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListConfigurationProfiles");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListConfigurationProfilesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists deployment strategies.
*
*
* @param listDeploymentStrategiesRequest
* @return Result of the ListDeploymentStrategies operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListDeploymentStrategies
* @see AWS API Documentation
*/
@Override
public ListDeploymentStrategiesResult listDeploymentStrategies(ListDeploymentStrategiesRequest request) {
request = beforeClientExecution(request);
return executeListDeploymentStrategies(request);
}
@SdkInternalApi
final ListDeploymentStrategiesResult executeListDeploymentStrategies(ListDeploymentStrategiesRequest listDeploymentStrategiesRequest) {
ExecutionContext executionContext = createExecutionContext(listDeploymentStrategiesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListDeploymentStrategiesRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listDeploymentStrategiesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDeploymentStrategies");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListDeploymentStrategiesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the deployments for an environment in descending deployment number order.
*
*
* @param listDeploymentsRequest
* @return Result of the ListDeployments operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListDeployments
* @see AWS API
* Documentation
*/
@Override
public ListDeploymentsResult listDeployments(ListDeploymentsRequest request) {
request = beforeClientExecution(request);
return executeListDeployments(request);
}
@SdkInternalApi
final ListDeploymentsResult executeListDeployments(ListDeploymentsRequest listDeploymentsRequest) {
ExecutionContext executionContext = createExecutionContext(listDeploymentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListDeploymentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listDeploymentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDeployments");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListDeploymentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the environments for an application.
*
*
* @param listEnvironmentsRequest
* @return Result of the ListEnvironments operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListEnvironments
* @see AWS API
* Documentation
*/
@Override
public ListEnvironmentsResult listEnvironments(ListEnvironmentsRequest request) {
request = beforeClientExecution(request);
return executeListEnvironments(request);
}
@SdkInternalApi
final ListEnvironmentsResult executeListEnvironments(ListEnvironmentsRequest listEnvironmentsRequest) {
ExecutionContext executionContext = createExecutionContext(listEnvironmentsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListEnvironmentsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listEnvironmentsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListEnvironments");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListEnvironmentsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all AppConfig extension associations in the account. For more information about extensions and
* associations, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param listExtensionAssociationsRequest
* @return Result of the ListExtensionAssociations operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListExtensionAssociations
* @see AWS API Documentation
*/
@Override
public ListExtensionAssociationsResult listExtensionAssociations(ListExtensionAssociationsRequest request) {
request = beforeClientExecution(request);
return executeListExtensionAssociations(request);
}
@SdkInternalApi
final ListExtensionAssociationsResult executeListExtensionAssociations(ListExtensionAssociationsRequest listExtensionAssociationsRequest) {
ExecutionContext executionContext = createExecutionContext(listExtensionAssociationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListExtensionAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listExtensionAssociationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListExtensionAssociations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListExtensionAssociationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all custom and Amazon Web Services authored AppConfig extensions in the account. For more information about
* extensions, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param listExtensionsRequest
* @return Result of the ListExtensions operation returned by the service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.ListExtensions
* @see AWS API
* Documentation
*/
@Override
public ListExtensionsResult listExtensions(ListExtensionsRequest request) {
request = beforeClientExecution(request);
return executeListExtensions(request);
}
@SdkInternalApi
final ListExtensionsResult executeListExtensions(ListExtensionsRequest listExtensionsRequest) {
ExecutionContext executionContext = createExecutionContext(listExtensionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListExtensionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listExtensionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListExtensions");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListExtensionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists configurations stored in the AppConfig hosted configuration store by version.
*
*
* @param listHostedConfigurationVersionsRequest
* @return Result of the ListHostedConfigurationVersions operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.ListHostedConfigurationVersions
* @see AWS API Documentation
*/
@Override
public ListHostedConfigurationVersionsResult listHostedConfigurationVersions(ListHostedConfigurationVersionsRequest request) {
request = beforeClientExecution(request);
return executeListHostedConfigurationVersions(request);
}
@SdkInternalApi
final ListHostedConfigurationVersionsResult executeListHostedConfigurationVersions(
ListHostedConfigurationVersionsRequest listHostedConfigurationVersionsRequest) {
ExecutionContext executionContext = createExecutionContext(listHostedConfigurationVersionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListHostedConfigurationVersionsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listHostedConfigurationVersionsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHostedConfigurationVersions");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListHostedConfigurationVersionsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the list of key-value tags assigned to the resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.ListTagsForResource
* @see AWS
* API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Starts a deployment.
*
*
* @param startDeploymentRequest
* @return Result of the StartDeployment operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.StartDeployment
* @see AWS API
* Documentation
*/
@Override
public StartDeploymentResult startDeployment(StartDeploymentRequest request) {
request = beforeClientExecution(request);
return executeStartDeployment(request);
}
@SdkInternalApi
final StartDeploymentResult executeStartDeployment(StartDeploymentRequest startDeploymentRequest) {
ExecutionContext executionContext = createExecutionContext(startDeploymentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new StartDeploymentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startDeploymentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartDeployment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartDeploymentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Stops a deployment. This API action works only on deployments that have a status of DEPLOYING
. This
* action moves the deployment to a status of ROLLED_BACK
.
*
*
* @param stopDeploymentRequest
* @return Result of the StopDeployment operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @sample AmazonAppConfig.StopDeployment
* @see AWS API
* Documentation
*/
@Override
public StopDeploymentResult stopDeployment(StopDeploymentRequest request) {
request = beforeClientExecution(request);
return executeStopDeployment(request);
}
@SdkInternalApi
final StopDeploymentResult executeStopDeployment(StopDeploymentRequest stopDeploymentRequest) {
ExecutionContext executionContext = createExecutionContext(stopDeploymentRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new StopDeploymentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopDeploymentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopDeployment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopDeploymentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Assigns metadata to an AppConfig resource. Tags help organize and categorize your AppConfig resources. Each tag
* consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a
* resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.TagResource
* @see AWS API
* Documentation
*/
@Override
public TagResourceResult tagResource(TagResourceRequest request) {
request = beforeClientExecution(request);
return executeTagResource(request);
}
@SdkInternalApi
final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(tagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a tag key and value from an AppConfig resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UntagResource
* @see AWS API
* Documentation
*/
@Override
public UntagResourceResult untagResource(UntagResourceRequest request) {
request = beforeClientExecution(request);
return executeUntagResource(request);
}
@SdkInternalApi
final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(untagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an application.
*
*
* @param updateApplicationRequest
* @return Result of the UpdateApplication operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateApplication
* @see AWS
* API Documentation
*/
@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 request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateApplicationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateApplicationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateApplication");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateApplicationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates a configuration profile.
*
*
* @param updateConfigurationProfileRequest
* @return Result of the UpdateConfigurationProfile operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateConfigurationProfile
* @see AWS API Documentation
*/
@Override
public UpdateConfigurationProfileResult updateConfigurationProfile(UpdateConfigurationProfileRequest request) {
request = beforeClientExecution(request);
return executeUpdateConfigurationProfile(request);
}
@SdkInternalApi
final UpdateConfigurationProfileResult executeUpdateConfigurationProfile(UpdateConfigurationProfileRequest updateConfigurationProfileRequest) {
ExecutionContext executionContext = createExecutionContext(updateConfigurationProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateConfigurationProfileRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateConfigurationProfileRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateConfigurationProfile");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateConfigurationProfileResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates a deployment strategy.
*
*
* @param updateDeploymentStrategyRequest
* @return Result of the UpdateDeploymentStrategy operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateDeploymentStrategy
* @see AWS API Documentation
*/
@Override
public UpdateDeploymentStrategyResult updateDeploymentStrategy(UpdateDeploymentStrategyRequest request) {
request = beforeClientExecution(request);
return executeUpdateDeploymentStrategy(request);
}
@SdkInternalApi
final UpdateDeploymentStrategyResult executeUpdateDeploymentStrategy(UpdateDeploymentStrategyRequest updateDeploymentStrategyRequest) {
ExecutionContext executionContext = createExecutionContext(updateDeploymentStrategyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateDeploymentStrategyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateDeploymentStrategyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateDeploymentStrategy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateDeploymentStrategyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an environment.
*
*
* @param updateEnvironmentRequest
* @return Result of the UpdateEnvironment operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateEnvironment
* @see AWS
* API Documentation
*/
@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 request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateEnvironmentRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateEnvironmentRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateEnvironment");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateEnvironmentResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an AppConfig extension. For more information about extensions, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param updateExtensionRequest
* @return Result of the UpdateExtension operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws ConflictException
* The request could not be processed because of conflict in the current state of the resource.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateExtension
* @see AWS API
* Documentation
*/
@Override
public UpdateExtensionResult updateExtension(UpdateExtensionRequest request) {
request = beforeClientExecution(request);
return executeUpdateExtension(request);
}
@SdkInternalApi
final UpdateExtensionResult executeUpdateExtension(UpdateExtensionRequest updateExtensionRequest) {
ExecutionContext executionContext = createExecutionContext(updateExtensionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateExtensionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateExtensionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateExtension");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateExtensionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an association. For more information about extensions and associations, see Working with
* AppConfig extensions in the AppConfig User Guide.
*
*
* @param updateExtensionAssociationRequest
* @return Result of the UpdateExtensionAssociation operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.UpdateExtensionAssociation
* @see AWS API Documentation
*/
@Override
public UpdateExtensionAssociationResult updateExtensionAssociation(UpdateExtensionAssociationRequest request) {
request = beforeClientExecution(request);
return executeUpdateExtensionAssociation(request);
}
@SdkInternalApi
final UpdateExtensionAssociationResult executeUpdateExtensionAssociation(UpdateExtensionAssociationRequest updateExtensionAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(updateExtensionAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateExtensionAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateExtensionAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateExtensionAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateExtensionAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Uses the validators in a configuration profile to validate a configuration.
*
*
* @param validateConfigurationRequest
* @return Result of the ValidateConfiguration operation returned by the service.
* @throws BadRequestException
* The input fails to satisfy the constraints specified by an Amazon Web Services service.
* @throws ResourceNotFoundException
* The requested resource could not be found.
* @throws InternalServerException
* There was an internal failure in the AppConfig service.
* @sample AmazonAppConfig.ValidateConfiguration
* @see AWS API Documentation
*/
@Override
public ValidateConfigurationResult validateConfiguration(ValidateConfigurationRequest request) {
request = beforeClientExecution(request);
return executeValidateConfiguration(request);
}
@SdkInternalApi
final ValidateConfigurationResult executeValidateConfiguration(ValidateConfigurationRequest validateConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(validateConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ValidateConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(validateConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "AppConfig");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ValidateConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ValidateConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* Returns additional metadata for a previously executed successful, request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
return invoke(request, responseHandler, executionContext, null, null);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext, null, null);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) {
if (discoveredEndpoint != null) {
request.setEndpoint(discoveredEndpoint);
request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery");
} else if (uriFromEndpointTrait != null) {
request.setEndpoint(uriFromEndpointTrait);
} else {
request.setEndpoint(endpoint);
}
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
@com.amazonaws.annotation.SdkInternalApi
static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() {
return protocolFactory;
}
@Override
public void shutdown() {
super.shutdown();
}
}