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 Amazon Web Services 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).

The newest version!
/*
 * Copyright 2010-2014 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 java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

import com.amazonaws.services.support.model.*;

/**
 * Asynchronous client for accessing AWSSupport.
 * All asynchronous calls made using this client are non-blocking. Callers could either
 * process the result and handle the exceptions in the worker thread by providing a callback handler
 * when making the call, or use the returned Future object to check the result of the call in the calling thread.
 * AWS Support 

* The AWS Support API reference is intended for programmers who need * detailed information about the AWS Support actions 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 actions: *

* *
    *
  • Service names, issue categories, and available severity * levels. The actions DescribeServices and DescribeSeverityLevels * enable you to obtain AWS service names, service codes, service * categories, and problem severity levels. You use these values when you * call the CreateCase action.
  • *
  • Case creation, case details, and case resolution. The * actions CreateCase, DescribeCases, and ResolveCase enable you to * create AWS Support cases, retrieve them, and resolve them.
  • *
  • Case communication. The actions DescribeCommunications * and AddCommunicationToCase enable you to retrieve and add * communication to AWS Support cases.
  • * *
*

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

* *
    *
  • DescribeTrustedAdvisorChecks returns the list of checks that run * against your AWS resources.
  • *
  • Using the CheckId for a specific check returned by * DescribeTrustedAdvisorChecks, you can call * DescribeTrustedAdvisorCheckResult to obtain the results for the check * you specified.
  • *
  • DescribeTrustedAdvisorCheckSummaries returns summarized results * for one or more Trusted Advisor checks.
  • *
  • RefreshTrustedAdvisorCheck requests that Trusted Advisor rerun a * specified check.
  • *
  • DescribeTrustedAdvisorCheckRefreshStatuses reports the refresh * status of one or more checks.
  • * *
*

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

*

* See 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. *

*/ public class AWSSupportAsyncClient extends AWSSupportClient implements AWSSupportAsync { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 50; /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport. 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
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AWSSupportAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport. 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
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param clientConfiguration The client configuration options controlling how this * client connects to AWSSupport * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AWSSupportAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AWSSupportAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @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(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials, * executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @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(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials provider. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AWSSupportAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials provider * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @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(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials * provider and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @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). */ public AWSSupportAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AWSSupport using the specified AWS account credentials * provider, executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @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(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * 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 getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* Returns a list of cases that you specify by passing one or more case * IDs. In addition, you can filter the cases by date by setting values * for the AfterTime and BeforeTime request * parameters. *

*

* The response returns the following in JSON format: *

*
  1. One or more CaseDetails data types.
  2. *
  3. One or more NextToken values, which specify where to * paginate the returned records represented by the * CaseDetails objects.
  4. *
* * @param describeCasesRequest Container for the necessary parameters to * execute the DescribeCases operation on AWSSupport. * * @return A Java Future object containing the response from the * DescribeCases service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCasesAsync(final DescribeCasesRequest describeCasesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCasesResult call() throws Exception { return describeCases(describeCasesRequest); } }); } /** *

* Returns a list of cases that you specify by passing one or more case * IDs. In addition, you can filter the cases by date by setting values * for the AfterTime and BeforeTime request * parameters. *

*

* The response returns the following in JSON format: *

*
  1. One or more CaseDetails data types.
  2. *
  3. One or more NextToken values, which specify where to * paginate the returned records represented by the * CaseDetails objects.
  4. *
* * @param describeCasesRequest Container for the necessary parameters to * execute the DescribeCases operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeCases service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCasesAsync( final DescribeCasesRequest describeCasesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCasesResult call() throws Exception { DescribeCasesResult result; try { result = describeCases(describeCasesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeCasesRequest, result); return result; } }); } /** *

* Returns the refresh status of the Trusted Advisor checks that have the * specified check IDs. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

* * @param describeTrustedAdvisorCheckRefreshStatusesRequest Container for * the necessary parameters to execute the * DescribeTrustedAdvisorCheckRefreshStatuses operation on AWSSupport. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckRefreshStatuses service method, as returned * by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckRefreshStatusesAsync(final DescribeTrustedAdvisorCheckRefreshStatusesRequest describeTrustedAdvisorCheckRefreshStatusesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckRefreshStatusesResult call() throws Exception { return describeTrustedAdvisorCheckRefreshStatuses(describeTrustedAdvisorCheckRefreshStatusesRequest); } }); } /** *

* Returns the refresh status of the Trusted Advisor checks that have the * specified check IDs. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

* * @param describeTrustedAdvisorCheckRefreshStatusesRequest Container for * the necessary parameters to execute the * DescribeTrustedAdvisorCheckRefreshStatuses operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckRefreshStatuses service method, as returned * by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckRefreshStatusesAsync( final DescribeTrustedAdvisorCheckRefreshStatusesRequest describeTrustedAdvisorCheckRefreshStatusesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckRefreshStatusesResult call() throws Exception { DescribeTrustedAdvisorCheckRefreshStatusesResult result; try { result = describeTrustedAdvisorCheckRefreshStatuses(describeTrustedAdvisorCheckRefreshStatusesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTrustedAdvisorCheckRefreshStatusesRequest, result); return result; } }); } /** *

* Returns the list of severity levels that you can assign to an AWS * Support case. The severity level for a case is also a field in the * CaseDetails data type included in any CreateCase request. *

* * @param describeSeverityLevelsRequest Container for the necessary * parameters to execute the DescribeSeverityLevels operation on * AWSSupport. * * @return A Java Future object containing the response from the * DescribeSeverityLevels service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSeverityLevelsAsync(final DescribeSeverityLevelsRequest describeSeverityLevelsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSeverityLevelsResult call() throws Exception { return describeSeverityLevels(describeSeverityLevelsRequest); } }); } /** *

* Returns the list of severity levels that you can assign to an AWS * Support case. The severity level for a case is also a field in the * CaseDetails data type included in any CreateCase request. *

* * @param describeSeverityLevelsRequest Container for the necessary * parameters to execute the DescribeSeverityLevels operation on * AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSeverityLevels service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSeverityLevelsAsync( final DescribeSeverityLevelsRequest describeSeverityLevelsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSeverityLevelsResult call() throws Exception { DescribeSeverityLevelsResult result; try { result = describeSeverityLevels(describeSeverityLevelsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSeverityLevelsRequest, result); return result; } }); } /** *

* Returns communications regarding the support case. You can use the * AfterTime and BeforeTime parameters to * filter by date. The CaseId parameter enables you to * identify a specific case by its CaseId value. *

*

* The MaxResults and NextToken parameters * enable you to control the pagination of the result set. Set * MaxResults to the number of cases you want displayed on * each page, and use NextToken to specify the resumption of * pagination. *

* * @param describeCommunicationsRequest Container for the necessary * parameters to execute the DescribeCommunications operation on * AWSSupport. * * @return A Java Future object containing the response from the * DescribeCommunications service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCommunicationsAsync(final DescribeCommunicationsRequest describeCommunicationsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCommunicationsResult call() throws Exception { return describeCommunications(describeCommunicationsRequest); } }); } /** *

* Returns communications regarding the support case. You can use the * AfterTime and BeforeTime parameters to * filter by date. The CaseId parameter enables you to * identify a specific case by its CaseId value. *

*

* The MaxResults and NextToken parameters * enable you to control the pagination of the result set. Set * MaxResults to the number of cases you want displayed on * each page, and use NextToken to specify the resumption of * pagination. *

* * @param describeCommunicationsRequest Container for the necessary * parameters to execute the DescribeCommunications operation on * AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeCommunications service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCommunicationsAsync( final DescribeCommunicationsRequest describeCommunicationsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCommunicationsResult call() throws Exception { DescribeCommunicationsResult result; try { result = describeCommunications(describeCommunicationsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeCommunicationsRequest, result); return result; } }); } /** *

* Adds additional customer communication to an AWS Support case. You use * the CaseId value to identify the case to add * communication to. You can list a set of email addresses to copy on the * communication using the CcEmailAddresses value. The * CommunicationBody value contains the text of the * communication. *

*

* The response indicates the success or failure of the request. *

*

* This operation implements a subset of the behavior on the AWS Support * Your Support Cases * web form. *

* * @param addCommunicationToCaseRequest Container for the necessary * parameters to execute the AddCommunicationToCase operation on * AWSSupport. * * @return A Java Future object containing the response from the * AddCommunicationToCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future addCommunicationToCaseAsync(final AddCommunicationToCaseRequest addCommunicationToCaseRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddCommunicationToCaseResult call() throws Exception { return addCommunicationToCase(addCommunicationToCaseRequest); } }); } /** *

* Adds additional customer communication to an AWS Support case. You use * the CaseId value to identify the case to add * communication to. You can list a set of email addresses to copy on the * communication using the CcEmailAddresses value. The * CommunicationBody value contains the text of the * communication. *

*

* The response indicates the success or failure of the request. *

*

* This operation implements a subset of the behavior on the AWS Support * Your Support Cases * web form. *

* * @param addCommunicationToCaseRequest Container for the necessary * parameters to execute the AddCommunicationToCase operation on * AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AddCommunicationToCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future addCommunicationToCaseAsync( final AddCommunicationToCaseRequest addCommunicationToCaseRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddCommunicationToCaseResult call() throws Exception { AddCommunicationToCaseResult result; try { result = addCommunicationToCase(addCommunicationToCaseRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addCommunicationToCaseRequest, result); return result; } }); } /** *

* Creates a new case in the AWS Support Center. This operation is * modeled on the behavior of the AWS Support Center * Open a new case * page. Its parameters require you to specify the following * information: *

*
  1. ServiceCode. The code for an AWS service. You obtain * the ServiceCode by calling DescribeServices.
  2. *
  3. CategoryCode. The category for the service defined for * the ServiceCode value. You also obtain the category code * for a service by calling DescribeServices. Each AWS service defines * its own set of category codes.
  4. *
  5. SeverityCode. A value that indicates the urgency of the * case, which in turn determines the response time according to your * service level agreement with AWS Support. You obtain the SeverityCode * by calling DescribeSeverityLevels.
  6. *
  7. Subject. The Subject field on the AWS Support * Center * Open a new case * page.
  8. *
  9. CommunicationBody. The Description field on the * AWS Support Center * Open a new case * page.
  10. *
  11. Language. The human language in which AWS Support handles * the case. English and Japanese are currently supported.
  12. *
  13. CcEmailAddresses. The AWS Support Center CC field * on the * Open a new case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK * .
  14. *
  15. IssueType. The type of issue for the case. You can * specify either "customer-service" or "technical." If you do not * indicate a value, the default is "technical."
  16. *

* NOTE: The AWS Support API does not currently support the * ability to add attachments to cases. You can, however, call * AddCommunicationToCase to add information to an open case. *

*

* A successful CreateCase request returns an AWS Support case number. * Case numbers are used by the DescribeCases action to retrieve existing * AWS Support cases. *

* * @param createCaseRequest Container for the necessary parameters to * execute the CreateCase operation on AWSSupport. * * @return A Java Future object containing the response from the * CreateCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future createCaseAsync(final CreateCaseRequest createCaseRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCaseResult call() throws Exception { return createCase(createCaseRequest); } }); } /** *

* Creates a new case in the AWS Support Center. This operation is * modeled on the behavior of the AWS Support Center * Open a new case * page. Its parameters require you to specify the following * information: *

*
  1. ServiceCode. The code for an AWS service. You obtain * the ServiceCode by calling DescribeServices.
  2. *
  3. CategoryCode. The category for the service defined for * the ServiceCode value. You also obtain the category code * for a service by calling DescribeServices. Each AWS service defines * its own set of category codes.
  4. *
  5. SeverityCode. A value that indicates the urgency of the * case, which in turn determines the response time according to your * service level agreement with AWS Support. You obtain the SeverityCode * by calling DescribeSeverityLevels.
  6. *
  7. Subject. The Subject field on the AWS Support * Center * Open a new case * page.
  8. *
  9. CommunicationBody. The Description field on the * AWS Support Center * Open a new case * page.
  10. *
  11. Language. The human language in which AWS Support handles * the case. English and Japanese are currently supported.
  12. *
  13. CcEmailAddresses. The AWS Support Center CC field * on the * Open a new case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK * .
  14. *
  15. IssueType. The type of issue for the case. You can * specify either "customer-service" or "technical." If you do not * indicate a value, the default is "technical."
  16. *

* NOTE: The AWS Support API does not currently support the * ability to add attachments to cases. You can, however, call * AddCommunicationToCase to add information to an open case. *

*

* A successful CreateCase request returns an AWS Support case number. * Case numbers are used by the DescribeCases action to retrieve existing * AWS Support cases. *

* * @param createCaseRequest Container for the necessary parameters to * execute the CreateCase operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future createCaseAsync( final CreateCaseRequest createCaseRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCaseResult call() throws Exception { CreateCaseResult result; try { result = createCase(createCaseRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createCaseRequest, result); return result; } }); } /** *

* Returns information about all available Trusted Advisor checks, * including name, ID, category, description, and metadata. You must * specify a language code; English ("en") and Japanese ("ja") are * currently supported. The response contains a * TrustedAdvisorCheckDescription for each check. *

* * @param describeTrustedAdvisorChecksRequest Container for the necessary * parameters to execute the DescribeTrustedAdvisorChecks operation on * AWSSupport. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorChecks service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorChecksAsync(final DescribeTrustedAdvisorChecksRequest describeTrustedAdvisorChecksRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorChecksResult call() throws Exception { return describeTrustedAdvisorChecks(describeTrustedAdvisorChecksRequest); } }); } /** *

* Returns information about all available Trusted Advisor checks, * including name, ID, category, description, and metadata. You must * specify a language code; English ("en") and Japanese ("ja") are * currently supported. The response contains a * TrustedAdvisorCheckDescription for each check. *

* * @param describeTrustedAdvisorChecksRequest Container for the necessary * parameters to execute the DescribeTrustedAdvisorChecks operation on * AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorChecks service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorChecksAsync( final DescribeTrustedAdvisorChecksRequest describeTrustedAdvisorChecksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorChecksResult call() throws Exception { DescribeTrustedAdvisorChecksResult result; try { result = describeTrustedAdvisorChecks(describeTrustedAdvisorChecksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTrustedAdvisorChecksRequest, result); return result; } }); } /** *

* Returns the results of the Trusted Advisor check that has the * specified check ID. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

*

* The response contains a TrustedAdvisorCheckResult object, which * contains these three objects: *

* *
    *
  • TrustedAdvisorCategorySpecificSummary
  • *
  • TrustedAdvisorResourceDetail
  • *
  • TrustedAdvisorResourcesSummary
  • * *
*

* In addition, the response contains these fields: *

* *
    *
  • Status. The alert status of the check: "ok" (green), * "warning" (yellow), "error" (red), or "not_available".
  • *
  • Timestamp. The time of the last refresh of the * check.
  • *
  • CheckId. The unique identifier for the check.
  • * *
* * @param describeTrustedAdvisorCheckResultRequest Container for the * necessary parameters to execute the DescribeTrustedAdvisorCheckResult * operation on AWSSupport. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckResult service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckResultAsync(final DescribeTrustedAdvisorCheckResultRequest describeTrustedAdvisorCheckResultRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckResultResult call() throws Exception { return describeTrustedAdvisorCheckResult(describeTrustedAdvisorCheckResultRequest); } }); } /** *

* Returns the results of the Trusted Advisor check that has the * specified check ID. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

*

* The response contains a TrustedAdvisorCheckResult object, which * contains these three objects: *

* *
    *
  • TrustedAdvisorCategorySpecificSummary
  • *
  • TrustedAdvisorResourceDetail
  • *
  • TrustedAdvisorResourcesSummary
  • * *
*

* In addition, the response contains these fields: *

* *
    *
  • Status. The alert status of the check: "ok" (green), * "warning" (yellow), "error" (red), or "not_available".
  • *
  • Timestamp. The time of the last refresh of the * check.
  • *
  • CheckId. The unique identifier for the check.
  • * *
* * @param describeTrustedAdvisorCheckResultRequest Container for the * necessary parameters to execute the DescribeTrustedAdvisorCheckResult * operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckResult service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckResultAsync( final DescribeTrustedAdvisorCheckResultRequest describeTrustedAdvisorCheckResultRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckResultResult call() throws Exception { DescribeTrustedAdvisorCheckResultResult result; try { result = describeTrustedAdvisorCheckResult(describeTrustedAdvisorCheckResultRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTrustedAdvisorCheckResultRequest, result); return result; } }); } /** *

* Takes a CaseId and returns the initial state of the case * along with the state of the case after the call to ResolveCase * completed. *

* * @param resolveCaseRequest Container for the necessary parameters to * execute the ResolveCase operation on AWSSupport. * * @return A Java Future object containing the response from the * ResolveCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future resolveCaseAsync(final ResolveCaseRequest resolveCaseRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ResolveCaseResult call() throws Exception { return resolveCase(resolveCaseRequest); } }); } /** *

* Takes a CaseId and returns the initial state of the case * along with the state of the case after the call to ResolveCase * completed. *

* * @param resolveCaseRequest Container for the necessary parameters to * execute the ResolveCase operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ResolveCase service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future resolveCaseAsync( final ResolveCaseRequest resolveCaseRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ResolveCaseResult call() throws Exception { ResolveCaseResult result; try { result = resolveCase(resolveCaseRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(resolveCaseRequest, result); return result; } }); } /** *

* Requests a refresh of the Trusted Advisor check that has the specified * check ID. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

*

* The response contains a RefreshTrustedAdvisorCheckResult object, which * contains these fields: *

* *
    *
  • Status. The refresh status of the check: "none", * "enqueued", "processing", "success", or "abandoned".
  • *
  • MillisUntilNextRefreshable. The amount of time, in * milliseconds, until the check is eligible for refresh.
  • *
  • CheckId. The unique identifier for the check.
  • * *
* * @param refreshTrustedAdvisorCheckRequest Container for the necessary * parameters to execute the RefreshTrustedAdvisorCheck operation on * AWSSupport. * * @return A Java Future object containing the response from the * RefreshTrustedAdvisorCheck service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future refreshTrustedAdvisorCheckAsync(final RefreshTrustedAdvisorCheckRequest refreshTrustedAdvisorCheckRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RefreshTrustedAdvisorCheckResult call() throws Exception { return refreshTrustedAdvisorCheck(refreshTrustedAdvisorCheckRequest); } }); } /** *

* Requests a refresh of the Trusted Advisor check that has the specified * check ID. Check IDs can be obtained by calling * DescribeTrustedAdvisorChecks. *

*

* The response contains a RefreshTrustedAdvisorCheckResult object, which * contains these fields: *

* *
    *
  • Status. The refresh status of the check: "none", * "enqueued", "processing", "success", or "abandoned".
  • *
  • MillisUntilNextRefreshable. The amount of time, in * milliseconds, until the check is eligible for refresh.
  • *
  • CheckId. The unique identifier for the check.
  • * *
* * @param refreshTrustedAdvisorCheckRequest Container for the necessary * parameters to execute the RefreshTrustedAdvisorCheck operation on * AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RefreshTrustedAdvisorCheck service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future refreshTrustedAdvisorCheckAsync( final RefreshTrustedAdvisorCheckRequest refreshTrustedAdvisorCheckRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RefreshTrustedAdvisorCheckResult call() throws Exception { RefreshTrustedAdvisorCheckResult result; try { result = refreshTrustedAdvisorCheck(refreshTrustedAdvisorCheckRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(refreshTrustedAdvisorCheckRequest, result); return result; } }); } /** *

* Returns the current list of AWS services and a list of service * categories that applies to each one. You then use service names and * categories in your CreateCase requests. Each AWS service has its own * set of categories. *

*

* The service codes and category codes correspond to the values that are * displayed in the Service and Category drop-down lists on * the AWS Support Center * Open a new case * page. The values in those fields, however, do not necessarily match * the service codes and categories returned by the * DescribeServices request. Always use the service codes * and categories obtained programmatically. This practice ensures that * you always have the most recent set of service and category codes. *

* * @param describeServicesRequest Container for the necessary parameters * to execute the DescribeServices operation on AWSSupport. * * @return A Java Future object containing the response from the * DescribeServices service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeServicesAsync(final DescribeServicesRequest describeServicesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeServicesResult call() throws Exception { return describeServices(describeServicesRequest); } }); } /** *

* Returns the current list of AWS services and a list of service * categories that applies to each one. You then use service names and * categories in your CreateCase requests. Each AWS service has its own * set of categories. *

*

* The service codes and category codes correspond to the values that are * displayed in the Service and Category drop-down lists on * the AWS Support Center * Open a new case * page. The values in those fields, however, do not necessarily match * the service codes and categories returned by the * DescribeServices request. Always use the service codes * and categories obtained programmatically. This practice ensures that * you always have the most recent set of service and category codes. *

* * @param describeServicesRequest Container for the necessary parameters * to execute the DescribeServices operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeServices service method, as returned by AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeServicesAsync( final DescribeServicesRequest describeServicesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeServicesResult call() throws Exception { DescribeServicesResult result; try { result = describeServices(describeServicesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeServicesRequest, result); return result; } }); } /** *

* Returns the summaries of the results of the Trusted Advisor checks * that have the specified check IDs. Check IDs can be obtained by * calling DescribeTrustedAdvisorChecks. *

*

* The response contains an array of TrustedAdvisorCheckSummary objects. *

* * @param describeTrustedAdvisorCheckSummariesRequest Container for the * necessary parameters to execute the * DescribeTrustedAdvisorCheckSummaries operation on AWSSupport. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckSummaries service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckSummariesAsync(final DescribeTrustedAdvisorCheckSummariesRequest describeTrustedAdvisorCheckSummariesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckSummariesResult call() throws Exception { return describeTrustedAdvisorCheckSummaries(describeTrustedAdvisorCheckSummariesRequest); } }); } /** *

* Returns the summaries of the results of the Trusted Advisor checks * that have the specified check IDs. Check IDs can be obtained by * calling DescribeTrustedAdvisorChecks. *

*

* The response contains an array of TrustedAdvisorCheckSummary objects. *

* * @param describeTrustedAdvisorCheckSummariesRequest Container for the * necessary parameters to execute the * DescribeTrustedAdvisorCheckSummaries operation on AWSSupport. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTrustedAdvisorCheckSummaries service method, as returned by * AWSSupport. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSSupport indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTrustedAdvisorCheckSummariesAsync( final DescribeTrustedAdvisorCheckSummariesRequest describeTrustedAdvisorCheckSummariesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTrustedAdvisorCheckSummariesResult call() throws Exception { DescribeTrustedAdvisorCheckSummariesResult result; try { result = describeTrustedAdvisorCheckSummaries(describeTrustedAdvisorCheckSummariesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTrustedAdvisorCheckSummariesRequest, result); return result; } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy