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

com.amazonaws.services.support.AWSSupportClient 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.net.*;
import java.util.*;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.regions.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.util.json.*;

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

/**
 * Client for accessing AWSSupport.  All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

* 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 AWSSupportClient extends AmazonWebServiceClient implements AWSSupport { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSSupport.class); /** * List of exception unmarshallers for all AWSSupport exceptions. */ protected List jsonErrorUnmarshallers; /** * Constructs a new 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 AWSSupportClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new 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 AWSSupportClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AWSSupport using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AWSSupportClient(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AWSSupport using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSSupport * (ex: proxy settings, retry counts, etc.). */ public AWSSupportClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(adjustClientConfiguration(clientConfiguration)); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); init(); } /** * Constructs a new client to invoke service methods on * AWSSupport using the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AWSSupportClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AWSSupport using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSSupport * (ex: proxy settings, retry counts, etc.). */ public AWSSupportClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on * AWSSupport using the specified AWS account credentials * provider, client configuration options and request metric collector. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSSupport * (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector optional request metric collector */ public AWSSupportClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(adjustClientConfiguration(clientConfiguration), requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { jsonErrorUnmarshallers = new ArrayList(); jsonErrorUnmarshallers.add(new CaseCreationLimitExceededExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new InternalServerErrorExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new CaseIdNotFoundExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new JsonErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("support.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain( "/com/amazonaws/services/support/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain( "/com/amazonaws/services/support/request.handler2s")); } private static ClientConfiguration adjustClientConfiguration(ClientConfiguration orig) { ClientConfiguration config = orig; return config; } /** *

* 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 service method on AWSSupport. * * @return The response from the DescribeCases service method, as * returned by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 DescribeCasesResult describeCases(DescribeCasesRequest describeCasesRequest) { ExecutionContext executionContext = createExecutionContext(describeCasesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCasesRequestMarshaller().marshall(describeCasesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCasesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSSupport. * * @return The response from the * DescribeTrustedAdvisorCheckRefreshStatuses service method, as returned * by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeTrustedAdvisorCheckRefreshStatusesResult describeTrustedAdvisorCheckRefreshStatuses(DescribeTrustedAdvisorCheckRefreshStatusesRequest describeTrustedAdvisorCheckRefreshStatusesRequest) { ExecutionContext executionContext = createExecutionContext(describeTrustedAdvisorCheckRefreshStatusesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrustedAdvisorCheckRefreshStatusesRequestMarshaller().marshall(describeTrustedAdvisorCheckRefreshStatusesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTrustedAdvisorCheckRefreshStatusesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSSupport. * * @return The response from the DescribeSeverityLevels service method, * as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeSeverityLevelsResult describeSeverityLevels(DescribeSeverityLevelsRequest describeSeverityLevelsRequest) { ExecutionContext executionContext = createExecutionContext(describeSeverityLevelsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeSeverityLevelsRequestMarshaller().marshall(describeSeverityLevelsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeSeverityLevelsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSSupport. * * @return The response from the DescribeCommunications service method, * as returned by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 DescribeCommunicationsResult describeCommunications(DescribeCommunicationsRequest describeCommunicationsRequest) { ExecutionContext executionContext = createExecutionContext(describeCommunicationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCommunicationsRequestMarshaller().marshall(describeCommunicationsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCommunicationsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSSupport. * * @return The response from the AddCommunicationToCase service method, * as returned by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 AddCommunicationToCaseResult addCommunicationToCase(AddCommunicationToCaseRequest addCommunicationToCaseRequest) { ExecutionContext executionContext = createExecutionContext(addCommunicationToCaseRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddCommunicationToCaseRequestMarshaller().marshall(addCommunicationToCaseRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new AddCommunicationToCaseResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSSupport. * * @return The response from the CreateCase service method, as returned * by AWSSupport. * * @throws InternalServerErrorException * @throws CaseCreationLimitExceededException * * @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 CreateCaseResult createCase(CreateCaseRequest createCaseRequest) { ExecutionContext executionContext = createExecutionContext(createCaseRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCaseRequestMarshaller().marshall(createCaseRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateCaseResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method * on AWSSupport. * * @return The response from the DescribeTrustedAdvisorChecks service * method, as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeTrustedAdvisorChecksResult describeTrustedAdvisorChecks(DescribeTrustedAdvisorChecksRequest describeTrustedAdvisorChecksRequest) { ExecutionContext executionContext = createExecutionContext(describeTrustedAdvisorChecksRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrustedAdvisorChecksRequestMarshaller().marshall(describeTrustedAdvisorChecksRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTrustedAdvisorChecksResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 * service method on AWSSupport. * * @return The response from the DescribeTrustedAdvisorCheckResult * service method, as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeTrustedAdvisorCheckResultResult describeTrustedAdvisorCheckResult(DescribeTrustedAdvisorCheckResultRequest describeTrustedAdvisorCheckResultRequest) { ExecutionContext executionContext = createExecutionContext(describeTrustedAdvisorCheckResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrustedAdvisorCheckResultRequestMarshaller().marshall(describeTrustedAdvisorCheckResultRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTrustedAdvisorCheckResultResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSSupport. * * @return The response from the ResolveCase service method, as returned * by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 ResolveCaseResult resolveCase(ResolveCaseRequest resolveCaseRequest) { ExecutionContext executionContext = createExecutionContext(resolveCaseRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResolveCaseRequestMarshaller().marshall(resolveCaseRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ResolveCaseResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSSupport. * * @return The response from the RefreshTrustedAdvisorCheck service * method, as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 RefreshTrustedAdvisorCheckResult refreshTrustedAdvisorCheck(RefreshTrustedAdvisorCheckRequest refreshTrustedAdvisorCheckRequest) { ExecutionContext executionContext = createExecutionContext(refreshTrustedAdvisorCheckRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RefreshTrustedAdvisorCheckRequestMarshaller().marshall(refreshTrustedAdvisorCheckRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new RefreshTrustedAdvisorCheckResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSSupport. * * @return The response from the DescribeServices service method, as * returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeServicesResult describeServices(DescribeServicesRequest describeServicesRequest) { ExecutionContext executionContext = createExecutionContext(describeServicesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeServicesRequestMarshaller().marshall(describeServicesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeServicesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSSupport. * * @return The response from the DescribeTrustedAdvisorCheckSummaries * service method, as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeTrustedAdvisorCheckSummariesResult describeTrustedAdvisorCheckSummaries(DescribeTrustedAdvisorCheckSummariesRequest describeTrustedAdvisorCheckSummariesRequest) { ExecutionContext executionContext = createExecutionContext(describeTrustedAdvisorCheckSummariesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrustedAdvisorCheckSummariesRequestMarshaller().marshall(describeTrustedAdvisorCheckSummariesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTrustedAdvisorCheckSummariesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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. *
* * @return The response from the DescribeCases service method, as * returned by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 DescribeCasesResult describeCases() throws AmazonServiceException, AmazonClientException { return describeCases(new DescribeCasesRequest()); } /** *

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

* * @return The response from the DescribeSeverityLevels service method, * as returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeSeverityLevelsResult describeSeverityLevels() throws AmazonServiceException, AmazonClientException { return describeSeverityLevels(new DescribeSeverityLevelsRequest()); } /** *

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

* * @return The response from the ResolveCase service method, as returned * by AWSSupport. * * @throws InternalServerErrorException * @throws CaseIdNotFoundException * * @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 ResolveCaseResult resolveCase() throws AmazonServiceException, AmazonClientException { return resolveCase(new ResolveCaseRequest()); } /** *

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

* * @return The response from the DescribeServices service method, as * returned by AWSSupport. * * @throws InternalServerErrorException * * @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 DescribeServicesResult describeServices() throws AmazonServiceException, AmazonClientException { return describeServices(new DescribeServicesRequest()); } @Override public void setEndpoint(String endpoint) { super.setEndpoint(endpoint); } @Override public void setEndpoint(String endpoint, String serviceName, String regionId) throws IllegalArgumentException { super.setEndpoint(endpoint, serviceName, regionId); } /** * Returns additional metadata for a previously executed successful, request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); AWSCredentials credentials; awsRequestMetrics.startEvent(Field.CredentialsRequestTime); try { credentials = awsCredentialsProvider.getCredentials(); } finally { awsRequestMetrics.endEvent(Field.CredentialsRequestTime); } AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); if (originalRequest != null && originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); JsonErrorResponseHandler errorResponseHandler = new JsonErrorResponseHandler(jsonErrorUnmarshallers); Response result = client.execute(request, responseHandler, errorResponseHandler, executionContext); return result; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy