/**
* 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 ApplicationInsights
{
/**
* Amazon CloudWatch Application Insights Amazon
* CloudWatch Application Insights is a service that helps you detect common
* problems with your applications. It enables you to pinpoint the source of issues
* in your applications (built with technologies such as Microsoft IIS, .NET, and
* Microsoft SQL Server), by providing key insights into detected problems.
* After you onboard your application, CloudWatch Application Insights
* identifies, recommends, and sets up metrics and logs. It continuously analyzes
* and correlates your metrics and logs for unusual behavior to surface actionable
* problems with your application. For example, if your application is slow and
* unresponsive and leading to HTTP 500 errors in your Application Load Balancer
* (ALB), Application Insights informs you that a memory pressure problem with your
* SQL Server database is occurring. It bases this analysis on impactful metrics
* and log errors.
*/
class AWS_APPLICATIONINSIGHTS_API ApplicationInsightsClient : 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 ApplicationInsightsClientConfiguration ClientConfigurationType;
typedef ApplicationInsightsEndpointProvider 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.
*/
ApplicationInsightsClient(const Aws::ApplicationInsights::ApplicationInsightsClientConfiguration& clientConfiguration = Aws::ApplicationInsights::ApplicationInsightsClientConfiguration(),
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.
*/
ApplicationInsightsClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ApplicationInsights::ApplicationInsightsClientConfiguration& clientConfiguration = Aws::ApplicationInsights::ApplicationInsightsClientConfiguration());
/**
* 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
*/
ApplicationInsightsClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::ApplicationInsights::ApplicationInsightsClientConfiguration& clientConfiguration = Aws::ApplicationInsights::ApplicationInsightsClientConfiguration());
/* 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.
*/
ApplicationInsightsClient(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.
*/
ApplicationInsightsClient(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
*/
ApplicationInsightsClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~ApplicationInsightsClient();
/**
* Adds a workload to a component. Each component can have at most five
* workloads.
See Also:
AWS
* API Reference
*/
virtual Model::AddWorkloadOutcome AddWorkload(const Model::AddWorkloadRequest& request) const;
/**
* A Callable wrapper for AddWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddWorkloadOutcomeCallable AddWorkloadCallable(const AddWorkloadRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::AddWorkload, request);
}
/**
* An Async wrapper for AddWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddWorkloadAsync(const AddWorkloadRequestT& request, const AddWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::AddWorkload, request, handler, context);
}
/**
* Adds an application that is created from a resource group.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const;
/**
* A Callable wrapper for CreateApplication that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const CreateApplicationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::CreateApplication, request);
}
/**
* An Async wrapper for CreateApplication that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateApplicationAsync(const CreateApplicationRequestT& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::CreateApplication, request, handler, context);
}
/**
* Creates a custom component by grouping similar standalone instances to
* monitor.
See Also:
AWS
* API Reference
*/
virtual Model::CreateComponentOutcome CreateComponent(const Model::CreateComponentRequest& request) const;
/**
* A Callable wrapper for CreateComponent that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateComponentOutcomeCallable CreateComponentCallable(const CreateComponentRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::CreateComponent, request);
}
/**
* An Async wrapper for CreateComponent that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateComponentAsync(const CreateComponentRequestT& request, const CreateComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::CreateComponent, request, handler, context);
}
/**
* Adds an log pattern to a LogPatternSet
.
See Also:
* AWS
* API Reference
*/
virtual Model::CreateLogPatternOutcome CreateLogPattern(const Model::CreateLogPatternRequest& request) const;
/**
* A Callable wrapper for CreateLogPattern that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateLogPatternOutcomeCallable CreateLogPatternCallable(const CreateLogPatternRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::CreateLogPattern, request);
}
/**
* An Async wrapper for CreateLogPattern that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateLogPatternAsync(const CreateLogPatternRequestT& request, const CreateLogPatternResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::CreateLogPattern, request, handler, context);
}
/**
* Removes the specified application from monitoring. Does not delete the
* application.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteApplicationOutcome DeleteApplication(const Model::DeleteApplicationRequest& request) const;
/**
* A Callable wrapper for DeleteApplication that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteApplicationOutcomeCallable DeleteApplicationCallable(const DeleteApplicationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DeleteApplication, request);
}
/**
* An Async wrapper for DeleteApplication that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteApplicationAsync(const DeleteApplicationRequestT& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DeleteApplication, request, handler, context);
}
/**
* Ungroups a custom component. When you ungroup custom components, all
* applicable monitors that are set up for the component are removed and the
* instances revert to their standalone status.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteComponentOutcome DeleteComponent(const Model::DeleteComponentRequest& request) const;
/**
* A Callable wrapper for DeleteComponent that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteComponentOutcomeCallable DeleteComponentCallable(const DeleteComponentRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DeleteComponent, request);
}
/**
* An Async wrapper for DeleteComponent that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteComponentAsync(const DeleteComponentRequestT& request, const DeleteComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DeleteComponent, request, handler, context);
}
/**
* Removes the specified log pattern from a
* LogPatternSet
.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteLogPatternOutcome DeleteLogPattern(const Model::DeleteLogPatternRequest& request) const;
/**
* A Callable wrapper for DeleteLogPattern that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteLogPatternOutcomeCallable DeleteLogPatternCallable(const DeleteLogPatternRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DeleteLogPattern, request);
}
/**
* An Async wrapper for DeleteLogPattern that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteLogPatternAsync(const DeleteLogPatternRequestT& request, const DeleteLogPatternResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DeleteLogPattern, request, handler, context);
}
/**
* Describes the application.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeApplicationOutcome DescribeApplication(const Model::DescribeApplicationRequest& request) const;
/**
* A Callable wrapper for DescribeApplication that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeApplicationOutcomeCallable DescribeApplicationCallable(const DescribeApplicationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeApplication, request);
}
/**
* An Async wrapper for DescribeApplication that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeApplicationAsync(const DescribeApplicationRequestT& request, const DescribeApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeApplication, request, handler, context);
}
/**
* Describes a component and lists the resources that are grouped together in a
* component.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeComponentOutcome DescribeComponent(const Model::DescribeComponentRequest& request) const;
/**
* A Callable wrapper for DescribeComponent that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeComponentOutcomeCallable DescribeComponentCallable(const DescribeComponentRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeComponent, request);
}
/**
* An Async wrapper for DescribeComponent that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeComponentAsync(const DescribeComponentRequestT& request, const DescribeComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeComponent, request, handler, context);
}
/**
* Describes the monitoring configuration of the component.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeComponentConfigurationOutcome DescribeComponentConfiguration(const Model::DescribeComponentConfigurationRequest& request) const;
/**
* A Callable wrapper for DescribeComponentConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeComponentConfigurationOutcomeCallable DescribeComponentConfigurationCallable(const DescribeComponentConfigurationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeComponentConfiguration, request);
}
/**
* An Async wrapper for DescribeComponentConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeComponentConfigurationAsync(const DescribeComponentConfigurationRequestT& request, const DescribeComponentConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeComponentConfiguration, request, handler, context);
}
/**
* Describes the recommended monitoring configuration of the
* component.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeComponentConfigurationRecommendationOutcome DescribeComponentConfigurationRecommendation(const Model::DescribeComponentConfigurationRecommendationRequest& request) const;
/**
* A Callable wrapper for DescribeComponentConfigurationRecommendation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeComponentConfigurationRecommendationOutcomeCallable DescribeComponentConfigurationRecommendationCallable(const DescribeComponentConfigurationRecommendationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeComponentConfigurationRecommendation, request);
}
/**
* An Async wrapper for DescribeComponentConfigurationRecommendation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeComponentConfigurationRecommendationAsync(const DescribeComponentConfigurationRecommendationRequestT& request, const DescribeComponentConfigurationRecommendationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeComponentConfigurationRecommendation, request, handler, context);
}
/**
* Describe a specific log pattern from a
* LogPatternSet
.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeLogPatternOutcome DescribeLogPattern(const Model::DescribeLogPatternRequest& request) const;
/**
* A Callable wrapper for DescribeLogPattern that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeLogPatternOutcomeCallable DescribeLogPatternCallable(const DescribeLogPatternRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeLogPattern, request);
}
/**
* An Async wrapper for DescribeLogPattern that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeLogPatternAsync(const DescribeLogPatternRequestT& request, const DescribeLogPatternResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeLogPattern, request, handler, context);
}
/**
* Describes an anomaly or error with the application.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeObservationOutcome DescribeObservation(const Model::DescribeObservationRequest& request) const;
/**
* A Callable wrapper for DescribeObservation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeObservationOutcomeCallable DescribeObservationCallable(const DescribeObservationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeObservation, request);
}
/**
* An Async wrapper for DescribeObservation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeObservationAsync(const DescribeObservationRequestT& request, const DescribeObservationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeObservation, request, handler, context);
}
/**
* Describes an application problem.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeProblemOutcome DescribeProblem(const Model::DescribeProblemRequest& request) const;
/**
* A Callable wrapper for DescribeProblem that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeProblemOutcomeCallable DescribeProblemCallable(const DescribeProblemRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeProblem, request);
}
/**
* An Async wrapper for DescribeProblem that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeProblemAsync(const DescribeProblemRequestT& request, const DescribeProblemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeProblem, request, handler, context);
}
/**
* Describes the anomalies or errors associated with the problem.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeProblemObservationsOutcome DescribeProblemObservations(const Model::DescribeProblemObservationsRequest& request) const;
/**
* A Callable wrapper for DescribeProblemObservations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeProblemObservationsOutcomeCallable DescribeProblemObservationsCallable(const DescribeProblemObservationsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeProblemObservations, request);
}
/**
* An Async wrapper for DescribeProblemObservations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeProblemObservationsAsync(const DescribeProblemObservationsRequestT& request, const DescribeProblemObservationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeProblemObservations, request, handler, context);
}
/**
* Describes a workload and its configuration.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeWorkloadOutcome DescribeWorkload(const Model::DescribeWorkloadRequest& request) const;
/**
* A Callable wrapper for DescribeWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeWorkloadOutcomeCallable DescribeWorkloadCallable(const DescribeWorkloadRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::DescribeWorkload, request);
}
/**
* An Async wrapper for DescribeWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeWorkloadAsync(const DescribeWorkloadRequestT& request, const DescribeWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::DescribeWorkload, request, handler, context);
}
/**
* Lists the IDs of the applications that you are monitoring.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListApplicationsOutcome ListApplications(const Model::ListApplicationsRequest& request) const;
/**
* A Callable wrapper for ListApplications that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListApplicationsOutcomeCallable ListApplicationsCallable(const ListApplicationsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListApplications, request);
}
/**
* An Async wrapper for ListApplications that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListApplicationsAsync(const ListApplicationsRequestT& request, const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListApplications, request, handler, context);
}
/**
* Lists the auto-grouped, standalone, and custom components of the
* application.
See Also:
AWS
* API Reference
*/
virtual Model::ListComponentsOutcome ListComponents(const Model::ListComponentsRequest& request) const;
/**
* A Callable wrapper for ListComponents that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListComponentsOutcomeCallable ListComponentsCallable(const ListComponentsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListComponents, request);
}
/**
* An Async wrapper for ListComponents that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListComponentsAsync(const ListComponentsRequestT& request, const ListComponentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListComponents, request, handler, context);
}
/**
* Lists the INFO, WARN, and ERROR events for periodic configuration updates
* performed by Application Insights. Examples of events represented are:
* -
INFO: creating a new alarm or updating an alarm threshold.
* -
WARN: alarm not created due to insufficient data points used to predict
* thresholds.
-
ERROR: alarm not created due to permission errors
* or exceeding quotas.
See Also:
AWS
* API Reference
*/
virtual Model::ListConfigurationHistoryOutcome ListConfigurationHistory(const Model::ListConfigurationHistoryRequest& request) const;
/**
* A Callable wrapper for ListConfigurationHistory that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListConfigurationHistoryOutcomeCallable ListConfigurationHistoryCallable(const ListConfigurationHistoryRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListConfigurationHistory, request);
}
/**
* An Async wrapper for ListConfigurationHistory that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListConfigurationHistoryAsync(const ListConfigurationHistoryRequestT& request, const ListConfigurationHistoryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListConfigurationHistory, request, handler, context);
}
/**
* Lists the log pattern sets in the specific application.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListLogPatternSetsOutcome ListLogPatternSets(const Model::ListLogPatternSetsRequest& request) const;
/**
* A Callable wrapper for ListLogPatternSets that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLogPatternSetsOutcomeCallable ListLogPatternSetsCallable(const ListLogPatternSetsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListLogPatternSets, request);
}
/**
* An Async wrapper for ListLogPatternSets that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLogPatternSetsAsync(const ListLogPatternSetsRequestT& request, const ListLogPatternSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListLogPatternSets, request, handler, context);
}
/**
* Lists the log patterns in the specific log
* LogPatternSet
.
See Also:
AWS
* API Reference
*/
virtual Model::ListLogPatternsOutcome ListLogPatterns(const Model::ListLogPatternsRequest& request) const;
/**
* A Callable wrapper for ListLogPatterns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLogPatternsOutcomeCallable ListLogPatternsCallable(const ListLogPatternsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListLogPatterns, request);
}
/**
* An Async wrapper for ListLogPatterns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLogPatternsAsync(const ListLogPatternsRequestT& request, const ListLogPatternsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListLogPatterns, request, handler, context);
}
/**
* Lists the problems with your application.
See Also:
AWS
* API Reference
*/
virtual Model::ListProblemsOutcome ListProblems(const Model::ListProblemsRequest& request) const;
/**
* A Callable wrapper for ListProblems that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProblemsOutcomeCallable ListProblemsCallable(const ListProblemsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListProblems, request);
}
/**
* An Async wrapper for ListProblems that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProblemsAsync(const ListProblemsRequestT& request, const ListProblemsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListProblems, request, handler, context);
}
/**
* Retrieve a list of the tags (keys and values) that are associated with a
* specified application. A tag is a label that you optionally define and
* associate with an application. Each tag consists of a required tag key
* and an optional associated tag value. A tag key is a general label that
* acts as a category for more specific tag values. A tag value acts as a
* descriptor within a tag key.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListTagsForResource, request, handler, context);
}
/**
* Lists the workloads that are configured on a given component.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListWorkloadsOutcome ListWorkloads(const Model::ListWorkloadsRequest& request) const;
/**
* A Callable wrapper for ListWorkloads that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListWorkloadsOutcomeCallable ListWorkloadsCallable(const ListWorkloadsRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::ListWorkloads, request);
}
/**
* An Async wrapper for ListWorkloads that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListWorkloadsAsync(const ListWorkloadsRequestT& request, const ListWorkloadsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::ListWorkloads, request, handler, context);
}
/**
* Remove workload from a component.
See Also:
AWS
* API Reference
*/
virtual Model::RemoveWorkloadOutcome RemoveWorkload(const Model::RemoveWorkloadRequest& request) const;
/**
* A Callable wrapper for RemoveWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RemoveWorkloadOutcomeCallable RemoveWorkloadCallable(const RemoveWorkloadRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::RemoveWorkload, request);
}
/**
* An Async wrapper for RemoveWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RemoveWorkloadAsync(const RemoveWorkloadRequestT& request, const RemoveWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::RemoveWorkload, request, handler, context);
}
/**
* Add one or more tags (keys and values) to a specified application. A
* tag is a label that you optionally define and associate with an
* application. Tags can help you categorize and manage application in different
* ways, such as by purpose, owner, environment, or other criteria.
Each
* tag consists of a required tag key and an associated tag value,
* both of which you define. A tag key is a general label that acts as a category
* for more specific tag values. A tag value acts as a descriptor within a tag
* key.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::TagResource, request, handler, context);
}
/**
* Remove one or more tags (keys and values) from a specified
* application.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UntagResource, request, handler, context);
}
/**
* Updates the application.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const;
/**
* A Callable wrapper for UpdateApplication that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const UpdateApplicationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateApplication, request);
}
/**
* An Async wrapper for UpdateApplication that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateApplicationAsync(const UpdateApplicationRequestT& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateApplication, request, handler, context);
}
/**
* Updates the custom component name and/or the list of resources that make up
* the component.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateComponentOutcome UpdateComponent(const Model::UpdateComponentRequest& request) const;
/**
* A Callable wrapper for UpdateComponent that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateComponentOutcomeCallable UpdateComponentCallable(const UpdateComponentRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateComponent, request);
}
/**
* An Async wrapper for UpdateComponent that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateComponentAsync(const UpdateComponentRequestT& request, const UpdateComponentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateComponent, request, handler, context);
}
/**
* Updates the monitoring configurations for the component. The configuration
* input parameter is an escaped JSON of the configuration and should match the
* schema of what is returned by
* DescribeComponentConfigurationRecommendation
.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateComponentConfigurationOutcome UpdateComponentConfiguration(const Model::UpdateComponentConfigurationRequest& request) const;
/**
* A Callable wrapper for UpdateComponentConfiguration that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateComponentConfigurationOutcomeCallable UpdateComponentConfigurationCallable(const UpdateComponentConfigurationRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateComponentConfiguration, request);
}
/**
* An Async wrapper for UpdateComponentConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateComponentConfigurationAsync(const UpdateComponentConfigurationRequestT& request, const UpdateComponentConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateComponentConfiguration, request, handler, context);
}
/**
* Adds a log pattern to a LogPatternSet
.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateLogPatternOutcome UpdateLogPattern(const Model::UpdateLogPatternRequest& request) const;
/**
* A Callable wrapper for UpdateLogPattern that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLogPatternOutcomeCallable UpdateLogPatternCallable(const UpdateLogPatternRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateLogPattern, request);
}
/**
* An Async wrapper for UpdateLogPattern that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLogPatternAsync(const UpdateLogPatternRequestT& request, const UpdateLogPatternResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateLogPattern, request, handler, context);
}
/**
* Updates the visibility of the problem or specifies the problem as
* RESOLVED
.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateProblemOutcome UpdateProblem(const Model::UpdateProblemRequest& request) const;
/**
* A Callable wrapper for UpdateProblem that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateProblemOutcomeCallable UpdateProblemCallable(const UpdateProblemRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateProblem, request);
}
/**
* An Async wrapper for UpdateProblem that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateProblemAsync(const UpdateProblemRequestT& request, const UpdateProblemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateProblem, request, handler, context);
}
/**
* Adds a workload to a component. Each component can have at most five
* workloads.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateWorkloadOutcome UpdateWorkload(const Model::UpdateWorkloadRequest& request) const;
/**
* A Callable wrapper for UpdateWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateWorkloadOutcomeCallable UpdateWorkloadCallable(const UpdateWorkloadRequestT& request) const
{
return SubmitCallable(&ApplicationInsightsClient::UpdateWorkload, request);
}
/**
* An Async wrapper for UpdateWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateWorkloadAsync(const UpdateWorkloadRequestT& request, const UpdateWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&ApplicationInsightsClient::UpdateWorkload, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const ApplicationInsightsClientConfiguration& clientConfiguration);
ApplicationInsightsClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace ApplicationInsights
} // namespace Aws