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

AWS IoT Events monitors your equipment or device fleets for failures or * changes in operation, and triggers actions when such events occur. You can use * AWS IoT Events API operations to create, read, update, and delete inputs and * detector models, and to list their versions.

*/ class AWS_IOTEVENTS_API IoTEventsClient : 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 IoTEventsClientConfiguration ClientConfigurationType; typedef IoTEventsEndpointProvider 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. */ IoTEventsClient(const Aws::IoTEvents::IoTEventsClientConfiguration& clientConfiguration = Aws::IoTEvents::IoTEventsClientConfiguration(), 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. */ IoTEventsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::IoTEvents::IoTEventsClientConfiguration& clientConfiguration = Aws::IoTEvents::IoTEventsClientConfiguration()); /** * 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 */ IoTEventsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::IoTEvents::IoTEventsClientConfiguration& clientConfiguration = Aws::IoTEvents::IoTEventsClientConfiguration()); /* 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. */ IoTEventsClient(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. */ IoTEventsClient(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 */ IoTEventsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~IoTEventsClient(); /** *

Creates an alarm model to monitor an AWS IoT Events input attribute. You can * use the alarm to get notified when the value is outside a specified range. For * more information, see Create * an alarm model in the AWS IoT Events Developer Guide.

See * Also:

AWS * API Reference

*/ virtual Model::CreateAlarmModelOutcome CreateAlarmModel(const Model::CreateAlarmModelRequest& request) const; /** * A Callable wrapper for CreateAlarmModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAlarmModelOutcomeCallable CreateAlarmModelCallable(const CreateAlarmModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::CreateAlarmModel, request); } /** * An Async wrapper for CreateAlarmModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAlarmModelAsync(const CreateAlarmModelRequestT& request, const CreateAlarmModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::CreateAlarmModel, request, handler, context); } /** *

Creates a detector model.

See Also:

AWS * API Reference

*/ virtual Model::CreateDetectorModelOutcome CreateDetectorModel(const Model::CreateDetectorModelRequest& request) const; /** * A Callable wrapper for CreateDetectorModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateDetectorModelOutcomeCallable CreateDetectorModelCallable(const CreateDetectorModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::CreateDetectorModel, request); } /** * An Async wrapper for CreateDetectorModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateDetectorModelAsync(const CreateDetectorModelRequestT& request, const CreateDetectorModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::CreateDetectorModel, request, handler, context); } /** *

Creates an input.

See Also:

AWS * API Reference

*/ virtual Model::CreateInputOutcome CreateInput(const Model::CreateInputRequest& request) const; /** * A Callable wrapper for CreateInput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateInputOutcomeCallable CreateInputCallable(const CreateInputRequestT& request) const { return SubmitCallable(&IoTEventsClient::CreateInput, request); } /** * An Async wrapper for CreateInput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateInputAsync(const CreateInputRequestT& request, const CreateInputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::CreateInput, request, handler, context); } /** *

Deletes an alarm model. Any alarm instances that were created based on this * alarm model are also deleted. This action can't be undone.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteAlarmModelOutcome DeleteAlarmModel(const Model::DeleteAlarmModelRequest& request) const; /** * A Callable wrapper for DeleteAlarmModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAlarmModelOutcomeCallable DeleteAlarmModelCallable(const DeleteAlarmModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::DeleteAlarmModel, request); } /** * An Async wrapper for DeleteAlarmModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAlarmModelAsync(const DeleteAlarmModelRequestT& request, const DeleteAlarmModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DeleteAlarmModel, request, handler, context); } /** *

Deletes a detector model. Any active instances of the detector model are also * deleted.

See Also:

AWS * API Reference

*/ virtual Model::DeleteDetectorModelOutcome DeleteDetectorModel(const Model::DeleteDetectorModelRequest& request) const; /** * A Callable wrapper for DeleteDetectorModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteDetectorModelOutcomeCallable DeleteDetectorModelCallable(const DeleteDetectorModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::DeleteDetectorModel, request); } /** * An Async wrapper for DeleteDetectorModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteDetectorModelAsync(const DeleteDetectorModelRequestT& request, const DeleteDetectorModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DeleteDetectorModel, request, handler, context); } /** *

Deletes an input.

See Also:

AWS * API Reference

*/ virtual Model::DeleteInputOutcome DeleteInput(const Model::DeleteInputRequest& request) const; /** * A Callable wrapper for DeleteInput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteInputOutcomeCallable DeleteInputCallable(const DeleteInputRequestT& request) const { return SubmitCallable(&IoTEventsClient::DeleteInput, request); } /** * An Async wrapper for DeleteInput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteInputAsync(const DeleteInputRequestT& request, const DeleteInputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DeleteInput, request, handler, context); } /** *

Retrieves information about an alarm model. If you don't specify a value for * the alarmModelVersion parameter, the latest version is * returned.

See Also:

AWS * API Reference

*/ virtual Model::DescribeAlarmModelOutcome DescribeAlarmModel(const Model::DescribeAlarmModelRequest& request) const; /** * A Callable wrapper for DescribeAlarmModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeAlarmModelOutcomeCallable DescribeAlarmModelCallable(const DescribeAlarmModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::DescribeAlarmModel, request); } /** * An Async wrapper for DescribeAlarmModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeAlarmModelAsync(const DescribeAlarmModelRequestT& request, const DescribeAlarmModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DescribeAlarmModel, request, handler, context); } /** *

Describes a detector model. If the version parameter is not * specified, information about the latest version is returned.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeDetectorModelOutcome DescribeDetectorModel(const Model::DescribeDetectorModelRequest& request) const; /** * A Callable wrapper for DescribeDetectorModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDetectorModelOutcomeCallable DescribeDetectorModelCallable(const DescribeDetectorModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::DescribeDetectorModel, request); } /** * An Async wrapper for DescribeDetectorModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDetectorModelAsync(const DescribeDetectorModelRequestT& request, const DescribeDetectorModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DescribeDetectorModel, request, handler, context); } /** *

Retrieves runtime information about a detector model analysis.

*

After AWS IoT Events starts analyzing your detector model, you have up to 24 * hours to retrieve the analysis results.

See Also:

AWS * API Reference

*/ virtual Model::DescribeDetectorModelAnalysisOutcome DescribeDetectorModelAnalysis(const Model::DescribeDetectorModelAnalysisRequest& request) const; /** * A Callable wrapper for DescribeDetectorModelAnalysis that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeDetectorModelAnalysisOutcomeCallable DescribeDetectorModelAnalysisCallable(const DescribeDetectorModelAnalysisRequestT& request) const { return SubmitCallable(&IoTEventsClient::DescribeDetectorModelAnalysis, request); } /** * An Async wrapper for DescribeDetectorModelAnalysis that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeDetectorModelAnalysisAsync(const DescribeDetectorModelAnalysisRequestT& request, const DescribeDetectorModelAnalysisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DescribeDetectorModelAnalysis, request, handler, context); } /** *

Describes an input.

See Also:

AWS * API Reference

*/ virtual Model::DescribeInputOutcome DescribeInput(const Model::DescribeInputRequest& request) const; /** * A Callable wrapper for DescribeInput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeInputOutcomeCallable DescribeInputCallable(const DescribeInputRequestT& request) const { return SubmitCallable(&IoTEventsClient::DescribeInput, request); } /** * An Async wrapper for DescribeInput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeInputAsync(const DescribeInputRequestT& request, const DescribeInputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DescribeInput, request, handler, context); } /** *

Retrieves the current settings of the AWS IoT Events logging * options.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLoggingOptionsOutcome DescribeLoggingOptions(const Model::DescribeLoggingOptionsRequest& request) const; /** * A Callable wrapper for DescribeLoggingOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeLoggingOptionsOutcomeCallable DescribeLoggingOptionsCallable(const DescribeLoggingOptionsRequestT& request) const { return SubmitCallable(&IoTEventsClient::DescribeLoggingOptions, request); } /** * An Async wrapper for DescribeLoggingOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeLoggingOptionsAsync(const DescribeLoggingOptionsRequestT& request, const DescribeLoggingOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::DescribeLoggingOptions, request, handler, context); } /** *

Retrieves one or more analysis results of the detector model.

*

After AWS IoT Events starts analyzing your detector model, you have up to 24 * hours to retrieve the analysis results.

See Also:

AWS * API Reference

*/ virtual Model::GetDetectorModelAnalysisResultsOutcome GetDetectorModelAnalysisResults(const Model::GetDetectorModelAnalysisResultsRequest& request) const; /** * A Callable wrapper for GetDetectorModelAnalysisResults that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetDetectorModelAnalysisResultsOutcomeCallable GetDetectorModelAnalysisResultsCallable(const GetDetectorModelAnalysisResultsRequestT& request) const { return SubmitCallable(&IoTEventsClient::GetDetectorModelAnalysisResults, request); } /** * An Async wrapper for GetDetectorModelAnalysisResults that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetDetectorModelAnalysisResultsAsync(const GetDetectorModelAnalysisResultsRequestT& request, const GetDetectorModelAnalysisResultsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::GetDetectorModelAnalysisResults, request, handler, context); } /** *

Lists all the versions of an alarm model. The operation returns only the * metadata associated with each alarm model version.

See Also:

AWS * API Reference

*/ virtual Model::ListAlarmModelVersionsOutcome ListAlarmModelVersions(const Model::ListAlarmModelVersionsRequest& request) const; /** * A Callable wrapper for ListAlarmModelVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAlarmModelVersionsOutcomeCallable ListAlarmModelVersionsCallable(const ListAlarmModelVersionsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListAlarmModelVersions, request); } /** * An Async wrapper for ListAlarmModelVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAlarmModelVersionsAsync(const ListAlarmModelVersionsRequestT& request, const ListAlarmModelVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListAlarmModelVersions, request, handler, context); } /** *

Lists the alarm models that you created. The operation returns only the * metadata associated with each alarm model.

See Also:

AWS * API Reference

*/ virtual Model::ListAlarmModelsOutcome ListAlarmModels(const Model::ListAlarmModelsRequest& request) const; /** * A Callable wrapper for ListAlarmModels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAlarmModelsOutcomeCallable ListAlarmModelsCallable(const ListAlarmModelsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListAlarmModels, request); } /** * An Async wrapper for ListAlarmModels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAlarmModelsAsync(const ListAlarmModelsRequestT& request, const ListAlarmModelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListAlarmModels, request, handler, context); } /** *

Lists all the versions of a detector model. Only the metadata associated with * each detector model version is returned.

See Also:

AWS * API Reference

*/ virtual Model::ListDetectorModelVersionsOutcome ListDetectorModelVersions(const Model::ListDetectorModelVersionsRequest& request) const; /** * A Callable wrapper for ListDetectorModelVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDetectorModelVersionsOutcomeCallable ListDetectorModelVersionsCallable(const ListDetectorModelVersionsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListDetectorModelVersions, request); } /** * An Async wrapper for ListDetectorModelVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDetectorModelVersionsAsync(const ListDetectorModelVersionsRequestT& request, const ListDetectorModelVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListDetectorModelVersions, request, handler, context); } /** *

Lists the detector models you have created. Only the metadata associated with * each detector model is returned.

See Also:

AWS * API Reference

*/ virtual Model::ListDetectorModelsOutcome ListDetectorModels(const Model::ListDetectorModelsRequest& request) const; /** * A Callable wrapper for ListDetectorModels that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListDetectorModelsOutcomeCallable ListDetectorModelsCallable(const ListDetectorModelsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListDetectorModels, request); } /** * An Async wrapper for ListDetectorModels that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListDetectorModelsAsync(const ListDetectorModelsRequestT& request, const ListDetectorModelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListDetectorModels, request, handler, context); } /** *

Lists one or more input routings.

See Also:

AWS * API Reference

*/ virtual Model::ListInputRoutingsOutcome ListInputRoutings(const Model::ListInputRoutingsRequest& request) const; /** * A Callable wrapper for ListInputRoutings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListInputRoutingsOutcomeCallable ListInputRoutingsCallable(const ListInputRoutingsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListInputRoutings, request); } /** * An Async wrapper for ListInputRoutings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListInputRoutingsAsync(const ListInputRoutingsRequestT& request, const ListInputRoutingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListInputRoutings, request, handler, context); } /** *

Lists the inputs you have created.

See Also:

AWS * API Reference

*/ virtual Model::ListInputsOutcome ListInputs(const Model::ListInputsRequest& request) const; /** * A Callable wrapper for ListInputs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListInputsOutcomeCallable ListInputsCallable(const ListInputsRequestT& request) const { return SubmitCallable(&IoTEventsClient::ListInputs, request); } /** * An Async wrapper for ListInputs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListInputsAsync(const ListInputsRequestT& request, const ListInputsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::ListInputs, request, handler, context); } /** *

Lists the tags (metadata) you have assigned to the resource.

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(&IoTEventsClient::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(&IoTEventsClient::ListTagsForResource, request, handler, context); } /** *

Sets or updates the AWS IoT Events logging options.

If you update the * value of any loggingOptions field, it takes up to one minute for * the change to take effect. If you change the policy attached to the role you * specified in the roleArn field (for example, to correct an invalid * policy), it takes up to five minutes for that change to take * effect.

See Also:

AWS * API Reference

*/ virtual Model::PutLoggingOptionsOutcome PutLoggingOptions(const Model::PutLoggingOptionsRequest& request) const; /** * A Callable wrapper for PutLoggingOptions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutLoggingOptionsOutcomeCallable PutLoggingOptionsCallable(const PutLoggingOptionsRequestT& request) const { return SubmitCallable(&IoTEventsClient::PutLoggingOptions, request); } /** * An Async wrapper for PutLoggingOptions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutLoggingOptionsAsync(const PutLoggingOptionsRequestT& request, const PutLoggingOptionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::PutLoggingOptions, request, handler, context); } /** *

Performs an analysis of your detector model. For more information, see Troubleshooting * a detector model in the AWS IoT Events Developer Guide.

See * Also:

AWS * API Reference

*/ virtual Model::StartDetectorModelAnalysisOutcome StartDetectorModelAnalysis(const Model::StartDetectorModelAnalysisRequest& request) const; /** * A Callable wrapper for StartDetectorModelAnalysis that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartDetectorModelAnalysisOutcomeCallable StartDetectorModelAnalysisCallable(const StartDetectorModelAnalysisRequestT& request) const { return SubmitCallable(&IoTEventsClient::StartDetectorModelAnalysis, request); } /** * An Async wrapper for StartDetectorModelAnalysis that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartDetectorModelAnalysisAsync(const StartDetectorModelAnalysisRequestT& request, const StartDetectorModelAnalysisResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::StartDetectorModelAnalysis, request, handler, context); } /** *

Adds to or modifies the tags of the given resource. Tags are metadata that * can be used to manage a resource.

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(&IoTEventsClient::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(&IoTEventsClient::TagResource, request, handler, context); } /** *

Removes the given tags (metadata) from the resource.

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(&IoTEventsClient::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(&IoTEventsClient::UntagResource, request, handler, context); } /** *

Updates an alarm model. Any alarms that were created based on the previous * version are deleted and then created again as new data arrives.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateAlarmModelOutcome UpdateAlarmModel(const Model::UpdateAlarmModelRequest& request) const; /** * A Callable wrapper for UpdateAlarmModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateAlarmModelOutcomeCallable UpdateAlarmModelCallable(const UpdateAlarmModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::UpdateAlarmModel, request); } /** * An Async wrapper for UpdateAlarmModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateAlarmModelAsync(const UpdateAlarmModelRequestT& request, const UpdateAlarmModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::UpdateAlarmModel, request, handler, context); } /** *

Updates a detector model. Detectors (instances) spawned by the previous * version are deleted and then re-created as new inputs arrive.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateDetectorModelOutcome UpdateDetectorModel(const Model::UpdateDetectorModelRequest& request) const; /** * A Callable wrapper for UpdateDetectorModel that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateDetectorModelOutcomeCallable UpdateDetectorModelCallable(const UpdateDetectorModelRequestT& request) const { return SubmitCallable(&IoTEventsClient::UpdateDetectorModel, request); } /** * An Async wrapper for UpdateDetectorModel that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateDetectorModelAsync(const UpdateDetectorModelRequestT& request, const UpdateDetectorModelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::UpdateDetectorModel, request, handler, context); } /** *

Updates an input.

See Also:

AWS * API Reference

*/ virtual Model::UpdateInputOutcome UpdateInput(const Model::UpdateInputRequest& request) const; /** * A Callable wrapper for UpdateInput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateInputOutcomeCallable UpdateInputCallable(const UpdateInputRequestT& request) const { return SubmitCallable(&IoTEventsClient::UpdateInput, request); } /** * An Async wrapper for UpdateInput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateInputAsync(const UpdateInputRequestT& request, const UpdateInputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&IoTEventsClient::UpdateInput, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const IoTEventsClientConfiguration& clientConfiguration); IoTEventsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace IoTEvents } // namespace Aws