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

com.amazonaws.services.support.AWSSupportAsyncClient Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not
 * use this file except in compliance with the License. A copy of the License is
 * located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.support;

import com.amazonaws.services.support.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;

/**
 * Interface for accessing AWS Support 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.
 * 

* AWS Support *

* The AWS Support API reference is intended for programmers who need detailed * information about the AWS Support operations and data types. This service * enables you to manage your AWS Support cases programmatically. It uses HTTP * methods that return results in JSON format. *

*

* The AWS Support service also exposes a set of Trusted * Advisor features. You can retrieve a list of checks and their * descriptions, get check results, specify checks to refresh, and get the * refresh status of checks. *

*

* The following list describes the AWS Support case management operations: *

* *

* The following list describes the operations available from the AWS Support * service for Trusted Advisor: *

* *

* For authentication of requests, AWS Support uses Signature Version 4 Signing Process. *

*

* See About * the AWS Support API in the AWS Support User Guide for information * about how to use this service to create and manage your support cases, and * how to call Trusted Advisor for results of checks on your resources. *

*/ @ThreadSafe public class AWSSupportAsyncClient extends AWSSupportClient implements AWSSupportAsync { private static final int DEFAULT_THREAD_POOL_SIZE = 50; private final java.util.concurrent.ExecutorService executorService; /** * Constructs a new asynchronous client to invoke service methods on AWS * Support. A credentials provider chain will be used that searches for * credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Credential profiles file at the default location (~/.aws/credentials) * shared by all AWS SDKs and the AWS CLI
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
*

* Asynchronous methods are delegated to a fixed-size thread pool containing * 50 threads (to match the default maximum number of concurrent connections * to the service). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSupportAsyncClient() { this(new com.amazonaws.auth.DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support. A credentials provider chain will be used that searches for * credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Credential profiles file at the default location (~/.aws/credentials) * shared by all AWS SDKs and the AWS CLI
  • *
  • Instance profile credentials delivered through the Amazon EC2 * metadata service
  • *
*

* Asynchronous methods are delegated to a fixed-size thread pool containing * a number of threads equal to the maximum number of concurrent connections * configured via {@code ClientConfiguration.getMaxConnections()}. * * @param clientConfiguration * The client configuration options controlling how this client * connects to AWS Support (ex: proxy settings, retry counts, etc). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSupportAsyncClient( com.amazonaws.ClientConfiguration clientConfiguration) { this(new com.amazonaws.auth.DefaultAWSCredentialsProviderChain(), clientConfiguration, java.util.concurrent.Executors .newFixedThreadPool(clientConfiguration .getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials. *

* Asynchronous methods are delegated to a fixed-size thread pool containing * 50 threads (to match the default maximum number of concurrent connections * to the service). * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentials awsCredentials) { this(awsCredentials, java.util.concurrent.Executors .newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials and executor service. * Default client settings will be used. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will be * executed. */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentials awsCredentials, java.util.concurrent.ExecutorService executorService) { this(awsCredentials, configFactory.getConfig(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials, executor service, * and client configuration options. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when * authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, * etc). * @param executorService * The executor service by which all asynchronous requests will be * executed. */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentials awsCredentials, com.amazonaws.ClientConfiguration clientConfiguration, java.util.concurrent.ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials provider. Default * client settings will be used. *

* Asynchronous methods are delegated to a fixed-size thread pool containing * 50 threads (to match the default maximum number of concurrent connections * to the service). * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, java.util.concurrent.Executors .newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the provided AWS account credentials provider and client * configuration options. *

* Asynchronous methods are delegated to a fixed-size thread pool containing * a number of threads equal to the maximum number of concurrent connections * configured via {@code ClientConfiguration.getMaxConnections()}. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, * etc). * * @see com.amazonaws.auth.DefaultAWSCredentialsProviderChain * @see java.util.concurrent.Executors#newFixedThreadPool(int) */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, com.amazonaws.ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, java.util.concurrent.Executors .newFixedThreadPool(clientConfiguration .getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials provider and executor * service. Default client settings will be used. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will be * executed. */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, java.util.concurrent.ExecutorService executorService) { this(awsCredentialsProvider, configFactory.getConfig(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified AWS account credentials provider, executor * service, and client configuration options. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to * authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy settings, * etc). * @param executorService * The executor service by which all asynchronous requests will be * executed. */ public AWSSupportAsyncClient( com.amazonaws.auth.AWSCredentialsProvider awsCredentialsProvider, com.amazonaws.ClientConfiguration clientConfiguration, java.util.concurrent.ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on AWS * Support using the specified parameters. * * @param asyncClientParams * Object providing client parameters. */ AWSSupportAsyncClient(AwsAsyncClientParams asyncClientParams) { super(asyncClientParams); 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 java.util.concurrent.ExecutorService getExecutorService() { return executorService; } @Override public java.util.concurrent.Future addAttachmentsToSetAsync( AddAttachmentsToSetRequest request) { return addAttachmentsToSetAsync(request, null); } @Override public java.util.concurrent.Future addAttachmentsToSetAsync( final AddAttachmentsToSetRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public AddAttachmentsToSetResult call() throws Exception { AddAttachmentsToSetResult result; try { result = addAttachmentsToSet(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future addCommunicationToCaseAsync( AddCommunicationToCaseRequest request) { return addCommunicationToCaseAsync(request, null); } @Override public java.util.concurrent.Future addCommunicationToCaseAsync( final AddCommunicationToCaseRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public AddCommunicationToCaseResult call() throws Exception { AddCommunicationToCaseResult result; try { result = addCommunicationToCase(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future createCaseAsync( CreateCaseRequest request) { return createCaseAsync(request, null); } @Override public java.util.concurrent.Future createCaseAsync( final CreateCaseRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public CreateCaseResult call() throws Exception { CreateCaseResult result; try { result = createCase(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeAttachmentAsync( DescribeAttachmentRequest request) { return describeAttachmentAsync(request, null); } @Override public java.util.concurrent.Future describeAttachmentAsync( final DescribeAttachmentRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeAttachmentResult call() throws Exception { DescribeAttachmentResult result; try { result = describeAttachment(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeCasesAsync( DescribeCasesRequest request) { return describeCasesAsync(request, null); } @Override public java.util.concurrent.Future describeCasesAsync( final DescribeCasesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeCasesResult call() throws Exception { DescribeCasesResult result; try { result = describeCases(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Simplified method form for invoking the DescribeCases operation. * * @see #describeCasesAsync(DescribeCasesRequest) */ @Override public java.util.concurrent.Future describeCasesAsync() { return describeCasesAsync(new DescribeCasesRequest()); } /** * Simplified method form for invoking the DescribeCases operation with an * AsyncHandler. * * @see #describeCasesAsync(DescribeCasesRequest, * com.amazonaws.handlers.AsyncHandler) */ public java.util.concurrent.Future describeCasesAsync( com.amazonaws.handlers.AsyncHandler asyncHandler) { return describeCasesAsync(new DescribeCasesRequest(), asyncHandler); } @Override public java.util.concurrent.Future describeCommunicationsAsync( DescribeCommunicationsRequest request) { return describeCommunicationsAsync(request, null); } @Override public java.util.concurrent.Future describeCommunicationsAsync( final DescribeCommunicationsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeCommunicationsResult call() throws Exception { DescribeCommunicationsResult result; try { result = describeCommunications(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeServicesAsync( DescribeServicesRequest request) { return describeServicesAsync(request, null); } @Override public java.util.concurrent.Future describeServicesAsync( final DescribeServicesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeServicesResult call() throws Exception { DescribeServicesResult result; try { result = describeServices(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Simplified method form for invoking the DescribeServices operation. * * @see #describeServicesAsync(DescribeServicesRequest) */ @Override public java.util.concurrent.Future describeServicesAsync() { return describeServicesAsync(new DescribeServicesRequest()); } /** * Simplified method form for invoking the DescribeServices operation with * an AsyncHandler. * * @see #describeServicesAsync(DescribeServicesRequest, * com.amazonaws.handlers.AsyncHandler) */ public java.util.concurrent.Future describeServicesAsync( com.amazonaws.handlers.AsyncHandler asyncHandler) { return describeServicesAsync(new DescribeServicesRequest(), asyncHandler); } @Override public java.util.concurrent.Future describeSeverityLevelsAsync( DescribeSeverityLevelsRequest request) { return describeSeverityLevelsAsync(request, null); } @Override public java.util.concurrent.Future describeSeverityLevelsAsync( final DescribeSeverityLevelsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeSeverityLevelsResult call() throws Exception { DescribeSeverityLevelsResult result; try { result = describeSeverityLevels(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Simplified method form for invoking the DescribeSeverityLevels operation. * * @see #describeSeverityLevelsAsync(DescribeSeverityLevelsRequest) */ @Override public java.util.concurrent.Future describeSeverityLevelsAsync() { return describeSeverityLevelsAsync(new DescribeSeverityLevelsRequest()); } /** * Simplified method form for invoking the DescribeSeverityLevels operation * with an AsyncHandler. * * @see #describeSeverityLevelsAsync(DescribeSeverityLevelsRequest, * com.amazonaws.handlers.AsyncHandler) */ public java.util.concurrent.Future describeSeverityLevelsAsync( com.amazonaws.handlers.AsyncHandler asyncHandler) { return describeSeverityLevelsAsync(new DescribeSeverityLevelsRequest(), asyncHandler); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckRefreshStatusesAsync( DescribeTrustedAdvisorCheckRefreshStatusesRequest request) { return describeTrustedAdvisorCheckRefreshStatusesAsync(request, null); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckRefreshStatusesAsync( final DescribeTrustedAdvisorCheckRefreshStatusesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeTrustedAdvisorCheckRefreshStatusesResult call() throws Exception { DescribeTrustedAdvisorCheckRefreshStatusesResult result; try { result = describeTrustedAdvisorCheckRefreshStatuses(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckResultAsync( DescribeTrustedAdvisorCheckResultRequest request) { return describeTrustedAdvisorCheckResultAsync(request, null); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckResultAsync( final DescribeTrustedAdvisorCheckResultRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeTrustedAdvisorCheckResultResult call() throws Exception { DescribeTrustedAdvisorCheckResultResult result; try { result = describeTrustedAdvisorCheckResult(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckSummariesAsync( DescribeTrustedAdvisorCheckSummariesRequest request) { return describeTrustedAdvisorCheckSummariesAsync(request, null); } @Override public java.util.concurrent.Future describeTrustedAdvisorCheckSummariesAsync( final DescribeTrustedAdvisorCheckSummariesRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeTrustedAdvisorCheckSummariesResult call() throws Exception { DescribeTrustedAdvisorCheckSummariesResult result; try { result = describeTrustedAdvisorCheckSummaries(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future describeTrustedAdvisorChecksAsync( DescribeTrustedAdvisorChecksRequest request) { return describeTrustedAdvisorChecksAsync(request, null); } @Override public java.util.concurrent.Future describeTrustedAdvisorChecksAsync( final DescribeTrustedAdvisorChecksRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public DescribeTrustedAdvisorChecksResult call() throws Exception { DescribeTrustedAdvisorChecksResult result; try { result = describeTrustedAdvisorChecks(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future refreshTrustedAdvisorCheckAsync( RefreshTrustedAdvisorCheckRequest request) { return refreshTrustedAdvisorCheckAsync(request, null); } @Override public java.util.concurrent.Future refreshTrustedAdvisorCheckAsync( final RefreshTrustedAdvisorCheckRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public RefreshTrustedAdvisorCheckResult call() throws Exception { RefreshTrustedAdvisorCheckResult result; try { result = refreshTrustedAdvisorCheck(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } @Override public java.util.concurrent.Future resolveCaseAsync( ResolveCaseRequest request) { return resolveCaseAsync(request, null); } @Override public java.util.concurrent.Future resolveCaseAsync( final ResolveCaseRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { return executorService .submit(new java.util.concurrent.Callable() { @Override public ResolveCaseResult call() throws Exception { ResolveCaseResult result; try { result = resolveCase(request); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(request, result); } return result; } }); } /** * Simplified method form for invoking the ResolveCase operation. * * @see #resolveCaseAsync(ResolveCaseRequest) */ @Override public java.util.concurrent.Future resolveCaseAsync() { return resolveCaseAsync(new ResolveCaseRequest()); } /** * Simplified method form for invoking the ResolveCase operation with an * AsyncHandler. * * @see #resolveCaseAsync(ResolveCaseRequest, * com.amazonaws.handlers.AsyncHandler) */ public java.util.concurrent.Future resolveCaseAsync( com.amazonaws.handlers.AsyncHandler asyncHandler) { return resolveCaseAsync(new ResolveCaseRequest(), asyncHandler); } /** * 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(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy