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/frauddetector/FraudDetector_EXPORTS.h>
8 #include <aws/frauddetector/FraudDetectorErrors.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/frauddetector/model/BatchCreateVariableResult.h>
15 #include <aws/frauddetector/model/BatchGetVariableResult.h>
16 #include <aws/frauddetector/model/CancelBatchImportJobResult.h>
17 #include <aws/frauddetector/model/CancelBatchPredictionJobResult.h>
18 #include <aws/frauddetector/model/CreateBatchImportJobResult.h>
19 #include <aws/frauddetector/model/CreateBatchPredictionJobResult.h>
20 #include <aws/frauddetector/model/CreateDetectorVersionResult.h>
21 #include <aws/frauddetector/model/CreateModelResult.h>
22 #include <aws/frauddetector/model/CreateModelVersionResult.h>
23 #include <aws/frauddetector/model/CreateRuleResult.h>
24 #include <aws/frauddetector/model/CreateVariableResult.h>
25 #include <aws/frauddetector/model/DeleteBatchImportJobResult.h>
26 #include <aws/frauddetector/model/DeleteBatchPredictionJobResult.h>
27 #include <aws/frauddetector/model/DeleteDetectorResult.h>
28 #include <aws/frauddetector/model/DeleteDetectorVersionResult.h>
29 #include <aws/frauddetector/model/DeleteEntityTypeResult.h>
30 #include <aws/frauddetector/model/DeleteEventResult.h>
31 #include <aws/frauddetector/model/DeleteEventTypeResult.h>
32 #include <aws/frauddetector/model/DeleteEventsByEventTypeResult.h>
33 #include <aws/frauddetector/model/DeleteExternalModelResult.h>
34 #include <aws/frauddetector/model/DeleteLabelResult.h>
35 #include <aws/frauddetector/model/DeleteModelResult.h>
36 #include <aws/frauddetector/model/DeleteModelVersionResult.h>
37 #include <aws/frauddetector/model/DeleteOutcomeResult.h>
38 #include <aws/frauddetector/model/DeleteRuleResult.h>
39 #include <aws/frauddetector/model/DeleteVariableResult.h>
40 #include <aws/frauddetector/model/DescribeDetectorResult.h>
41 #include <aws/frauddetector/model/DescribeModelVersionsResult.h>
42 #include <aws/frauddetector/model/GetBatchImportJobsResult.h>
43 #include <aws/frauddetector/model/GetBatchPredictionJobsResult.h>
44 #include <aws/frauddetector/model/GetDeleteEventsByEventTypeStatusResult.h>
45 #include <aws/frauddetector/model/GetDetectorVersionResult.h>
46 #include <aws/frauddetector/model/GetDetectorsResult.h>
47 #include <aws/frauddetector/model/GetEntityTypesResult.h>
48 #include <aws/frauddetector/model/GetEventResult.h>
49 #include <aws/frauddetector/model/GetEventPredictionResult.h>
50 #include <aws/frauddetector/model/GetEventTypesResult.h>
51 #include <aws/frauddetector/model/GetExternalModelsResult.h>
52 #include <aws/frauddetector/model/GetKMSEncryptionKeyResult.h>
53 #include <aws/frauddetector/model/GetLabelsResult.h>
54 #include <aws/frauddetector/model/GetModelVersionResult.h>
55 #include <aws/frauddetector/model/GetModelsResult.h>
56 #include <aws/frauddetector/model/GetOutcomesResult.h>
57 #include <aws/frauddetector/model/GetRulesResult.h>
58 #include <aws/frauddetector/model/GetVariablesResult.h>
59 #include <aws/frauddetector/model/ListTagsForResourceResult.h>
60 #include <aws/frauddetector/model/PutDetectorResult.h>
61 #include <aws/frauddetector/model/PutEntityTypeResult.h>
62 #include <aws/frauddetector/model/PutEventTypeResult.h>
63 #include <aws/frauddetector/model/PutExternalModelResult.h>
64 #include <aws/frauddetector/model/PutKMSEncryptionKeyResult.h>
65 #include <aws/frauddetector/model/PutLabelResult.h>
66 #include <aws/frauddetector/model/PutOutcomeResult.h>
67 #include <aws/frauddetector/model/SendEventResult.h>
68 #include <aws/frauddetector/model/TagResourceResult.h>
69 #include <aws/frauddetector/model/UntagResourceResult.h>
70 #include <aws/frauddetector/model/UpdateDetectorVersionResult.h>
71 #include <aws/frauddetector/model/UpdateDetectorVersionMetadataResult.h>
72 #include <aws/frauddetector/model/UpdateDetectorVersionStatusResult.h>
73 #include <aws/frauddetector/model/UpdateEventLabelResult.h>
74 #include <aws/frauddetector/model/UpdateModelResult.h>
75 #include <aws/frauddetector/model/UpdateModelVersionResult.h>
76 #include <aws/frauddetector/model/UpdateModelVersionStatusResult.h>
77 #include <aws/frauddetector/model/UpdateRuleMetadataResult.h>
78 #include <aws/frauddetector/model/UpdateRuleVersionResult.h>
79 #include <aws/frauddetector/model/UpdateVariableResult.h>
80 #include <aws/core/client/AsyncCallerContext.h>
81 #include <aws/core/http/HttpTypes.h>
82 #include <future>
83 #include <functional>
84 
85 namespace Aws
86 {
87 
88 namespace Http
89 {
90   class HttpClient;
91   class HttpClientFactory;
92 } // namespace Http
93 
94 namespace Utils
95 {
96   template< typename R, typename E> class Outcome;
97 namespace Threading
98 {
99   class Executor;
100 } // namespace Threading
101 } // namespace Utils
102 
103 namespace Auth
104 {
105   class AWSCredentials;
106   class AWSCredentialsProvider;
107 } // namespace Auth
108 
109 namespace Client
110 {
111   class RetryStrategy;
112 } // namespace Client
113 
114 namespace FraudDetector
115 {
116 
117 namespace Model
118 {
119         class BatchCreateVariableRequest;
120         class BatchGetVariableRequest;
121         class CancelBatchImportJobRequest;
122         class CancelBatchPredictionJobRequest;
123         class CreateBatchImportJobRequest;
124         class CreateBatchPredictionJobRequest;
125         class CreateDetectorVersionRequest;
126         class CreateModelRequest;
127         class CreateModelVersionRequest;
128         class CreateRuleRequest;
129         class CreateVariableRequest;
130         class DeleteBatchImportJobRequest;
131         class DeleteBatchPredictionJobRequest;
132         class DeleteDetectorRequest;
133         class DeleteDetectorVersionRequest;
134         class DeleteEntityTypeRequest;
135         class DeleteEventRequest;
136         class DeleteEventTypeRequest;
137         class DeleteEventsByEventTypeRequest;
138         class DeleteExternalModelRequest;
139         class DeleteLabelRequest;
140         class DeleteModelRequest;
141         class DeleteModelVersionRequest;
142         class DeleteOutcomeRequest;
143         class DeleteRuleRequest;
144         class DeleteVariableRequest;
145         class DescribeDetectorRequest;
146         class DescribeModelVersionsRequest;
147         class GetBatchImportJobsRequest;
148         class GetBatchPredictionJobsRequest;
149         class GetDeleteEventsByEventTypeStatusRequest;
150         class GetDetectorVersionRequest;
151         class GetDetectorsRequest;
152         class GetEntityTypesRequest;
153         class GetEventRequest;
154         class GetEventPredictionRequest;
155         class GetEventTypesRequest;
156         class GetExternalModelsRequest;
157         class GetLabelsRequest;
158         class GetModelVersionRequest;
159         class GetModelsRequest;
160         class GetOutcomesRequest;
161         class GetRulesRequest;
162         class GetVariablesRequest;
163         class ListTagsForResourceRequest;
164         class PutDetectorRequest;
165         class PutEntityTypeRequest;
166         class PutEventTypeRequest;
167         class PutExternalModelRequest;
168         class PutKMSEncryptionKeyRequest;
169         class PutLabelRequest;
170         class PutOutcomeRequest;
171         class SendEventRequest;
172         class TagResourceRequest;
173         class UntagResourceRequest;
174         class UpdateDetectorVersionRequest;
175         class UpdateDetectorVersionMetadataRequest;
176         class UpdateDetectorVersionStatusRequest;
177         class UpdateEventLabelRequest;
178         class UpdateModelRequest;
179         class UpdateModelVersionRequest;
180         class UpdateModelVersionStatusRequest;
181         class UpdateRuleMetadataRequest;
182         class UpdateRuleVersionRequest;
183         class UpdateVariableRequest;
184 
185         typedef Aws::Utils::Outcome<BatchCreateVariableResult, FraudDetectorError> BatchCreateVariableOutcome;
186         typedef Aws::Utils::Outcome<BatchGetVariableResult, FraudDetectorError> BatchGetVariableOutcome;
187         typedef Aws::Utils::Outcome<CancelBatchImportJobResult, FraudDetectorError> CancelBatchImportJobOutcome;
188         typedef Aws::Utils::Outcome<CancelBatchPredictionJobResult, FraudDetectorError> CancelBatchPredictionJobOutcome;
189         typedef Aws::Utils::Outcome<CreateBatchImportJobResult, FraudDetectorError> CreateBatchImportJobOutcome;
190         typedef Aws::Utils::Outcome<CreateBatchPredictionJobResult, FraudDetectorError> CreateBatchPredictionJobOutcome;
191         typedef Aws::Utils::Outcome<CreateDetectorVersionResult, FraudDetectorError> CreateDetectorVersionOutcome;
192         typedef Aws::Utils::Outcome<CreateModelResult, FraudDetectorError> CreateModelOutcome;
193         typedef Aws::Utils::Outcome<CreateModelVersionResult, FraudDetectorError> CreateModelVersionOutcome;
194         typedef Aws::Utils::Outcome<CreateRuleResult, FraudDetectorError> CreateRuleOutcome;
195         typedef Aws::Utils::Outcome<CreateVariableResult, FraudDetectorError> CreateVariableOutcome;
196         typedef Aws::Utils::Outcome<DeleteBatchImportJobResult, FraudDetectorError> DeleteBatchImportJobOutcome;
197         typedef Aws::Utils::Outcome<DeleteBatchPredictionJobResult, FraudDetectorError> DeleteBatchPredictionJobOutcome;
198         typedef Aws::Utils::Outcome<DeleteDetectorResult, FraudDetectorError> DeleteDetectorOutcome;
199         typedef Aws::Utils::Outcome<DeleteDetectorVersionResult, FraudDetectorError> DeleteDetectorVersionOutcome;
200         typedef Aws::Utils::Outcome<DeleteEntityTypeResult, FraudDetectorError> DeleteEntityTypeOutcome;
201         typedef Aws::Utils::Outcome<DeleteEventResult, FraudDetectorError> DeleteEventOutcome;
202         typedef Aws::Utils::Outcome<DeleteEventTypeResult, FraudDetectorError> DeleteEventTypeOutcome;
203         typedef Aws::Utils::Outcome<DeleteEventsByEventTypeResult, FraudDetectorError> DeleteEventsByEventTypeOutcome;
204         typedef Aws::Utils::Outcome<DeleteExternalModelResult, FraudDetectorError> DeleteExternalModelOutcome;
205         typedef Aws::Utils::Outcome<DeleteLabelResult, FraudDetectorError> DeleteLabelOutcome;
206         typedef Aws::Utils::Outcome<DeleteModelResult, FraudDetectorError> DeleteModelOutcome;
207         typedef Aws::Utils::Outcome<DeleteModelVersionResult, FraudDetectorError> DeleteModelVersionOutcome;
208         typedef Aws::Utils::Outcome<DeleteOutcomeResult, FraudDetectorError> DeleteOutcomeOutcome;
209         typedef Aws::Utils::Outcome<DeleteRuleResult, FraudDetectorError> DeleteRuleOutcome;
210         typedef Aws::Utils::Outcome<DeleteVariableResult, FraudDetectorError> DeleteVariableOutcome;
211         typedef Aws::Utils::Outcome<DescribeDetectorResult, FraudDetectorError> DescribeDetectorOutcome;
212         typedef Aws::Utils::Outcome<DescribeModelVersionsResult, FraudDetectorError> DescribeModelVersionsOutcome;
213         typedef Aws::Utils::Outcome<GetBatchImportJobsResult, FraudDetectorError> GetBatchImportJobsOutcome;
214         typedef Aws::Utils::Outcome<GetBatchPredictionJobsResult, FraudDetectorError> GetBatchPredictionJobsOutcome;
215         typedef Aws::Utils::Outcome<GetDeleteEventsByEventTypeStatusResult, FraudDetectorError> GetDeleteEventsByEventTypeStatusOutcome;
216         typedef Aws::Utils::Outcome<GetDetectorVersionResult, FraudDetectorError> GetDetectorVersionOutcome;
217         typedef Aws::Utils::Outcome<GetDetectorsResult, FraudDetectorError> GetDetectorsOutcome;
218         typedef Aws::Utils::Outcome<GetEntityTypesResult, FraudDetectorError> GetEntityTypesOutcome;
219         typedef Aws::Utils::Outcome<GetEventResult, FraudDetectorError> GetEventOutcome;
220         typedef Aws::Utils::Outcome<GetEventPredictionResult, FraudDetectorError> GetEventPredictionOutcome;
221         typedef Aws::Utils::Outcome<GetEventTypesResult, FraudDetectorError> GetEventTypesOutcome;
222         typedef Aws::Utils::Outcome<GetExternalModelsResult, FraudDetectorError> GetExternalModelsOutcome;
223         typedef Aws::Utils::Outcome<GetKMSEncryptionKeyResult, FraudDetectorError> GetKMSEncryptionKeyOutcome;
224         typedef Aws::Utils::Outcome<GetLabelsResult, FraudDetectorError> GetLabelsOutcome;
225         typedef Aws::Utils::Outcome<GetModelVersionResult, FraudDetectorError> GetModelVersionOutcome;
226         typedef Aws::Utils::Outcome<GetModelsResult, FraudDetectorError> GetModelsOutcome;
227         typedef Aws::Utils::Outcome<GetOutcomesResult, FraudDetectorError> GetOutcomesOutcome;
228         typedef Aws::Utils::Outcome<GetRulesResult, FraudDetectorError> GetRulesOutcome;
229         typedef Aws::Utils::Outcome<GetVariablesResult, FraudDetectorError> GetVariablesOutcome;
230         typedef Aws::Utils::Outcome<ListTagsForResourceResult, FraudDetectorError> ListTagsForResourceOutcome;
231         typedef Aws::Utils::Outcome<PutDetectorResult, FraudDetectorError> PutDetectorOutcome;
232         typedef Aws::Utils::Outcome<PutEntityTypeResult, FraudDetectorError> PutEntityTypeOutcome;
233         typedef Aws::Utils::Outcome<PutEventTypeResult, FraudDetectorError> PutEventTypeOutcome;
234         typedef Aws::Utils::Outcome<PutExternalModelResult, FraudDetectorError> PutExternalModelOutcome;
235         typedef Aws::Utils::Outcome<PutKMSEncryptionKeyResult, FraudDetectorError> PutKMSEncryptionKeyOutcome;
236         typedef Aws::Utils::Outcome<PutLabelResult, FraudDetectorError> PutLabelOutcome;
237         typedef Aws::Utils::Outcome<PutOutcomeResult, FraudDetectorError> PutOutcomeOutcome;
238         typedef Aws::Utils::Outcome<SendEventResult, FraudDetectorError> SendEventOutcome;
239         typedef Aws::Utils::Outcome<TagResourceResult, FraudDetectorError> TagResourceOutcome;
240         typedef Aws::Utils::Outcome<UntagResourceResult, FraudDetectorError> UntagResourceOutcome;
241         typedef Aws::Utils::Outcome<UpdateDetectorVersionResult, FraudDetectorError> UpdateDetectorVersionOutcome;
242         typedef Aws::Utils::Outcome<UpdateDetectorVersionMetadataResult, FraudDetectorError> UpdateDetectorVersionMetadataOutcome;
243         typedef Aws::Utils::Outcome<UpdateDetectorVersionStatusResult, FraudDetectorError> UpdateDetectorVersionStatusOutcome;
244         typedef Aws::Utils::Outcome<UpdateEventLabelResult, FraudDetectorError> UpdateEventLabelOutcome;
245         typedef Aws::Utils::Outcome<UpdateModelResult, FraudDetectorError> UpdateModelOutcome;
246         typedef Aws::Utils::Outcome<UpdateModelVersionResult, FraudDetectorError> UpdateModelVersionOutcome;
247         typedef Aws::Utils::Outcome<UpdateModelVersionStatusResult, FraudDetectorError> UpdateModelVersionStatusOutcome;
248         typedef Aws::Utils::Outcome<UpdateRuleMetadataResult, FraudDetectorError> UpdateRuleMetadataOutcome;
249         typedef Aws::Utils::Outcome<UpdateRuleVersionResult, FraudDetectorError> UpdateRuleVersionOutcome;
250         typedef Aws::Utils::Outcome<UpdateVariableResult, FraudDetectorError> UpdateVariableOutcome;
251 
252         typedef std::future<BatchCreateVariableOutcome> BatchCreateVariableOutcomeCallable;
253         typedef std::future<BatchGetVariableOutcome> BatchGetVariableOutcomeCallable;
254         typedef std::future<CancelBatchImportJobOutcome> CancelBatchImportJobOutcomeCallable;
255         typedef std::future<CancelBatchPredictionJobOutcome> CancelBatchPredictionJobOutcomeCallable;
256         typedef std::future<CreateBatchImportJobOutcome> CreateBatchImportJobOutcomeCallable;
257         typedef std::future<CreateBatchPredictionJobOutcome> CreateBatchPredictionJobOutcomeCallable;
258         typedef std::future<CreateDetectorVersionOutcome> CreateDetectorVersionOutcomeCallable;
259         typedef std::future<CreateModelOutcome> CreateModelOutcomeCallable;
260         typedef std::future<CreateModelVersionOutcome> CreateModelVersionOutcomeCallable;
261         typedef std::future<CreateRuleOutcome> CreateRuleOutcomeCallable;
262         typedef std::future<CreateVariableOutcome> CreateVariableOutcomeCallable;
263         typedef std::future<DeleteBatchImportJobOutcome> DeleteBatchImportJobOutcomeCallable;
264         typedef std::future<DeleteBatchPredictionJobOutcome> DeleteBatchPredictionJobOutcomeCallable;
265         typedef std::future<DeleteDetectorOutcome> DeleteDetectorOutcomeCallable;
266         typedef std::future<DeleteDetectorVersionOutcome> DeleteDetectorVersionOutcomeCallable;
267         typedef std::future<DeleteEntityTypeOutcome> DeleteEntityTypeOutcomeCallable;
268         typedef std::future<DeleteEventOutcome> DeleteEventOutcomeCallable;
269         typedef std::future<DeleteEventTypeOutcome> DeleteEventTypeOutcomeCallable;
270         typedef std::future<DeleteEventsByEventTypeOutcome> DeleteEventsByEventTypeOutcomeCallable;
271         typedef std::future<DeleteExternalModelOutcome> DeleteExternalModelOutcomeCallable;
272         typedef std::future<DeleteLabelOutcome> DeleteLabelOutcomeCallable;
273         typedef std::future<DeleteModelOutcome> DeleteModelOutcomeCallable;
274         typedef std::future<DeleteModelVersionOutcome> DeleteModelVersionOutcomeCallable;
275         typedef std::future<DeleteOutcomeOutcome> DeleteOutcomeOutcomeCallable;
276         typedef std::future<DeleteRuleOutcome> DeleteRuleOutcomeCallable;
277         typedef std::future<DeleteVariableOutcome> DeleteVariableOutcomeCallable;
278         typedef std::future<DescribeDetectorOutcome> DescribeDetectorOutcomeCallable;
279         typedef std::future<DescribeModelVersionsOutcome> DescribeModelVersionsOutcomeCallable;
280         typedef std::future<GetBatchImportJobsOutcome> GetBatchImportJobsOutcomeCallable;
281         typedef std::future<GetBatchPredictionJobsOutcome> GetBatchPredictionJobsOutcomeCallable;
282         typedef std::future<GetDeleteEventsByEventTypeStatusOutcome> GetDeleteEventsByEventTypeStatusOutcomeCallable;
283         typedef std::future<GetDetectorVersionOutcome> GetDetectorVersionOutcomeCallable;
284         typedef std::future<GetDetectorsOutcome> GetDetectorsOutcomeCallable;
285         typedef std::future<GetEntityTypesOutcome> GetEntityTypesOutcomeCallable;
286         typedef std::future<GetEventOutcome> GetEventOutcomeCallable;
287         typedef std::future<GetEventPredictionOutcome> GetEventPredictionOutcomeCallable;
288         typedef std::future<GetEventTypesOutcome> GetEventTypesOutcomeCallable;
289         typedef std::future<GetExternalModelsOutcome> GetExternalModelsOutcomeCallable;
290         typedef std::future<GetKMSEncryptionKeyOutcome> GetKMSEncryptionKeyOutcomeCallable;
291         typedef std::future<GetLabelsOutcome> GetLabelsOutcomeCallable;
292         typedef std::future<GetModelVersionOutcome> GetModelVersionOutcomeCallable;
293         typedef std::future<GetModelsOutcome> GetModelsOutcomeCallable;
294         typedef std::future<GetOutcomesOutcome> GetOutcomesOutcomeCallable;
295         typedef std::future<GetRulesOutcome> GetRulesOutcomeCallable;
296         typedef std::future<GetVariablesOutcome> GetVariablesOutcomeCallable;
297         typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
298         typedef std::future<PutDetectorOutcome> PutDetectorOutcomeCallable;
299         typedef std::future<PutEntityTypeOutcome> PutEntityTypeOutcomeCallable;
300         typedef std::future<PutEventTypeOutcome> PutEventTypeOutcomeCallable;
301         typedef std::future<PutExternalModelOutcome> PutExternalModelOutcomeCallable;
302         typedef std::future<PutKMSEncryptionKeyOutcome> PutKMSEncryptionKeyOutcomeCallable;
303         typedef std::future<PutLabelOutcome> PutLabelOutcomeCallable;
304         typedef std::future<PutOutcomeOutcome> PutOutcomeOutcomeCallable;
305         typedef std::future<SendEventOutcome> SendEventOutcomeCallable;
306         typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
307         typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
308         typedef std::future<UpdateDetectorVersionOutcome> UpdateDetectorVersionOutcomeCallable;
309         typedef std::future<UpdateDetectorVersionMetadataOutcome> UpdateDetectorVersionMetadataOutcomeCallable;
310         typedef std::future<UpdateDetectorVersionStatusOutcome> UpdateDetectorVersionStatusOutcomeCallable;
311         typedef std::future<UpdateEventLabelOutcome> UpdateEventLabelOutcomeCallable;
312         typedef std::future<UpdateModelOutcome> UpdateModelOutcomeCallable;
313         typedef std::future<UpdateModelVersionOutcome> UpdateModelVersionOutcomeCallable;
314         typedef std::future<UpdateModelVersionStatusOutcome> UpdateModelVersionStatusOutcomeCallable;
315         typedef std::future<UpdateRuleMetadataOutcome> UpdateRuleMetadataOutcomeCallable;
316         typedef std::future<UpdateRuleVersionOutcome> UpdateRuleVersionOutcomeCallable;
317         typedef std::future<UpdateVariableOutcome> UpdateVariableOutcomeCallable;
318 } // namespace Model
319 
320   class FraudDetectorClient;
321 
322     typedef std::function<void(const FraudDetectorClient*, const Model::BatchCreateVariableRequest&, const Model::BatchCreateVariableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchCreateVariableResponseReceivedHandler;
323     typedef std::function<void(const FraudDetectorClient*, const Model::BatchGetVariableRequest&, const Model::BatchGetVariableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > BatchGetVariableResponseReceivedHandler;
324     typedef std::function<void(const FraudDetectorClient*, const Model::CancelBatchImportJobRequest&, const Model::CancelBatchImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelBatchImportJobResponseReceivedHandler;
325     typedef std::function<void(const FraudDetectorClient*, const Model::CancelBatchPredictionJobRequest&, const Model::CancelBatchPredictionJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelBatchPredictionJobResponseReceivedHandler;
326     typedef std::function<void(const FraudDetectorClient*, const Model::CreateBatchImportJobRequest&, const Model::CreateBatchImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBatchImportJobResponseReceivedHandler;
327     typedef std::function<void(const FraudDetectorClient*, const Model::CreateBatchPredictionJobRequest&, const Model::CreateBatchPredictionJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateBatchPredictionJobResponseReceivedHandler;
328     typedef std::function<void(const FraudDetectorClient*, const Model::CreateDetectorVersionRequest&, const Model::CreateDetectorVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDetectorVersionResponseReceivedHandler;
329     typedef std::function<void(const FraudDetectorClient*, const Model::CreateModelRequest&, const Model::CreateModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateModelResponseReceivedHandler;
330     typedef std::function<void(const FraudDetectorClient*, const Model::CreateModelVersionRequest&, const Model::CreateModelVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateModelVersionResponseReceivedHandler;
331     typedef std::function<void(const FraudDetectorClient*, const Model::CreateRuleRequest&, const Model::CreateRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRuleResponseReceivedHandler;
332     typedef std::function<void(const FraudDetectorClient*, const Model::CreateVariableRequest&, const Model::CreateVariableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVariableResponseReceivedHandler;
333     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteBatchImportJobRequest&, const Model::DeleteBatchImportJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBatchImportJobResponseReceivedHandler;
334     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteBatchPredictionJobRequest&, const Model::DeleteBatchPredictionJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteBatchPredictionJobResponseReceivedHandler;
335     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteDetectorRequest&, const Model::DeleteDetectorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDetectorResponseReceivedHandler;
336     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteDetectorVersionRequest&, const Model::DeleteDetectorVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDetectorVersionResponseReceivedHandler;
337     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteEntityTypeRequest&, const Model::DeleteEntityTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEntityTypeResponseReceivedHandler;
338     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteEventRequest&, const Model::DeleteEventOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEventResponseReceivedHandler;
339     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteEventTypeRequest&, const Model::DeleteEventTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEventTypeResponseReceivedHandler;
340     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteEventsByEventTypeRequest&, const Model::DeleteEventsByEventTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteEventsByEventTypeResponseReceivedHandler;
341     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteExternalModelRequest&, const Model::DeleteExternalModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteExternalModelResponseReceivedHandler;
342     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteLabelRequest&, const Model::DeleteLabelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteLabelResponseReceivedHandler;
343     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteModelRequest&, const Model::DeleteModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteModelResponseReceivedHandler;
344     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteModelVersionRequest&, const Model::DeleteModelVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteModelVersionResponseReceivedHandler;
345     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteOutcomeRequest&, const Model::DeleteOutcomeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteOutcomeResponseReceivedHandler;
346     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteRuleRequest&, const Model::DeleteRuleOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRuleResponseReceivedHandler;
347     typedef std::function<void(const FraudDetectorClient*, const Model::DeleteVariableRequest&, const Model::DeleteVariableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVariableResponseReceivedHandler;
348     typedef std::function<void(const FraudDetectorClient*, const Model::DescribeDetectorRequest&, const Model::DescribeDetectorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDetectorResponseReceivedHandler;
349     typedef std::function<void(const FraudDetectorClient*, const Model::DescribeModelVersionsRequest&, const Model::DescribeModelVersionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeModelVersionsResponseReceivedHandler;
350     typedef std::function<void(const FraudDetectorClient*, const Model::GetBatchImportJobsRequest&, const Model::GetBatchImportJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBatchImportJobsResponseReceivedHandler;
351     typedef std::function<void(const FraudDetectorClient*, const Model::GetBatchPredictionJobsRequest&, const Model::GetBatchPredictionJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetBatchPredictionJobsResponseReceivedHandler;
352     typedef std::function<void(const FraudDetectorClient*, const Model::GetDeleteEventsByEventTypeStatusRequest&, const Model::GetDeleteEventsByEventTypeStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDeleteEventsByEventTypeStatusResponseReceivedHandler;
353     typedef std::function<void(const FraudDetectorClient*, const Model::GetDetectorVersionRequest&, const Model::GetDetectorVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDetectorVersionResponseReceivedHandler;
354     typedef std::function<void(const FraudDetectorClient*, const Model::GetDetectorsRequest&, const Model::GetDetectorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDetectorsResponseReceivedHandler;
355     typedef std::function<void(const FraudDetectorClient*, const Model::GetEntityTypesRequest&, const Model::GetEntityTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEntityTypesResponseReceivedHandler;
356     typedef std::function<void(const FraudDetectorClient*, const Model::GetEventRequest&, const Model::GetEventOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEventResponseReceivedHandler;
357     typedef std::function<void(const FraudDetectorClient*, const Model::GetEventPredictionRequest&, const Model::GetEventPredictionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEventPredictionResponseReceivedHandler;
358     typedef std::function<void(const FraudDetectorClient*, const Model::GetEventTypesRequest&, const Model::GetEventTypesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetEventTypesResponseReceivedHandler;
359     typedef std::function<void(const FraudDetectorClient*, const Model::GetExternalModelsRequest&, const Model::GetExternalModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetExternalModelsResponseReceivedHandler;
360     typedef std::function<void(const FraudDetectorClient*, const Model::GetKMSEncryptionKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetKMSEncryptionKeyResponseReceivedHandler;
361     typedef std::function<void(const FraudDetectorClient*, const Model::GetLabelsRequest&, const Model::GetLabelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetLabelsResponseReceivedHandler;
362     typedef std::function<void(const FraudDetectorClient*, const Model::GetModelVersionRequest&, const Model::GetModelVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetModelVersionResponseReceivedHandler;
363     typedef std::function<void(const FraudDetectorClient*, const Model::GetModelsRequest&, const Model::GetModelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetModelsResponseReceivedHandler;
364     typedef std::function<void(const FraudDetectorClient*, const Model::GetOutcomesRequest&, const Model::GetOutcomesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetOutcomesResponseReceivedHandler;
365     typedef std::function<void(const FraudDetectorClient*, const Model::GetRulesRequest&, const Model::GetRulesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRulesResponseReceivedHandler;
366     typedef std::function<void(const FraudDetectorClient*, const Model::GetVariablesRequest&, const Model::GetVariablesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetVariablesResponseReceivedHandler;
367     typedef std::function<void(const FraudDetectorClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
368     typedef std::function<void(const FraudDetectorClient*, const Model::PutDetectorRequest&, const Model::PutDetectorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutDetectorResponseReceivedHandler;
369     typedef std::function<void(const FraudDetectorClient*, const Model::PutEntityTypeRequest&, const Model::PutEntityTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutEntityTypeResponseReceivedHandler;
370     typedef std::function<void(const FraudDetectorClient*, const Model::PutEventTypeRequest&, const Model::PutEventTypeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutEventTypeResponseReceivedHandler;
371     typedef std::function<void(const FraudDetectorClient*, const Model::PutExternalModelRequest&, const Model::PutExternalModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutExternalModelResponseReceivedHandler;
372     typedef std::function<void(const FraudDetectorClient*, const Model::PutKMSEncryptionKeyRequest&, const Model::PutKMSEncryptionKeyOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutKMSEncryptionKeyResponseReceivedHandler;
373     typedef std::function<void(const FraudDetectorClient*, const Model::PutLabelRequest&, const Model::PutLabelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutLabelResponseReceivedHandler;
374     typedef std::function<void(const FraudDetectorClient*, const Model::PutOutcomeRequest&, const Model::PutOutcomeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutOutcomeResponseReceivedHandler;
375     typedef std::function<void(const FraudDetectorClient*, const Model::SendEventRequest&, const Model::SendEventOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendEventResponseReceivedHandler;
376     typedef std::function<void(const FraudDetectorClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
377     typedef std::function<void(const FraudDetectorClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
378     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateDetectorVersionRequest&, const Model::UpdateDetectorVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDetectorVersionResponseReceivedHandler;
379     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateDetectorVersionMetadataRequest&, const Model::UpdateDetectorVersionMetadataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDetectorVersionMetadataResponseReceivedHandler;
380     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateDetectorVersionStatusRequest&, const Model::UpdateDetectorVersionStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDetectorVersionStatusResponseReceivedHandler;
381     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateEventLabelRequest&, const Model::UpdateEventLabelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateEventLabelResponseReceivedHandler;
382     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateModelRequest&, const Model::UpdateModelOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateModelResponseReceivedHandler;
383     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateModelVersionRequest&, const Model::UpdateModelVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateModelVersionResponseReceivedHandler;
384     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateModelVersionStatusRequest&, const Model::UpdateModelVersionStatusOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateModelVersionStatusResponseReceivedHandler;
385     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateRuleMetadataRequest&, const Model::UpdateRuleMetadataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRuleMetadataResponseReceivedHandler;
386     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateRuleVersionRequest&, const Model::UpdateRuleVersionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRuleVersionResponseReceivedHandler;
387     typedef std::function<void(const FraudDetectorClient*, const Model::UpdateVariableRequest&, const Model::UpdateVariableOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVariableResponseReceivedHandler;
388 
389   /**
390    * <p>This is the Amazon Fraud Detector API Reference. This guide is for developers
391    * who need detailed information about Amazon Fraud Detector API actions, data
392    * types, and errors. For more information about Amazon Fraud Detector features,
393    * see the <a href="https://docs.aws.amazon.com/frauddetector/latest/ug/">Amazon
394    * Fraud Detector User Guide</a>.</p>
395    */
396   class AWS_FRAUDDETECTOR_API FraudDetectorClient : public Aws::Client::AWSJsonClient
397   {
398     public:
399       typedef Aws::Client::AWSJsonClient BASECLASS;
400 
401        /**
402         * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
403         * is not specified, it will be initialized to default values.
404         */
405         FraudDetectorClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
406 
407        /**
408         * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
409         * is not specified, it will be initialized to default values.
410         */
411         FraudDetectorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
412 
413        /**
414         * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
415         * the default http client factory will be used
416         */
417         FraudDetectorClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
418             const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
419 
420         virtual ~FraudDetectorClient();
421 
422 
423         /**
424          * <p>Creates a batch of variables.</p><p><h3>See Also:</h3>   <a
425          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable">AWS
426          * API Reference</a></p>
427          */
428         virtual Model::BatchCreateVariableOutcome BatchCreateVariable(const Model::BatchCreateVariableRequest& request) const;
429 
430         /**
431          * <p>Creates a batch of variables.</p><p><h3>See Also:</h3>   <a
432          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable">AWS
433          * API Reference</a></p>
434          *
435          * returns a future to the operation so that it can be executed in parallel to other requests.
436          */
437         virtual Model::BatchCreateVariableOutcomeCallable BatchCreateVariableCallable(const Model::BatchCreateVariableRequest& request) const;
438 
439         /**
440          * <p>Creates a batch of variables.</p><p><h3>See Also:</h3>   <a
441          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable">AWS
442          * API Reference</a></p>
443          *
444          * Queues the request into a thread executor and triggers associated callback when operation has finished.
445          */
446         virtual void BatchCreateVariableAsync(const Model::BatchCreateVariableRequest& request, const BatchCreateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
447 
448         /**
449          * <p>Gets a batch of variables.</p><p><h3>See Also:</h3>   <a
450          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable">AWS
451          * API Reference</a></p>
452          */
453         virtual Model::BatchGetVariableOutcome BatchGetVariable(const Model::BatchGetVariableRequest& request) const;
454 
455         /**
456          * <p>Gets a batch of variables.</p><p><h3>See Also:</h3>   <a
457          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable">AWS
458          * API Reference</a></p>
459          *
460          * returns a future to the operation so that it can be executed in parallel to other requests.
461          */
462         virtual Model::BatchGetVariableOutcomeCallable BatchGetVariableCallable(const Model::BatchGetVariableRequest& request) const;
463 
464         /**
465          * <p>Gets a batch of variables.</p><p><h3>See Also:</h3>   <a
466          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable">AWS
467          * API Reference</a></p>
468          *
469          * Queues the request into a thread executor and triggers associated callback when operation has finished.
470          */
471         virtual void BatchGetVariableAsync(const Model::BatchGetVariableRequest& request, const BatchGetVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
472 
473         /**
474          * <p> Cancels an in-progress batch import job.</p><p><h3>See Also:</h3>   <a
475          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchImportJob">AWS
476          * API Reference</a></p>
477          */
478         virtual Model::CancelBatchImportJobOutcome CancelBatchImportJob(const Model::CancelBatchImportJobRequest& request) const;
479 
480         /**
481          * <p> Cancels an in-progress batch import job.</p><p><h3>See Also:</h3>   <a
482          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchImportJob">AWS
483          * API Reference</a></p>
484          *
485          * returns a future to the operation so that it can be executed in parallel to other requests.
486          */
487         virtual Model::CancelBatchImportJobOutcomeCallable CancelBatchImportJobCallable(const Model::CancelBatchImportJobRequest& request) const;
488 
489         /**
490          * <p> Cancels an in-progress batch import job.</p><p><h3>See Also:</h3>   <a
491          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchImportJob">AWS
492          * API Reference</a></p>
493          *
494          * Queues the request into a thread executor and triggers associated callback when operation has finished.
495          */
496         virtual void CancelBatchImportJobAsync(const Model::CancelBatchImportJobRequest& request, const CancelBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
497 
498         /**
499          * <p>Cancels the specified batch prediction job.</p><p><h3>See Also:</h3>   <a
500          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchPredictionJob">AWS
501          * API Reference</a></p>
502          */
503         virtual Model::CancelBatchPredictionJobOutcome CancelBatchPredictionJob(const Model::CancelBatchPredictionJobRequest& request) const;
504 
505         /**
506          * <p>Cancels the specified batch prediction job.</p><p><h3>See Also:</h3>   <a
507          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchPredictionJob">AWS
508          * API Reference</a></p>
509          *
510          * returns a future to the operation so that it can be executed in parallel to other requests.
511          */
512         virtual Model::CancelBatchPredictionJobOutcomeCallable CancelBatchPredictionJobCallable(const Model::CancelBatchPredictionJobRequest& request) const;
513 
514         /**
515          * <p>Cancels the specified batch prediction job.</p><p><h3>See Also:</h3>   <a
516          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CancelBatchPredictionJob">AWS
517          * API Reference</a></p>
518          *
519          * Queues the request into a thread executor and triggers associated callback when operation has finished.
520          */
521         virtual void CancelBatchPredictionJobAsync(const Model::CancelBatchPredictionJobRequest& request, const CancelBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
522 
523         /**
524          * <p>Creates a batch import job. </p><p><h3>See Also:</h3>   <a
525          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchImportJob">AWS
526          * API Reference</a></p>
527          */
528         virtual Model::CreateBatchImportJobOutcome CreateBatchImportJob(const Model::CreateBatchImportJobRequest& request) const;
529 
530         /**
531          * <p>Creates a batch import job. </p><p><h3>See Also:</h3>   <a
532          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchImportJob">AWS
533          * API Reference</a></p>
534          *
535          * returns a future to the operation so that it can be executed in parallel to other requests.
536          */
537         virtual Model::CreateBatchImportJobOutcomeCallable CreateBatchImportJobCallable(const Model::CreateBatchImportJobRequest& request) const;
538 
539         /**
540          * <p>Creates a batch import job. </p><p><h3>See Also:</h3>   <a
541          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchImportJob">AWS
542          * API Reference</a></p>
543          *
544          * Queues the request into a thread executor and triggers associated callback when operation has finished.
545          */
546         virtual void CreateBatchImportJobAsync(const Model::CreateBatchImportJobRequest& request, const CreateBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
547 
548         /**
549          * <p>Creates a batch prediction job.</p><p><h3>See Also:</h3>   <a
550          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchPredictionJob">AWS
551          * API Reference</a></p>
552          */
553         virtual Model::CreateBatchPredictionJobOutcome CreateBatchPredictionJob(const Model::CreateBatchPredictionJobRequest& request) const;
554 
555         /**
556          * <p>Creates a batch prediction job.</p><p><h3>See Also:</h3>   <a
557          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchPredictionJob">AWS
558          * API Reference</a></p>
559          *
560          * returns a future to the operation so that it can be executed in parallel to other requests.
561          */
562         virtual Model::CreateBatchPredictionJobOutcomeCallable CreateBatchPredictionJobCallable(const Model::CreateBatchPredictionJobRequest& request) const;
563 
564         /**
565          * <p>Creates a batch prediction job.</p><p><h3>See Also:</h3>   <a
566          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateBatchPredictionJob">AWS
567          * API Reference</a></p>
568          *
569          * Queues the request into a thread executor and triggers associated callback when operation has finished.
570          */
571         virtual void CreateBatchPredictionJobAsync(const Model::CreateBatchPredictionJobRequest& request, const CreateBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
572 
573         /**
574          * <p>Creates a detector version. The detector version starts in a
575          * <code>DRAFT</code> status.</p><p><h3>See Also:</h3>   <a
576          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion">AWS
577          * API Reference</a></p>
578          */
579         virtual Model::CreateDetectorVersionOutcome CreateDetectorVersion(const Model::CreateDetectorVersionRequest& request) const;
580 
581         /**
582          * <p>Creates a detector version. The detector version starts in a
583          * <code>DRAFT</code> status.</p><p><h3>See Also:</h3>   <a
584          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion">AWS
585          * API Reference</a></p>
586          *
587          * returns a future to the operation so that it can be executed in parallel to other requests.
588          */
589         virtual Model::CreateDetectorVersionOutcomeCallable CreateDetectorVersionCallable(const Model::CreateDetectorVersionRequest& request) const;
590 
591         /**
592          * <p>Creates a detector version. The detector version starts in a
593          * <code>DRAFT</code> status.</p><p><h3>See Also:</h3>   <a
594          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion">AWS
595          * API Reference</a></p>
596          *
597          * Queues the request into a thread executor and triggers associated callback when operation has finished.
598          */
599         virtual void CreateDetectorVersionAsync(const Model::CreateDetectorVersionRequest& request, const CreateDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
600 
601         /**
602          * <p>Creates a model using the specified model type.</p><p><h3>See Also:</h3>   <a
603          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModel">AWS
604          * API Reference</a></p>
605          */
606         virtual Model::CreateModelOutcome CreateModel(const Model::CreateModelRequest& request) const;
607 
608         /**
609          * <p>Creates a model using the specified model type.</p><p><h3>See Also:</h3>   <a
610          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModel">AWS
611          * API Reference</a></p>
612          *
613          * returns a future to the operation so that it can be executed in parallel to other requests.
614          */
615         virtual Model::CreateModelOutcomeCallable CreateModelCallable(const Model::CreateModelRequest& request) const;
616 
617         /**
618          * <p>Creates a model using the specified model type.</p><p><h3>See Also:</h3>   <a
619          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModel">AWS
620          * API Reference</a></p>
621          *
622          * Queues the request into a thread executor and triggers associated callback when operation has finished.
623          */
624         virtual void CreateModelAsync(const Model::CreateModelRequest& request, const CreateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
625 
626         /**
627          * <p>Creates a version of the model using the specified model type and model id.
628          * </p><p><h3>See Also:</h3>   <a
629          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion">AWS
630          * API Reference</a></p>
631          */
632         virtual Model::CreateModelVersionOutcome CreateModelVersion(const Model::CreateModelVersionRequest& request) const;
633 
634         /**
635          * <p>Creates a version of the model using the specified model type and model id.
636          * </p><p><h3>See Also:</h3>   <a
637          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion">AWS
638          * API Reference</a></p>
639          *
640          * returns a future to the operation so that it can be executed in parallel to other requests.
641          */
642         virtual Model::CreateModelVersionOutcomeCallable CreateModelVersionCallable(const Model::CreateModelVersionRequest& request) const;
643 
644         /**
645          * <p>Creates a version of the model using the specified model type and model id.
646          * </p><p><h3>See Also:</h3>   <a
647          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion">AWS
648          * API Reference</a></p>
649          *
650          * Queues the request into a thread executor and triggers associated callback when operation has finished.
651          */
652         virtual void CreateModelVersionAsync(const Model::CreateModelVersionRequest& request, const CreateModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
653 
654         /**
655          * <p>Creates a rule for use with the specified detector. </p><p><h3>See Also:</h3>
656          * <a
657          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule">AWS
658          * API Reference</a></p>
659          */
660         virtual Model::CreateRuleOutcome CreateRule(const Model::CreateRuleRequest& request) const;
661 
662         /**
663          * <p>Creates a rule for use with the specified detector. </p><p><h3>See Also:</h3>
664          * <a
665          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule">AWS
666          * API Reference</a></p>
667          *
668          * returns a future to the operation so that it can be executed in parallel to other requests.
669          */
670         virtual Model::CreateRuleOutcomeCallable CreateRuleCallable(const Model::CreateRuleRequest& request) const;
671 
672         /**
673          * <p>Creates a rule for use with the specified detector. </p><p><h3>See Also:</h3>
674          * <a
675          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule">AWS
676          * API Reference</a></p>
677          *
678          * Queues the request into a thread executor and triggers associated callback when operation has finished.
679          */
680         virtual void CreateRuleAsync(const Model::CreateRuleRequest& request, const CreateRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
681 
682         /**
683          * <p>Creates a variable.</p><p><h3>See Also:</h3>   <a
684          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable">AWS
685          * API Reference</a></p>
686          */
687         virtual Model::CreateVariableOutcome CreateVariable(const Model::CreateVariableRequest& request) const;
688 
689         /**
690          * <p>Creates a variable.</p><p><h3>See Also:</h3>   <a
691          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable">AWS
692          * API Reference</a></p>
693          *
694          * returns a future to the operation so that it can be executed in parallel to other requests.
695          */
696         virtual Model::CreateVariableOutcomeCallable CreateVariableCallable(const Model::CreateVariableRequest& request) const;
697 
698         /**
699          * <p>Creates a variable.</p><p><h3>See Also:</h3>   <a
700          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable">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 CreateVariableAsync(const Model::CreateVariableRequest& request, const CreateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
706 
707         /**
708          * <p>Deletes data that was batch imported to Amazon Fraud Detector. </p><p><h3>See
709          * Also:</h3>   <a
710          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchImportJob">AWS
711          * API Reference</a></p>
712          */
713         virtual Model::DeleteBatchImportJobOutcome DeleteBatchImportJob(const Model::DeleteBatchImportJobRequest& request) const;
714 
715         /**
716          * <p>Deletes data that was batch imported to Amazon Fraud Detector. </p><p><h3>See
717          * Also:</h3>   <a
718          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchImportJob">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::DeleteBatchImportJobOutcomeCallable DeleteBatchImportJobCallable(const Model::DeleteBatchImportJobRequest& request) const;
724 
725         /**
726          * <p>Deletes data that was batch imported to Amazon Fraud Detector. </p><p><h3>See
727          * Also:</h3>   <a
728          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchImportJob">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 DeleteBatchImportJobAsync(const Model::DeleteBatchImportJobRequest& request, const DeleteBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
734 
735         /**
736          * <p>Deletes a batch prediction job.</p><p><h3>See Also:</h3>   <a
737          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchPredictionJob">AWS
738          * API Reference</a></p>
739          */
740         virtual Model::DeleteBatchPredictionJobOutcome DeleteBatchPredictionJob(const Model::DeleteBatchPredictionJobRequest& request) const;
741 
742         /**
743          * <p>Deletes a batch prediction job.</p><p><h3>See Also:</h3>   <a
744          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchPredictionJob">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::DeleteBatchPredictionJobOutcomeCallable DeleteBatchPredictionJobCallable(const Model::DeleteBatchPredictionJobRequest& request) const;
750 
751         /**
752          * <p>Deletes a batch prediction job.</p><p><h3>See Also:</h3>   <a
753          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteBatchPredictionJob">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 DeleteBatchPredictionJobAsync(const Model::DeleteBatchPredictionJobRequest& request, const DeleteBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
759 
760         /**
761          * <p>Deletes the detector. Before deleting a detector, you must first delete all
762          * detector versions and rule versions associated with the detector.</p> <p>When
763          * you delete a detector, Amazon Fraud Detector permanently deletes the detector
764          * and the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See
765          * Also:</h3>   <a
766          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetector">AWS
767          * API Reference</a></p>
768          */
769         virtual Model::DeleteDetectorOutcome DeleteDetector(const Model::DeleteDetectorRequest& request) const;
770 
771         /**
772          * <p>Deletes the detector. Before deleting a detector, you must first delete all
773          * detector versions and rule versions associated with the detector.</p> <p>When
774          * you delete a detector, Amazon Fraud Detector permanently deletes the detector
775          * and the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See
776          * Also:</h3>   <a
777          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetector">AWS
778          * API Reference</a></p>
779          *
780          * returns a future to the operation so that it can be executed in parallel to other requests.
781          */
782         virtual Model::DeleteDetectorOutcomeCallable DeleteDetectorCallable(const Model::DeleteDetectorRequest& request) const;
783 
784         /**
785          * <p>Deletes the detector. Before deleting a detector, you must first delete all
786          * detector versions and rule versions associated with the detector.</p> <p>When
787          * you delete a detector, Amazon Fraud Detector permanently deletes the detector
788          * and the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See
789          * Also:</h3>   <a
790          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetector">AWS
791          * API Reference</a></p>
792          *
793          * Queues the request into a thread executor and triggers associated callback when operation has finished.
794          */
795         virtual void DeleteDetectorAsync(const Model::DeleteDetectorRequest& request, const DeleteDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
796 
797         /**
798          * <p>Deletes the detector version. You cannot delete detector versions that are in
799          * <code>ACTIVE</code> status.</p> <p>When you delete a detector version, Amazon
800          * Fraud Detector permanently deletes the detector and the data is no longer stored
801          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
802          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion">AWS
803          * API Reference</a></p>
804          */
805         virtual Model::DeleteDetectorVersionOutcome DeleteDetectorVersion(const Model::DeleteDetectorVersionRequest& request) const;
806 
807         /**
808          * <p>Deletes the detector version. You cannot delete detector versions that are in
809          * <code>ACTIVE</code> status.</p> <p>When you delete a detector version, Amazon
810          * Fraud Detector permanently deletes the detector and the data is no longer stored
811          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
812          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion">AWS
813          * API Reference</a></p>
814          *
815          * returns a future to the operation so that it can be executed in parallel to other requests.
816          */
817         virtual Model::DeleteDetectorVersionOutcomeCallable DeleteDetectorVersionCallable(const Model::DeleteDetectorVersionRequest& request) const;
818 
819         /**
820          * <p>Deletes the detector version. You cannot delete detector versions that are in
821          * <code>ACTIVE</code> status.</p> <p>When you delete a detector version, Amazon
822          * Fraud Detector permanently deletes the detector and the data is no longer stored
823          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
824          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion">AWS
825          * API Reference</a></p>
826          *
827          * Queues the request into a thread executor and triggers associated callback when operation has finished.
828          */
829         virtual void DeleteDetectorVersionAsync(const Model::DeleteDetectorVersionRequest& request, const DeleteDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
830 
831         /**
832          * <p>Deletes an entity type.</p> <p>You cannot delete an entity type that is
833          * included in an event type.</p> <p>When you delete an entity type, Amazon Fraud
834          * Detector permanently deletes that entity type and the data is no longer stored
835          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
836          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEntityType">AWS
837          * API Reference</a></p>
838          */
839         virtual Model::DeleteEntityTypeOutcome DeleteEntityType(const Model::DeleteEntityTypeRequest& request) const;
840 
841         /**
842          * <p>Deletes an entity type.</p> <p>You cannot delete an entity type that is
843          * included in an event type.</p> <p>When you delete an entity type, Amazon Fraud
844          * Detector permanently deletes that entity type and the data is no longer stored
845          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
846          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEntityType">AWS
847          * API Reference</a></p>
848          *
849          * returns a future to the operation so that it can be executed in parallel to other requests.
850          */
851         virtual Model::DeleteEntityTypeOutcomeCallable DeleteEntityTypeCallable(const Model::DeleteEntityTypeRequest& request) const;
852 
853         /**
854          * <p>Deletes an entity type.</p> <p>You cannot delete an entity type that is
855          * included in an event type.</p> <p>When you delete an entity type, Amazon Fraud
856          * Detector permanently deletes that entity type and the data is no longer stored
857          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
858          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEntityType">AWS
859          * API Reference</a></p>
860          *
861          * Queues the request into a thread executor and triggers associated callback when operation has finished.
862          */
863         virtual void DeleteEntityTypeAsync(const Model::DeleteEntityTypeRequest& request, const DeleteEntityTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
864 
865         /**
866          * <p>Deletes the specified event.</p> <p>When you delete an event, Amazon Fraud
867          * Detector permanently deletes that event and the event data is no longer stored
868          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
869          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent">AWS
870          * API Reference</a></p>
871          */
872         virtual Model::DeleteEventOutcome DeleteEvent(const Model::DeleteEventRequest& request) const;
873 
874         /**
875          * <p>Deletes the specified event.</p> <p>When you delete an event, Amazon Fraud
876          * Detector permanently deletes that event and the event data is no longer stored
877          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
878          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent">AWS
879          * API Reference</a></p>
880          *
881          * returns a future to the operation so that it can be executed in parallel to other requests.
882          */
883         virtual Model::DeleteEventOutcomeCallable DeleteEventCallable(const Model::DeleteEventRequest& request) const;
884 
885         /**
886          * <p>Deletes the specified event.</p> <p>When you delete an event, Amazon Fraud
887          * Detector permanently deletes that event and the event data is no longer stored
888          * in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
889          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent">AWS
890          * API Reference</a></p>
891          *
892          * Queues the request into a thread executor and triggers associated callback when operation has finished.
893          */
894         virtual void DeleteEventAsync(const Model::DeleteEventRequest& request, const DeleteEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
895 
896         /**
897          * <p>Deletes an event type.</p> <p>You cannot delete an event type that is used in
898          * a detector or a model.</p> <p>When you delete an event type, Amazon Fraud
899          * Detector permanently deletes that event type and the data is no longer stored in
900          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
901          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventType">AWS
902          * API Reference</a></p>
903          */
904         virtual Model::DeleteEventTypeOutcome DeleteEventType(const Model::DeleteEventTypeRequest& request) const;
905 
906         /**
907          * <p>Deletes an event type.</p> <p>You cannot delete an event type that is used in
908          * a detector or a model.</p> <p>When you delete an event type, Amazon Fraud
909          * Detector permanently deletes that event type and the data is no longer stored in
910          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
911          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventType">AWS
912          * API Reference</a></p>
913          *
914          * returns a future to the operation so that it can be executed in parallel to other requests.
915          */
916         virtual Model::DeleteEventTypeOutcomeCallable DeleteEventTypeCallable(const Model::DeleteEventTypeRequest& request) const;
917 
918         /**
919          * <p>Deletes an event type.</p> <p>You cannot delete an event type that is used in
920          * a detector or a model.</p> <p>When you delete an event type, Amazon Fraud
921          * Detector permanently deletes that event type and the data is no longer stored in
922          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
923          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventType">AWS
924          * API Reference</a></p>
925          *
926          * Queues the request into a thread executor and triggers associated callback when operation has finished.
927          */
928         virtual void DeleteEventTypeAsync(const Model::DeleteEventTypeRequest& request, const DeleteEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
929 
930         /**
931          * <p>Deletes all events of a particular event type.</p><p><h3>See Also:</h3>   <a
932          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventsByEventType">AWS
933          * API Reference</a></p>
934          */
935         virtual Model::DeleteEventsByEventTypeOutcome DeleteEventsByEventType(const Model::DeleteEventsByEventTypeRequest& request) const;
936 
937         /**
938          * <p>Deletes all events of a particular event type.</p><p><h3>See Also:</h3>   <a
939          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventsByEventType">AWS
940          * API Reference</a></p>
941          *
942          * returns a future to the operation so that it can be executed in parallel to other requests.
943          */
944         virtual Model::DeleteEventsByEventTypeOutcomeCallable DeleteEventsByEventTypeCallable(const Model::DeleteEventsByEventTypeRequest& request) const;
945 
946         /**
947          * <p>Deletes all events of a particular event type.</p><p><h3>See Also:</h3>   <a
948          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEventsByEventType">AWS
949          * API Reference</a></p>
950          *
951          * Queues the request into a thread executor and triggers associated callback when operation has finished.
952          */
953         virtual void DeleteEventsByEventTypeAsync(const Model::DeleteEventsByEventTypeRequest& request, const DeleteEventsByEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
954 
955         /**
956          * <p>Removes a SageMaker model from Amazon Fraud Detector.</p> <p>You can remove
957          * an Amazon SageMaker model if it is not associated with a detector version.
958          * Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the
959          * model remains available in SageMaker.</p><p><h3>See Also:</h3>   <a
960          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteExternalModel">AWS
961          * API Reference</a></p>
962          */
963         virtual Model::DeleteExternalModelOutcome DeleteExternalModel(const Model::DeleteExternalModelRequest& request) const;
964 
965         /**
966          * <p>Removes a SageMaker model from Amazon Fraud Detector.</p> <p>You can remove
967          * an Amazon SageMaker model if it is not associated with a detector version.
968          * Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the
969          * model remains available in SageMaker.</p><p><h3>See Also:</h3>   <a
970          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteExternalModel">AWS
971          * API Reference</a></p>
972          *
973          * returns a future to the operation so that it can be executed in parallel to other requests.
974          */
975         virtual Model::DeleteExternalModelOutcomeCallable DeleteExternalModelCallable(const Model::DeleteExternalModelRequest& request) const;
976 
977         /**
978          * <p>Removes a SageMaker model from Amazon Fraud Detector.</p> <p>You can remove
979          * an Amazon SageMaker model if it is not associated with a detector version.
980          * Removing a SageMaker model disconnects it from Amazon Fraud Detector, but the
981          * model remains available in SageMaker.</p><p><h3>See Also:</h3>   <a
982          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteExternalModel">AWS
983          * API Reference</a></p>
984          *
985          * Queues the request into a thread executor and triggers associated callback when operation has finished.
986          */
987         virtual void DeleteExternalModelAsync(const Model::DeleteExternalModelRequest& request, const DeleteExternalModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
988 
989         /**
990          * <p>Deletes a label.</p> <p>You cannot delete labels that are included in an
991          * event type in Amazon Fraud Detector.</p> <p>You cannot delete a label assigned
992          * to an event ID. You must first delete the relevant event ID.</p> <p>When you
993          * delete a label, Amazon Fraud Detector permanently deletes that label and the
994          * data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
995          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteLabel">AWS
996          * API Reference</a></p>
997          */
998         virtual Model::DeleteLabelOutcome DeleteLabel(const Model::DeleteLabelRequest& request) const;
999 
1000         /**
1001          * <p>Deletes a label.</p> <p>You cannot delete labels that are included in an
1002          * event type in Amazon Fraud Detector.</p> <p>You cannot delete a label assigned
1003          * to an event ID. You must first delete the relevant event ID.</p> <p>When you
1004          * delete a label, Amazon Fraud Detector permanently deletes that label and the
1005          * data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1006          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteLabel">AWS
1007          * API Reference</a></p>
1008          *
1009          * returns a future to the operation so that it can be executed in parallel to other requests.
1010          */
1011         virtual Model::DeleteLabelOutcomeCallable DeleteLabelCallable(const Model::DeleteLabelRequest& request) const;
1012 
1013         /**
1014          * <p>Deletes a label.</p> <p>You cannot delete labels that are included in an
1015          * event type in Amazon Fraud Detector.</p> <p>You cannot delete a label assigned
1016          * to an event ID. You must first delete the relevant event ID.</p> <p>When you
1017          * delete a label, Amazon Fraud Detector permanently deletes that label and the
1018          * data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1019          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteLabel">AWS
1020          * API Reference</a></p>
1021          *
1022          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1023          */
1024         virtual void DeleteLabelAsync(const Model::DeleteLabelRequest& request, const DeleteLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1025 
1026         /**
1027          * <p>Deletes a model.</p> <p>You can delete models and model versions in Amazon
1028          * Fraud Detector, provided that they are not associated with a detector
1029          * version.</p> <p> When you delete a model, Amazon Fraud Detector permanently
1030          * deletes that model and the data is no longer stored in Amazon Fraud
1031          * Detector.</p><p><h3>See Also:</h3>   <a
1032          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModel">AWS
1033          * API Reference</a></p>
1034          */
1035         virtual Model::DeleteModelOutcome DeleteModel(const Model::DeleteModelRequest& request) const;
1036 
1037         /**
1038          * <p>Deletes a model.</p> <p>You can delete models and model versions in Amazon
1039          * Fraud Detector, provided that they are not associated with a detector
1040          * version.</p> <p> When you delete a model, Amazon Fraud Detector permanently
1041          * deletes that model and the data is no longer stored in Amazon Fraud
1042          * Detector.</p><p><h3>See Also:</h3>   <a
1043          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModel">AWS
1044          * API Reference</a></p>
1045          *
1046          * returns a future to the operation so that it can be executed in parallel to other requests.
1047          */
1048         virtual Model::DeleteModelOutcomeCallable DeleteModelCallable(const Model::DeleteModelRequest& request) const;
1049 
1050         /**
1051          * <p>Deletes a model.</p> <p>You can delete models and model versions in Amazon
1052          * Fraud Detector, provided that they are not associated with a detector
1053          * version.</p> <p> When you delete a model, Amazon Fraud Detector permanently
1054          * deletes that model and the data is no longer stored in Amazon Fraud
1055          * Detector.</p><p><h3>See Also:</h3>   <a
1056          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModel">AWS
1057          * API Reference</a></p>
1058          *
1059          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1060          */
1061         virtual void DeleteModelAsync(const Model::DeleteModelRequest& request, const DeleteModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1062 
1063         /**
1064          * <p>Deletes a model version.</p> <p>You can delete models and model versions in
1065          * Amazon Fraud Detector, provided that they are not associated with a detector
1066          * version.</p> <p> When you delete a model version, Amazon Fraud Detector
1067          * permanently deletes that model version and the data is no longer stored in
1068          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1069          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModelVersion">AWS
1070          * API Reference</a></p>
1071          */
1072         virtual Model::DeleteModelVersionOutcome DeleteModelVersion(const Model::DeleteModelVersionRequest& request) const;
1073 
1074         /**
1075          * <p>Deletes a model version.</p> <p>You can delete models and model versions in
1076          * Amazon Fraud Detector, provided that they are not associated with a detector
1077          * version.</p> <p> When you delete a model version, Amazon Fraud Detector
1078          * permanently deletes that model version and the data is no longer stored in
1079          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1080          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModelVersion">AWS
1081          * API Reference</a></p>
1082          *
1083          * returns a future to the operation so that it can be executed in parallel to other requests.
1084          */
1085         virtual Model::DeleteModelVersionOutcomeCallable DeleteModelVersionCallable(const Model::DeleteModelVersionRequest& request) const;
1086 
1087         /**
1088          * <p>Deletes a model version.</p> <p>You can delete models and model versions in
1089          * Amazon Fraud Detector, provided that they are not associated with a detector
1090          * version.</p> <p> When you delete a model version, Amazon Fraud Detector
1091          * permanently deletes that model version and the data is no longer stored in
1092          * Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1093          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteModelVersion">AWS
1094          * API Reference</a></p>
1095          *
1096          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1097          */
1098         virtual void DeleteModelVersionAsync(const Model::DeleteModelVersionRequest& request, const DeleteModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1099 
1100         /**
1101          * <p>Deletes an outcome.</p> <p>You cannot delete an outcome that is used in a
1102          * rule version.</p> <p>When you delete an outcome, Amazon Fraud Detector
1103          * permanently deletes that outcome and the data is no longer stored in Amazon
1104          * Fraud Detector.</p><p><h3>See Also:</h3>   <a
1105          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteOutcome">AWS
1106          * API Reference</a></p>
1107          */
1108         virtual Model::DeleteOutcomeOutcome DeleteOutcome(const Model::DeleteOutcomeRequest& request) const;
1109 
1110         /**
1111          * <p>Deletes an outcome.</p> <p>You cannot delete an outcome that is used in a
1112          * rule version.</p> <p>When you delete an outcome, Amazon Fraud Detector
1113          * permanently deletes that outcome and the data is no longer stored in Amazon
1114          * Fraud Detector.</p><p><h3>See Also:</h3>   <a
1115          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteOutcome">AWS
1116          * API Reference</a></p>
1117          *
1118          * returns a future to the operation so that it can be executed in parallel to other requests.
1119          */
1120         virtual Model::DeleteOutcomeOutcomeCallable DeleteOutcomeCallable(const Model::DeleteOutcomeRequest& request) const;
1121 
1122         /**
1123          * <p>Deletes an outcome.</p> <p>You cannot delete an outcome that is used in a
1124          * rule version.</p> <p>When you delete an outcome, Amazon Fraud Detector
1125          * permanently deletes that outcome and the data is no longer stored in Amazon
1126          * Fraud Detector.</p><p><h3>See Also:</h3>   <a
1127          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteOutcome">AWS
1128          * API Reference</a></p>
1129          *
1130          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1131          */
1132         virtual void DeleteOutcomeAsync(const Model::DeleteOutcomeRequest& request, const DeleteOutcomeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1133 
1134         /**
1135          * <p>Deletes the rule. You cannot delete a rule if it is used by an
1136          * <code>ACTIVE</code> or <code>INACTIVE</code> detector version.</p> <p>When you
1137          * delete a rule, Amazon Fraud Detector permanently deletes that rule and the data
1138          * is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1139          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteRule">AWS
1140          * API Reference</a></p>
1141          */
1142         virtual Model::DeleteRuleOutcome DeleteRule(const Model::DeleteRuleRequest& request) const;
1143 
1144         /**
1145          * <p>Deletes the rule. You cannot delete a rule if it is used by an
1146          * <code>ACTIVE</code> or <code>INACTIVE</code> detector version.</p> <p>When you
1147          * delete a rule, Amazon Fraud Detector permanently deletes that rule and the data
1148          * is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1149          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteRule">AWS
1150          * API Reference</a></p>
1151          *
1152          * returns a future to the operation so that it can be executed in parallel to other requests.
1153          */
1154         virtual Model::DeleteRuleOutcomeCallable DeleteRuleCallable(const Model::DeleteRuleRequest& request) const;
1155 
1156         /**
1157          * <p>Deletes the rule. You cannot delete a rule if it is used by an
1158          * <code>ACTIVE</code> or <code>INACTIVE</code> detector version.</p> <p>When you
1159          * delete a rule, Amazon Fraud Detector permanently deletes that rule and the data
1160          * is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1161          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteRule">AWS
1162          * API Reference</a></p>
1163          *
1164          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1165          */
1166         virtual void DeleteRuleAsync(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1167 
1168         /**
1169          * <p>Deletes a variable.</p> <p>You can't delete variables that are included in an
1170          * event type in Amazon Fraud Detector.</p> <p>Amazon Fraud Detector automatically
1171          * deletes model output variables and SageMaker model output variables when you
1172          * delete the model. You can't delete these variables manually.</p> <p>When you
1173          * delete a variable, Amazon Fraud Detector permanently deletes that variable and
1174          * the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>
1175          * <a
1176          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteVariable">AWS
1177          * API Reference</a></p>
1178          */
1179         virtual Model::DeleteVariableOutcome DeleteVariable(const Model::DeleteVariableRequest& request) const;
1180 
1181         /**
1182          * <p>Deletes a variable.</p> <p>You can't delete variables that are included in an
1183          * event type in Amazon Fraud Detector.</p> <p>Amazon Fraud Detector automatically
1184          * deletes model output variables and SageMaker model output variables when you
1185          * delete the model. You can't delete these variables manually.</p> <p>When you
1186          * delete a variable, Amazon Fraud Detector permanently deletes that variable and
1187          * the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>
1188          * <a
1189          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteVariable">AWS
1190          * API Reference</a></p>
1191          *
1192          * returns a future to the operation so that it can be executed in parallel to other requests.
1193          */
1194         virtual Model::DeleteVariableOutcomeCallable DeleteVariableCallable(const Model::DeleteVariableRequest& request) const;
1195 
1196         /**
1197          * <p>Deletes a variable.</p> <p>You can't delete variables that are included in an
1198          * event type in Amazon Fraud Detector.</p> <p>Amazon Fraud Detector automatically
1199          * deletes model output variables and SageMaker model output variables when you
1200          * delete the model. You can't delete these variables manually.</p> <p>When you
1201          * delete a variable, Amazon Fraud Detector permanently deletes that variable and
1202          * the data is no longer stored in Amazon Fraud Detector.</p><p><h3>See Also:</h3>
1203          * <a
1204          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteVariable">AWS
1205          * API Reference</a></p>
1206          *
1207          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1208          */
1209         virtual void DeleteVariableAsync(const Model::DeleteVariableRequest& request, const DeleteVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1210 
1211         /**
1212          * <p>Gets all versions for a specified detector.</p><p><h3>See Also:</h3>   <a
1213          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector">AWS
1214          * API Reference</a></p>
1215          */
1216         virtual Model::DescribeDetectorOutcome DescribeDetector(const Model::DescribeDetectorRequest& request) const;
1217 
1218         /**
1219          * <p>Gets all versions for a specified detector.</p><p><h3>See Also:</h3>   <a
1220          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector">AWS
1221          * API Reference</a></p>
1222          *
1223          * returns a future to the operation so that it can be executed in parallel to other requests.
1224          */
1225         virtual Model::DescribeDetectorOutcomeCallable DescribeDetectorCallable(const Model::DescribeDetectorRequest& request) const;
1226 
1227         /**
1228          * <p>Gets all versions for a specified detector.</p><p><h3>See Also:</h3>   <a
1229          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector">AWS
1230          * API Reference</a></p>
1231          *
1232          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1233          */
1234         virtual void DescribeDetectorAsync(const Model::DescribeDetectorRequest& request, const DescribeDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1235 
1236         /**
1237          * <p>Gets all of the model versions for the specified model type or for the
1238          * specified model type and model ID. You can also get details for a single,
1239          * specified model version. </p><p><h3>See Also:</h3>   <a
1240          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions">AWS
1241          * API Reference</a></p>
1242          */
1243         virtual Model::DescribeModelVersionsOutcome DescribeModelVersions(const Model::DescribeModelVersionsRequest& request) const;
1244 
1245         /**
1246          * <p>Gets all of the model versions for the specified model type or for the
1247          * specified model type and model ID. You can also get details for a single,
1248          * specified model version. </p><p><h3>See Also:</h3>   <a
1249          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions">AWS
1250          * API Reference</a></p>
1251          *
1252          * returns a future to the operation so that it can be executed in parallel to other requests.
1253          */
1254         virtual Model::DescribeModelVersionsOutcomeCallable DescribeModelVersionsCallable(const Model::DescribeModelVersionsRequest& request) const;
1255 
1256         /**
1257          * <p>Gets all of the model versions for the specified model type or for the
1258          * specified model type and model ID. You can also get details for a single,
1259          * specified model version. </p><p><h3>See Also:</h3>   <a
1260          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions">AWS
1261          * API Reference</a></p>
1262          *
1263          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1264          */
1265         virtual void DescribeModelVersionsAsync(const Model::DescribeModelVersionsRequest& request, const DescribeModelVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1266 
1267         /**
1268          * <p>Gets all batch import jobs or a specific job of the specified ID. This is a
1269          * paginated API. If you provide a null <code>maxResults</code>, this action
1270          * retrieves a maximum of 50 records per page. If you provide a
1271          * <code>maxResults</code>, the value must be between 1 and 50. To get the next
1272          * page results, provide the pagination token from the
1273          * <code>GetBatchImportJobsResponse</code> as part of your request. A null
1274          * pagination token fetches the records from the beginning.</p><p><h3>See
1275          * Also:</h3>   <a
1276          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchImportJobs">AWS
1277          * API Reference</a></p>
1278          */
1279         virtual Model::GetBatchImportJobsOutcome GetBatchImportJobs(const Model::GetBatchImportJobsRequest& request) const;
1280 
1281         /**
1282          * <p>Gets all batch import jobs or a specific job of the specified ID. This is a
1283          * paginated API. If you provide a null <code>maxResults</code>, this action
1284          * retrieves a maximum of 50 records per page. If you provide a
1285          * <code>maxResults</code>, the value must be between 1 and 50. To get the next
1286          * page results, provide the pagination token from the
1287          * <code>GetBatchImportJobsResponse</code> as part of your request. A null
1288          * pagination token fetches the records from the beginning.</p><p><h3>See
1289          * Also:</h3>   <a
1290          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchImportJobs">AWS
1291          * API Reference</a></p>
1292          *
1293          * returns a future to the operation so that it can be executed in parallel to other requests.
1294          */
1295         virtual Model::GetBatchImportJobsOutcomeCallable GetBatchImportJobsCallable(const Model::GetBatchImportJobsRequest& request) const;
1296 
1297         /**
1298          * <p>Gets all batch import jobs or a specific job of the specified ID. This is a
1299          * paginated API. If you provide a null <code>maxResults</code>, this action
1300          * retrieves a maximum of 50 records per page. If you provide a
1301          * <code>maxResults</code>, the value must be between 1 and 50. To get the next
1302          * page results, provide the pagination token from the
1303          * <code>GetBatchImportJobsResponse</code> as part of your request. A null
1304          * pagination token fetches the records from the beginning.</p><p><h3>See
1305          * Also:</h3>   <a
1306          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchImportJobs">AWS
1307          * API Reference</a></p>
1308          *
1309          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1310          */
1311         virtual void GetBatchImportJobsAsync(const Model::GetBatchImportJobsRequest& request, const GetBatchImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1312 
1313         /**
1314          * <p>Gets all batch prediction jobs or a specific job if you specify a job ID.
1315          * This is a paginated API. If you provide a null maxResults, this action retrieves
1316          * a maximum of 50 records per page. If you provide a maxResults, the value must be
1317          * between 1 and 50. To get the next page results, provide the pagination token
1318          * from the GetBatchPredictionJobsResponse as part of your request. A null
1319          * pagination token fetches the records from the beginning.</p><p><h3>See
1320          * Also:</h3>   <a
1321          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchPredictionJobs">AWS
1322          * API Reference</a></p>
1323          */
1324         virtual Model::GetBatchPredictionJobsOutcome GetBatchPredictionJobs(const Model::GetBatchPredictionJobsRequest& request) const;
1325 
1326         /**
1327          * <p>Gets all batch prediction jobs or a specific job if you specify a job ID.
1328          * This is a paginated API. If you provide a null maxResults, this action retrieves
1329          * a maximum of 50 records per page. If you provide a maxResults, the value must be
1330          * between 1 and 50. To get the next page results, provide the pagination token
1331          * from the GetBatchPredictionJobsResponse as part of your request. A null
1332          * pagination token fetches the records from the beginning.</p><p><h3>See
1333          * Also:</h3>   <a
1334          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchPredictionJobs">AWS
1335          * API Reference</a></p>
1336          *
1337          * returns a future to the operation so that it can be executed in parallel to other requests.
1338          */
1339         virtual Model::GetBatchPredictionJobsOutcomeCallable GetBatchPredictionJobsCallable(const Model::GetBatchPredictionJobsRequest& request) const;
1340 
1341         /**
1342          * <p>Gets all batch prediction jobs or a specific job if you specify a job ID.
1343          * This is a paginated API. If you provide a null maxResults, this action retrieves
1344          * a maximum of 50 records per page. If you provide a maxResults, the value must be
1345          * between 1 and 50. To get the next page results, provide the pagination token
1346          * from the GetBatchPredictionJobsResponse as part of your request. A null
1347          * pagination token fetches the records from the beginning.</p><p><h3>See
1348          * Also:</h3>   <a
1349          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetBatchPredictionJobs">AWS
1350          * API Reference</a></p>
1351          *
1352          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1353          */
1354         virtual void GetBatchPredictionJobsAsync(const Model::GetBatchPredictionJobsRequest& request, const GetBatchPredictionJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1355 
1356         /**
1357          * <p>Retrieves the status of a <code>DeleteEventsByEventType</code>
1358          * action.</p><p><h3>See Also:</h3>   <a
1359          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDeleteEventsByEventTypeStatus">AWS
1360          * API Reference</a></p>
1361          */
1362         virtual Model::GetDeleteEventsByEventTypeStatusOutcome GetDeleteEventsByEventTypeStatus(const Model::GetDeleteEventsByEventTypeStatusRequest& request) const;
1363 
1364         /**
1365          * <p>Retrieves the status of a <code>DeleteEventsByEventType</code>
1366          * action.</p><p><h3>See Also:</h3>   <a
1367          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDeleteEventsByEventTypeStatus">AWS
1368          * API Reference</a></p>
1369          *
1370          * returns a future to the operation so that it can be executed in parallel to other requests.
1371          */
1372         virtual Model::GetDeleteEventsByEventTypeStatusOutcomeCallable GetDeleteEventsByEventTypeStatusCallable(const Model::GetDeleteEventsByEventTypeStatusRequest& request) const;
1373 
1374         /**
1375          * <p>Retrieves the status of a <code>DeleteEventsByEventType</code>
1376          * action.</p><p><h3>See Also:</h3>   <a
1377          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDeleteEventsByEventTypeStatus">AWS
1378          * API Reference</a></p>
1379          *
1380          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1381          */
1382         virtual void GetDeleteEventsByEventTypeStatusAsync(const Model::GetDeleteEventsByEventTypeStatusRequest& request, const GetDeleteEventsByEventTypeStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1383 
1384         /**
1385          * <p>Gets a particular detector version. </p><p><h3>See Also:</h3>   <a
1386          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion">AWS
1387          * API Reference</a></p>
1388          */
1389         virtual Model::GetDetectorVersionOutcome GetDetectorVersion(const Model::GetDetectorVersionRequest& request) const;
1390 
1391         /**
1392          * <p>Gets a particular detector version. </p><p><h3>See Also:</h3>   <a
1393          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion">AWS
1394          * API Reference</a></p>
1395          *
1396          * returns a future to the operation so that it can be executed in parallel to other requests.
1397          */
1398         virtual Model::GetDetectorVersionOutcomeCallable GetDetectorVersionCallable(const Model::GetDetectorVersionRequest& request) const;
1399 
1400         /**
1401          * <p>Gets a particular detector version. </p><p><h3>See Also:</h3>   <a
1402          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion">AWS
1403          * API Reference</a></p>
1404          *
1405          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1406          */
1407         virtual void GetDetectorVersionAsync(const Model::GetDetectorVersionRequest& request, const GetDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1408 
1409         /**
1410          * <p>Gets all detectors or a single detector if a <code>detectorId</code> is
1411          * specified. This is a paginated API. If you provide a null
1412          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1413          * If you provide a <code>maxResults</code>, the value must be between 5 and 10. To
1414          * get the next page results, provide the pagination token from the
1415          * <code>GetDetectorsResponse</code> as part of your request. A null pagination
1416          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1417          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors">AWS
1418          * API Reference</a></p>
1419          */
1420         virtual Model::GetDetectorsOutcome GetDetectors(const Model::GetDetectorsRequest& request) const;
1421 
1422         /**
1423          * <p>Gets all detectors or a single detector if a <code>detectorId</code> is
1424          * specified. This is a paginated API. If you provide a null
1425          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1426          * If you provide a <code>maxResults</code>, the value must be between 5 and 10. To
1427          * get the next page results, provide the pagination token from the
1428          * <code>GetDetectorsResponse</code> as part of your request. A null pagination
1429          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1430          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors">AWS
1431          * API Reference</a></p>
1432          *
1433          * returns a future to the operation so that it can be executed in parallel to other requests.
1434          */
1435         virtual Model::GetDetectorsOutcomeCallable GetDetectorsCallable(const Model::GetDetectorsRequest& request) const;
1436 
1437         /**
1438          * <p>Gets all detectors or a single detector if a <code>detectorId</code> is
1439          * specified. This is a paginated API. If you provide a null
1440          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1441          * If you provide a <code>maxResults</code>, the value must be between 5 and 10. To
1442          * get the next page results, provide the pagination token from the
1443          * <code>GetDetectorsResponse</code> as part of your request. A null pagination
1444          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1445          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors">AWS
1446          * API Reference</a></p>
1447          *
1448          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1449          */
1450         virtual void GetDetectorsAsync(const Model::GetDetectorsRequest& request, const GetDetectorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1451 
1452         /**
1453          * <p>Gets all entity types or a specific entity type if a name is specified. This
1454          * is a paginated API. If you provide a null <code>maxResults</code>, this action
1455          * retrieves a maximum of 10 records per page. If you provide a
1456          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1457          * page results, provide the pagination token from the
1458          * <code>GetEntityTypesResponse</code> as part of your request. A null pagination
1459          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1460          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEntityTypes">AWS
1461          * API Reference</a></p>
1462          */
1463         virtual Model::GetEntityTypesOutcome GetEntityTypes(const Model::GetEntityTypesRequest& request) const;
1464 
1465         /**
1466          * <p>Gets all entity types or a specific entity type if a name is specified. This
1467          * is a paginated API. If you provide a null <code>maxResults</code>, this action
1468          * retrieves a maximum of 10 records per page. If you provide a
1469          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1470          * page results, provide the pagination token from the
1471          * <code>GetEntityTypesResponse</code> as part of your request. A null pagination
1472          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1473          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEntityTypes">AWS
1474          * API Reference</a></p>
1475          *
1476          * returns a future to the operation so that it can be executed in parallel to other requests.
1477          */
1478         virtual Model::GetEntityTypesOutcomeCallable GetEntityTypesCallable(const Model::GetEntityTypesRequest& request) const;
1479 
1480         /**
1481          * <p>Gets all entity types or a specific entity type if a name is specified. This
1482          * is a paginated API. If you provide a null <code>maxResults</code>, this action
1483          * retrieves a maximum of 10 records per page. If you provide a
1484          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1485          * page results, provide the pagination token from the
1486          * <code>GetEntityTypesResponse</code> as part of your request. A null pagination
1487          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1488          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEntityTypes">AWS
1489          * API Reference</a></p>
1490          *
1491          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1492          */
1493         virtual void GetEntityTypesAsync(const Model::GetEntityTypesRequest& request, const GetEntityTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1494 
1495         /**
1496          * <p>Retrieves details of events stored with Amazon Fraud Detector. This action
1497          * does not retrieve prediction results.</p><p><h3>See Also:</h3>   <a
1498          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEvent">AWS
1499          * API Reference</a></p>
1500          */
1501         virtual Model::GetEventOutcome GetEvent(const Model::GetEventRequest& request) const;
1502 
1503         /**
1504          * <p>Retrieves details of events stored with Amazon Fraud Detector. This action
1505          * does not retrieve prediction results.</p><p><h3>See Also:</h3>   <a
1506          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEvent">AWS
1507          * API Reference</a></p>
1508          *
1509          * returns a future to the operation so that it can be executed in parallel to other requests.
1510          */
1511         virtual Model::GetEventOutcomeCallable GetEventCallable(const Model::GetEventRequest& request) const;
1512 
1513         /**
1514          * <p>Retrieves details of events stored with Amazon Fraud Detector. This action
1515          * does not retrieve prediction results.</p><p><h3>See Also:</h3>   <a
1516          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEvent">AWS
1517          * API Reference</a></p>
1518          *
1519          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1520          */
1521         virtual void GetEventAsync(const Model::GetEventRequest& request, const GetEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1522 
1523         /**
1524          * <p>Evaluates an event against a detector version. If a version ID is not
1525          * provided, the detector’s (<code>ACTIVE</code>) version is used.</p><p><h3>See
1526          * Also:</h3>   <a
1527          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventPrediction">AWS
1528          * API Reference</a></p>
1529          */
1530         virtual Model::GetEventPredictionOutcome GetEventPrediction(const Model::GetEventPredictionRequest& request) const;
1531 
1532         /**
1533          * <p>Evaluates an event against a detector version. If a version ID is not
1534          * provided, the detector’s (<code>ACTIVE</code>) version is used.</p><p><h3>See
1535          * Also:</h3>   <a
1536          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventPrediction">AWS
1537          * API Reference</a></p>
1538          *
1539          * returns a future to the operation so that it can be executed in parallel to other requests.
1540          */
1541         virtual Model::GetEventPredictionOutcomeCallable GetEventPredictionCallable(const Model::GetEventPredictionRequest& request) const;
1542 
1543         /**
1544          * <p>Evaluates an event against a detector version. If a version ID is not
1545          * provided, the detector’s (<code>ACTIVE</code>) version is used.</p><p><h3>See
1546          * Also:</h3>   <a
1547          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventPrediction">AWS
1548          * API Reference</a></p>
1549          *
1550          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1551          */
1552         virtual void GetEventPredictionAsync(const Model::GetEventPredictionRequest& request, const GetEventPredictionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1553 
1554         /**
1555          * <p>Gets all event types or a specific event type if name is provided. This is a
1556          * paginated API. If you provide a null <code>maxResults</code>, this action
1557          * retrieves a maximum of 10 records per page. If you provide a
1558          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1559          * page results, provide the pagination token from the
1560          * <code>GetEventTypesResponse</code> as part of your request. A null pagination
1561          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1562          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventTypes">AWS
1563          * API Reference</a></p>
1564          */
1565         virtual Model::GetEventTypesOutcome GetEventTypes(const Model::GetEventTypesRequest& request) const;
1566 
1567         /**
1568          * <p>Gets all event types or a specific event type if name is provided. This is a
1569          * paginated API. If you provide a null <code>maxResults</code>, this action
1570          * retrieves a maximum of 10 records per page. If you provide a
1571          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1572          * page results, provide the pagination token from the
1573          * <code>GetEventTypesResponse</code> as part of your request. A null pagination
1574          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1575          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventTypes">AWS
1576          * API Reference</a></p>
1577          *
1578          * returns a future to the operation so that it can be executed in parallel to other requests.
1579          */
1580         virtual Model::GetEventTypesOutcomeCallable GetEventTypesCallable(const Model::GetEventTypesRequest& request) const;
1581 
1582         /**
1583          * <p>Gets all event types or a specific event type if name is provided. This is a
1584          * paginated API. If you provide a null <code>maxResults</code>, this action
1585          * retrieves a maximum of 10 records per page. If you provide a
1586          * <code>maxResults</code>, the value must be between 5 and 10. To get the next
1587          * page results, provide the pagination token from the
1588          * <code>GetEventTypesResponse</code> as part of your request. A null pagination
1589          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1590          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventTypes">AWS
1591          * API Reference</a></p>
1592          *
1593          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1594          */
1595         virtual void GetEventTypesAsync(const Model::GetEventTypesRequest& request, const GetEventTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1596 
1597         /**
1598          * <p>Gets the details for one or more Amazon SageMaker models that have been
1599          * imported into the service. This is a paginated API. If you provide a null
1600          * <code>maxResults</code>, this actions retrieves a maximum of 10 records per
1601          * page. If you provide a <code>maxResults</code>, the value must be between 5 and
1602          * 10. To get the next page results, provide the pagination token from the
1603          * <code>GetExternalModelsResult</code> as part of your request. A null pagination
1604          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1605          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels">AWS
1606          * API Reference</a></p>
1607          */
1608         virtual Model::GetExternalModelsOutcome GetExternalModels(const Model::GetExternalModelsRequest& request) const;
1609 
1610         /**
1611          * <p>Gets the details for one or more Amazon SageMaker models that have been
1612          * imported into the service. This is a paginated API. If you provide a null
1613          * <code>maxResults</code>, this actions retrieves a maximum of 10 records per
1614          * page. If you provide a <code>maxResults</code>, the value must be between 5 and
1615          * 10. To get the next page results, provide the pagination token from the
1616          * <code>GetExternalModelsResult</code> as part of your request. A null pagination
1617          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1618          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels">AWS
1619          * API Reference</a></p>
1620          *
1621          * returns a future to the operation so that it can be executed in parallel to other requests.
1622          */
1623         virtual Model::GetExternalModelsOutcomeCallable GetExternalModelsCallable(const Model::GetExternalModelsRequest& request) const;
1624 
1625         /**
1626          * <p>Gets the details for one or more Amazon SageMaker models that have been
1627          * imported into the service. This is a paginated API. If you provide a null
1628          * <code>maxResults</code>, this actions retrieves a maximum of 10 records per
1629          * page. If you provide a <code>maxResults</code>, the value must be between 5 and
1630          * 10. To get the next page results, provide the pagination token from the
1631          * <code>GetExternalModelsResult</code> as part of your request. A null pagination
1632          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1633          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels">AWS
1634          * API Reference</a></p>
1635          *
1636          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1637          */
1638         virtual void GetExternalModelsAsync(const Model::GetExternalModelsRequest& request, const GetExternalModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1639 
1640         /**
1641          * <p>Gets the encryption key if a KMS key has been specified to be used to encrypt
1642          * content in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1643          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetKMSEncryptionKey">AWS
1644          * API Reference</a></p>
1645          */
1646         virtual Model::GetKMSEncryptionKeyOutcome GetKMSEncryptionKey() const;
1647 
1648         /**
1649          * <p>Gets the encryption key if a KMS key has been specified to be used to encrypt
1650          * content in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1651          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetKMSEncryptionKey">AWS
1652          * API Reference</a></p>
1653          *
1654          * returns a future to the operation so that it can be executed in parallel to other requests.
1655          */
1656         virtual Model::GetKMSEncryptionKeyOutcomeCallable GetKMSEncryptionKeyCallable() const;
1657 
1658         /**
1659          * <p>Gets the encryption key if a KMS key has been specified to be used to encrypt
1660          * content in Amazon Fraud Detector.</p><p><h3>See Also:</h3>   <a
1661          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetKMSEncryptionKey">AWS
1662          * API Reference</a></p>
1663          *
1664          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1665          */
1666         virtual void GetKMSEncryptionKeyAsync(const GetKMSEncryptionKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1667         /**
1668          * <p>Gets all labels or a specific label if name is provided. This is a paginated
1669          * API. If you provide a null <code>maxResults</code>, this action retrieves a
1670          * maximum of 50 records per page. If you provide a <code>maxResults</code>, the
1671          * value must be between 10 and 50. To get the next page results, provide the
1672          * pagination token from the <code>GetGetLabelsResponse</code> as part of your
1673          * request. A null pagination token fetches the records from the beginning.
1674          * </p><p><h3>See Also:</h3>   <a
1675          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetLabels">AWS
1676          * API Reference</a></p>
1677          */
1678         virtual Model::GetLabelsOutcome GetLabels(const Model::GetLabelsRequest& request) const;
1679 
1680         /**
1681          * <p>Gets all labels or a specific label if name is provided. This is a paginated
1682          * API. If you provide a null <code>maxResults</code>, this action retrieves a
1683          * maximum of 50 records per page. If you provide a <code>maxResults</code>, the
1684          * value must be between 10 and 50. To get the next page results, provide the
1685          * pagination token from the <code>GetGetLabelsResponse</code> as part of your
1686          * request. A null pagination token fetches the records from the beginning.
1687          * </p><p><h3>See Also:</h3>   <a
1688          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetLabels">AWS
1689          * API Reference</a></p>
1690          *
1691          * returns a future to the operation so that it can be executed in parallel to other requests.
1692          */
1693         virtual Model::GetLabelsOutcomeCallable GetLabelsCallable(const Model::GetLabelsRequest& request) const;
1694 
1695         /**
1696          * <p>Gets all labels or a specific label if name is provided. This is a paginated
1697          * API. If you provide a null <code>maxResults</code>, this action retrieves a
1698          * maximum of 50 records per page. If you provide a <code>maxResults</code>, the
1699          * value must be between 10 and 50. To get the next page results, provide the
1700          * pagination token from the <code>GetGetLabelsResponse</code> as part of your
1701          * request. A null pagination token fetches the records from the beginning.
1702          * </p><p><h3>See Also:</h3>   <a
1703          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetLabels">AWS
1704          * API Reference</a></p>
1705          *
1706          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1707          */
1708         virtual void GetLabelsAsync(const Model::GetLabelsRequest& request, const GetLabelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1709 
1710         /**
1711          * <p>Gets the details of the specified model version.</p><p><h3>See Also:</h3>
1712          * <a
1713          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion">AWS
1714          * API Reference</a></p>
1715          */
1716         virtual Model::GetModelVersionOutcome GetModelVersion(const Model::GetModelVersionRequest& request) const;
1717 
1718         /**
1719          * <p>Gets the details of the specified model version.</p><p><h3>See Also:</h3>
1720          * <a
1721          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion">AWS
1722          * API Reference</a></p>
1723          *
1724          * returns a future to the operation so that it can be executed in parallel to other requests.
1725          */
1726         virtual Model::GetModelVersionOutcomeCallable GetModelVersionCallable(const Model::GetModelVersionRequest& request) const;
1727 
1728         /**
1729          * <p>Gets the details of the specified model version.</p><p><h3>See Also:</h3>
1730          * <a
1731          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion">AWS
1732          * API Reference</a></p>
1733          *
1734          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1735          */
1736         virtual void GetModelVersionAsync(const Model::GetModelVersionRequest& request, const GetModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1737 
1738         /**
1739          * <p>Gets one or more models. Gets all models for the Amazon Web Services account
1740          * if no model type and no model id provided. Gets all models for the Amazon Web
1741          * Services account and model type, if the model type is specified but model id is
1742          * not provided. Gets a specific model if (model type, model id) tuple is
1743          * specified. </p> <p>This is a paginated API. If you provide a null
1744          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1745          * If you provide a <code>maxResults</code>, the value must be between 1 and 10. To
1746          * get the next page results, provide the pagination token from the response as
1747          * part of your request. A null pagination token fetches the records from the
1748          * beginning.</p><p><h3>See Also:</h3>   <a
1749          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels">AWS
1750          * API Reference</a></p>
1751          */
1752         virtual Model::GetModelsOutcome GetModels(const Model::GetModelsRequest& request) const;
1753 
1754         /**
1755          * <p>Gets one or more models. Gets all models for the Amazon Web Services account
1756          * if no model type and no model id provided. Gets all models for the Amazon Web
1757          * Services account and model type, if the model type is specified but model id is
1758          * not provided. Gets a specific model if (model type, model id) tuple is
1759          * specified. </p> <p>This is a paginated API. If you provide a null
1760          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1761          * If you provide a <code>maxResults</code>, the value must be between 1 and 10. To
1762          * get the next page results, provide the pagination token from the response as
1763          * part of your request. A null pagination token fetches the records from the
1764          * beginning.</p><p><h3>See Also:</h3>   <a
1765          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels">AWS
1766          * API Reference</a></p>
1767          *
1768          * returns a future to the operation so that it can be executed in parallel to other requests.
1769          */
1770         virtual Model::GetModelsOutcomeCallable GetModelsCallable(const Model::GetModelsRequest& request) const;
1771 
1772         /**
1773          * <p>Gets one or more models. Gets all models for the Amazon Web Services account
1774          * if no model type and no model id provided. Gets all models for the Amazon Web
1775          * Services account and model type, if the model type is specified but model id is
1776          * not provided. Gets a specific model if (model type, model id) tuple is
1777          * specified. </p> <p>This is a paginated API. If you provide a null
1778          * <code>maxResults</code>, this action retrieves a maximum of 10 records per page.
1779          * If you provide a <code>maxResults</code>, the value must be between 1 and 10. To
1780          * get the next page results, provide the pagination token from the response as
1781          * part of your request. A null pagination token fetches the records from the
1782          * beginning.</p><p><h3>See Also:</h3>   <a
1783          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels">AWS
1784          * API Reference</a></p>
1785          *
1786          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1787          */
1788         virtual void GetModelsAsync(const Model::GetModelsRequest& request, const GetModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1789 
1790         /**
1791          * <p>Gets one or more outcomes. This is a paginated API. If you provide a null
1792          * <code>maxResults</code>, this actions retrieves a maximum of 100 records per
1793          * page. If you provide a <code>maxResults</code>, the value must be between 50 and
1794          * 100. To get the next page results, provide the pagination token from the
1795          * <code>GetOutcomesResult</code> as part of your request. A null pagination token
1796          * fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1797          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes">AWS
1798          * API Reference</a></p>
1799          */
1800         virtual Model::GetOutcomesOutcome GetOutcomes(const Model::GetOutcomesRequest& request) const;
1801 
1802         /**
1803          * <p>Gets one or more outcomes. This is a paginated API. If you provide a null
1804          * <code>maxResults</code>, this actions retrieves a maximum of 100 records per
1805          * page. If you provide a <code>maxResults</code>, the value must be between 50 and
1806          * 100. To get the next page results, provide the pagination token from the
1807          * <code>GetOutcomesResult</code> as part of your request. A null pagination token
1808          * fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1809          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes">AWS
1810          * API Reference</a></p>
1811          *
1812          * returns a future to the operation so that it can be executed in parallel to other requests.
1813          */
1814         virtual Model::GetOutcomesOutcomeCallable GetOutcomesCallable(const Model::GetOutcomesRequest& request) const;
1815 
1816         /**
1817          * <p>Gets one or more outcomes. This is a paginated API. If you provide a null
1818          * <code>maxResults</code>, this actions retrieves a maximum of 100 records per
1819          * page. If you provide a <code>maxResults</code>, the value must be between 50 and
1820          * 100. To get the next page results, provide the pagination token from the
1821          * <code>GetOutcomesResult</code> as part of your request. A null pagination token
1822          * fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1823          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes">AWS
1824          * API Reference</a></p>
1825          *
1826          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1827          */
1828         virtual void GetOutcomesAsync(const Model::GetOutcomesRequest& request, const GetOutcomesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1829 
1830         /**
1831          * <p>Get all rules for a detector (paginated) if <code>ruleId</code> and
1832          * <code>ruleVersion</code> are not specified. Gets all rules for the detector and
1833          * the <code>ruleId</code> if present (paginated). Gets a specific rule if both the
1834          * <code>ruleId</code> and the <code>ruleVersion</code> are specified.</p> <p>This
1835          * is a paginated API. Providing null maxResults results in retrieving maximum of
1836          * 100 records per page. If you provide maxResults the value must be between 50 and
1837          * 100. To get the next page result, a provide a pagination token from
1838          * GetRulesResult as part of your request. Null pagination token fetches the
1839          * records from the beginning.</p><p><h3>See Also:</h3>   <a
1840          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules">AWS
1841          * API Reference</a></p>
1842          */
1843         virtual Model::GetRulesOutcome GetRules(const Model::GetRulesRequest& request) const;
1844 
1845         /**
1846          * <p>Get all rules for a detector (paginated) if <code>ruleId</code> and
1847          * <code>ruleVersion</code> are not specified. Gets all rules for the detector and
1848          * the <code>ruleId</code> if present (paginated). Gets a specific rule if both the
1849          * <code>ruleId</code> and the <code>ruleVersion</code> are specified.</p> <p>This
1850          * is a paginated API. Providing null maxResults results in retrieving maximum of
1851          * 100 records per page. If you provide maxResults the value must be between 50 and
1852          * 100. To get the next page result, a provide a pagination token from
1853          * GetRulesResult as part of your request. Null pagination token fetches the
1854          * records from the beginning.</p><p><h3>See Also:</h3>   <a
1855          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules">AWS
1856          * API Reference</a></p>
1857          *
1858          * returns a future to the operation so that it can be executed in parallel to other requests.
1859          */
1860         virtual Model::GetRulesOutcomeCallable GetRulesCallable(const Model::GetRulesRequest& request) const;
1861 
1862         /**
1863          * <p>Get all rules for a detector (paginated) if <code>ruleId</code> and
1864          * <code>ruleVersion</code> are not specified. Gets all rules for the detector and
1865          * the <code>ruleId</code> if present (paginated). Gets a specific rule if both the
1866          * <code>ruleId</code> and the <code>ruleVersion</code> are specified.</p> <p>This
1867          * is a paginated API. Providing null maxResults results in retrieving maximum of
1868          * 100 records per page. If you provide maxResults the value must be between 50 and
1869          * 100. To get the next page result, a provide a pagination token from
1870          * GetRulesResult as part of your request. Null pagination token fetches the
1871          * records from the beginning.</p><p><h3>See Also:</h3>   <a
1872          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules">AWS
1873          * API Reference</a></p>
1874          *
1875          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1876          */
1877         virtual void GetRulesAsync(const Model::GetRulesRequest& request, const GetRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1878 
1879         /**
1880          * <p>Gets all of the variables or the specific variable. This is a paginated API.
1881          * Providing null <code>maxSizePerPage</code> results in retrieving maximum of 100
1882          * records per page. If you provide <code>maxSizePerPage</code> the value must be
1883          * between 50 and 100. To get the next page result, a provide a pagination token
1884          * from <code>GetVariablesResult</code> as part of your request. Null pagination
1885          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1886          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables">AWS
1887          * API Reference</a></p>
1888          */
1889         virtual Model::GetVariablesOutcome GetVariables(const Model::GetVariablesRequest& request) const;
1890 
1891         /**
1892          * <p>Gets all of the variables or the specific variable. This is a paginated API.
1893          * Providing null <code>maxSizePerPage</code> results in retrieving maximum of 100
1894          * records per page. If you provide <code>maxSizePerPage</code> the value must be
1895          * between 50 and 100. To get the next page result, a provide a pagination token
1896          * from <code>GetVariablesResult</code> as part of your request. Null pagination
1897          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1898          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables">AWS
1899          * API Reference</a></p>
1900          *
1901          * returns a future to the operation so that it can be executed in parallel to other requests.
1902          */
1903         virtual Model::GetVariablesOutcomeCallable GetVariablesCallable(const Model::GetVariablesRequest& request) const;
1904 
1905         /**
1906          * <p>Gets all of the variables or the specific variable. This is a paginated API.
1907          * Providing null <code>maxSizePerPage</code> results in retrieving maximum of 100
1908          * records per page. If you provide <code>maxSizePerPage</code> the value must be
1909          * between 50 and 100. To get the next page result, a provide a pagination token
1910          * from <code>GetVariablesResult</code> as part of your request. Null pagination
1911          * token fetches the records from the beginning. </p><p><h3>See Also:</h3>   <a
1912          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables">AWS
1913          * API Reference</a></p>
1914          *
1915          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1916          */
1917         virtual void GetVariablesAsync(const Model::GetVariablesRequest& request, const GetVariablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1918 
1919         /**
1920          * <p>Lists all tags associated with the resource. This is a paginated API. To get
1921          * the next page results, provide the pagination token from the response as part of
1922          * your request. A null pagination token fetches the records from the beginning.
1923          * </p><p><h3>See Also:</h3>   <a
1924          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ListTagsForResource">AWS
1925          * API Reference</a></p>
1926          */
1927         virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
1928 
1929         /**
1930          * <p>Lists all tags associated with the resource. This is a paginated API. To get
1931          * the next page results, provide the pagination token from the response as part of
1932          * your request. A null pagination token fetches the records from the beginning.
1933          * </p><p><h3>See Also:</h3>   <a
1934          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ListTagsForResource">AWS
1935          * API Reference</a></p>
1936          *
1937          * returns a future to the operation so that it can be executed in parallel to other requests.
1938          */
1939         virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
1940 
1941         /**
1942          * <p>Lists all tags associated with the resource. This is a paginated API. To get
1943          * the next page results, provide the pagination token from the response as part of
1944          * your request. A null pagination token fetches the records from the beginning.
1945          * </p><p><h3>See Also:</h3>   <a
1946          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ListTagsForResource">AWS
1947          * API Reference</a></p>
1948          *
1949          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1950          */
1951         virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1952 
1953         /**
1954          * <p>Creates or updates a detector. </p><p><h3>See Also:</h3>   <a
1955          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector">AWS
1956          * API Reference</a></p>
1957          */
1958         virtual Model::PutDetectorOutcome PutDetector(const Model::PutDetectorRequest& request) const;
1959 
1960         /**
1961          * <p>Creates or updates a detector. </p><p><h3>See Also:</h3>   <a
1962          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector">AWS
1963          * API Reference</a></p>
1964          *
1965          * returns a future to the operation so that it can be executed in parallel to other requests.
1966          */
1967         virtual Model::PutDetectorOutcomeCallable PutDetectorCallable(const Model::PutDetectorRequest& request) const;
1968 
1969         /**
1970          * <p>Creates or updates a detector. </p><p><h3>See Also:</h3>   <a
1971          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector">AWS
1972          * API Reference</a></p>
1973          *
1974          * Queues the request into a thread executor and triggers associated callback when operation has finished.
1975          */
1976         virtual void PutDetectorAsync(const Model::PutDetectorRequest& request, const PutDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1977 
1978         /**
1979          * <p>Creates or updates an entity type. An entity represents who is performing the
1980          * event. As part of a fraud prediction, you pass the entity ID to indicate the
1981          * specific entity who performed the event. An entity type classifies the entity.
1982          * Example classifications include customer, merchant, or account.</p><p><h3>See
1983          * Also:</h3>   <a
1984          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEntityType">AWS
1985          * API Reference</a></p>
1986          */
1987         virtual Model::PutEntityTypeOutcome PutEntityType(const Model::PutEntityTypeRequest& request) const;
1988 
1989         /**
1990          * <p>Creates or updates an entity type. An entity represents who is performing the
1991          * event. As part of a fraud prediction, you pass the entity ID to indicate the
1992          * specific entity who performed the event. An entity type classifies the entity.
1993          * Example classifications include customer, merchant, or account.</p><p><h3>See
1994          * Also:</h3>   <a
1995          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEntityType">AWS
1996          * API Reference</a></p>
1997          *
1998          * returns a future to the operation so that it can be executed in parallel to other requests.
1999          */
2000         virtual Model::PutEntityTypeOutcomeCallable PutEntityTypeCallable(const Model::PutEntityTypeRequest& request) const;
2001 
2002         /**
2003          * <p>Creates or updates an entity type. An entity represents who is performing the
2004          * event. As part of a fraud prediction, you pass the entity ID to indicate the
2005          * specific entity who performed the event. An entity type classifies the entity.
2006          * Example classifications include customer, merchant, or account.</p><p><h3>See
2007          * Also:</h3>   <a
2008          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEntityType">AWS
2009          * API Reference</a></p>
2010          *
2011          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2012          */
2013         virtual void PutEntityTypeAsync(const Model::PutEntityTypeRequest& request, const PutEntityTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2014 
2015         /**
2016          * <p>Creates or updates an event type. An event is a business activity that is
2017          * evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud
2018          * predictions for events. An event type defines the structure for an event sent to
2019          * Amazon Fraud Detector. This includes the variables sent as part of the event,
2020          * the entity performing the event (such as a customer), and the labels that
2021          * classify the event. Example event types include online payment transactions,
2022          * account registrations, and authentications.</p><p><h3>See Also:</h3>   <a
2023          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEventType">AWS
2024          * API Reference</a></p>
2025          */
2026         virtual Model::PutEventTypeOutcome PutEventType(const Model::PutEventTypeRequest& request) const;
2027 
2028         /**
2029          * <p>Creates or updates an event type. An event is a business activity that is
2030          * evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud
2031          * predictions for events. An event type defines the structure for an event sent to
2032          * Amazon Fraud Detector. This includes the variables sent as part of the event,
2033          * the entity performing the event (such as a customer), and the labels that
2034          * classify the event. Example event types include online payment transactions,
2035          * account registrations, and authentications.</p><p><h3>See Also:</h3>   <a
2036          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEventType">AWS
2037          * API Reference</a></p>
2038          *
2039          * returns a future to the operation so that it can be executed in parallel to other requests.
2040          */
2041         virtual Model::PutEventTypeOutcomeCallable PutEventTypeCallable(const Model::PutEventTypeRequest& request) const;
2042 
2043         /**
2044          * <p>Creates or updates an event type. An event is a business activity that is
2045          * evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud
2046          * predictions for events. An event type defines the structure for an event sent to
2047          * Amazon Fraud Detector. This includes the variables sent as part of the event,
2048          * the entity performing the event (such as a customer), and the labels that
2049          * classify the event. Example event types include online payment transactions,
2050          * account registrations, and authentications.</p><p><h3>See Also:</h3>   <a
2051          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEventType">AWS
2052          * API Reference</a></p>
2053          *
2054          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2055          */
2056         virtual void PutEventTypeAsync(const Model::PutEventTypeRequest& request, const PutEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2057 
2058         /**
2059          * <p>Creates or updates an Amazon SageMaker model endpoint. You can also use this
2060          * action to update the configuration of the model endpoint, including the IAM role
2061          * and/or the mapped variables. </p><p><h3>See Also:</h3>   <a
2062          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel">AWS
2063          * API Reference</a></p>
2064          */
2065         virtual Model::PutExternalModelOutcome PutExternalModel(const Model::PutExternalModelRequest& request) const;
2066 
2067         /**
2068          * <p>Creates or updates an Amazon SageMaker model endpoint. You can also use this
2069          * action to update the configuration of the model endpoint, including the IAM role
2070          * and/or the mapped variables. </p><p><h3>See Also:</h3>   <a
2071          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel">AWS
2072          * API Reference</a></p>
2073          *
2074          * returns a future to the operation so that it can be executed in parallel to other requests.
2075          */
2076         virtual Model::PutExternalModelOutcomeCallable PutExternalModelCallable(const Model::PutExternalModelRequest& request) const;
2077 
2078         /**
2079          * <p>Creates or updates an Amazon SageMaker model endpoint. You can also use this
2080          * action to update the configuration of the model endpoint, including the IAM role
2081          * and/or the mapped variables. </p><p><h3>See Also:</h3>   <a
2082          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel">AWS
2083          * API Reference</a></p>
2084          *
2085          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2086          */
2087         virtual void PutExternalModelAsync(const Model::PutExternalModelRequest& request, const PutExternalModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2088 
2089         /**
2090          * <p>Specifies the KMS key to be used to encrypt content in Amazon Fraud
2091          * Detector.</p><p><h3>See Also:</h3>   <a
2092          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutKMSEncryptionKey">AWS
2093          * API Reference</a></p>
2094          */
2095         virtual Model::PutKMSEncryptionKeyOutcome PutKMSEncryptionKey(const Model::PutKMSEncryptionKeyRequest& request) const;
2096 
2097         /**
2098          * <p>Specifies the KMS key to be used to encrypt content in Amazon Fraud
2099          * Detector.</p><p><h3>See Also:</h3>   <a
2100          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutKMSEncryptionKey">AWS
2101          * API Reference</a></p>
2102          *
2103          * returns a future to the operation so that it can be executed in parallel to other requests.
2104          */
2105         virtual Model::PutKMSEncryptionKeyOutcomeCallable PutKMSEncryptionKeyCallable(const Model::PutKMSEncryptionKeyRequest& request) const;
2106 
2107         /**
2108          * <p>Specifies the KMS key to be used to encrypt content in Amazon Fraud
2109          * Detector.</p><p><h3>See Also:</h3>   <a
2110          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutKMSEncryptionKey">AWS
2111          * API Reference</a></p>
2112          *
2113          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2114          */
2115         virtual void PutKMSEncryptionKeyAsync(const Model::PutKMSEncryptionKeyRequest& request, const PutKMSEncryptionKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2116 
2117         /**
2118          * <p>Creates or updates label. A label classifies an event as fraudulent or
2119          * legitimate. Labels are associated with event types and used to train supervised
2120          * machine learning models in Amazon Fraud Detector. </p><p><h3>See Also:</h3>   <a
2121          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutLabel">AWS
2122          * API Reference</a></p>
2123          */
2124         virtual Model::PutLabelOutcome PutLabel(const Model::PutLabelRequest& request) const;
2125 
2126         /**
2127          * <p>Creates or updates label. A label classifies an event as fraudulent or
2128          * legitimate. Labels are associated with event types and used to train supervised
2129          * machine learning models in Amazon Fraud Detector. </p><p><h3>See Also:</h3>   <a
2130          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutLabel">AWS
2131          * API Reference</a></p>
2132          *
2133          * returns a future to the operation so that it can be executed in parallel to other requests.
2134          */
2135         virtual Model::PutLabelOutcomeCallable PutLabelCallable(const Model::PutLabelRequest& request) const;
2136 
2137         /**
2138          * <p>Creates or updates label. A label classifies an event as fraudulent or
2139          * legitimate. Labels are associated with event types and used to train supervised
2140          * machine learning models in Amazon Fraud Detector. </p><p><h3>See Also:</h3>   <a
2141          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutLabel">AWS
2142          * API Reference</a></p>
2143          *
2144          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2145          */
2146         virtual void PutLabelAsync(const Model::PutLabelRequest& request, const PutLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2147 
2148         /**
2149          * <p>Creates or updates an outcome. </p><p><h3>See Also:</h3>   <a
2150          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome">AWS
2151          * API Reference</a></p>
2152          */
2153         virtual Model::PutOutcomeOutcome PutOutcome(const Model::PutOutcomeRequest& request) const;
2154 
2155         /**
2156          * <p>Creates or updates an outcome. </p><p><h3>See Also:</h3>   <a
2157          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome">AWS
2158          * API Reference</a></p>
2159          *
2160          * returns a future to the operation so that it can be executed in parallel to other requests.
2161          */
2162         virtual Model::PutOutcomeOutcomeCallable PutOutcomeCallable(const Model::PutOutcomeRequest& request) const;
2163 
2164         /**
2165          * <p>Creates or updates an outcome. </p><p><h3>See Also:</h3>   <a
2166          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome">AWS
2167          * API Reference</a></p>
2168          *
2169          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2170          */
2171         virtual void PutOutcomeAsync(const Model::PutOutcomeRequest& request, const PutOutcomeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2172 
2173         /**
2174          * <p>Stores events in Amazon Fraud Detector without generating fraud predictions
2175          * for those events. For example, you can use <code>SendEvent</code> to upload a
2176          * historical dataset, which you can then later use to train a model.</p><p><h3>See
2177          * Also:</h3>   <a
2178          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/SendEvent">AWS
2179          * API Reference</a></p>
2180          */
2181         virtual Model::SendEventOutcome SendEvent(const Model::SendEventRequest& request) const;
2182 
2183         /**
2184          * <p>Stores events in Amazon Fraud Detector without generating fraud predictions
2185          * for those events. For example, you can use <code>SendEvent</code> to upload a
2186          * historical dataset, which you can then later use to train a model.</p><p><h3>See
2187          * Also:</h3>   <a
2188          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/SendEvent">AWS
2189          * API Reference</a></p>
2190          *
2191          * returns a future to the operation so that it can be executed in parallel to other requests.
2192          */
2193         virtual Model::SendEventOutcomeCallable SendEventCallable(const Model::SendEventRequest& request) const;
2194 
2195         /**
2196          * <p>Stores events in Amazon Fraud Detector without generating fraud predictions
2197          * for those events. For example, you can use <code>SendEvent</code> to upload a
2198          * historical dataset, which you can then later use to train a model.</p><p><h3>See
2199          * Also:</h3>   <a
2200          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/SendEvent">AWS
2201          * API Reference</a></p>
2202          *
2203          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2204          */
2205         virtual void SendEventAsync(const Model::SendEventRequest& request, const SendEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2206 
2207         /**
2208          * <p>Assigns tags to a resource.</p><p><h3>See Also:</h3>   <a
2209          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/TagResource">AWS
2210          * API Reference</a></p>
2211          */
2212         virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
2213 
2214         /**
2215          * <p>Assigns tags to a resource.</p><p><h3>See Also:</h3>   <a
2216          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/TagResource">AWS
2217          * API Reference</a></p>
2218          *
2219          * returns a future to the operation so that it can be executed in parallel to other requests.
2220          */
2221         virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
2222 
2223         /**
2224          * <p>Assigns tags to a resource.</p><p><h3>See Also:</h3>   <a
2225          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/TagResource">AWS
2226          * API Reference</a></p>
2227          *
2228          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2229          */
2230         virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2231 
2232         /**
2233          * <p>Removes tags from a resource.</p><p><h3>See Also:</h3>   <a
2234          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UntagResource">AWS
2235          * API Reference</a></p>
2236          */
2237         virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
2238 
2239         /**
2240          * <p>Removes tags from a resource.</p><p><h3>See Also:</h3>   <a
2241          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UntagResource">AWS
2242          * API Reference</a></p>
2243          *
2244          * returns a future to the operation so that it can be executed in parallel to other requests.
2245          */
2246         virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
2247 
2248         /**
2249          * <p>Removes tags from a resource.</p><p><h3>See Also:</h3>   <a
2250          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UntagResource">AWS
2251          * API Reference</a></p>
2252          *
2253          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2254          */
2255         virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2256 
2257         /**
2258          * <p> Updates a detector version. The detector version attributes that you can
2259          * update include models, external model endpoints, rules, rule execution mode, and
2260          * description. You can only update a <code>DRAFT</code> detector
2261          * version.</p><p><h3>See Also:</h3>   <a
2262          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion">AWS
2263          * API Reference</a></p>
2264          */
2265         virtual Model::UpdateDetectorVersionOutcome UpdateDetectorVersion(const Model::UpdateDetectorVersionRequest& request) const;
2266 
2267         /**
2268          * <p> Updates a detector version. The detector version attributes that you can
2269          * update include models, external model endpoints, rules, rule execution mode, and
2270          * description. You can only update a <code>DRAFT</code> detector
2271          * version.</p><p><h3>See Also:</h3>   <a
2272          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion">AWS
2273          * API Reference</a></p>
2274          *
2275          * returns a future to the operation so that it can be executed in parallel to other requests.
2276          */
2277         virtual Model::UpdateDetectorVersionOutcomeCallable UpdateDetectorVersionCallable(const Model::UpdateDetectorVersionRequest& request) const;
2278 
2279         /**
2280          * <p> Updates a detector version. The detector version attributes that you can
2281          * update include models, external model endpoints, rules, rule execution mode, and
2282          * description. You can only update a <code>DRAFT</code> detector
2283          * version.</p><p><h3>See Also:</h3>   <a
2284          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion">AWS
2285          * API Reference</a></p>
2286          *
2287          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2288          */
2289         virtual void UpdateDetectorVersionAsync(const Model::UpdateDetectorVersionRequest& request, const UpdateDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2290 
2291         /**
2292          * <p>Updates the detector version's description. You can update the metadata for
2293          * any detector version (<code>DRAFT, ACTIVE,</code> or <code>INACTIVE</code>).
2294          * </p><p><h3>See Also:</h3>   <a
2295          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata">AWS
2296          * API Reference</a></p>
2297          */
2298         virtual Model::UpdateDetectorVersionMetadataOutcome UpdateDetectorVersionMetadata(const Model::UpdateDetectorVersionMetadataRequest& request) const;
2299 
2300         /**
2301          * <p>Updates the detector version's description. You can update the metadata for
2302          * any detector version (<code>DRAFT, ACTIVE,</code> or <code>INACTIVE</code>).
2303          * </p><p><h3>See Also:</h3>   <a
2304          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata">AWS
2305          * API Reference</a></p>
2306          *
2307          * returns a future to the operation so that it can be executed in parallel to other requests.
2308          */
2309         virtual Model::UpdateDetectorVersionMetadataOutcomeCallable UpdateDetectorVersionMetadataCallable(const Model::UpdateDetectorVersionMetadataRequest& request) const;
2310 
2311         /**
2312          * <p>Updates the detector version's description. You can update the metadata for
2313          * any detector version (<code>DRAFT, ACTIVE,</code> or <code>INACTIVE</code>).
2314          * </p><p><h3>See Also:</h3>   <a
2315          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata">AWS
2316          * API Reference</a></p>
2317          *
2318          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2319          */
2320         virtual void UpdateDetectorVersionMetadataAsync(const Model::UpdateDetectorVersionMetadataRequest& request, const UpdateDetectorVersionMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2321 
2322         /**
2323          * <p>Updates the detector version’s status. You can perform the following
2324          * promotions or demotions using <code>UpdateDetectorVersionStatus</code>:
2325          * <code>DRAFT</code> to <code>ACTIVE</code>, <code>ACTIVE</code> to
2326          * <code>INACTIVE</code>, and <code>INACTIVE</code> to
2327          * <code>ACTIVE</code>.</p><p><h3>See Also:</h3>   <a
2328          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus">AWS
2329          * API Reference</a></p>
2330          */
2331         virtual Model::UpdateDetectorVersionStatusOutcome UpdateDetectorVersionStatus(const Model::UpdateDetectorVersionStatusRequest& request) const;
2332 
2333         /**
2334          * <p>Updates the detector version’s status. You can perform the following
2335          * promotions or demotions using <code>UpdateDetectorVersionStatus</code>:
2336          * <code>DRAFT</code> to <code>ACTIVE</code>, <code>ACTIVE</code> to
2337          * <code>INACTIVE</code>, and <code>INACTIVE</code> to
2338          * <code>ACTIVE</code>.</p><p><h3>See Also:</h3>   <a
2339          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus">AWS
2340          * API Reference</a></p>
2341          *
2342          * returns a future to the operation so that it can be executed in parallel to other requests.
2343          */
2344         virtual Model::UpdateDetectorVersionStatusOutcomeCallable UpdateDetectorVersionStatusCallable(const Model::UpdateDetectorVersionStatusRequest& request) const;
2345 
2346         /**
2347          * <p>Updates the detector version’s status. You can perform the following
2348          * promotions or demotions using <code>UpdateDetectorVersionStatus</code>:
2349          * <code>DRAFT</code> to <code>ACTIVE</code>, <code>ACTIVE</code> to
2350          * <code>INACTIVE</code>, and <code>INACTIVE</code> to
2351          * <code>ACTIVE</code>.</p><p><h3>See Also:</h3>   <a
2352          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus">AWS
2353          * API Reference</a></p>
2354          *
2355          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2356          */
2357         virtual void UpdateDetectorVersionStatusAsync(const Model::UpdateDetectorVersionStatusRequest& request, const UpdateDetectorVersionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2358 
2359         /**
2360          * <p>Updates the specified event with a new label.</p><p><h3>See Also:</h3>   <a
2361          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateEventLabel">AWS
2362          * API Reference</a></p>
2363          */
2364         virtual Model::UpdateEventLabelOutcome UpdateEventLabel(const Model::UpdateEventLabelRequest& request) const;
2365 
2366         /**
2367          * <p>Updates the specified event with a new label.</p><p><h3>See Also:</h3>   <a
2368          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateEventLabel">AWS
2369          * API Reference</a></p>
2370          *
2371          * returns a future to the operation so that it can be executed in parallel to other requests.
2372          */
2373         virtual Model::UpdateEventLabelOutcomeCallable UpdateEventLabelCallable(const Model::UpdateEventLabelRequest& request) const;
2374 
2375         /**
2376          * <p>Updates the specified event with a new label.</p><p><h3>See Also:</h3>   <a
2377          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateEventLabel">AWS
2378          * API Reference</a></p>
2379          *
2380          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2381          */
2382         virtual void UpdateEventLabelAsync(const Model::UpdateEventLabelRequest& request, const UpdateEventLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2383 
2384         /**
2385          * <p>Updates model description.</p><p><h3>See Also:</h3>   <a
2386          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModel">AWS
2387          * API Reference</a></p>
2388          */
2389         virtual Model::UpdateModelOutcome UpdateModel(const Model::UpdateModelRequest& request) const;
2390 
2391         /**
2392          * <p>Updates model description.</p><p><h3>See Also:</h3>   <a
2393          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModel">AWS
2394          * API Reference</a></p>
2395          *
2396          * returns a future to the operation so that it can be executed in parallel to other requests.
2397          */
2398         virtual Model::UpdateModelOutcomeCallable UpdateModelCallable(const Model::UpdateModelRequest& request) const;
2399 
2400         /**
2401          * <p>Updates model description.</p><p><h3>See Also:</h3>   <a
2402          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModel">AWS
2403          * API Reference</a></p>
2404          *
2405          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2406          */
2407         virtual void UpdateModelAsync(const Model::UpdateModelRequest& request, const UpdateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2408 
2409         /**
2410          * <p>Updates a model version. Updating a model version retrains an existing model
2411          * version using updated training data and produces a new minor version of the
2412          * model. You can update the training data set location and data access role
2413          * attributes using this action. This action creates and trains a new minor version
2414          * of the model, for example version 1.01, 1.02, 1.03.</p><p><h3>See Also:</h3>
2415          * <a
2416          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion">AWS
2417          * API Reference</a></p>
2418          */
2419         virtual Model::UpdateModelVersionOutcome UpdateModelVersion(const Model::UpdateModelVersionRequest& request) const;
2420 
2421         /**
2422          * <p>Updates a model version. Updating a model version retrains an existing model
2423          * version using updated training data and produces a new minor version of the
2424          * model. You can update the training data set location and data access role
2425          * attributes using this action. This action creates and trains a new minor version
2426          * of the model, for example version 1.01, 1.02, 1.03.</p><p><h3>See Also:</h3>
2427          * <a
2428          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion">AWS
2429          * API Reference</a></p>
2430          *
2431          * returns a future to the operation so that it can be executed in parallel to other requests.
2432          */
2433         virtual Model::UpdateModelVersionOutcomeCallable UpdateModelVersionCallable(const Model::UpdateModelVersionRequest& request) const;
2434 
2435         /**
2436          * <p>Updates a model version. Updating a model version retrains an existing model
2437          * version using updated training data and produces a new minor version of the
2438          * model. You can update the training data set location and data access role
2439          * attributes using this action. This action creates and trains a new minor version
2440          * of the model, for example version 1.01, 1.02, 1.03.</p><p><h3>See Also:</h3>
2441          * <a
2442          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion">AWS
2443          * API Reference</a></p>
2444          *
2445          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2446          */
2447         virtual void UpdateModelVersionAsync(const Model::UpdateModelVersionRequest& request, const UpdateModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2448 
2449         /**
2450          * <p>Updates the status of a model version.</p> <p>You can perform the following
2451          * status updates:</p> <ol> <li> <p>Change the <code>TRAINING_COMPLETE</code>
2452          * status to <code>ACTIVE</code>.</p> </li> <li> <p>Change <code>ACTIVE</code> to
2453          * <code>INACTIVE</code>.</p> </li> </ol><p><h3>See Also:</h3>   <a
2454          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersionStatus">AWS
2455          * API Reference</a></p>
2456          */
2457         virtual Model::UpdateModelVersionStatusOutcome UpdateModelVersionStatus(const Model::UpdateModelVersionStatusRequest& request) const;
2458 
2459         /**
2460          * <p>Updates the status of a model version.</p> <p>You can perform the following
2461          * status updates:</p> <ol> <li> <p>Change the <code>TRAINING_COMPLETE</code>
2462          * status to <code>ACTIVE</code>.</p> </li> <li> <p>Change <code>ACTIVE</code> to
2463          * <code>INACTIVE</code>.</p> </li> </ol><p><h3>See Also:</h3>   <a
2464          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersionStatus">AWS
2465          * API Reference</a></p>
2466          *
2467          * returns a future to the operation so that it can be executed in parallel to other requests.
2468          */
2469         virtual Model::UpdateModelVersionStatusOutcomeCallable UpdateModelVersionStatusCallable(const Model::UpdateModelVersionStatusRequest& request) const;
2470 
2471         /**
2472          * <p>Updates the status of a model version.</p> <p>You can perform the following
2473          * status updates:</p> <ol> <li> <p>Change the <code>TRAINING_COMPLETE</code>
2474          * status to <code>ACTIVE</code>.</p> </li> <li> <p>Change <code>ACTIVE</code> to
2475          * <code>INACTIVE</code>.</p> </li> </ol><p><h3>See Also:</h3>   <a
2476          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersionStatus">AWS
2477          * API Reference</a></p>
2478          *
2479          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2480          */
2481         virtual void UpdateModelVersionStatusAsync(const Model::UpdateModelVersionStatusRequest& request, const UpdateModelVersionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2482 
2483         /**
2484          * <p>Updates a rule's metadata. The description attribute can be
2485          * updated.</p><p><h3>See Also:</h3>   <a
2486          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata">AWS
2487          * API Reference</a></p>
2488          */
2489         virtual Model::UpdateRuleMetadataOutcome UpdateRuleMetadata(const Model::UpdateRuleMetadataRequest& request) const;
2490 
2491         /**
2492          * <p>Updates a rule's metadata. The description attribute can be
2493          * updated.</p><p><h3>See Also:</h3>   <a
2494          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata">AWS
2495          * API Reference</a></p>
2496          *
2497          * returns a future to the operation so that it can be executed in parallel to other requests.
2498          */
2499         virtual Model::UpdateRuleMetadataOutcomeCallable UpdateRuleMetadataCallable(const Model::UpdateRuleMetadataRequest& request) const;
2500 
2501         /**
2502          * <p>Updates a rule's metadata. The description attribute can be
2503          * updated.</p><p><h3>See Also:</h3>   <a
2504          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata">AWS
2505          * API Reference</a></p>
2506          *
2507          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2508          */
2509         virtual void UpdateRuleMetadataAsync(const Model::UpdateRuleMetadataRequest& request, const UpdateRuleMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2510 
2511         /**
2512          * <p>Updates a rule version resulting in a new rule version. Updates a rule
2513          * version resulting in a new rule version (version 1, 2, 3 ...). </p><p><h3>See
2514          * Also:</h3>   <a
2515          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion">AWS
2516          * API Reference</a></p>
2517          */
2518         virtual Model::UpdateRuleVersionOutcome UpdateRuleVersion(const Model::UpdateRuleVersionRequest& request) const;
2519 
2520         /**
2521          * <p>Updates a rule version resulting in a new rule version. Updates a rule
2522          * version resulting in a new rule version (version 1, 2, 3 ...). </p><p><h3>See
2523          * Also:</h3>   <a
2524          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion">AWS
2525          * API Reference</a></p>
2526          *
2527          * returns a future to the operation so that it can be executed in parallel to other requests.
2528          */
2529         virtual Model::UpdateRuleVersionOutcomeCallable UpdateRuleVersionCallable(const Model::UpdateRuleVersionRequest& request) const;
2530 
2531         /**
2532          * <p>Updates a rule version resulting in a new rule version. Updates a rule
2533          * version resulting in a new rule version (version 1, 2, 3 ...). </p><p><h3>See
2534          * Also:</h3>   <a
2535          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion">AWS
2536          * API Reference</a></p>
2537          *
2538          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2539          */
2540         virtual void UpdateRuleVersionAsync(const Model::UpdateRuleVersionRequest& request, const UpdateRuleVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2541 
2542         /**
2543          * <p>Updates a variable.</p><p><h3>See Also:</h3>   <a
2544          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable">AWS
2545          * API Reference</a></p>
2546          */
2547         virtual Model::UpdateVariableOutcome UpdateVariable(const Model::UpdateVariableRequest& request) const;
2548 
2549         /**
2550          * <p>Updates a variable.</p><p><h3>See Also:</h3>   <a
2551          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable">AWS
2552          * API Reference</a></p>
2553          *
2554          * returns a future to the operation so that it can be executed in parallel to other requests.
2555          */
2556         virtual Model::UpdateVariableOutcomeCallable UpdateVariableCallable(const Model::UpdateVariableRequest& request) const;
2557 
2558         /**
2559          * <p>Updates a variable.</p><p><h3>See Also:</h3>   <a
2560          * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable">AWS
2561          * API Reference</a></p>
2562          *
2563          * Queues the request into a thread executor and triggers associated callback when operation has finished.
2564          */
2565         virtual void UpdateVariableAsync(const Model::UpdateVariableRequest& request, const UpdateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
2566 
2567 
2568       void OverrideEndpoint(const Aws::String& endpoint);
2569     private:
2570       void init(const Aws::Client::ClientConfiguration& clientConfiguration);
2571         void BatchCreateVariableAsyncHelper(const Model::BatchCreateVariableRequest& request, const BatchCreateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2572         void BatchGetVariableAsyncHelper(const Model::BatchGetVariableRequest& request, const BatchGetVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2573         void CancelBatchImportJobAsyncHelper(const Model::CancelBatchImportJobRequest& request, const CancelBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2574         void CancelBatchPredictionJobAsyncHelper(const Model::CancelBatchPredictionJobRequest& request, const CancelBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2575         void CreateBatchImportJobAsyncHelper(const Model::CreateBatchImportJobRequest& request, const CreateBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2576         void CreateBatchPredictionJobAsyncHelper(const Model::CreateBatchPredictionJobRequest& request, const CreateBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2577         void CreateDetectorVersionAsyncHelper(const Model::CreateDetectorVersionRequest& request, const CreateDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2578         void CreateModelAsyncHelper(const Model::CreateModelRequest& request, const CreateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2579         void CreateModelVersionAsyncHelper(const Model::CreateModelVersionRequest& request, const CreateModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2580         void CreateRuleAsyncHelper(const Model::CreateRuleRequest& request, const CreateRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2581         void CreateVariableAsyncHelper(const Model::CreateVariableRequest& request, const CreateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2582         void DeleteBatchImportJobAsyncHelper(const Model::DeleteBatchImportJobRequest& request, const DeleteBatchImportJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2583         void DeleteBatchPredictionJobAsyncHelper(const Model::DeleteBatchPredictionJobRequest& request, const DeleteBatchPredictionJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2584         void DeleteDetectorAsyncHelper(const Model::DeleteDetectorRequest& request, const DeleteDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2585         void DeleteDetectorVersionAsyncHelper(const Model::DeleteDetectorVersionRequest& request, const DeleteDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2586         void DeleteEntityTypeAsyncHelper(const Model::DeleteEntityTypeRequest& request, const DeleteEntityTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2587         void DeleteEventAsyncHelper(const Model::DeleteEventRequest& request, const DeleteEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2588         void DeleteEventTypeAsyncHelper(const Model::DeleteEventTypeRequest& request, const DeleteEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2589         void DeleteEventsByEventTypeAsyncHelper(const Model::DeleteEventsByEventTypeRequest& request, const DeleteEventsByEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2590         void DeleteExternalModelAsyncHelper(const Model::DeleteExternalModelRequest& request, const DeleteExternalModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2591         void DeleteLabelAsyncHelper(const Model::DeleteLabelRequest& request, const DeleteLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2592         void DeleteModelAsyncHelper(const Model::DeleteModelRequest& request, const DeleteModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2593         void DeleteModelVersionAsyncHelper(const Model::DeleteModelVersionRequest& request, const DeleteModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2594         void DeleteOutcomeAsyncHelper(const Model::DeleteOutcomeRequest& request, const DeleteOutcomeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2595         void DeleteRuleAsyncHelper(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2596         void DeleteVariableAsyncHelper(const Model::DeleteVariableRequest& request, const DeleteVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2597         void DescribeDetectorAsyncHelper(const Model::DescribeDetectorRequest& request, const DescribeDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2598         void DescribeModelVersionsAsyncHelper(const Model::DescribeModelVersionsRequest& request, const DescribeModelVersionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2599         void GetBatchImportJobsAsyncHelper(const Model::GetBatchImportJobsRequest& request, const GetBatchImportJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2600         void GetBatchPredictionJobsAsyncHelper(const Model::GetBatchPredictionJobsRequest& request, const GetBatchPredictionJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2601         void GetDeleteEventsByEventTypeStatusAsyncHelper(const Model::GetDeleteEventsByEventTypeStatusRequest& request, const GetDeleteEventsByEventTypeStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2602         void GetDetectorVersionAsyncHelper(const Model::GetDetectorVersionRequest& request, const GetDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2603         void GetDetectorsAsyncHelper(const Model::GetDetectorsRequest& request, const GetDetectorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2604         void GetEntityTypesAsyncHelper(const Model::GetEntityTypesRequest& request, const GetEntityTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2605         void GetEventAsyncHelper(const Model::GetEventRequest& request, const GetEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2606         void GetEventPredictionAsyncHelper(const Model::GetEventPredictionRequest& request, const GetEventPredictionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2607         void GetEventTypesAsyncHelper(const Model::GetEventTypesRequest& request, const GetEventTypesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2608         void GetExternalModelsAsyncHelper(const Model::GetExternalModelsRequest& request, const GetExternalModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2609         void GetKMSEncryptionKeyAsyncHelper(const GetKMSEncryptionKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2610         void GetLabelsAsyncHelper(const Model::GetLabelsRequest& request, const GetLabelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2611         void GetModelVersionAsyncHelper(const Model::GetModelVersionRequest& request, const GetModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2612         void GetModelsAsyncHelper(const Model::GetModelsRequest& request, const GetModelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2613         void GetOutcomesAsyncHelper(const Model::GetOutcomesRequest& request, const GetOutcomesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2614         void GetRulesAsyncHelper(const Model::GetRulesRequest& request, const GetRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2615         void GetVariablesAsyncHelper(const Model::GetVariablesRequest& request, const GetVariablesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2616         void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2617         void PutDetectorAsyncHelper(const Model::PutDetectorRequest& request, const PutDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2618         void PutEntityTypeAsyncHelper(const Model::PutEntityTypeRequest& request, const PutEntityTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2619         void PutEventTypeAsyncHelper(const Model::PutEventTypeRequest& request, const PutEventTypeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2620         void PutExternalModelAsyncHelper(const Model::PutExternalModelRequest& request, const PutExternalModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2621         void PutKMSEncryptionKeyAsyncHelper(const Model::PutKMSEncryptionKeyRequest& request, const PutKMSEncryptionKeyResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2622         void PutLabelAsyncHelper(const Model::PutLabelRequest& request, const PutLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2623         void PutOutcomeAsyncHelper(const Model::PutOutcomeRequest& request, const PutOutcomeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2624         void SendEventAsyncHelper(const Model::SendEventRequest& request, const SendEventResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2625         void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2626         void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2627         void UpdateDetectorVersionAsyncHelper(const Model::UpdateDetectorVersionRequest& request, const UpdateDetectorVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2628         void UpdateDetectorVersionMetadataAsyncHelper(const Model::UpdateDetectorVersionMetadataRequest& request, const UpdateDetectorVersionMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2629         void UpdateDetectorVersionStatusAsyncHelper(const Model::UpdateDetectorVersionStatusRequest& request, const UpdateDetectorVersionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2630         void UpdateEventLabelAsyncHelper(const Model::UpdateEventLabelRequest& request, const UpdateEventLabelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2631         void UpdateModelAsyncHelper(const Model::UpdateModelRequest& request, const UpdateModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2632         void UpdateModelVersionAsyncHelper(const Model::UpdateModelVersionRequest& request, const UpdateModelVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2633         void UpdateModelVersionStatusAsyncHelper(const Model::UpdateModelVersionStatusRequest& request, const UpdateModelVersionStatusResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2634         void UpdateRuleMetadataAsyncHelper(const Model::UpdateRuleMetadataRequest& request, const UpdateRuleMetadataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2635         void UpdateRuleVersionAsyncHelper(const Model::UpdateRuleVersionRequest& request, const UpdateRuleVersionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2636         void UpdateVariableAsyncHelper(const Model::UpdateVariableRequest& request, const UpdateVariableResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
2637 
2638       Aws::String m_uri;
2639       Aws::String m_configScheme;
2640       std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
2641   };
2642 
2643 } // namespace FraudDetector
2644 } // namespace Aws
2645