/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.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* 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* 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* 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* 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* 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* 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* 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* 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* 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
* 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.
*
* 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* 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* 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* 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* 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* 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* 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
* 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
).
*
* 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* 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* 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* 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* 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* 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
* 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.
*
* 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.
*
* 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* 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* 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* 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
* 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