com.amazonaws.services.devopsguru.AmazonDevOpsGuruClient Maven / Gradle / Ivy
Show all versions of aws-java-sdk-devopsguru Show documentation
/*
* Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.devopsguru;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.services.devopsguru.AmazonDevOpsGuruClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.devopsguru.model.*;
import com.amazonaws.services.devopsguru.model.transform.*;
/**
* Client for accessing Amazon DevOps Guru. All service calls made using this client are blocking, and will not return
* until the service call completes.
*
*
* Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in business critical
* operational applications. You specify the Amazon Web Services resources that you want DevOps Guru to cover, then the
* Amazon CloudWatch metrics and Amazon Web Services CloudTrail events related to those resources are analyzed. When
* anomalous behavior is detected, DevOps Guru creates an insight that includes recommendations, related events,
* and related metrics that can help you improve your operational applications. For more information, see What is Amazon DevOps Guru.
*
*
* You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight is
* created. You can also enable DevOps Guru to generate an OpsItem in Amazon Web Services Systems Manager for each
* insight to help you manage and track your work addressing insights.
*
*
* To learn about the DevOps Guru workflow, see How DevOps Guru works.
* To learn about DevOps Guru concepts, see Concepts in DevOps Guru.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonDevOpsGuruClient extends AmazonWebServiceClient implements AmazonDevOpsGuru {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonDevOpsGuru.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "devops-guru";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.withContentTypeOverride("application/json")
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.ThrottlingExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InternalServerException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.InternalServerExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.AccessDeniedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.ConflictExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller(
com.amazonaws.services.devopsguru.model.transform.ValidationExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.devopsguru.model.AmazonDevOpsGuruException.class));
public static AmazonDevOpsGuruClientBuilder builder() {
return AmazonDevOpsGuruClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Amazon DevOps Guru using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonDevOpsGuruClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on Amazon DevOps Guru using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonDevOpsGuruClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("devops-guru.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/devopsguru/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/devopsguru/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Adds a notification channel to DevOps Guru. A notification channel is used to notify you about important DevOps
* Guru events, such as when an insight is generated.
*
*
* If you use an Amazon SNS topic in another account, you must attach a policy to it that grants DevOps Guru
* permission to send it notifications. DevOps Guru adds the required policy on your behalf to send notifications
* using Amazon SNS in your account. DevOps Guru only supports standard SNS topics. For more information, see Permissions for
* Amazon SNS topics.
*
*
* If you use an Amazon SNS topic that is encrypted by an Amazon Web Services Key Management Service
* customer-managed key (CMK), then you must add permissions to the CMK. For more information, see Permissions for Amazon
* Web Services KMS–encrypted Amazon SNS topics.
*
*
* @param addNotificationChannelRequest
* @return Result of the AddNotificationChannel operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ServiceQuotaExceededException
* The request contains a value that exceeds a maximum quota.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.AddNotificationChannel
* @see AWS API Documentation
*/
@Override
public AddNotificationChannelResult addNotificationChannel(AddNotificationChannelRequest request) {
request = beforeClientExecution(request);
return executeAddNotificationChannel(request);
}
@SdkInternalApi
final AddNotificationChannelResult executeAddNotificationChannel(AddNotificationChannelRequest addNotificationChannelRequest) {
ExecutionContext executionContext = createExecutionContext(addNotificationChannelRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AddNotificationChannelRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addNotificationChannelRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddNotificationChannel");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AddNotificationChannelResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the insight along with the associated anomalies, events and recommendations.
*
*
* @param deleteInsightRequest
* @return Result of the DeleteInsight operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DeleteInsight
* @see AWS API
* Documentation
*/
@Override
public DeleteInsightResult deleteInsight(DeleteInsightRequest request) {
request = beforeClientExecution(request);
return executeDeleteInsight(request);
}
@SdkInternalApi
final DeleteInsightResult executeDeleteInsight(DeleteInsightRequest deleteInsightRequest) {
ExecutionContext executionContext = createExecutionContext(deleteInsightRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteInsightRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteInsightRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteInsight");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteInsightResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the number of open reactive insights, the number of open proactive insights, and the number of metrics
* analyzed in your Amazon Web Services account. Use these numbers to gauge the health of operations in your Amazon
* Web Services account.
*
*
* @param describeAccountHealthRequest
* @return Result of the DescribeAccountHealth operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeAccountHealth
* @see AWS API Documentation
*/
@Override
public DescribeAccountHealthResult describeAccountHealth(DescribeAccountHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeAccountHealth(request);
}
@SdkInternalApi
final DescribeAccountHealthResult executeDescribeAccountHealth(DescribeAccountHealthRequest describeAccountHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeAccountHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeAccountHealthRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeAccountHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccountHealth");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeAccountHealthResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* For the time range passed in, returns the number of open reactive insight that were created, the number of open
* proactive insights that were created, and the Mean Time to Recover (MTTR) for all closed reactive insights.
*
*
* @param describeAccountOverviewRequest
* @return Result of the DescribeAccountOverview operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeAccountOverview
* @see AWS API Documentation
*/
@Override
public DescribeAccountOverviewResult describeAccountOverview(DescribeAccountOverviewRequest request) {
request = beforeClientExecution(request);
return executeDescribeAccountOverview(request);
}
@SdkInternalApi
final DescribeAccountOverviewResult executeDescribeAccountOverview(DescribeAccountOverviewRequest describeAccountOverviewRequest) {
ExecutionContext executionContext = createExecutionContext(describeAccountOverviewRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeAccountOverviewRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeAccountOverviewRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAccountOverview");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeAccountOverviewResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns details about an anomaly that you specify using its ID.
*
*
* @param describeAnomalyRequest
* @return Result of the DescribeAnomaly operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeAnomaly
* @see AWS
* API Documentation
*/
@Override
public DescribeAnomalyResult describeAnomaly(DescribeAnomalyRequest request) {
request = beforeClientExecution(request);
return executeDescribeAnomaly(request);
}
@SdkInternalApi
final DescribeAnomalyResult executeDescribeAnomaly(DescribeAnomalyRequest describeAnomalyRequest) {
ExecutionContext executionContext = createExecutionContext(describeAnomalyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeAnomalyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeAnomalyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAnomaly");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAnomalyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the integration status of services that are integrated with DevOps Guru as Consumer via EventBridge. The
* one service that can be integrated with DevOps Guru is Amazon CodeGuru Profiler, which can produce proactive
* recommendations which can be stored and viewed in DevOps Guru.
*
*
* @param describeEventSourcesConfigRequest
* @return Result of the DescribeEventSourcesConfig operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeEventSourcesConfig
* @see AWS API Documentation
*/
@Override
public DescribeEventSourcesConfigResult describeEventSourcesConfig(DescribeEventSourcesConfigRequest request) {
request = beforeClientExecution(request);
return executeDescribeEventSourcesConfig(request);
}
@SdkInternalApi
final DescribeEventSourcesConfigResult executeDescribeEventSourcesConfig(DescribeEventSourcesConfigRequest describeEventSourcesConfigRequest) {
ExecutionContext executionContext = createExecutionContext(describeEventSourcesConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeEventSourcesConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeEventSourcesConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeEventSourcesConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeEventSourcesConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the most recent feedback submitted in the current Amazon Web Services account and Region.
*
*
* @param describeFeedbackRequest
* @return Result of the DescribeFeedback operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeFeedback
* @see AWS
* API Documentation
*/
@Override
public DescribeFeedbackResult describeFeedback(DescribeFeedbackRequest request) {
request = beforeClientExecution(request);
return executeDescribeFeedback(request);
}
@SdkInternalApi
final DescribeFeedbackResult executeDescribeFeedback(DescribeFeedbackRequest describeFeedbackRequest) {
ExecutionContext executionContext = createExecutionContext(describeFeedbackRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeFeedbackRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFeedbackRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeFeedback");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFeedbackResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns details about an insight that you specify using its ID.
*
*
* @param describeInsightRequest
* @return Result of the DescribeInsight operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeInsight
* @see AWS
* API Documentation
*/
@Override
public DescribeInsightResult describeInsight(DescribeInsightRequest request) {
request = beforeClientExecution(request);
return executeDescribeInsight(request);
}
@SdkInternalApi
final DescribeInsightResult executeDescribeInsight(DescribeInsightRequest describeInsightRequest) {
ExecutionContext executionContext = createExecutionContext(describeInsightRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeInsightRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeInsightRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeInsight");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeInsightResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns active insights, predictive insights, and resource hours analyzed in last hour.
*
*
* @param describeOrganizationHealthRequest
* @return Result of the DescribeOrganizationHealth operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeOrganizationHealth
* @see AWS API Documentation
*/
@Override
public DescribeOrganizationHealthResult describeOrganizationHealth(DescribeOrganizationHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeOrganizationHealth(request);
}
@SdkInternalApi
final DescribeOrganizationHealthResult executeDescribeOrganizationHealth(DescribeOrganizationHealthRequest describeOrganizationHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeOrganizationHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeOrganizationHealthRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeOrganizationHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeOrganizationHealth");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeOrganizationHealthResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns an overview of your organization's history based on the specified time range. The overview includes the
* total reactive and proactive insights.
*
*
* @param describeOrganizationOverviewRequest
* @return Result of the DescribeOrganizationOverview operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeOrganizationOverview
* @see AWS API Documentation
*/
@Override
public DescribeOrganizationOverviewResult describeOrganizationOverview(DescribeOrganizationOverviewRequest request) {
request = beforeClientExecution(request);
return executeDescribeOrganizationOverview(request);
}
@SdkInternalApi
final DescribeOrganizationOverviewResult executeDescribeOrganizationOverview(DescribeOrganizationOverviewRequest describeOrganizationOverviewRequest) {
ExecutionContext executionContext = createExecutionContext(describeOrganizationOverviewRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeOrganizationOverviewRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeOrganizationOverviewRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeOrganizationOverview");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeOrganizationOverviewResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Provides an overview of your system's health. If additional member accounts are part of your organization, you
* can filter those accounts using the AccountIds
field.
*
*
* @param describeOrganizationResourceCollectionHealthRequest
* @return Result of the DescribeOrganizationResourceCollectionHealth operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeOrganizationResourceCollectionHealth
* @see AWS API Documentation
*/
@Override
public DescribeOrganizationResourceCollectionHealthResult describeOrganizationResourceCollectionHealth(
DescribeOrganizationResourceCollectionHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeOrganizationResourceCollectionHealth(request);
}
@SdkInternalApi
final DescribeOrganizationResourceCollectionHealthResult executeDescribeOrganizationResourceCollectionHealth(
DescribeOrganizationResourceCollectionHealthRequest describeOrganizationResourceCollectionHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeOrganizationResourceCollectionHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeOrganizationResourceCollectionHealthRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeOrganizationResourceCollectionHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeOrganizationResourceCollectionHealth");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeOrganizationResourceCollectionHealthResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the number of open proactive insights, open reactive insights, and the Mean Time to Recover (MTTR) for
* all closed insights in resource collections in your account. You specify the type of Amazon Web Services
* resources collection. The two types of Amazon Web Services resource collections supported are Amazon Web Services
* CloudFormation stacks and Amazon Web Services resources that contain the same Amazon Web Services tag. DevOps
* Guru can be configured to analyze the Amazon Web Services resources that are defined in the stacks or that are
* tagged using the same tag key. You can specify up to 500 Amazon Web Services CloudFormation stacks.
*
*
* @param describeResourceCollectionHealthRequest
* @return Result of the DescribeResourceCollectionHealth operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeResourceCollectionHealth
* @see AWS API Documentation
*/
@Override
public DescribeResourceCollectionHealthResult describeResourceCollectionHealth(DescribeResourceCollectionHealthRequest request) {
request = beforeClientExecution(request);
return executeDescribeResourceCollectionHealth(request);
}
@SdkInternalApi
final DescribeResourceCollectionHealthResult executeDescribeResourceCollectionHealth(
DescribeResourceCollectionHealthRequest describeResourceCollectionHealthRequest) {
ExecutionContext executionContext = createExecutionContext(describeResourceCollectionHealthRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeResourceCollectionHealthRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeResourceCollectionHealthRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeResourceCollectionHealth");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeResourceCollectionHealthResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the integration status of services that are integrated with DevOps Guru. The one service that can be
* integrated with DevOps Guru is Amazon Web Services Systems Manager, which can be used to create an OpsItem for
* each generated insight.
*
*
* @param describeServiceIntegrationRequest
* @return Result of the DescribeServiceIntegration operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.DescribeServiceIntegration
* @see AWS API Documentation
*/
@Override
public DescribeServiceIntegrationResult describeServiceIntegration(DescribeServiceIntegrationRequest request) {
request = beforeClientExecution(request);
return executeDescribeServiceIntegration(request);
}
@SdkInternalApi
final DescribeServiceIntegrationResult executeDescribeServiceIntegration(DescribeServiceIntegrationRequest describeServiceIntegrationRequest) {
ExecutionContext executionContext = createExecutionContext(describeServiceIntegrationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DescribeServiceIntegrationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(describeServiceIntegrationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeServiceIntegration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DescribeServiceIntegrationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns an estimate of the monthly cost for DevOps Guru to analyze your Amazon Web Services resources. For more
* information, see Estimate
* your Amazon DevOps Guru costs and Amazon DevOps Guru
* pricing.
*
*
* @param getCostEstimationRequest
* @return Result of the GetCostEstimation operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.GetCostEstimation
* @see AWS
* API Documentation
*/
@Override
public GetCostEstimationResult getCostEstimation(GetCostEstimationRequest request) {
request = beforeClientExecution(request);
return executeGetCostEstimation(request);
}
@SdkInternalApi
final GetCostEstimationResult executeGetCostEstimation(GetCostEstimationRequest getCostEstimationRequest) {
ExecutionContext executionContext = createExecutionContext(getCostEstimationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetCostEstimationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getCostEstimationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCostEstimation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetCostEstimationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns lists Amazon Web Services resources that are of the specified resource collection type. The two types of
* Amazon Web Services resource collections supported are Amazon Web Services CloudFormation stacks and Amazon Web
* Services resources that contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze the
* Amazon Web Services resources that are defined in the stacks or that are tagged using the same tag key.
* You can specify up to 500 Amazon Web Services CloudFormation stacks.
*
*
* @param getResourceCollectionRequest
* @return Result of the GetResourceCollection operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.GetResourceCollection
* @see AWS API Documentation
*/
@Override
public GetResourceCollectionResult getResourceCollection(GetResourceCollectionRequest request) {
request = beforeClientExecution(request);
return executeGetResourceCollection(request);
}
@SdkInternalApi
final GetResourceCollectionResult executeGetResourceCollection(GetResourceCollectionRequest getResourceCollectionRequest) {
ExecutionContext executionContext = createExecutionContext(getResourceCollectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResourceCollectionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResourceCollectionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResourceCollection");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResourceCollectionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of the anomalies that belong to an insight that you specify using its ID.
*
*
* @param listAnomaliesForInsightRequest
* @return Result of the ListAnomaliesForInsight operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListAnomaliesForInsight
* @see AWS API Documentation
*/
@Override
public ListAnomaliesForInsightResult listAnomaliesForInsight(ListAnomaliesForInsightRequest request) {
request = beforeClientExecution(request);
return executeListAnomaliesForInsight(request);
}
@SdkInternalApi
final ListAnomaliesForInsightResult executeListAnomaliesForInsight(ListAnomaliesForInsightRequest listAnomaliesForInsightRequest) {
ExecutionContext executionContext = createExecutionContext(listAnomaliesForInsightRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAnomaliesForInsightRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listAnomaliesForInsightRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAnomaliesForInsight");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAnomaliesForInsightResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the list of log groups that contain log anomalies.
*
*
* @param listAnomalousLogGroupsRequest
* @return Result of the ListAnomalousLogGroups operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListAnomalousLogGroups
* @see AWS API Documentation
*/
@Override
public ListAnomalousLogGroupsResult listAnomalousLogGroups(ListAnomalousLogGroupsRequest request) {
request = beforeClientExecution(request);
return executeListAnomalousLogGroups(request);
}
@SdkInternalApi
final ListAnomalousLogGroupsResult executeListAnomalousLogGroups(ListAnomalousLogGroupsRequest listAnomalousLogGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(listAnomalousLogGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListAnomalousLogGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAnomalousLogGroupsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAnomalousLogGroups");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListAnomalousLogGroupsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of the events emitted by the resources that are evaluated by DevOps Guru. You can use filters to
* specify which events are returned.
*
*
* @param listEventsRequest
* @return Result of the ListEvents operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListEvents
* @see AWS API
* Documentation
*/
@Override
public ListEventsResult listEvents(ListEventsRequest request) {
request = beforeClientExecution(request);
return executeListEvents(request);
}
@SdkInternalApi
final ListEventsResult executeListEvents(ListEventsRequest listEventsRequest) {
ExecutionContext executionContext = createExecutionContext(listEventsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListEventsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listEventsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListEvents");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListEventsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of insights in your Amazon Web Services account. You can specify which insights are returned by
* their start time and status (ONGOING
, CLOSED
, or ANY
).
*
*
* @param listInsightsRequest
* @return Result of the ListInsights operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListInsights
* @see AWS API
* Documentation
*/
@Override
public ListInsightsResult listInsights(ListInsightsRequest request) {
request = beforeClientExecution(request);
return executeListInsights(request);
}
@SdkInternalApi
final ListInsightsResult executeListInsights(ListInsightsRequest listInsightsRequest) {
ExecutionContext executionContext = createExecutionContext(listInsightsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListInsightsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listInsightsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInsights");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInsightsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the list of all log groups that are being monitored and tagged by DevOps Guru.
*
*
* @param listMonitoredResourcesRequest
* @return Result of the ListMonitoredResources operation returned by the service.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListMonitoredResources
* @see AWS API Documentation
*/
@Override
public ListMonitoredResourcesResult listMonitoredResources(ListMonitoredResourcesRequest request) {
request = beforeClientExecution(request);
return executeListMonitoredResources(request);
}
@SdkInternalApi
final ListMonitoredResourcesResult executeListMonitoredResources(ListMonitoredResourcesRequest listMonitoredResourcesRequest) {
ExecutionContext executionContext = createExecutionContext(listMonitoredResourcesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListMonitoredResourcesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listMonitoredResourcesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListMonitoredResources");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListMonitoredResourcesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of notification channels configured for DevOps Guru. Each notification channel is used to notify
* you when DevOps Guru generates an insight that contains information about how to improve your operations. The one
* supported notification channel is Amazon Simple Notification Service (Amazon SNS).
*
*
* @param listNotificationChannelsRequest
* @return Result of the ListNotificationChannels operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListNotificationChannels
* @see AWS API Documentation
*/
@Override
public ListNotificationChannelsResult listNotificationChannels(ListNotificationChannelsRequest request) {
request = beforeClientExecution(request);
return executeListNotificationChannels(request);
}
@SdkInternalApi
final ListNotificationChannelsResult executeListNotificationChannels(ListNotificationChannelsRequest listNotificationChannelsRequest) {
ExecutionContext executionContext = createExecutionContext(listNotificationChannelsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListNotificationChannelsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listNotificationChannelsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListNotificationChannels");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListNotificationChannelsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of insights associated with the account or OU Id.
*
*
* @param listOrganizationInsightsRequest
* @return Result of the ListOrganizationInsights operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListOrganizationInsights
* @see AWS API Documentation
*/
@Override
public ListOrganizationInsightsResult listOrganizationInsights(ListOrganizationInsightsRequest request) {
request = beforeClientExecution(request);
return executeListOrganizationInsights(request);
}
@SdkInternalApi
final ListOrganizationInsightsResult executeListOrganizationInsights(ListOrganizationInsightsRequest listOrganizationInsightsRequest) {
ExecutionContext executionContext = createExecutionContext(listOrganizationInsightsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListOrganizationInsightsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listOrganizationInsightsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOrganizationInsights");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListOrganizationInsightsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of a specified insight's recommendations. Each recommendation includes a list of related metrics
* and a list of related events.
*
*
* @param listRecommendationsRequest
* @return Result of the ListRecommendations operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.ListRecommendations
* @see AWS API Documentation
*/
@Override
public ListRecommendationsResult listRecommendations(ListRecommendationsRequest request) {
request = beforeClientExecution(request);
return executeListRecommendations(request);
}
@SdkInternalApi
final ListRecommendationsResult executeListRecommendations(ListRecommendationsRequest listRecommendationsRequest) {
ExecutionContext executionContext = createExecutionContext(listRecommendationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRecommendationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRecommendationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRecommendations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRecommendationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Collects customer feedback about the specified insight.
*
*
* @param putFeedbackRequest
* @return Result of the PutFeedback operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.PutFeedback
* @see AWS API
* Documentation
*/
@Override
public PutFeedbackResult putFeedback(PutFeedbackRequest request) {
request = beforeClientExecution(request);
return executePutFeedback(request);
}
@SdkInternalApi
final PutFeedbackResult executePutFeedback(PutFeedbackRequest putFeedbackRequest) {
ExecutionContext executionContext = createExecutionContext(putFeedbackRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutFeedbackRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putFeedbackRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutFeedback");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutFeedbackResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Removes a notification channel from DevOps Guru. A notification channel is used to notify you when DevOps Guru
* generates an insight that contains information about how to improve your operations.
*
*
* @param removeNotificationChannelRequest
* @return Result of the RemoveNotificationChannel operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.RemoveNotificationChannel
* @see AWS API Documentation
*/
@Override
public RemoveNotificationChannelResult removeNotificationChannel(RemoveNotificationChannelRequest request) {
request = beforeClientExecution(request);
return executeRemoveNotificationChannel(request);
}
@SdkInternalApi
final RemoveNotificationChannelResult executeRemoveNotificationChannel(RemoveNotificationChannelRequest removeNotificationChannelRequest) {
ExecutionContext executionContext = createExecutionContext(removeNotificationChannelRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new RemoveNotificationChannelRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(removeNotificationChannelRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RemoveNotificationChannel");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new RemoveNotificationChannelResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of insights in your Amazon Web Services account. You can specify which insights are returned by
* their start time, one or more statuses (ONGOING
or CLOSED
), one or more severities (
* LOW
, MEDIUM
, and HIGH
), and type (REACTIVE
or
* PROACTIVE
).
*
*
* Use the Filters
parameter to specify status and severity search parameters. Use the
* Type
parameter to specify REACTIVE
or PROACTIVE
in your search.
*
*
* @param searchInsightsRequest
* @return Result of the SearchInsights operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.SearchInsights
* @see AWS API
* Documentation
*/
@Override
public SearchInsightsResult searchInsights(SearchInsightsRequest request) {
request = beforeClientExecution(request);
return executeSearchInsights(request);
}
@SdkInternalApi
final SearchInsightsResult executeSearchInsights(SearchInsightsRequest searchInsightsRequest) {
ExecutionContext executionContext = createExecutionContext(searchInsightsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new SearchInsightsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchInsightsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchInsights");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchInsightsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a list of insights in your organization. You can specify which insights are returned by their start time,
* one or more statuses (ONGOING
, CLOSED
, and CLOSED
), one or more severities
* (LOW
, MEDIUM
, and HIGH
), and type (REACTIVE
or
* PROACTIVE
).
*
*
* Use the Filters
parameter to specify status and severity search parameters. Use the
* Type
parameter to specify REACTIVE
or PROACTIVE
in your search.
*
*
* @param searchOrganizationInsightsRequest
* @return Result of the SearchOrganizationInsights operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.SearchOrganizationInsights
* @see AWS API Documentation
*/
@Override
public SearchOrganizationInsightsResult searchOrganizationInsights(SearchOrganizationInsightsRequest request) {
request = beforeClientExecution(request);
return executeSearchOrganizationInsights(request);
}
@SdkInternalApi
final SearchOrganizationInsightsResult executeSearchOrganizationInsights(SearchOrganizationInsightsRequest searchOrganizationInsightsRequest) {
ExecutionContext executionContext = createExecutionContext(searchOrganizationInsightsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new SearchOrganizationInsightsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(searchOrganizationInsightsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchOrganizationInsights");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new SearchOrganizationInsightsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Starts the creation of an estimate of the monthly cost to analyze your Amazon Web Services resources.
*
*
* @param startCostEstimationRequest
* @return Result of the StartCostEstimation operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ResourceNotFoundException
* A requested resource could not be found
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.StartCostEstimation
* @see AWS API Documentation
*/
@Override
public StartCostEstimationResult startCostEstimation(StartCostEstimationRequest request) {
request = beforeClientExecution(request);
return executeStartCostEstimation(request);
}
@SdkInternalApi
final StartCostEstimationResult executeStartCostEstimation(StartCostEstimationRequest startCostEstimationRequest) {
ExecutionContext executionContext = createExecutionContext(startCostEstimationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new StartCostEstimationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startCostEstimationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartCostEstimation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartCostEstimationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Enables or disables integration with a service that can be integrated with DevOps Guru. The one service that can
* be integrated with DevOps Guru is Amazon CodeGuru Profiler, which can produce proactive recommendations which can
* be stored and viewed in DevOps Guru.
*
*
* @param updateEventSourcesConfigRequest
* @return Result of the UpdateEventSourcesConfig operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.UpdateEventSourcesConfig
* @see AWS API Documentation
*/
@Override
public UpdateEventSourcesConfigResult updateEventSourcesConfig(UpdateEventSourcesConfigRequest request) {
request = beforeClientExecution(request);
return executeUpdateEventSourcesConfig(request);
}
@SdkInternalApi
final UpdateEventSourcesConfigResult executeUpdateEventSourcesConfig(UpdateEventSourcesConfigRequest updateEventSourcesConfigRequest) {
ExecutionContext executionContext = createExecutionContext(updateEventSourcesConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateEventSourcesConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateEventSourcesConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateEventSourcesConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateEventSourcesConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the collection of resources that DevOps Guru analyzes. The two types of Amazon Web Services resource
* collections supported are Amazon Web Services CloudFormation stacks and Amazon Web Services resources that
* contain the same Amazon Web Services tag. DevOps Guru can be configured to analyze the Amazon Web Services
* resources that are defined in the stacks or that are tagged using the same tag key. You can specify up to
* 500 Amazon Web Services CloudFormation stacks. This method also creates the IAM role required for you to use
* DevOps Guru.
*
*
* @param updateResourceCollectionRequest
* @return Result of the UpdateResourceCollection operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.UpdateResourceCollection
* @see AWS API Documentation
*/
@Override
public UpdateResourceCollectionResult updateResourceCollection(UpdateResourceCollectionRequest request) {
request = beforeClientExecution(request);
return executeUpdateResourceCollection(request);
}
@SdkInternalApi
final UpdateResourceCollectionResult executeUpdateResourceCollection(UpdateResourceCollectionRequest updateResourceCollectionRequest) {
ExecutionContext executionContext = createExecutionContext(updateResourceCollectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateResourceCollectionRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateResourceCollectionRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResourceCollection");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateResourceCollectionResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Enables or disables integration with a service that can be integrated with DevOps Guru. The one service that can
* be integrated with DevOps Guru is Amazon Web Services Systems Manager, which can be used to create an OpsItem for
* each generated insight.
*
*
* @param updateServiceIntegrationRequest
* @return Result of the UpdateServiceIntegration operation returned by the service.
* @throws AccessDeniedException
* You don't have permissions to perform the requested operation. The user or role that is making the
* request must have at least one IAM permissions policy attached that grants the required permissions. For
* more information, see Access
* Management in the IAM User Guide.
* @throws ConflictException
* An exception that is thrown when a conflict occurs.
* @throws InternalServerException
* An internal failure in an Amazon service occurred.
* @throws ThrottlingException
* The request was denied due to a request throttling.
* @throws ValidationException
* Contains information about data passed in to a field during a request that is not valid.
* @sample AmazonDevOpsGuru.UpdateServiceIntegration
* @see AWS API Documentation
*/
@Override
public UpdateServiceIntegrationResult updateServiceIntegration(UpdateServiceIntegrationRequest request) {
request = beforeClientExecution(request);
return executeUpdateServiceIntegration(request);
}
@SdkInternalApi
final UpdateServiceIntegrationResult executeUpdateServiceIntegration(UpdateServiceIntegrationRequest updateServiceIntegrationRequest) {
ExecutionContext executionContext = createExecutionContext(updateServiceIntegrationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateServiceIntegrationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateServiceIntegrationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "DevOps Guru");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateServiceIntegration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateServiceIntegrationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* 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);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
return invoke(request, responseHandler, executionContext, null, null);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext, null, null);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) {
if (discoveredEndpoint != null) {
request.setEndpoint(discoveredEndpoint);
request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery");
} else if (uriFromEndpointTrait != null) {
request.setEndpoint(uriFromEndpointTrait);
} else {
request.setEndpoint(endpoint);
}
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
@com.amazonaws.annotation.SdkInternalApi
static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() {
return protocolFactory;
}
@Override
public void shutdown() {
super.shutdown();
}
}