/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace DevOpsGuru
{
/**
* 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.
*/
class AWS_DEVOPSGURU_API DevOpsGuruClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef DevOpsGuruClientConfiguration ClientConfigurationType;
typedef DevOpsGuruEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
DevOpsGuruClient(const Aws::DevOpsGuru::DevOpsGuruClientConfiguration& clientConfiguration = Aws::DevOpsGuru::DevOpsGuruClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
DevOpsGuruClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::DevOpsGuru::DevOpsGuruClientConfiguration& clientConfiguration = Aws::DevOpsGuru::DevOpsGuruClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
DevOpsGuruClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::DevOpsGuru::DevOpsGuruClientConfiguration& clientConfiguration = Aws::DevOpsGuru::DevOpsGuruClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
DevOpsGuruClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
DevOpsGuruClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
DevOpsGuruClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~DevOpsGuruClient();
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::AddNotificationChannelOutcome AddNotificationChannel(const Model::AddNotificationChannelRequest& request) const;
/**
* A Callable wrapper for AddNotificationChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddNotificationChannelOutcomeCallable AddNotificationChannelCallable(const AddNotificationChannelRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::AddNotificationChannel, request);
}
/**
* An Async wrapper for AddNotificationChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddNotificationChannelAsync(const AddNotificationChannelRequestT& request, const AddNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::AddNotificationChannel, request, handler, context);
}
/**
* Deletes the insight along with the associated anomalies, events and
* recommendations.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteInsightOutcome DeleteInsight(const Model::DeleteInsightRequest& request) const;
/**
* A Callable wrapper for DeleteInsight that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteInsightOutcomeCallable DeleteInsightCallable(const DeleteInsightRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DeleteInsight, request);
}
/**
* An Async wrapper for DeleteInsight that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteInsightAsync(const DeleteInsightRequestT& request, const DeleteInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DeleteInsight, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeAccountHealthOutcome DescribeAccountHealth(const Model::DescribeAccountHealthRequest& request) const;
/**
* A Callable wrapper for DescribeAccountHealth that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAccountHealthOutcomeCallable DescribeAccountHealthCallable(const DescribeAccountHealthRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeAccountHealth, request);
}
/**
* An Async wrapper for DescribeAccountHealth that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAccountHealthAsync(const DescribeAccountHealthRequestT& request, const DescribeAccountHealthResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeAccountHealth, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeAccountOverviewOutcome DescribeAccountOverview(const Model::DescribeAccountOverviewRequest& request) const;
/**
* A Callable wrapper for DescribeAccountOverview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAccountOverviewOutcomeCallable DescribeAccountOverviewCallable(const DescribeAccountOverviewRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeAccountOverview, request);
}
/**
* An Async wrapper for DescribeAccountOverview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAccountOverviewAsync(const DescribeAccountOverviewRequestT& request, const DescribeAccountOverviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeAccountOverview, request, handler, context);
}
/**
* Returns details about an anomaly that you specify using its ID.
*
See Also:
AWS
* API Reference
*/
virtual Model::DescribeAnomalyOutcome DescribeAnomaly(const Model::DescribeAnomalyRequest& request) const;
/**
* A Callable wrapper for DescribeAnomaly that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAnomalyOutcomeCallable DescribeAnomalyCallable(const DescribeAnomalyRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeAnomaly, request);
}
/**
* An Async wrapper for DescribeAnomaly that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAnomalyAsync(const DescribeAnomalyRequestT& request, const DescribeAnomalyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeAnomaly, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeEventSourcesConfigOutcome DescribeEventSourcesConfig(const Model::DescribeEventSourcesConfigRequest& request) const;
/**
* A Callable wrapper for DescribeEventSourcesConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeEventSourcesConfigOutcomeCallable DescribeEventSourcesConfigCallable(const DescribeEventSourcesConfigRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeEventSourcesConfig, request);
}
/**
* An Async wrapper for DescribeEventSourcesConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeEventSourcesConfigAsync(const DescribeEventSourcesConfigRequestT& request, const DescribeEventSourcesConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeEventSourcesConfig, request, handler, context);
}
/**
* Returns the most recent feedback submitted in the current Amazon Web
* Services account and Region.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeFeedbackOutcome DescribeFeedback(const Model::DescribeFeedbackRequest& request) const;
/**
* A Callable wrapper for DescribeFeedback that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFeedbackOutcomeCallable DescribeFeedbackCallable(const DescribeFeedbackRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeFeedback, request);
}
/**
* An Async wrapper for DescribeFeedback that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFeedbackAsync(const DescribeFeedbackRequestT& request, const DescribeFeedbackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeFeedback, request, handler, context);
}
/**
* Returns details about an insight that you specify using its ID.
*
See Also:
AWS
* API Reference
*/
virtual Model::DescribeInsightOutcome DescribeInsight(const Model::DescribeInsightRequest& request) const;
/**
* A Callable wrapper for DescribeInsight that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeInsightOutcomeCallable DescribeInsightCallable(const DescribeInsightRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeInsight, request);
}
/**
* An Async wrapper for DescribeInsight that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeInsightAsync(const DescribeInsightRequestT& request, const DescribeInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeInsight, request, handler, context);
}
/**
* Returns active insights, predictive insights, and resource hours analyzed in
* last hour.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeOrganizationHealthOutcome DescribeOrganizationHealth(const Model::DescribeOrganizationHealthRequest& request) const;
/**
* A Callable wrapper for DescribeOrganizationHealth that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeOrganizationHealthOutcomeCallable DescribeOrganizationHealthCallable(const DescribeOrganizationHealthRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeOrganizationHealth, request);
}
/**
* An Async wrapper for DescribeOrganizationHealth that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeOrganizationHealthAsync(const DescribeOrganizationHealthRequestT& request, const DescribeOrganizationHealthResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeOrganizationHealth, request, handler, context);
}
/**
* Returns an overview of your organization's history based on the specified
* time range. The overview includes the total reactive and proactive
* insights.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeOrganizationOverviewOutcome DescribeOrganizationOverview(const Model::DescribeOrganizationOverviewRequest& request) const;
/**
* A Callable wrapper for DescribeOrganizationOverview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeOrganizationOverviewOutcomeCallable DescribeOrganizationOverviewCallable(const DescribeOrganizationOverviewRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeOrganizationOverview, request);
}
/**
* An Async wrapper for DescribeOrganizationOverview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeOrganizationOverviewAsync(const DescribeOrganizationOverviewRequestT& request, const DescribeOrganizationOverviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeOrganizationOverview, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeOrganizationResourceCollectionHealthOutcome DescribeOrganizationResourceCollectionHealth(const Model::DescribeOrganizationResourceCollectionHealthRequest& request) const;
/**
* A Callable wrapper for DescribeOrganizationResourceCollectionHealth that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeOrganizationResourceCollectionHealthOutcomeCallable DescribeOrganizationResourceCollectionHealthCallable(const DescribeOrganizationResourceCollectionHealthRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeOrganizationResourceCollectionHealth, request);
}
/**
* An Async wrapper for DescribeOrganizationResourceCollectionHealth that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeOrganizationResourceCollectionHealthAsync(const DescribeOrganizationResourceCollectionHealthRequestT& request, const DescribeOrganizationResourceCollectionHealthResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeOrganizationResourceCollectionHealth, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeResourceCollectionHealthOutcome DescribeResourceCollectionHealth(const Model::DescribeResourceCollectionHealthRequest& request) const;
/**
* A Callable wrapper for DescribeResourceCollectionHealth that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeResourceCollectionHealthOutcomeCallable DescribeResourceCollectionHealthCallable(const DescribeResourceCollectionHealthRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeResourceCollectionHealth, request);
}
/**
* An Async wrapper for DescribeResourceCollectionHealth that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeResourceCollectionHealthAsync(const DescribeResourceCollectionHealthRequestT& request, const DescribeResourceCollectionHealthResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeResourceCollectionHealth, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeServiceIntegrationOutcome DescribeServiceIntegration(const Model::DescribeServiceIntegrationRequest& request) const;
/**
* A Callable wrapper for DescribeServiceIntegration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeServiceIntegrationOutcomeCallable DescribeServiceIntegrationCallable(const DescribeServiceIntegrationRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::DescribeServiceIntegration, request);
}
/**
* An Async wrapper for DescribeServiceIntegration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeServiceIntegrationAsync(const DescribeServiceIntegrationRequestT& request, const DescribeServiceIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::DescribeServiceIntegration, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetCostEstimationOutcome GetCostEstimation(const Model::GetCostEstimationRequest& request) const;
/**
* A Callable wrapper for GetCostEstimation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetCostEstimationOutcomeCallable GetCostEstimationCallable(const GetCostEstimationRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::GetCostEstimation, request);
}
/**
* An Async wrapper for GetCostEstimation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetCostEstimationAsync(const GetCostEstimationRequestT& request, const GetCostEstimationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::GetCostEstimation, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetResourceCollectionOutcome GetResourceCollection(const Model::GetResourceCollectionRequest& request) const;
/**
* A Callable wrapper for GetResourceCollection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetResourceCollectionOutcomeCallable GetResourceCollectionCallable(const GetResourceCollectionRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::GetResourceCollection, request);
}
/**
* An Async wrapper for GetResourceCollection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetResourceCollectionAsync(const GetResourceCollectionRequestT& request, const GetResourceCollectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::GetResourceCollection, request, handler, context);
}
/**
* Returns a list of the anomalies that belong to an insight that you specify
* using its ID.
See Also:
AWS
* API Reference
*/
virtual Model::ListAnomaliesForInsightOutcome ListAnomaliesForInsight(const Model::ListAnomaliesForInsightRequest& request) const;
/**
* A Callable wrapper for ListAnomaliesForInsight that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAnomaliesForInsightOutcomeCallable ListAnomaliesForInsightCallable(const ListAnomaliesForInsightRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListAnomaliesForInsight, request);
}
/**
* An Async wrapper for ListAnomaliesForInsight that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAnomaliesForInsightAsync(const ListAnomaliesForInsightRequestT& request, const ListAnomaliesForInsightResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListAnomaliesForInsight, request, handler, context);
}
/**
* Returns the list of log groups that contain log anomalies.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListAnomalousLogGroupsOutcome ListAnomalousLogGroups(const Model::ListAnomalousLogGroupsRequest& request) const;
/**
* A Callable wrapper for ListAnomalousLogGroups that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAnomalousLogGroupsOutcomeCallable ListAnomalousLogGroupsCallable(const ListAnomalousLogGroupsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListAnomalousLogGroups, request);
}
/**
* An Async wrapper for ListAnomalousLogGroups that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAnomalousLogGroupsAsync(const ListAnomalousLogGroupsRequestT& request, const ListAnomalousLogGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListAnomalousLogGroups, request, handler, context);
}
/**
* 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.
*
See Also:
AWS
* API Reference
*/
virtual Model::ListEventsOutcome ListEvents(const Model::ListEventsRequest& request) const;
/**
* A Callable wrapper for ListEvents that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListEventsOutcomeCallable ListEventsCallable(const ListEventsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListEvents, request);
}
/**
* An Async wrapper for ListEvents that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListEventsAsync(const ListEventsRequestT& request, const ListEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListEvents, request, handler, context);
}
/**
* 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
).
See
* Also:
AWS
* API Reference
*/
virtual Model::ListInsightsOutcome ListInsights(const Model::ListInsightsRequest& request) const;
/**
* A Callable wrapper for ListInsights that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListInsightsOutcomeCallable ListInsightsCallable(const ListInsightsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListInsights, request);
}
/**
* An Async wrapper for ListInsights that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListInsightsAsync(const ListInsightsRequestT& request, const ListInsightsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListInsights, request, handler, context);
}
/**
* Returns the list of all log groups that are being monitored and tagged by
* DevOps Guru.
See Also:
AWS
* API Reference
*/
virtual Model::ListMonitoredResourcesOutcome ListMonitoredResources(const Model::ListMonitoredResourcesRequest& request) const;
/**
* A Callable wrapper for ListMonitoredResources that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMonitoredResourcesOutcomeCallable ListMonitoredResourcesCallable(const ListMonitoredResourcesRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListMonitoredResources, request);
}
/**
* An Async wrapper for ListMonitoredResources that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMonitoredResourcesAsync(const ListMonitoredResourcesRequestT& request, const ListMonitoredResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListMonitoredResources, request, handler, context);
}
/**
* 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).
See Also:
AWS
* API Reference
*/
virtual Model::ListNotificationChannelsOutcome ListNotificationChannels(const Model::ListNotificationChannelsRequest& request) const;
/**
* A Callable wrapper for ListNotificationChannels that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListNotificationChannelsOutcomeCallable ListNotificationChannelsCallable(const ListNotificationChannelsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListNotificationChannels, request);
}
/**
* An Async wrapper for ListNotificationChannels that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListNotificationChannelsAsync(const ListNotificationChannelsRequestT& request, const ListNotificationChannelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListNotificationChannels, request, handler, context);
}
/**
* Returns a list of insights associated with the account or OU
* Id.
See Also:
AWS
* API Reference
*/
virtual Model::ListOrganizationInsightsOutcome ListOrganizationInsights(const Model::ListOrganizationInsightsRequest& request) const;
/**
* A Callable wrapper for ListOrganizationInsights that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListOrganizationInsightsOutcomeCallable ListOrganizationInsightsCallable(const ListOrganizationInsightsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListOrganizationInsights, request);
}
/**
* An Async wrapper for ListOrganizationInsights that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListOrganizationInsightsAsync(const ListOrganizationInsightsRequestT& request, const ListOrganizationInsightsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListOrganizationInsights, request, handler, context);
}
/**
* Returns a list of a specified insight's recommendations. Each recommendation
* includes a list of related metrics and a list of related events.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListRecommendationsOutcome ListRecommendations(const Model::ListRecommendationsRequest& request) const;
/**
* A Callable wrapper for ListRecommendations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRecommendationsOutcomeCallable ListRecommendationsCallable(const ListRecommendationsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::ListRecommendations, request);
}
/**
* An Async wrapper for ListRecommendations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRecommendationsAsync(const ListRecommendationsRequestT& request, const ListRecommendationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::ListRecommendations, request, handler, context);
}
/**
* Collects customer feedback about the specified insight.
See
* Also:
AWS
* API Reference
*/
virtual Model::PutFeedbackOutcome PutFeedback(const Model::PutFeedbackRequest& request) const;
/**
* A Callable wrapper for PutFeedback that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::PutFeedbackOutcomeCallable PutFeedbackCallable(const PutFeedbackRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::PutFeedback, request);
}
/**
* An Async wrapper for PutFeedback that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void PutFeedbackAsync(const PutFeedbackRequestT& request, const PutFeedbackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::PutFeedback, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::RemoveNotificationChannelOutcome RemoveNotificationChannel(const Model::RemoveNotificationChannelRequest& request) const;
/**
* A Callable wrapper for RemoveNotificationChannel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveNotificationChannelOutcomeCallable RemoveNotificationChannelCallable(const RemoveNotificationChannelRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::RemoveNotificationChannel, request);
}
/**
* An Async wrapper for RemoveNotificationChannel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveNotificationChannelAsync(const RemoveNotificationChannelRequestT& request, const RemoveNotificationChannelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::RemoveNotificationChannel, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::SearchInsightsOutcome SearchInsights(const Model::SearchInsightsRequest& request) const;
/**
* A Callable wrapper for SearchInsights that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchInsightsOutcomeCallable SearchInsightsCallable(const SearchInsightsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::SearchInsights, request);
}
/**
* An Async wrapper for SearchInsights that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchInsightsAsync(const SearchInsightsRequestT& request, const SearchInsightsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::SearchInsights, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::SearchOrganizationInsightsOutcome SearchOrganizationInsights(const Model::SearchOrganizationInsightsRequest& request) const;
/**
* A Callable wrapper for SearchOrganizationInsights that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SearchOrganizationInsightsOutcomeCallable SearchOrganizationInsightsCallable(const SearchOrganizationInsightsRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::SearchOrganizationInsights, request);
}
/**
* An Async wrapper for SearchOrganizationInsights that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SearchOrganizationInsightsAsync(const SearchOrganizationInsightsRequestT& request, const SearchOrganizationInsightsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::SearchOrganizationInsights, request, handler, context);
}
/**
* Starts the creation of an estimate of the monthly cost to analyze your Amazon
* Web Services resources.
See Also:
AWS
* API Reference
*/
virtual Model::StartCostEstimationOutcome StartCostEstimation(const Model::StartCostEstimationRequest& request) const;
/**
* A Callable wrapper for StartCostEstimation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartCostEstimationOutcomeCallable StartCostEstimationCallable(const StartCostEstimationRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::StartCostEstimation, request);
}
/**
* An Async wrapper for StartCostEstimation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartCostEstimationAsync(const StartCostEstimationRequestT& request, const StartCostEstimationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::StartCostEstimation, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateEventSourcesConfigOutcome UpdateEventSourcesConfig(const Model::UpdateEventSourcesConfigRequest& request) const;
/**
* A Callable wrapper for UpdateEventSourcesConfig that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateEventSourcesConfigOutcomeCallable UpdateEventSourcesConfigCallable(const UpdateEventSourcesConfigRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::UpdateEventSourcesConfig, request);
}
/**
* An Async wrapper for UpdateEventSourcesConfig that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateEventSourcesConfigAsync(const UpdateEventSourcesConfigRequestT& request, const UpdateEventSourcesConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::UpdateEventSourcesConfig, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateResourceCollectionOutcome UpdateResourceCollection(const Model::UpdateResourceCollectionRequest& request) const;
/**
* A Callable wrapper for UpdateResourceCollection that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateResourceCollectionOutcomeCallable UpdateResourceCollectionCallable(const UpdateResourceCollectionRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::UpdateResourceCollection, request);
}
/**
* An Async wrapper for UpdateResourceCollection that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateResourceCollectionAsync(const UpdateResourceCollectionRequestT& request, const UpdateResourceCollectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::UpdateResourceCollection, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateServiceIntegrationOutcome UpdateServiceIntegration(const Model::UpdateServiceIntegrationRequest& request) const;
/**
* A Callable wrapper for UpdateServiceIntegration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateServiceIntegrationOutcomeCallable UpdateServiceIntegrationCallable(const UpdateServiceIntegrationRequestT& request) const
{
return SubmitCallable(&DevOpsGuruClient::UpdateServiceIntegration, request);
}
/**
* An Async wrapper for UpdateServiceIntegration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateServiceIntegrationAsync(const UpdateServiceIntegrationRequestT& request, const UpdateServiceIntegrationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&DevOpsGuruClient::UpdateServiceIntegration, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const DevOpsGuruClientConfiguration& clientConfiguration);
DevOpsGuruClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace DevOpsGuru
} // namespace Aws