com.amazonaws.services.controltower.AWSControlTowerAsyncClient Maven / Gradle / Ivy
Show all versions of aws-java-sdk-controltower Show documentation
/*
* Copyright 2019-2024 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.controltower;
import javax.annotation.Generated;
import com.amazonaws.services.controltower.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;
import java.util.concurrent.ExecutorService;
/**
* Client for accessing AWS Control Tower asynchronously. Each asynchronous method will return a Java Future object
* representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
*
*
* Amazon Web Services Control Tower offers application programming interface (API) operations that support programmatic
* interaction with these types of resources:
*
*
* -
*
* Controls
*
*
* -
*
* DisableControl
*
*
* -
*
* EnableControl
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
*
*
* -
*
* Landing zones
*
*
* -
*
*
* -
*
*
* -
*
* GetLandingZone
*
*
* -
*
*
* -
*
* ListLandingZones
*
*
* -
*
* ResetLandingZone
*
*
* -
*
*
*
*
* -
*
* Baselines
*
*
* -
*
* DisableBaseline
*
*
* -
*
* EnableBaseline
*
*
* -
*
* GetBaseline
*
*
* -
*
*
* -
*
*
* -
*
* ListBaselines
*
*
* -
*
*
* -
*
*
* -
*
*
*
*
* -
*
* Tagging
*
*
* -
*
*
* -
*
* TagResource
*
*
* -
*
* UntagResource
*
*
*
*
*
*
* For more information about these types of resources, see the Amazon Web Services
* Control Tower User Guide .
*
*
* About control APIs
*
*
* These interfaces allow you to apply the Amazon Web Services library of pre-defined controls to your
* organizational units, programmatically. In Amazon Web Services Control Tower, the terms "control" and "guardrail" are
* synonyms.
*
*
* To call these APIs, you'll need to know:
*
*
* -
*
* the controlIdentifier
for the control--or guardrail--you are targeting.
*
*
* -
*
* the ARN associated with the target organizational unit (OU), which we call the targetIdentifier
.
*
*
* -
*
* the ARN associated with a resource that you wish to tag or untag.
*
*
*
*
* To get the controlIdentifier
for your Amazon Web Services Control Tower control:
*
*
* The controlIdentifier
is an ARN that is specified for each control. You can view the
* controlIdentifier
in the console on the Control details page, as well as in the documentation.
*
*
* The controlIdentifier
is unique in each Amazon Web Services Region for each control. You can find the
* controlIdentifier
for each Region and control in the Tables of
* control metadata or the Control
* availability by Region tables in the Amazon Web Services Control Tower Controls Reference Guide.
*
*
* A quick-reference list of control identifers for the Amazon Web Services Control Tower legacy Strongly
* recommended and Elective controls is given in Resource
* identifiers for APIs and controls in the Amazon Web
* Services Control Tower Controls Reference Guide . Remember that Mandatory controls cannot be added or
* removed.
*
*
*
* ARN format: arn:aws:controltower:{REGION}::control/{CONTROL_NAME}
*
*
* Example:
*
*
* arn:aws:controltower:us-west-2::control/AWS-GR_AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED
*
*
*
* To get the targetIdentifier
:
*
*
* The targetIdentifier
is the ARN for an OU.
*
*
* In the Amazon Web Services Organizations console, you can find the ARN for the OU on the Organizational unit
* details page associated with that OU.
*
*
*
* OU ARN format:
*
*
* arn:${Partition}:organizations::${MasterAccountId}:ou/o-${OrganizationId}/ou-${OrganizationalUnitId}
*
*
*
* About landing zone APIs
*
*
* You can configure and launch an Amazon Web Services Control Tower landing zone with APIs. For an introduction and
* steps, see Getting
* started with Amazon Web Services Control Tower using APIs.
*
*
* For an overview of landing zone API operations, see Amazon Web Services
* Control Tower supports landing zone APIs. The individual API operations for landing zones are detailed in this
* document, the API
* reference manual, in the "Actions" section.
*
*
* About baseline APIs
*
*
* You can apply the AWSControlTowerBaseline
baseline to an organizational unit (OU) as a way to register
* the OU with Amazon Web Services Control Tower, programmatically. For a general overview of this capability, see Amazon Web Services
* Control Tower supports APIs for OU registration and configuration with baselines.
*
*
* You can call the baseline API operations to view the baselines that Amazon Web Services Control Tower enables for
* your landing zone, on your behalf, when setting up the landing zone. These baselines are read-only baselines.
*
*
* The individual API operations for baselines are detailed in this document, the API reference manual, in
* the "Actions" section. For usage examples, see Baseline API input and
* output examples with CLI.
*
*
* Details and examples
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* -
*
*
* Creating Amazon Web Services Control Tower resources with Amazon Web Services CloudFormation
*
*
*
*
* To view the open source resource repository on GitHub, see aws-cloudformation/aws-cloudformation-resource-providers-controltower
*
*
* Recording API Requests
*
*
* Amazon Web Services Control Tower supports Amazon Web Services CloudTrail, a service that records Amazon Web Services
* API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information
* collected by CloudTrail, you can determine which requests the Amazon Web Services Control Tower service received, who
* made the request and when, and so on. For more about Amazon Web Services Control Tower and its support for
* CloudTrail, see Logging Amazon Web
* Services Control Tower Actions with Amazon Web Services CloudTrail in the Amazon Web Services Control Tower User
* Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the Amazon Web
* Services CloudTrail User Guide.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSControlTowerAsyncClient extends AWSControlTowerClient implements AWSControlTowerAsync {
private static final int DEFAULT_THREAD_POOL_SIZE = 50;
private final java.util.concurrent.ExecutorService executorService;
public static AWSControlTowerAsyncClientBuilder asyncBuilder() {
return AWSControlTowerAsyncClientBuilder.standard();
}
/**
* Constructs a new asynchronous client to invoke service methods on AWS Control Tower using the specified
* parameters.
*
* @param asyncClientParams
* Object providing client parameters.
*/
AWSControlTowerAsyncClient(AwsAsyncClientParams asyncClientParams) {
this(asyncClientParams, false);
}
/**
* Constructs a new asynchronous client to invoke service methods on AWS Control Tower using the specified
* parameters.
*
* @param asyncClientParams
* Object providing client parameters.
* @param endpointDiscoveryEnabled
* true will enable endpoint discovery if the service supports it.
*/
AWSControlTowerAsyncClient(AwsAsyncClientParams asyncClientParams, boolean endpointDiscoveryEnabled) {
super(asyncClientParams, endpointDiscoveryEnabled);
this.executorService = asyncClientParams.getExecutor();
}
/**
* Returns the executor service used by this client to execute async requests.
*
* @return The executor service used by this client to execute async requests.
*/
public ExecutorService getExecutorService() {
return executorService;
}
@Override
public java.util.concurrent.Future deleteLandingZoneAsync(DeleteLandingZoneRequest request) {
return deleteLandingZoneAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteLandingZoneAsync(final DeleteLandingZoneRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteLandingZoneRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteLandingZoneResult call() throws Exception {
DeleteLandingZoneResult result = null;
try {
result = executeDeleteLandingZone(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future disableBaselineAsync(DisableBaselineRequest request) {
return disableBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future disableBaselineAsync(final DisableBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DisableBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DisableBaselineResult call() throws Exception {
DisableBaselineResult result = null;
try {
result = executeDisableBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future disableControlAsync(DisableControlRequest request) {
return disableControlAsync(request, null);
}
@Override
public java.util.concurrent.Future disableControlAsync(final DisableControlRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DisableControlRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DisableControlResult call() throws Exception {
DisableControlResult result = null;
try {
result = executeDisableControl(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future enableBaselineAsync(EnableBaselineRequest request) {
return enableBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future enableBaselineAsync(final EnableBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final EnableBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public EnableBaselineResult call() throws Exception {
EnableBaselineResult result = null;
try {
result = executeEnableBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future enableControlAsync(EnableControlRequest request) {
return enableControlAsync(request, null);
}
@Override
public java.util.concurrent.Future enableControlAsync(final EnableControlRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final EnableControlRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public EnableControlResult call() throws Exception {
EnableControlResult result = null;
try {
result = executeEnableControl(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getBaselineAsync(GetBaselineRequest request) {
return getBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future getBaselineAsync(final GetBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetBaselineResult call() throws Exception {
GetBaselineResult result = null;
try {
result = executeGetBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getBaselineOperationAsync(GetBaselineOperationRequest request) {
return getBaselineOperationAsync(request, null);
}
@Override
public java.util.concurrent.Future getBaselineOperationAsync(final GetBaselineOperationRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetBaselineOperationRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetBaselineOperationResult call() throws Exception {
GetBaselineOperationResult result = null;
try {
result = executeGetBaselineOperation(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getControlOperationAsync(GetControlOperationRequest request) {
return getControlOperationAsync(request, null);
}
@Override
public java.util.concurrent.Future getControlOperationAsync(final GetControlOperationRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetControlOperationRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetControlOperationResult call() throws Exception {
GetControlOperationResult result = null;
try {
result = executeGetControlOperation(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getEnabledBaselineAsync(GetEnabledBaselineRequest request) {
return getEnabledBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future getEnabledBaselineAsync(final GetEnabledBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetEnabledBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetEnabledBaselineResult call() throws Exception {
GetEnabledBaselineResult result = null;
try {
result = executeGetEnabledBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getEnabledControlAsync(GetEnabledControlRequest request) {
return getEnabledControlAsync(request, null);
}
@Override
public java.util.concurrent.Future getEnabledControlAsync(final GetEnabledControlRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetEnabledControlRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetEnabledControlResult call() throws Exception {
GetEnabledControlResult result = null;
try {
result = executeGetEnabledControl(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future getLandingZoneOperationAsync(GetLandingZoneOperationRequest request) {
return getLandingZoneOperationAsync(request, null);
}
@Override
public java.util.concurrent.Future getLandingZoneOperationAsync(final GetLandingZoneOperationRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetLandingZoneOperationRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetLandingZoneOperationResult call() throws Exception {
GetLandingZoneOperationResult result = null;
try {
result = executeGetLandingZoneOperation(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listBaselinesAsync(ListBaselinesRequest request) {
return listBaselinesAsync(request, null);
}
@Override
public java.util.concurrent.Future listBaselinesAsync(final ListBaselinesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListBaselinesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListBaselinesResult call() throws Exception {
ListBaselinesResult result = null;
try {
result = executeListBaselines(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listControlOperationsAsync(ListControlOperationsRequest request) {
return listControlOperationsAsync(request, null);
}
@Override
public java.util.concurrent.Future listControlOperationsAsync(final ListControlOperationsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListControlOperationsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListControlOperationsResult call() throws Exception {
ListControlOperationsResult result = null;
try {
result = executeListControlOperations(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listEnabledBaselinesAsync(ListEnabledBaselinesRequest request) {
return listEnabledBaselinesAsync(request, null);
}
@Override
public java.util.concurrent.Future listEnabledBaselinesAsync(final ListEnabledBaselinesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListEnabledBaselinesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListEnabledBaselinesResult call() throws Exception {
ListEnabledBaselinesResult result = null;
try {
result = executeListEnabledBaselines(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listEnabledControlsAsync(ListEnabledControlsRequest request) {
return listEnabledControlsAsync(request, null);
}
@Override
public java.util.concurrent.Future listEnabledControlsAsync(final ListEnabledControlsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListEnabledControlsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListEnabledControlsResult call() throws Exception {
ListEnabledControlsResult result = null;
try {
result = executeListEnabledControls(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listLandingZoneOperationsAsync(ListLandingZoneOperationsRequest request) {
return listLandingZoneOperationsAsync(request, null);
}
@Override
public java.util.concurrent.Future listLandingZoneOperationsAsync(final ListLandingZoneOperationsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListLandingZoneOperationsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListLandingZoneOperationsResult call() throws Exception {
ListLandingZoneOperationsResult result = null;
try {
result = executeListLandingZoneOperations(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listLandingZonesAsync(ListLandingZonesRequest request) {
return listLandingZonesAsync(request, null);
}
@Override
public java.util.concurrent.Future listLandingZonesAsync(final ListLandingZonesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListLandingZonesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListLandingZonesResult call() throws Exception {
ListLandingZonesResult result = null;
try {
result = executeListLandingZones(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest request) {
return listTagsForResourceAsync(request, null);
}
@Override
public java.util.concurrent.Future listTagsForResourceAsync(final ListTagsForResourceRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListTagsForResourceRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListTagsForResourceResult call() throws Exception {
ListTagsForResourceResult result = null;
try {
result = executeListTagsForResource(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future resetEnabledBaselineAsync(ResetEnabledBaselineRequest request) {
return resetEnabledBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future resetEnabledBaselineAsync(final ResetEnabledBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ResetEnabledBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ResetEnabledBaselineResult call() throws Exception {
ResetEnabledBaselineResult result = null;
try {
result = executeResetEnabledBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future resetLandingZoneAsync(ResetLandingZoneRequest request) {
return resetLandingZoneAsync(request, null);
}
@Override
public java.util.concurrent.Future resetLandingZoneAsync(final ResetLandingZoneRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ResetLandingZoneRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ResetLandingZoneResult call() throws Exception {
ResetLandingZoneResult result = null;
try {
result = executeResetLandingZone(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future tagResourceAsync(TagResourceRequest request) {
return tagResourceAsync(request, null);
}
@Override
public java.util.concurrent.Future tagResourceAsync(final TagResourceRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final TagResourceRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public TagResourceResult call() throws Exception {
TagResourceResult result = null;
try {
result = executeTagResource(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future untagResourceAsync(UntagResourceRequest request) {
return untagResourceAsync(request, null);
}
@Override
public java.util.concurrent.Future untagResourceAsync(final UntagResourceRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UntagResourceRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UntagResourceResult call() throws Exception {
UntagResourceResult result = null;
try {
result = executeUntagResource(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
@Override
public java.util.concurrent.Future updateEnabledBaselineAsync(UpdateEnabledBaselineRequest request) {
return updateEnabledBaselineAsync(request, null);
}
@Override
public java.util.concurrent.Future updateEnabledBaselineAsync(final UpdateEnabledBaselineRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateEnabledBaselineRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateEnabledBaselineResult call() throws Exception {
UpdateEnabledBaselineResult result = null;
try {
result = executeUpdateEnabledBaseline(finalRequest);
} catch (Exception ex) {
if (asyncHandler != null) {
asyncHandler.onError(ex);
}
throw ex;
}
if (asyncHandler != null) {
asyncHandler.onSuccess(finalRequest, result);
}
return result;
}
});
}
/**
* Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending
* asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should
* call {@code getExecutorService().shutdown()} followed by {@code getExecutorService().awaitTermination()} prior to
* calling this method.
*/
@Override
public void shutdown() {
super.shutdown();
executorService.shutdownNow();
}
}