1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/lookoutequipment/LookoutEquipment_EXPORTS.h>
8 #include <aws/lookoutequipment/LookoutEquipmentErrors.h>
9 #include <aws/core/client/AWSError.h>
10 #include <aws/core/client/ClientConfiguration.h>
11 #include <aws/core/client/AWSClient.h>
12 #include <aws/core/utils/memory/stl/AWSString.h>
13 #include <aws/core/utils/json/JsonSerializer.h>
14 #include <aws/lookoutequipment/model/CreateDatasetResult.h>
15 #include <aws/lookoutequipment/model/CreateInferenceSchedulerResult.h>
16 #include <aws/lookoutequipment/model/CreateModelResult.h>
17 #include <aws/lookoutequipment/model/DescribeDataIngestionJobResult.h>
18 #include <aws/lookoutequipment/model/DescribeDatasetResult.h>
19 #include <aws/lookoutequipment/model/DescribeInferenceSchedulerResult.h>
20 #include <aws/lookoutequipment/model/DescribeModelResult.h>
21 #include <aws/lookoutequipment/model/ListDataIngestionJobsResult.h>
22 #include <aws/lookoutequipment/model/ListDatasetsResult.h>
23 #include <aws/lookoutequipment/model/ListInferenceExecutionsResult.h>
24 #include <aws/lookoutequipment/model/ListInferenceSchedulersResult.h>
25 #include <aws/lookoutequipment/model/ListModelsResult.h>
26 #include <aws/lookoutequipment/model/ListTagsForResourceResult.h>
27 #include <aws/lookoutequipment/model/StartDataIngestionJobResult.h>
28 #include <aws/lookoutequipment/model/StartInferenceSchedulerResult.h>
29 #include <aws/lookoutequipment/model/StopInferenceSchedulerResult.h>
30 #include <aws/lookoutequipment/model/TagResourceResult.h>
31 #include <aws/lookoutequipment/model/UntagResourceResult.h>
32 #include <aws/core/NoResult.h>
33 #include <aws/core/client/AsyncCallerContext.h>
34 #include <aws/core/http/HttpTypes.h>
35 #include <future>
36 #include <functional>
37 
38 namespace Aws
39 {
40 
41 namespace Http
42 {
43   class HttpClient;
44   class HttpClientFactory;
45 } // namespace Http
46 
47 namespace Utils
48 {
49   template< typename R, typename E> class Outcome;
50 namespace Threading
51 {
52   class Executor;
53 } // namespace Threading
54 } // namespace Utils
55 
56 namespace Auth
57 {
58   class AWSCredentials;
59   class AWSCredentialsProvider;
60 } // namespace Auth
61 
62 namespace Client
63 {
64   class RetryStrategy;
65 } // namespace Client
66 
67 namespace LookoutEquipment
68 {
69 
70 namespace Model
71 {
72         class CreateDatasetRequest;
73         class CreateInferenceSchedulerRequest;
74         class CreateModelRequest;
75         class DeleteDatasetRequest;
76         class DeleteInferenceSchedulerRequest;
77         class DeleteModelRequest;
78         class DescribeDataIngestionJobRequest;
79         class DescribeDatasetRequest;
80         class DescribeInferenceSchedulerRequest;
81         class DescribeModelRequest;
82         class ListDataIngestionJobsRequest;
83         class ListDatasetsRequest;
84         class ListInferenceExecutionsRequest;
85         class ListInferenceSchedulersRequest;
86         class ListModelsRequest;
87         class ListTagsForResourceRequest;
88         class StartDataIngestionJobRequest;
89         class StartInferenceSchedulerRequest;
90         class StopInferenceSchedulerRequest;
91         class TagResourceRequest;
92         class UntagResourceRequest;
93         class UpdateInferenceSchedulerRequest;
94 
95         typedef Aws::Utils::Outcome<CreateDatasetResult, LookoutEquipmentError> CreateDatasetOutcome;
96         typedef Aws::Utils::Outcome<CreateInferenceSchedulerResult, LookoutEquipmentError> CreateInferenceSchedulerOutcome;
97         typedef Aws::Utils::Outcome<CreateModelResult, LookoutEquipmentError> CreateModelOutcome;
98         typedef Aws::Utils::Outcome<Aws::NoResult, LookoutEquipmentError> DeleteDatasetOutcome;
99         typedef Aws::Utils::Outcome<Aws::NoResult, LookoutEquipmentError> DeleteInferenceSchedulerOutcome;
100         typedef Aws::Utils::Outcome<Aws::NoResult, LookoutEquipmentError> DeleteModelOutcome;
101         typedef Aws::Utils::Outcome<DescribeDataIngestionJobResult, LookoutEquipmentError> DescribeDataIngestionJobOutcome;
102         typedef Aws::Utils::Outcome<DescribeDatasetResult, LookoutEquipmentError> DescribeDatasetOutcome;
103         typedef Aws::Utils::Outcome<DescribeInferenceSchedulerResult, LookoutEquipmentError> DescribeInferenceSchedulerOutcome;
104         typedef Aws::Utils::Outcome<DescribeModelResult, LookoutEquipmentError> DescribeModelOutcome;
105         typedef Aws::Utils::Outcome<ListDataIngestionJobsResult, LookoutEquipmentError> ListDataIngestionJobsOutcome;
106         typedef Aws::Utils::Outcome<ListDatasetsResult, LookoutEquipmentError> ListDatasetsOutcome;
107         typedef Aws::Utils::Outcome<ListInferenceExecutionsResult, LookoutEquipmentError> ListInferenceExecutionsOutcome;
108         typedef Aws::Utils::Outcome<ListInferenceSchedulersResult, LookoutEquipmentError> ListInferenceSchedulersOutcome;
109         typedef Aws::Utils::Outcome<ListModelsResult, LookoutEquipmentError> ListModelsOutcome;
110         typedef Aws::Utils::Outcome<ListTagsForResourceResult, LookoutEquipmentError> ListTagsForResourceOutcome;
111         typedef Aws::Utils::Outcome<StartDataIngestionJobResult, LookoutEquipmentError> StartDataIngestionJobOutcome;
112         typedef Aws::Utils::Outcome<StartInferenceSchedulerResult, LookoutEquipmentError> StartInferenceSchedulerOutcome;
113         typedef Aws::Utils::Outcome<StopInferenceSchedulerResult, LookoutEquipmentError> StopInferenceSchedulerOutcome;
114         typedef Aws::Utils::Outcome<TagResourceResult, LookoutEquipmentError> TagResourceOutcome;
115         typedef Aws::Utils::Outcome<UntagResourceResult, LookoutEquipmentError> UntagResourceOutcome;
116         typedef Aws::Utils::Outcome<Aws::NoResult, LookoutEquipmentError> UpdateInferenceSchedulerOutcome;
117 
118         typedef std::future<CreateDatasetOutcome> CreateDatasetOutcomeCallable;
119         typedef std::future<CreateInferenceSchedulerOutcome> CreateInferenceSchedulerOutcomeCallable;
120         typedef std::future<CreateModelOutcome> CreateModelOutcomeCallable;
121         typedef std::future<DeleteDatasetOutcome> DeleteDatasetOutcomeCallable;
122         typedef std::future<DeleteInferenceSchedulerOutcome> DeleteInferenceSchedulerOutcomeCallable;
123         typedef std::future<DeleteModelOutcome> DeleteModelOutcomeCallable;
124         typedef std::future<DescribeDataIngestionJobOutcome> DescribeDataIngestionJobOutcomeCallable;
125         typedef std::future<DescribeDatasetOutcome> DescribeDatasetOutcomeCallable;
126         typedef std::future<DescribeInferenceSchedulerOutcome> DescribeInferenceSchedulerOutcomeCallable;
127         typedef std::future<DescribeModelOutcome> DescribeModelOutcomeCallable;
128         typedef std::future<ListDataIngestionJobsOutcome> ListDataIngestionJobsOutcomeCallable;
129         typedef std::future<ListDatasetsOutcome> ListDatasetsOutcomeCallable;
130         typedef std::future<ListInferenceExecutionsOutcome> ListInferenceExecutionsOutcomeCallable;
131         typedef std::future<ListInferenceSchedulersOutcome> ListInferenceSchedulersOutcomeCallable;
132         typedef std::future<ListModelsOutcome> ListModelsOutcomeCallable;
133         typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
134         typedef std::future<StartDataIngestionJobOutcome> StartDataIngestionJobOutcomeCallable;
135         typedef std::future<StartInferenceSchedulerOutcome> StartInferenceSchedulerOutcomeCallable;
136         typedef std::future<StopInferenceSchedulerOutcome> StopInferenceSchedulerOutcomeCallable;
137         typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
138         typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
139         typedef std::future<UpdateInferenceSchedulerOutcome> UpdateInferenceSchedulerOutcomeCallable;
140 } // namespace Model
141 
142   class LookoutEquipmentClient;
143 
144     typedef std::function<void(const LookoutEquipmentClient*, const Model::CreateDatasetRequest&, const Model::CreateDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDatasetResponseReceivedHandler;
145     typedef std::function<void(const LookoutEquipmentClient*, const Model::CreateInferenceSchedulerRequest&, const Model::CreateInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateInferenceSchedulerResponseReceivedHandler;
146     typedef std::function<void(const LookoutEquipmentClient*, const Model::CreateModelRequest&, const Model::CreateModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateModelResponseReceivedHandler;
147     typedef std::function<void(const LookoutEquipmentClient*, const Model::DeleteDatasetRequest&, const Model::DeleteDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDatasetResponseReceivedHandler;
148     typedef std::function<void(const LookoutEquipmentClient*, const Model::DeleteInferenceSchedulerRequest&, const Model::DeleteInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteInferenceSchedulerResponseReceivedHandler;
149     typedef std::function<void(const LookoutEquipmentClient*, const Model::DeleteModelRequest&, const Model::DeleteModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteModelResponseReceivedHandler;
150     typedef std::function<void(const LookoutEquipmentClient*, const Model::DescribeDataIngestionJobRequest&, const Model::DescribeDataIngestionJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDataIngestionJobResponseReceivedHandler;
151     typedef std::function<void(const LookoutEquipmentClient*, const Model::DescribeDatasetRequest&, const Model::DescribeDatasetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDatasetResponseReceivedHandler;
152     typedef std::function<void(const LookoutEquipmentClient*, const Model::DescribeInferenceSchedulerRequest&, const Model::DescribeInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeInferenceSchedulerResponseReceivedHandler;
153     typedef std::function<void(const LookoutEquipmentClient*, const Model::DescribeModelRequest&, const Model::DescribeModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeModelResponseReceivedHandler;
154     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListDataIngestionJobsRequest&, const Model::ListDataIngestionJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDataIngestionJobsResponseReceivedHandler;
155     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListDatasetsRequest&, const Model::ListDatasetsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDatasetsResponseReceivedHandler;
156     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListInferenceExecutionsRequest&, const Model::ListInferenceExecutionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInferenceExecutionsResponseReceivedHandler;
157     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListInferenceSchedulersRequest&, const Model::ListInferenceSchedulersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListInferenceSchedulersResponseReceivedHandler;
158     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListModelsRequest&, const Model::ListModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListModelsResponseReceivedHandler;
159     typedef std::function<void(const LookoutEquipmentClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
160     typedef std::function<void(const LookoutEquipmentClient*, const Model::StartDataIngestionJobRequest&, const Model::StartDataIngestionJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartDataIngestionJobResponseReceivedHandler;
161     typedef std::function<void(const LookoutEquipmentClient*, const Model::StartInferenceSchedulerRequest&, const Model::StartInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartInferenceSchedulerResponseReceivedHandler;
162     typedef std::function<void(const LookoutEquipmentClient*, const Model::StopInferenceSchedulerRequest&, const Model::StopInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopInferenceSchedulerResponseReceivedHandler;
163     typedef std::function<void(const LookoutEquipmentClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
164     typedef std::function<void(const LookoutEquipmentClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
165     typedef std::function<void(const LookoutEquipmentClient*, const Model::UpdateInferenceSchedulerRequest&, const Model::UpdateInferenceSchedulerOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateInferenceSchedulerResponseReceivedHandler;
166 
167   /**
168    * <p>Amazon Lookout for Equipment is a machine learning service that uses advanced
169    * analytics to identify anomalies in machines from sensor data for use in
170    * predictive maintenance. </p>
171    */
172   class AWS_LOOKOUTEQUIPMENT_API LookoutEquipmentClient : public Aws::Client::AWSJsonClient
173   {
174     public:
175       typedef Aws::Client::AWSJsonClient BASECLASS;
176 
177        /**
178         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
179         * is not specified, it will be initialized to default values.
180         */
181         LookoutEquipmentClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
182 
183        /**
184         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
185         * is not specified, it will be initialized to default values.
186         */
187         LookoutEquipmentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
188 
189        /**
190         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
191         * the default http client factory will be used
192         */
193         LookoutEquipmentClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
194             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
195 
196         virtual ~LookoutEquipmentClient();
197 
198 
199         /**
200          * <p>Creates a container for a collection of data being ingested for analysis. The
201          * dataset contains the metadata describing where the data is and what the data
202          * actually looks like. In other words, it contains the location of the data
203          * source, the data schema, and other information. A dataset also contains any tags
204          * associated with the ingested data. </p><p><h3>See Also:</h3>   <a
205          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateDataset">AWS
206          * API Reference</a></p>
207          */
208         virtual Model::CreateDatasetOutcome CreateDataset(const Model::CreateDatasetRequest& request) const;
209 
210         /**
211          * <p>Creates a container for a collection of data being ingested for analysis. The
212          * dataset contains the metadata describing where the data is and what the data
213          * actually looks like. In other words, it contains the location of the data
214          * source, the data schema, and other information. A dataset also contains any tags
215          * associated with the ingested data. </p><p><h3>See Also:</h3>   <a
216          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateDataset">AWS
217          * API Reference</a></p>
218          *
219          * returns a future to the operation so that it can be executed in parallel to other requests.
220          */
221         virtual Model::CreateDatasetOutcomeCallable CreateDatasetCallable(const Model::CreateDatasetRequest& request) const;
222 
223         /**
224          * <p>Creates a container for a collection of data being ingested for analysis. The
225          * dataset contains the metadata describing where the data is and what the data
226          * actually looks like. In other words, it contains the location of the data
227          * source, the data schema, and other information. A dataset also contains any tags
228          * associated with the ingested data. </p><p><h3>See Also:</h3>   <a
229          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateDataset">AWS
230          * API Reference</a></p>
231          *
232          * Queues the request into a thread executor and triggers associated callback when operation has finished.
233          */
234         virtual void CreateDatasetAsync(const Model::CreateDatasetRequest& request, const CreateDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
235 
236         /**
237          * <p> Creates a scheduled inference. Scheduling an inference is setting up a
238          * continuous real-time inference plan to analyze new measurement data. When
239          * setting up the schedule, you provide an S3 bucket location for the input data,
240          * assign it a delimiter between separate entries in the data, set an offset delay
241          * if desired, and set the frequency of inferencing. You must also provide an S3
242          * bucket location for the output data. </p><p><h3>See Also:</h3>   <a
243          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateInferenceScheduler">AWS
244          * API Reference</a></p>
245          */
246         virtual Model::CreateInferenceSchedulerOutcome CreateInferenceScheduler(const Model::CreateInferenceSchedulerRequest& request) const;
247 
248         /**
249          * <p> Creates a scheduled inference. Scheduling an inference is setting up a
250          * continuous real-time inference plan to analyze new measurement data. When
251          * setting up the schedule, you provide an S3 bucket location for the input data,
252          * assign it a delimiter between separate entries in the data, set an offset delay
253          * if desired, and set the frequency of inferencing. You must also provide an S3
254          * bucket location for the output data. </p><p><h3>See Also:</h3>   <a
255          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateInferenceScheduler">AWS
256          * API Reference</a></p>
257          *
258          * returns a future to the operation so that it can be executed in parallel to other requests.
259          */
260         virtual Model::CreateInferenceSchedulerOutcomeCallable CreateInferenceSchedulerCallable(const Model::CreateInferenceSchedulerRequest& request) const;
261 
262         /**
263          * <p> Creates a scheduled inference. Scheduling an inference is setting up a
264          * continuous real-time inference plan to analyze new measurement data. When
265          * setting up the schedule, you provide an S3 bucket location for the input data,
266          * assign it a delimiter between separate entries in the data, set an offset delay
267          * if desired, and set the frequency of inferencing. You must also provide an S3
268          * bucket location for the output data. </p><p><h3>See Also:</h3>   <a
269          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateInferenceScheduler">AWS
270          * API Reference</a></p>
271          *
272          * Queues the request into a thread executor and triggers associated callback when operation has finished.
273          */
274         virtual void CreateInferenceSchedulerAsync(const Model::CreateInferenceSchedulerRequest& request, const CreateInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
275 
276         /**
277          * <p>Creates an ML model for data inference. </p> <p>A machine-learning (ML) model
278          * is a mathematical model that finds patterns in your data. In Amazon Lookout for
279          * Equipment, the model learns the patterns of normal behavior and detects abnormal
280          * behavior that could be potential equipment failure (or maintenance events). The
281          * models are made by analyzing normal data and abnormalities in machine behavior
282          * that have already occurred.</p> <p>Your model is trained using a portion of the
283          * data from your dataset and uses that data to learn patterns of normal behavior
284          * and abnormal patterns that lead to equipment failure. Another portion of the
285          * data is used to evaluate the model's accuracy. </p><p><h3>See Also:</h3>   <a
286          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateModel">AWS
287          * API Reference</a></p>
288          */
289         virtual Model::CreateModelOutcome CreateModel(const Model::CreateModelRequest& request) const;
290 
291         /**
292          * <p>Creates an ML model for data inference. </p> <p>A machine-learning (ML) model
293          * is a mathematical model that finds patterns in your data. In Amazon Lookout for
294          * Equipment, the model learns the patterns of normal behavior and detects abnormal
295          * behavior that could be potential equipment failure (or maintenance events). The
296          * models are made by analyzing normal data and abnormalities in machine behavior
297          * that have already occurred.</p> <p>Your model is trained using a portion of the
298          * data from your dataset and uses that data to learn patterns of normal behavior
299          * and abnormal patterns that lead to equipment failure. Another portion of the
300          * data is used to evaluate the model's accuracy. </p><p><h3>See Also:</h3>   <a
301          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateModel">AWS
302          * API Reference</a></p>
303          *
304          * returns a future to the operation so that it can be executed in parallel to other requests.
305          */
306         virtual Model::CreateModelOutcomeCallable CreateModelCallable(const Model::CreateModelRequest& request) const;
307 
308         /**
309          * <p>Creates an ML model for data inference. </p> <p>A machine-learning (ML) model
310          * is a mathematical model that finds patterns in your data. In Amazon Lookout for
311          * Equipment, the model learns the patterns of normal behavior and detects abnormal
312          * behavior that could be potential equipment failure (or maintenance events). The
313          * models are made by analyzing normal data and abnormalities in machine behavior
314          * that have already occurred.</p> <p>Your model is trained using a portion of the
315          * data from your dataset and uses that data to learn patterns of normal behavior
316          * and abnormal patterns that lead to equipment failure. Another portion of the
317          * data is used to evaluate the model's accuracy. </p><p><h3>See Also:</h3>   <a
318          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/CreateModel">AWS
319          * API Reference</a></p>
320          *
321          * Queues the request into a thread executor and triggers associated callback when operation has finished.
322          */
323         virtual void CreateModelAsync(const Model::CreateModelRequest& request, const CreateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
324 
325         /**
326          * <p> Deletes a dataset and associated artifacts. The operation will check to see
327          * if any inference scheduler or data ingestion job is currently using the dataset,
328          * and if there isn't, the dataset, its metadata, and any associated data stored in
329          * S3 will be deleted. This does not affect any models that used this dataset for
330          * training and evaluation, but does prevent it from being used in the future.
331          * </p><p><h3>See Also:</h3>   <a
332          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteDataset">AWS
333          * API Reference</a></p>
334          */
335         virtual Model::DeleteDatasetOutcome DeleteDataset(const Model::DeleteDatasetRequest& request) const;
336 
337         /**
338          * <p> Deletes a dataset and associated artifacts. The operation will check to see
339          * if any inference scheduler or data ingestion job is currently using the dataset,
340          * and if there isn't, the dataset, its metadata, and any associated data stored in
341          * S3 will be deleted. This does not affect any models that used this dataset for
342          * training and evaluation, but does prevent it from being used in the future.
343          * </p><p><h3>See Also:</h3>   <a
344          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteDataset">AWS
345          * API Reference</a></p>
346          *
347          * returns a future to the operation so that it can be executed in parallel to other requests.
348          */
349         virtual Model::DeleteDatasetOutcomeCallable DeleteDatasetCallable(const Model::DeleteDatasetRequest& request) const;
350 
351         /**
352          * <p> Deletes a dataset and associated artifacts. The operation will check to see
353          * if any inference scheduler or data ingestion job is currently using the dataset,
354          * and if there isn't, the dataset, its metadata, and any associated data stored in
355          * S3 will be deleted. This does not affect any models that used this dataset for
356          * training and evaluation, but does prevent it from being used in the future.
357          * </p><p><h3>See Also:</h3>   <a
358          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteDataset">AWS
359          * API Reference</a></p>
360          *
361          * Queues the request into a thread executor and triggers associated callback when operation has finished.
362          */
363         virtual void DeleteDatasetAsync(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
364 
365         /**
366          * <p>Deletes an inference scheduler that has been set up. Already processed output
367          * results are not affected. </p><p><h3>See Also:</h3>   <a
368          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteInferenceScheduler">AWS
369          * API Reference</a></p>
370          */
371         virtual Model::DeleteInferenceSchedulerOutcome DeleteInferenceScheduler(const Model::DeleteInferenceSchedulerRequest& request) const;
372 
373         /**
374          * <p>Deletes an inference scheduler that has been set up. Already processed output
375          * results are not affected. </p><p><h3>See Also:</h3>   <a
376          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteInferenceScheduler">AWS
377          * API Reference</a></p>
378          *
379          * returns a future to the operation so that it can be executed in parallel to other requests.
380          */
381         virtual Model::DeleteInferenceSchedulerOutcomeCallable DeleteInferenceSchedulerCallable(const Model::DeleteInferenceSchedulerRequest& request) const;
382 
383         /**
384          * <p>Deletes an inference scheduler that has been set up. Already processed output
385          * results are not affected. </p><p><h3>See Also:</h3>   <a
386          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteInferenceScheduler">AWS
387          * API Reference</a></p>
388          *
389          * Queues the request into a thread executor and triggers associated callback when operation has finished.
390          */
391         virtual void DeleteInferenceSchedulerAsync(const Model::DeleteInferenceSchedulerRequest& request, const DeleteInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
392 
393         /**
394          * <p>Deletes an ML model currently available for Amazon Lookout for Equipment.
395          * This will prevent it from being used with an inference scheduler, even one that
396          * is already set up. </p><p><h3>See Also:</h3>   <a
397          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteModel">AWS
398          * API Reference</a></p>
399          */
400         virtual Model::DeleteModelOutcome DeleteModel(const Model::DeleteModelRequest& request) const;
401 
402         /**
403          * <p>Deletes an ML model currently available for Amazon Lookout for Equipment.
404          * This will prevent it from being used with an inference scheduler, even one that
405          * is already set up. </p><p><h3>See Also:</h3>   <a
406          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteModel">AWS
407          * API Reference</a></p>
408          *
409          * returns a future to the operation so that it can be executed in parallel to other requests.
410          */
411         virtual Model::DeleteModelOutcomeCallable DeleteModelCallable(const Model::DeleteModelRequest& request) const;
412 
413         /**
414          * <p>Deletes an ML model currently available for Amazon Lookout for Equipment.
415          * This will prevent it from being used with an inference scheduler, even one that
416          * is already set up. </p><p><h3>See Also:</h3>   <a
417          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DeleteModel">AWS
418          * API Reference</a></p>
419          *
420          * Queues the request into a thread executor and triggers associated callback when operation has finished.
421          */
422         virtual void DeleteModelAsync(const Model::DeleteModelRequest& request, const DeleteModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
423 
424         /**
425          * <p>Provides information on a specific data ingestion job such as creation time,
426          * dataset ARN, status, and so on. </p><p><h3>See Also:</h3>   <a
427          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataIngestionJob">AWS
428          * API Reference</a></p>
429          */
430         virtual Model::DescribeDataIngestionJobOutcome DescribeDataIngestionJob(const Model::DescribeDataIngestionJobRequest& request) const;
431 
432         /**
433          * <p>Provides information on a specific data ingestion job such as creation time,
434          * dataset ARN, status, and so on. </p><p><h3>See Also:</h3>   <a
435          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataIngestionJob">AWS
436          * API Reference</a></p>
437          *
438          * returns a future to the operation so that it can be executed in parallel to other requests.
439          */
440         virtual Model::DescribeDataIngestionJobOutcomeCallable DescribeDataIngestionJobCallable(const Model::DescribeDataIngestionJobRequest& request) const;
441 
442         /**
443          * <p>Provides information on a specific data ingestion job such as creation time,
444          * dataset ARN, status, and so on. </p><p><h3>See Also:</h3>   <a
445          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataIngestionJob">AWS
446          * API Reference</a></p>
447          *
448          * Queues the request into a thread executor and triggers associated callback when operation has finished.
449          */
450         virtual void DescribeDataIngestionJobAsync(const Model::DescribeDataIngestionJobRequest& request, const DescribeDataIngestionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
451 
452         /**
453          * <p>Provides a JSON description of the data that is in each time series dataset,
454          * including names, column names, and data types.</p><p><h3>See Also:</h3>   <a
455          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataset">AWS
456          * API Reference</a></p>
457          */
458         virtual Model::DescribeDatasetOutcome DescribeDataset(const Model::DescribeDatasetRequest& request) const;
459 
460         /**
461          * <p>Provides a JSON description of the data that is in each time series dataset,
462          * including names, column names, and data types.</p><p><h3>See Also:</h3>   <a
463          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataset">AWS
464          * API Reference</a></p>
465          *
466          * returns a future to the operation so that it can be executed in parallel to other requests.
467          */
468         virtual Model::DescribeDatasetOutcomeCallable DescribeDatasetCallable(const Model::DescribeDatasetRequest& request) const;
469 
470         /**
471          * <p>Provides a JSON description of the data that is in each time series dataset,
472          * including names, column names, and data types.</p><p><h3>See Also:</h3>   <a
473          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeDataset">AWS
474          * API Reference</a></p>
475          *
476          * Queues the request into a thread executor and triggers associated callback when operation has finished.
477          */
478         virtual void DescribeDatasetAsync(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
479 
480         /**
481          * <p> Specifies information about the inference scheduler being used, including
482          * name, model, status, and associated metadata </p><p><h3>See Also:</h3>   <a
483          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeInferenceScheduler">AWS
484          * API Reference</a></p>
485          */
486         virtual Model::DescribeInferenceSchedulerOutcome DescribeInferenceScheduler(const Model::DescribeInferenceSchedulerRequest& request) const;
487 
488         /**
489          * <p> Specifies information about the inference scheduler being used, including
490          * name, model, status, and associated metadata </p><p><h3>See Also:</h3>   <a
491          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeInferenceScheduler">AWS
492          * API Reference</a></p>
493          *
494          * returns a future to the operation so that it can be executed in parallel to other requests.
495          */
496         virtual Model::DescribeInferenceSchedulerOutcomeCallable DescribeInferenceSchedulerCallable(const Model::DescribeInferenceSchedulerRequest& request) const;
497 
498         /**
499          * <p> Specifies information about the inference scheduler being used, including
500          * name, model, status, and associated metadata </p><p><h3>See Also:</h3>   <a
501          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeInferenceScheduler">AWS
502          * API Reference</a></p>
503          *
504          * Queues the request into a thread executor and triggers associated callback when operation has finished.
505          */
506         virtual void DescribeInferenceSchedulerAsync(const Model::DescribeInferenceSchedulerRequest& request, const DescribeInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
507 
508         /**
509          * <p>Provides a JSON containing the overall information about a specific ML model,
510          * including model name and ARN, dataset, training and evaluation information,
511          * status, and so on. </p><p><h3>See Also:</h3>   <a
512          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModel">AWS
513          * API Reference</a></p>
514          */
515         virtual Model::DescribeModelOutcome DescribeModel(const Model::DescribeModelRequest& request) const;
516 
517         /**
518          * <p>Provides a JSON containing the overall information about a specific ML model,
519          * including model name and ARN, dataset, training and evaluation information,
520          * status, and so on. </p><p><h3>See Also:</h3>   <a
521          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModel">AWS
522          * API Reference</a></p>
523          *
524          * returns a future to the operation so that it can be executed in parallel to other requests.
525          */
526         virtual Model::DescribeModelOutcomeCallable DescribeModelCallable(const Model::DescribeModelRequest& request) const;
527 
528         /**
529          * <p>Provides a JSON containing the overall information about a specific ML model,
530          * including model name and ARN, dataset, training and evaluation information,
531          * status, and so on. </p><p><h3>See Also:</h3>   <a
532          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/DescribeModel">AWS
533          * API Reference</a></p>
534          *
535          * Queues the request into a thread executor and triggers associated callback when operation has finished.
536          */
537         virtual void DescribeModelAsync(const Model::DescribeModelRequest& request, const DescribeModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
538 
539         /**
540          * <p>Provides a list of all data ingestion jobs, including dataset name and ARN,
541          * S3 location of the input data, status, and so on. </p><p><h3>See Also:</h3>   <a
542          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDataIngestionJobs">AWS
543          * API Reference</a></p>
544          */
545         virtual Model::ListDataIngestionJobsOutcome ListDataIngestionJobs(const Model::ListDataIngestionJobsRequest& request) const;
546 
547         /**
548          * <p>Provides a list of all data ingestion jobs, including dataset name and ARN,
549          * S3 location of the input data, status, and so on. </p><p><h3>See Also:</h3>   <a
550          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDataIngestionJobs">AWS
551          * API Reference</a></p>
552          *
553          * returns a future to the operation so that it can be executed in parallel to other requests.
554          */
555         virtual Model::ListDataIngestionJobsOutcomeCallable ListDataIngestionJobsCallable(const Model::ListDataIngestionJobsRequest& request) const;
556 
557         /**
558          * <p>Provides a list of all data ingestion jobs, including dataset name and ARN,
559          * S3 location of the input data, status, and so on. </p><p><h3>See Also:</h3>   <a
560          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDataIngestionJobs">AWS
561          * API Reference</a></p>
562          *
563          * Queues the request into a thread executor and triggers associated callback when operation has finished.
564          */
565         virtual void ListDataIngestionJobsAsync(const Model::ListDataIngestionJobsRequest& request, const ListDataIngestionJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
566 
567         /**
568          * <p>Lists all datasets currently available in your account, filtering on the
569          * dataset name. </p><p><h3>See Also:</h3>   <a
570          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDatasets">AWS
571          * API Reference</a></p>
572          */
573         virtual Model::ListDatasetsOutcome ListDatasets(const Model::ListDatasetsRequest& request) const;
574 
575         /**
576          * <p>Lists all datasets currently available in your account, filtering on the
577          * dataset name. </p><p><h3>See Also:</h3>   <a
578          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDatasets">AWS
579          * API Reference</a></p>
580          *
581          * returns a future to the operation so that it can be executed in parallel to other requests.
582          */
583         virtual Model::ListDatasetsOutcomeCallable ListDatasetsCallable(const Model::ListDatasetsRequest& request) const;
584 
585         /**
586          * <p>Lists all datasets currently available in your account, filtering on the
587          * dataset name. </p><p><h3>See Also:</h3>   <a
588          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListDatasets">AWS
589          * API Reference</a></p>
590          *
591          * Queues the request into a thread executor and triggers associated callback when operation has finished.
592          */
593         virtual void ListDatasetsAsync(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
594 
595         /**
596          * <p> Lists all inference executions that have been performed by the specified
597          * inference scheduler. </p><p><h3>See Also:</h3>   <a
598          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceExecutions">AWS
599          * API Reference</a></p>
600          */
601         virtual Model::ListInferenceExecutionsOutcome ListInferenceExecutions(const Model::ListInferenceExecutionsRequest& request) const;
602 
603         /**
604          * <p> Lists all inference executions that have been performed by the specified
605          * inference scheduler. </p><p><h3>See Also:</h3>   <a
606          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceExecutions">AWS
607          * API Reference</a></p>
608          *
609          * returns a future to the operation so that it can be executed in parallel to other requests.
610          */
611         virtual Model::ListInferenceExecutionsOutcomeCallable ListInferenceExecutionsCallable(const Model::ListInferenceExecutionsRequest& request) const;
612 
613         /**
614          * <p> Lists all inference executions that have been performed by the specified
615          * inference scheduler. </p><p><h3>See Also:</h3>   <a
616          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceExecutions">AWS
617          * API Reference</a></p>
618          *
619          * Queues the request into a thread executor and triggers associated callback when operation has finished.
620          */
621         virtual void ListInferenceExecutionsAsync(const Model::ListInferenceExecutionsRequest& request, const ListInferenceExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
622 
623         /**
624          * <p>Retrieves a list of all inference schedulers currently available for your
625          * account. </p><p><h3>See Also:</h3>   <a
626          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceSchedulers">AWS
627          * API Reference</a></p>
628          */
629         virtual Model::ListInferenceSchedulersOutcome ListInferenceSchedulers(const Model::ListInferenceSchedulersRequest& request) const;
630 
631         /**
632          * <p>Retrieves a list of all inference schedulers currently available for your
633          * account. </p><p><h3>See Also:</h3>   <a
634          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceSchedulers">AWS
635          * API Reference</a></p>
636          *
637          * returns a future to the operation so that it can be executed in parallel to other requests.
638          */
639         virtual Model::ListInferenceSchedulersOutcomeCallable ListInferenceSchedulersCallable(const Model::ListInferenceSchedulersRequest& request) const;
640 
641         /**
642          * <p>Retrieves a list of all inference schedulers currently available for your
643          * account. </p><p><h3>See Also:</h3>   <a
644          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListInferenceSchedulers">AWS
645          * API Reference</a></p>
646          *
647          * Queues the request into a thread executor and triggers associated callback when operation has finished.
648          */
649         virtual void ListInferenceSchedulersAsync(const Model::ListInferenceSchedulersRequest& request, const ListInferenceSchedulersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
650 
651         /**
652          * <p>Generates a list of all models in the account, including model name and ARN,
653          * dataset, and status. </p><p><h3>See Also:</h3>   <a
654          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModels">AWS
655          * API Reference</a></p>
656          */
657         virtual Model::ListModelsOutcome ListModels(const Model::ListModelsRequest& request) const;
658 
659         /**
660          * <p>Generates a list of all models in the account, including model name and ARN,
661          * dataset, and status. </p><p><h3>See Also:</h3>   <a
662          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModels">AWS
663          * API Reference</a></p>
664          *
665          * returns a future to the operation so that it can be executed in parallel to other requests.
666          */
667         virtual Model::ListModelsOutcomeCallable ListModelsCallable(const Model::ListModelsRequest& request) const;
668 
669         /**
670          * <p>Generates a list of all models in the account, including model name and ARN,
671          * dataset, and status. </p><p><h3>See Also:</h3>   <a
672          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListModels">AWS
673          * API Reference</a></p>
674          *
675          * Queues the request into a thread executor and triggers associated callback when operation has finished.
676          */
677         virtual void ListModelsAsync(const Model::ListModelsRequest& request, const ListModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
678 
679         /**
680          * <p>Lists all the tags for a specified resource, including key and value.
681          * </p><p><h3>See Also:</h3>   <a
682          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListTagsForResource">AWS
683          * API Reference</a></p>
684          */
685         virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
686 
687         /**
688          * <p>Lists all the tags for a specified resource, including key and value.
689          * </p><p><h3>See Also:</h3>   <a
690          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListTagsForResource">AWS
691          * API Reference</a></p>
692          *
693          * returns a future to the operation so that it can be executed in parallel to other requests.
694          */
695         virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
696 
697         /**
698          * <p>Lists all the tags for a specified resource, including key and value.
699          * </p><p><h3>See Also:</h3>   <a
700          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/ListTagsForResource">AWS
701          * API Reference</a></p>
702          *
703          * Queues the request into a thread executor and triggers associated callback when operation has finished.
704          */
705         virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
706 
707         /**
708          * <p>Starts a data ingestion job. Amazon Lookout for Equipment returns the job
709          * status. </p><p><h3>See Also:</h3>   <a
710          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartDataIngestionJob">AWS
711          * API Reference</a></p>
712          */
713         virtual Model::StartDataIngestionJobOutcome StartDataIngestionJob(const Model::StartDataIngestionJobRequest& request) const;
714 
715         /**
716          * <p>Starts a data ingestion job. Amazon Lookout for Equipment returns the job
717          * status. </p><p><h3>See Also:</h3>   <a
718          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartDataIngestionJob">AWS
719          * API Reference</a></p>
720          *
721          * returns a future to the operation so that it can be executed in parallel to other requests.
722          */
723         virtual Model::StartDataIngestionJobOutcomeCallable StartDataIngestionJobCallable(const Model::StartDataIngestionJobRequest& request) const;
724 
725         /**
726          * <p>Starts a data ingestion job. Amazon Lookout for Equipment returns the job
727          * status. </p><p><h3>See Also:</h3>   <a
728          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartDataIngestionJob">AWS
729          * API Reference</a></p>
730          *
731          * Queues the request into a thread executor and triggers associated callback when operation has finished.
732          */
733         virtual void StartDataIngestionJobAsync(const Model::StartDataIngestionJobRequest& request, const StartDataIngestionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
734 
735         /**
736          * <p>Starts an inference scheduler. </p><p><h3>See Also:</h3>   <a
737          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartInferenceScheduler">AWS
738          * API Reference</a></p>
739          */
740         virtual Model::StartInferenceSchedulerOutcome StartInferenceScheduler(const Model::StartInferenceSchedulerRequest& request) const;
741 
742         /**
743          * <p>Starts an inference scheduler. </p><p><h3>See Also:</h3>   <a
744          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartInferenceScheduler">AWS
745          * API Reference</a></p>
746          *
747          * returns a future to the operation so that it can be executed in parallel to other requests.
748          */
749         virtual Model::StartInferenceSchedulerOutcomeCallable StartInferenceSchedulerCallable(const Model::StartInferenceSchedulerRequest& request) const;
750 
751         /**
752          * <p>Starts an inference scheduler. </p><p><h3>See Also:</h3>   <a
753          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StartInferenceScheduler">AWS
754          * API Reference</a></p>
755          *
756          * Queues the request into a thread executor and triggers associated callback when operation has finished.
757          */
758         virtual void StartInferenceSchedulerAsync(const Model::StartInferenceSchedulerRequest& request, const StartInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
759 
760         /**
761          * <p>Stops an inference scheduler. </p><p><h3>See Also:</h3>   <a
762          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopInferenceScheduler">AWS
763          * API Reference</a></p>
764          */
765         virtual Model::StopInferenceSchedulerOutcome StopInferenceScheduler(const Model::StopInferenceSchedulerRequest& request) const;
766 
767         /**
768          * <p>Stops an inference scheduler. </p><p><h3>See Also:</h3>   <a
769          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopInferenceScheduler">AWS
770          * API Reference</a></p>
771          *
772          * returns a future to the operation so that it can be executed in parallel to other requests.
773          */
774         virtual Model::StopInferenceSchedulerOutcomeCallable StopInferenceSchedulerCallable(const Model::StopInferenceSchedulerRequest& request) const;
775 
776         /**
777          * <p>Stops an inference scheduler. </p><p><h3>See Also:</h3>   <a
778          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/StopInferenceScheduler">AWS
779          * API Reference</a></p>
780          *
781          * Queues the request into a thread executor and triggers associated callback when operation has finished.
782          */
783         virtual void StopInferenceSchedulerAsync(const Model::StopInferenceSchedulerRequest& request, const StopInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
784 
785         /**
786          * <p>Associates a given tag to a resource in your account. A tag is a key-value
787          * pair which can be added to an Amazon Lookout for Equipment resource as metadata.
788          * Tags can be used for organizing your resources as well as helping you to search
789          * and filter by tag. Multiple tags can be added to a resource, either when you
790          * create it, or later. Up to 50 tags can be associated with each resource.
791          * </p><p><h3>See Also:</h3>   <a
792          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/TagResource">AWS
793          * API Reference</a></p>
794          */
795         virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
796 
797         /**
798          * <p>Associates a given tag to a resource in your account. A tag is a key-value
799          * pair which can be added to an Amazon Lookout for Equipment resource as metadata.
800          * Tags can be used for organizing your resources as well as helping you to search
801          * and filter by tag. Multiple tags can be added to a resource, either when you
802          * create it, or later. Up to 50 tags can be associated with each resource.
803          * </p><p><h3>See Also:</h3>   <a
804          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/TagResource">AWS
805          * API Reference</a></p>
806          *
807          * returns a future to the operation so that it can be executed in parallel to other requests.
808          */
809         virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
810 
811         /**
812          * <p>Associates a given tag to a resource in your account. A tag is a key-value
813          * pair which can be added to an Amazon Lookout for Equipment resource as metadata.
814          * Tags can be used for organizing your resources as well as helping you to search
815          * and filter by tag. Multiple tags can be added to a resource, either when you
816          * create it, or later. Up to 50 tags can be associated with each resource.
817          * </p><p><h3>See Also:</h3>   <a
818          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/TagResource">AWS
819          * API Reference</a></p>
820          *
821          * Queues the request into a thread executor and triggers associated callback when operation has finished.
822          */
823         virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
824 
825         /**
826          * <p>Removes a specific tag from a given resource. The tag is specified by its
827          * key. </p><p><h3>See Also:</h3>   <a
828          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UntagResource">AWS
829          * API Reference</a></p>
830          */
831         virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
832 
833         /**
834          * <p>Removes a specific tag from a given resource. The tag is specified by its
835          * key. </p><p><h3>See Also:</h3>   <a
836          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UntagResource">AWS
837          * API Reference</a></p>
838          *
839          * returns a future to the operation so that it can be executed in parallel to other requests.
840          */
841         virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
842 
843         /**
844          * <p>Removes a specific tag from a given resource. The tag is specified by its
845          * key. </p><p><h3>See Also:</h3>   <a
846          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UntagResource">AWS
847          * API Reference</a></p>
848          *
849          * Queues the request into a thread executor and triggers associated callback when operation has finished.
850          */
851         virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
852 
853         /**
854          * <p>Updates an inference scheduler. </p><p><h3>See Also:</h3>   <a
855          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateInferenceScheduler">AWS
856          * API Reference</a></p>
857          */
858         virtual Model::UpdateInferenceSchedulerOutcome UpdateInferenceScheduler(const Model::UpdateInferenceSchedulerRequest& request) const;
859 
860         /**
861          * <p>Updates an inference scheduler. </p><p><h3>See Also:</h3>   <a
862          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateInferenceScheduler">AWS
863          * API Reference</a></p>
864          *
865          * returns a future to the operation so that it can be executed in parallel to other requests.
866          */
867         virtual Model::UpdateInferenceSchedulerOutcomeCallable UpdateInferenceSchedulerCallable(const Model::UpdateInferenceSchedulerRequest& request) const;
868 
869         /**
870          * <p>Updates an inference scheduler. </p><p><h3>See Also:</h3>   <a
871          * href="http://docs.aws.amazon.com/goto/WebAPI/lookoutequipment-2020-12-15/UpdateInferenceScheduler">AWS
872          * API Reference</a></p>
873          *
874          * Queues the request into a thread executor and triggers associated callback when operation has finished.
875          */
876         virtual void UpdateInferenceSchedulerAsync(const Model::UpdateInferenceSchedulerRequest& request, const UpdateInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
877 
878 
879       void OverrideEndpoint(const Aws::String& endpoint);
880     private:
881       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
882         void CreateDatasetAsyncHelper(const Model::CreateDatasetRequest& request, const CreateDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
883         void CreateInferenceSchedulerAsyncHelper(const Model::CreateInferenceSchedulerRequest& request, const CreateInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
884         void CreateModelAsyncHelper(const Model::CreateModelRequest& request, const CreateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
885         void DeleteDatasetAsyncHelper(const Model::DeleteDatasetRequest& request, const DeleteDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
886         void DeleteInferenceSchedulerAsyncHelper(const Model::DeleteInferenceSchedulerRequest& request, const DeleteInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
887         void DeleteModelAsyncHelper(const Model::DeleteModelRequest& request, const DeleteModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
888         void DescribeDataIngestionJobAsyncHelper(const Model::DescribeDataIngestionJobRequest& request, const DescribeDataIngestionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
889         void DescribeDatasetAsyncHelper(const Model::DescribeDatasetRequest& request, const DescribeDatasetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
890         void DescribeInferenceSchedulerAsyncHelper(const Model::DescribeInferenceSchedulerRequest& request, const DescribeInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
891         void DescribeModelAsyncHelper(const Model::DescribeModelRequest& request, const DescribeModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
892         void ListDataIngestionJobsAsyncHelper(const Model::ListDataIngestionJobsRequest& request, const ListDataIngestionJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
893         void ListDatasetsAsyncHelper(const Model::ListDatasetsRequest& request, const ListDatasetsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
894         void ListInferenceExecutionsAsyncHelper(const Model::ListInferenceExecutionsRequest& request, const ListInferenceExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
895         void ListInferenceSchedulersAsyncHelper(const Model::ListInferenceSchedulersRequest& request, const ListInferenceSchedulersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
896         void ListModelsAsyncHelper(const Model::ListModelsRequest& request, const ListModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
897         void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
898         void StartDataIngestionJobAsyncHelper(const Model::StartDataIngestionJobRequest& request, const StartDataIngestionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
899         void StartInferenceSchedulerAsyncHelper(const Model::StartInferenceSchedulerRequest& request, const StartInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
900         void StopInferenceSchedulerAsyncHelper(const Model::StopInferenceSchedulerRequest& request, const StopInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
901         void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
902         void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
903         void UpdateInferenceSchedulerAsyncHelper(const Model::UpdateInferenceSchedulerRequest& request, const UpdateInferenceSchedulerResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
904 
905       Aws::String m_uri;
906       Aws::String m_configScheme;
907       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
908   };
909 
910 } // namespace LookoutEquipment
911 } // namespace Aws
912