/*
* 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.accessanalyzer;
import javax.annotation.Generated;
import com.amazonaws.services.accessanalyzer.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;
import java.util.concurrent.ExecutorService;
/**
* Client for accessing Access Analyzer 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.
*
*
* Identity and Access Management Access Analyzer helps identify potential resource-access risks by enabling you to
* identify any policies that grant access to an external principal. It does this by using logic-based reasoning to
* analyze resource-based policies in your Amazon Web Services environment. An external principal can be another Amazon
* Web Services account, a root user, an IAM user or role, a federated user, an Amazon Web Services service, or an
* anonymous user. You can also use IAM Access Analyzer to preview and validate public and cross-account access to your
* resources before deploying permissions changes. This guide describes the Identity and Access Management Access
* Analyzer operations that you can call programmatically. For general information about IAM Access Analyzer, see Identity and Access Management
* Access Analyzer in the IAM User Guide.
*
*
* To start using IAM Access Analyzer, you first need to create an analyzer.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSAccessAnalyzerAsyncClient extends AWSAccessAnalyzerClient implements AWSAccessAnalyzerAsync {
private static final int DEFAULT_THREAD_POOL_SIZE = 50;
private final java.util.concurrent.ExecutorService executorService;
public static AWSAccessAnalyzerAsyncClientBuilder asyncBuilder() {
return AWSAccessAnalyzerAsyncClientBuilder.standard();
}
/**
* Constructs a new asynchronous client to invoke service methods on Access Analyzer using the specified parameters.
*
* @param asyncClientParams
* Object providing client parameters.
*/
AWSAccessAnalyzerAsyncClient(AwsAsyncClientParams asyncClientParams) {
this(asyncClientParams, false);
}
/**
* Constructs a new asynchronous client to invoke service methods on Access Analyzer using the specified parameters.
*
* @param asyncClientParams
* Object providing client parameters.
* @param endpointDiscoveryEnabled
* true will enable endpoint discovery if the service supports it.
*/
AWSAccessAnalyzerAsyncClient(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 applyArchiveRuleAsync(ApplyArchiveRuleRequest request) {
return applyArchiveRuleAsync(request, null);
}
@Override
public java.util.concurrent.Future applyArchiveRuleAsync(final ApplyArchiveRuleRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ApplyArchiveRuleRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ApplyArchiveRuleResult call() throws Exception {
ApplyArchiveRuleResult result = null;
try {
result = executeApplyArchiveRule(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 cancelPolicyGenerationAsync(CancelPolicyGenerationRequest request) {
return cancelPolicyGenerationAsync(request, null);
}
@Override
public java.util.concurrent.Future cancelPolicyGenerationAsync(final CancelPolicyGenerationRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CancelPolicyGenerationRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CancelPolicyGenerationResult call() throws Exception {
CancelPolicyGenerationResult result = null;
try {
result = executeCancelPolicyGeneration(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 createAccessPreviewAsync(CreateAccessPreviewRequest request) {
return createAccessPreviewAsync(request, null);
}
@Override
public java.util.concurrent.Future createAccessPreviewAsync(final CreateAccessPreviewRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateAccessPreviewRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateAccessPreviewResult call() throws Exception {
CreateAccessPreviewResult result = null;
try {
result = executeCreateAccessPreview(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 createAnalyzerAsync(CreateAnalyzerRequest request) {
return createAnalyzerAsync(request, null);
}
@Override
public java.util.concurrent.Future createAnalyzerAsync(final CreateAnalyzerRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateAnalyzerRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateAnalyzerResult call() throws Exception {
CreateAnalyzerResult result = null;
try {
result = executeCreateAnalyzer(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 createArchiveRuleAsync(CreateArchiveRuleRequest request) {
return createArchiveRuleAsync(request, null);
}
@Override
public java.util.concurrent.Future createArchiveRuleAsync(final CreateArchiveRuleRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateArchiveRuleRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateArchiveRuleResult call() throws Exception {
CreateArchiveRuleResult result = null;
try {
result = executeCreateArchiveRule(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 deleteAnalyzerAsync(DeleteAnalyzerRequest request) {
return deleteAnalyzerAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteAnalyzerAsync(final DeleteAnalyzerRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteAnalyzerRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteAnalyzerResult call() throws Exception {
DeleteAnalyzerResult result = null;
try {
result = executeDeleteAnalyzer(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 deleteArchiveRuleAsync(DeleteArchiveRuleRequest request) {
return deleteArchiveRuleAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteArchiveRuleAsync(final DeleteArchiveRuleRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteArchiveRuleRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteArchiveRuleResult call() throws Exception {
DeleteArchiveRuleResult result = null;
try {
result = executeDeleteArchiveRule(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 getAccessPreviewAsync(GetAccessPreviewRequest request) {
return getAccessPreviewAsync(request, null);
}
@Override
public java.util.concurrent.Future getAccessPreviewAsync(final GetAccessPreviewRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetAccessPreviewRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetAccessPreviewResult call() throws Exception {
GetAccessPreviewResult result = null;
try {
result = executeGetAccessPreview(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 getAnalyzedResourceAsync(GetAnalyzedResourceRequest request) {
return getAnalyzedResourceAsync(request, null);
}
@Override
public java.util.concurrent.Future getAnalyzedResourceAsync(final GetAnalyzedResourceRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetAnalyzedResourceRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetAnalyzedResourceResult call() throws Exception {
GetAnalyzedResourceResult result = null;
try {
result = executeGetAnalyzedResource(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 getAnalyzerAsync(GetAnalyzerRequest request) {
return getAnalyzerAsync(request, null);
}
@Override
public java.util.concurrent.Future getAnalyzerAsync(final GetAnalyzerRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetAnalyzerRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetAnalyzerResult call() throws Exception {
GetAnalyzerResult result = null;
try {
result = executeGetAnalyzer(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 getArchiveRuleAsync(GetArchiveRuleRequest request) {
return getArchiveRuleAsync(request, null);
}
@Override
public java.util.concurrent.Future getArchiveRuleAsync(final GetArchiveRuleRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetArchiveRuleRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetArchiveRuleResult call() throws Exception {
GetArchiveRuleResult result = null;
try {
result = executeGetArchiveRule(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 getFindingAsync(GetFindingRequest request) {
return getFindingAsync(request, null);
}
@Override
public java.util.concurrent.Future getFindingAsync(final GetFindingRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetFindingRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetFindingResult call() throws Exception {
GetFindingResult result = null;
try {
result = executeGetFinding(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 getGeneratedPolicyAsync(GetGeneratedPolicyRequest request) {
return getGeneratedPolicyAsync(request, null);
}
@Override
public java.util.concurrent.Future getGeneratedPolicyAsync(final GetGeneratedPolicyRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final GetGeneratedPolicyRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public GetGeneratedPolicyResult call() throws Exception {
GetGeneratedPolicyResult result = null;
try {
result = executeGetGeneratedPolicy(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 listAccessPreviewFindingsAsync(ListAccessPreviewFindingsRequest request) {
return listAccessPreviewFindingsAsync(request, null);
}
@Override
public java.util.concurrent.Future listAccessPreviewFindingsAsync(final ListAccessPreviewFindingsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListAccessPreviewFindingsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListAccessPreviewFindingsResult call() throws Exception {
ListAccessPreviewFindingsResult result = null;
try {
result = executeListAccessPreviewFindings(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 listAccessPreviewsAsync(ListAccessPreviewsRequest request) {
return listAccessPreviewsAsync(request, null);
}
@Override
public java.util.concurrent.Future listAccessPreviewsAsync(final ListAccessPreviewsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListAccessPreviewsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListAccessPreviewsResult call() throws Exception {
ListAccessPreviewsResult result = null;
try {
result = executeListAccessPreviews(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 listAnalyzedResourcesAsync(ListAnalyzedResourcesRequest request) {
return listAnalyzedResourcesAsync(request, null);
}
@Override
public java.util.concurrent.Future listAnalyzedResourcesAsync(final ListAnalyzedResourcesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListAnalyzedResourcesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListAnalyzedResourcesResult call() throws Exception {
ListAnalyzedResourcesResult result = null;
try {
result = executeListAnalyzedResources(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 listAnalyzersAsync(ListAnalyzersRequest request) {
return listAnalyzersAsync(request, null);
}
@Override
public java.util.concurrent.Future listAnalyzersAsync(final ListAnalyzersRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListAnalyzersRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListAnalyzersResult call() throws Exception {
ListAnalyzersResult result = null;
try {
result = executeListAnalyzers(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 listArchiveRulesAsync(ListArchiveRulesRequest request) {
return listArchiveRulesAsync(request, null);
}
@Override
public java.util.concurrent.Future listArchiveRulesAsync(final ListArchiveRulesRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListArchiveRulesRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListArchiveRulesResult call() throws Exception {
ListArchiveRulesResult result = null;
try {
result = executeListArchiveRules(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 listFindingsAsync(ListFindingsRequest request) {
return listFindingsAsync(request, null);
}
@Override
public java.util.concurrent.Future listFindingsAsync(final ListFindingsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListFindingsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListFindingsResult call() throws Exception {
ListFindingsResult result = null;
try {
result = executeListFindings(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 listPolicyGenerationsAsync(ListPolicyGenerationsRequest request) {
return listPolicyGenerationsAsync(request, null);
}
@Override
public java.util.concurrent.Future listPolicyGenerationsAsync(final ListPolicyGenerationsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListPolicyGenerationsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListPolicyGenerationsResult call() throws Exception {
ListPolicyGenerationsResult result = null;
try {
result = executeListPolicyGenerations(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 startPolicyGenerationAsync(StartPolicyGenerationRequest request) {
return startPolicyGenerationAsync(request, null);
}
@Override
public java.util.concurrent.Future startPolicyGenerationAsync(final StartPolicyGenerationRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final StartPolicyGenerationRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public StartPolicyGenerationResult call() throws Exception {
StartPolicyGenerationResult result = null;
try {
result = executeStartPolicyGeneration(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 startResourceScanAsync(StartResourceScanRequest request) {
return startResourceScanAsync(request, null);
}
@Override
public java.util.concurrent.Future startResourceScanAsync(final StartResourceScanRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final StartResourceScanRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public StartResourceScanResult call() throws Exception {
StartResourceScanResult result = null;
try {
result = executeStartResourceScan(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 updateArchiveRuleAsync(UpdateArchiveRuleRequest request) {
return updateArchiveRuleAsync(request, null);
}
@Override
public java.util.concurrent.Future updateArchiveRuleAsync(final UpdateArchiveRuleRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateArchiveRuleRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateArchiveRuleResult call() throws Exception {
UpdateArchiveRuleResult result = null;
try {
result = executeUpdateArchiveRule(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 updateFindingsAsync(UpdateFindingsRequest request) {
return updateFindingsAsync(request, null);
}
@Override
public java.util.concurrent.Future updateFindingsAsync(final UpdateFindingsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateFindingsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateFindingsResult call() throws Exception {
UpdateFindingsResult result = null;
try {
result = executeUpdateFindings(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 validatePolicyAsync(ValidatePolicyRequest request) {
return validatePolicyAsync(request, null);
}
@Override
public java.util.concurrent.Future validatePolicyAsync(final ValidatePolicyRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ValidatePolicyRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ValidatePolicyResult call() throws Exception {
ValidatePolicyResult result = null;
try {
result = executeValidatePolicy(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();
}
}