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