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/core/utils/memory/stl/AWSString.h>
9 #include <aws/frauddetector/model/ModelTypeEnum.h>
10 #include <aws/frauddetector/model/TrainingDataSourceEnum.h>
11 #include <aws/frauddetector/model/TrainingDataSchema.h>
12 #include <aws/frauddetector/model/ExternalEventsDetail.h>
13 #include <aws/frauddetector/model/IngestedEventsDetail.h>
14 #include <aws/frauddetector/model/TrainingResult.h>
15 #include <utility>
16 
17 namespace Aws
18 {
19 namespace Utils
20 {
21 namespace Json
22 {
23   class JsonValue;
24   class JsonView;
25 } // namespace Json
26 } // namespace Utils
27 namespace FraudDetector
28 {
29 namespace Model
30 {
31 
32   /**
33    * <p>The details of the model version.</p><p><h3>See Also:</h3>   <a
34    * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ModelVersionDetail">AWS
35    * API Reference</a></p>
36    */
37   class AWS_FRAUDDETECTOR_API ModelVersionDetail
38   {
39   public:
40     ModelVersionDetail();
41     ModelVersionDetail(Aws::Utils::Json::JsonView jsonValue);
42     ModelVersionDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
43     Aws::Utils::Json::JsonValue Jsonize() const;
44 
45 
46     /**
47      * <p>The model ID.</p>
48      */
GetModelId()49     inline const Aws::String& GetModelId() const{ return m_modelId; }
50 
51     /**
52      * <p>The model ID.</p>
53      */
ModelIdHasBeenSet()54     inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; }
55 
56     /**
57      * <p>The model ID.</p>
58      */
SetModelId(const Aws::String & value)59     inline void SetModelId(const Aws::String& value) { m_modelIdHasBeenSet = true; m_modelId = value; }
60 
61     /**
62      * <p>The model ID.</p>
63      */
SetModelId(Aws::String && value)64     inline void SetModelId(Aws::String&& value) { m_modelIdHasBeenSet = true; m_modelId = std::move(value); }
65 
66     /**
67      * <p>The model ID.</p>
68      */
SetModelId(const char * value)69     inline void SetModelId(const char* value) { m_modelIdHasBeenSet = true; m_modelId.assign(value); }
70 
71     /**
72      * <p>The model ID.</p>
73      */
WithModelId(const Aws::String & value)74     inline ModelVersionDetail& WithModelId(const Aws::String& value) { SetModelId(value); return *this;}
75 
76     /**
77      * <p>The model ID.</p>
78      */
WithModelId(Aws::String && value)79     inline ModelVersionDetail& WithModelId(Aws::String&& value) { SetModelId(std::move(value)); return *this;}
80 
81     /**
82      * <p>The model ID.</p>
83      */
WithModelId(const char * value)84     inline ModelVersionDetail& WithModelId(const char* value) { SetModelId(value); return *this;}
85 
86 
87     /**
88      * <p>The model type.</p>
89      */
GetModelType()90     inline const ModelTypeEnum& GetModelType() const{ return m_modelType; }
91 
92     /**
93      * <p>The model type.</p>
94      */
ModelTypeHasBeenSet()95     inline bool ModelTypeHasBeenSet() const { return m_modelTypeHasBeenSet; }
96 
97     /**
98      * <p>The model type.</p>
99      */
SetModelType(const ModelTypeEnum & value)100     inline void SetModelType(const ModelTypeEnum& value) { m_modelTypeHasBeenSet = true; m_modelType = value; }
101 
102     /**
103      * <p>The model type.</p>
104      */
SetModelType(ModelTypeEnum && value)105     inline void SetModelType(ModelTypeEnum&& value) { m_modelTypeHasBeenSet = true; m_modelType = std::move(value); }
106 
107     /**
108      * <p>The model type.</p>
109      */
WithModelType(const ModelTypeEnum & value)110     inline ModelVersionDetail& WithModelType(const ModelTypeEnum& value) { SetModelType(value); return *this;}
111 
112     /**
113      * <p>The model type.</p>
114      */
WithModelType(ModelTypeEnum && value)115     inline ModelVersionDetail& WithModelType(ModelTypeEnum&& value) { SetModelType(std::move(value)); return *this;}
116 
117 
118     /**
119      * <p>The model version number.</p>
120      */
GetModelVersionNumber()121     inline const Aws::String& GetModelVersionNumber() const{ return m_modelVersionNumber; }
122 
123     /**
124      * <p>The model version number.</p>
125      */
ModelVersionNumberHasBeenSet()126     inline bool ModelVersionNumberHasBeenSet() const { return m_modelVersionNumberHasBeenSet; }
127 
128     /**
129      * <p>The model version number.</p>
130      */
SetModelVersionNumber(const Aws::String & value)131     inline void SetModelVersionNumber(const Aws::String& value) { m_modelVersionNumberHasBeenSet = true; m_modelVersionNumber = value; }
132 
133     /**
134      * <p>The model version number.</p>
135      */
SetModelVersionNumber(Aws::String && value)136     inline void SetModelVersionNumber(Aws::String&& value) { m_modelVersionNumberHasBeenSet = true; m_modelVersionNumber = std::move(value); }
137 
138     /**
139      * <p>The model version number.</p>
140      */
SetModelVersionNumber(const char * value)141     inline void SetModelVersionNumber(const char* value) { m_modelVersionNumberHasBeenSet = true; m_modelVersionNumber.assign(value); }
142 
143     /**
144      * <p>The model version number.</p>
145      */
WithModelVersionNumber(const Aws::String & value)146     inline ModelVersionDetail& WithModelVersionNumber(const Aws::String& value) { SetModelVersionNumber(value); return *this;}
147 
148     /**
149      * <p>The model version number.</p>
150      */
WithModelVersionNumber(Aws::String && value)151     inline ModelVersionDetail& WithModelVersionNumber(Aws::String&& value) { SetModelVersionNumber(std::move(value)); return *this;}
152 
153     /**
154      * <p>The model version number.</p>
155      */
WithModelVersionNumber(const char * value)156     inline ModelVersionDetail& WithModelVersionNumber(const char* value) { SetModelVersionNumber(value); return *this;}
157 
158 
159     /**
160      * <p>The status of the model version.</p>
161      */
GetStatus()162     inline const Aws::String& GetStatus() const{ return m_status; }
163 
164     /**
165      * <p>The status of the model version.</p>
166      */
StatusHasBeenSet()167     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
168 
169     /**
170      * <p>The status of the model version.</p>
171      */
SetStatus(const Aws::String & value)172     inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
173 
174     /**
175      * <p>The status of the model version.</p>
176      */
SetStatus(Aws::String && value)177     inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
178 
179     /**
180      * <p>The status of the model version.</p>
181      */
SetStatus(const char * value)182     inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
183 
184     /**
185      * <p>The status of the model version.</p>
186      */
WithStatus(const Aws::String & value)187     inline ModelVersionDetail& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
188 
189     /**
190      * <p>The status of the model version.</p>
191      */
WithStatus(Aws::String && value)192     inline ModelVersionDetail& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
193 
194     /**
195      * <p>The status of the model version.</p>
196      */
WithStatus(const char * value)197     inline ModelVersionDetail& WithStatus(const char* value) { SetStatus(value); return *this;}
198 
199 
200     /**
201      * <p>The model version training data source.</p>
202      */
GetTrainingDataSource()203     inline const TrainingDataSourceEnum& GetTrainingDataSource() const{ return m_trainingDataSource; }
204 
205     /**
206      * <p>The model version training data source.</p>
207      */
TrainingDataSourceHasBeenSet()208     inline bool TrainingDataSourceHasBeenSet() const { return m_trainingDataSourceHasBeenSet; }
209 
210     /**
211      * <p>The model version training data source.</p>
212      */
SetTrainingDataSource(const TrainingDataSourceEnum & value)213     inline void SetTrainingDataSource(const TrainingDataSourceEnum& value) { m_trainingDataSourceHasBeenSet = true; m_trainingDataSource = value; }
214 
215     /**
216      * <p>The model version training data source.</p>
217      */
SetTrainingDataSource(TrainingDataSourceEnum && value)218     inline void SetTrainingDataSource(TrainingDataSourceEnum&& value) { m_trainingDataSourceHasBeenSet = true; m_trainingDataSource = std::move(value); }
219 
220     /**
221      * <p>The model version training data source.</p>
222      */
WithTrainingDataSource(const TrainingDataSourceEnum & value)223     inline ModelVersionDetail& WithTrainingDataSource(const TrainingDataSourceEnum& value) { SetTrainingDataSource(value); return *this;}
224 
225     /**
226      * <p>The model version training data source.</p>
227      */
WithTrainingDataSource(TrainingDataSourceEnum && value)228     inline ModelVersionDetail& WithTrainingDataSource(TrainingDataSourceEnum&& value) { SetTrainingDataSource(std::move(value)); return *this;}
229 
230 
231     /**
232      * <p>The training data schema.</p>
233      */
GetTrainingDataSchema()234     inline const TrainingDataSchema& GetTrainingDataSchema() const{ return m_trainingDataSchema; }
235 
236     /**
237      * <p>The training data schema.</p>
238      */
TrainingDataSchemaHasBeenSet()239     inline bool TrainingDataSchemaHasBeenSet() const { return m_trainingDataSchemaHasBeenSet; }
240 
241     /**
242      * <p>The training data schema.</p>
243      */
SetTrainingDataSchema(const TrainingDataSchema & value)244     inline void SetTrainingDataSchema(const TrainingDataSchema& value) { m_trainingDataSchemaHasBeenSet = true; m_trainingDataSchema = value; }
245 
246     /**
247      * <p>The training data schema.</p>
248      */
SetTrainingDataSchema(TrainingDataSchema && value)249     inline void SetTrainingDataSchema(TrainingDataSchema&& value) { m_trainingDataSchemaHasBeenSet = true; m_trainingDataSchema = std::move(value); }
250 
251     /**
252      * <p>The training data schema.</p>
253      */
WithTrainingDataSchema(const TrainingDataSchema & value)254     inline ModelVersionDetail& WithTrainingDataSchema(const TrainingDataSchema& value) { SetTrainingDataSchema(value); return *this;}
255 
256     /**
257      * <p>The training data schema.</p>
258      */
WithTrainingDataSchema(TrainingDataSchema && value)259     inline ModelVersionDetail& WithTrainingDataSchema(TrainingDataSchema&& value) { SetTrainingDataSchema(std::move(value)); return *this;}
260 
261 
262     /**
263      * <p>The external events data details. This will be populated if the
264      * <code>trainingDataSource</code> for the model version is specified as
265      * <code>EXTERNAL_EVENTS</code>.</p>
266      */
GetExternalEventsDetail()267     inline const ExternalEventsDetail& GetExternalEventsDetail() const{ return m_externalEventsDetail; }
268 
269     /**
270      * <p>The external events data details. This will be populated if the
271      * <code>trainingDataSource</code> for the model version is specified as
272      * <code>EXTERNAL_EVENTS</code>.</p>
273      */
ExternalEventsDetailHasBeenSet()274     inline bool ExternalEventsDetailHasBeenSet() const { return m_externalEventsDetailHasBeenSet; }
275 
276     /**
277      * <p>The external events data details. This will be populated if the
278      * <code>trainingDataSource</code> for the model version is specified as
279      * <code>EXTERNAL_EVENTS</code>.</p>
280      */
SetExternalEventsDetail(const ExternalEventsDetail & value)281     inline void SetExternalEventsDetail(const ExternalEventsDetail& value) { m_externalEventsDetailHasBeenSet = true; m_externalEventsDetail = value; }
282 
283     /**
284      * <p>The external events data details. This will be populated if the
285      * <code>trainingDataSource</code> for the model version is specified as
286      * <code>EXTERNAL_EVENTS</code>.</p>
287      */
SetExternalEventsDetail(ExternalEventsDetail && value)288     inline void SetExternalEventsDetail(ExternalEventsDetail&& value) { m_externalEventsDetailHasBeenSet = true; m_externalEventsDetail = std::move(value); }
289 
290     /**
291      * <p>The external events data details. This will be populated if the
292      * <code>trainingDataSource</code> for the model version is specified as
293      * <code>EXTERNAL_EVENTS</code>.</p>
294      */
WithExternalEventsDetail(const ExternalEventsDetail & value)295     inline ModelVersionDetail& WithExternalEventsDetail(const ExternalEventsDetail& value) { SetExternalEventsDetail(value); return *this;}
296 
297     /**
298      * <p>The external events data details. This will be populated if the
299      * <code>trainingDataSource</code> for the model version is specified as
300      * <code>EXTERNAL_EVENTS</code>.</p>
301      */
WithExternalEventsDetail(ExternalEventsDetail && value)302     inline ModelVersionDetail& WithExternalEventsDetail(ExternalEventsDetail&& value) { SetExternalEventsDetail(std::move(value)); return *this;}
303 
304 
305     /**
306      * <p>The ingested events data details. This will be populated if the
307      * <code>trainingDataSource</code> for the model version is specified as
308      * <code>INGESTED_EVENTS</code>.</p>
309      */
GetIngestedEventsDetail()310     inline const IngestedEventsDetail& GetIngestedEventsDetail() const{ return m_ingestedEventsDetail; }
311 
312     /**
313      * <p>The ingested events data details. This will be populated if the
314      * <code>trainingDataSource</code> for the model version is specified as
315      * <code>INGESTED_EVENTS</code>.</p>
316      */
IngestedEventsDetailHasBeenSet()317     inline bool IngestedEventsDetailHasBeenSet() const { return m_ingestedEventsDetailHasBeenSet; }
318 
319     /**
320      * <p>The ingested events data details. This will be populated if the
321      * <code>trainingDataSource</code> for the model version is specified as
322      * <code>INGESTED_EVENTS</code>.</p>
323      */
SetIngestedEventsDetail(const IngestedEventsDetail & value)324     inline void SetIngestedEventsDetail(const IngestedEventsDetail& value) { m_ingestedEventsDetailHasBeenSet = true; m_ingestedEventsDetail = value; }
325 
326     /**
327      * <p>The ingested events data details. This will be populated if the
328      * <code>trainingDataSource</code> for the model version is specified as
329      * <code>INGESTED_EVENTS</code>.</p>
330      */
SetIngestedEventsDetail(IngestedEventsDetail && value)331     inline void SetIngestedEventsDetail(IngestedEventsDetail&& value) { m_ingestedEventsDetailHasBeenSet = true; m_ingestedEventsDetail = std::move(value); }
332 
333     /**
334      * <p>The ingested events data details. This will be populated if the
335      * <code>trainingDataSource</code> for the model version is specified as
336      * <code>INGESTED_EVENTS</code>.</p>
337      */
WithIngestedEventsDetail(const IngestedEventsDetail & value)338     inline ModelVersionDetail& WithIngestedEventsDetail(const IngestedEventsDetail& value) { SetIngestedEventsDetail(value); return *this;}
339 
340     /**
341      * <p>The ingested events data details. This will be populated if the
342      * <code>trainingDataSource</code> for the model version is specified as
343      * <code>INGESTED_EVENTS</code>.</p>
344      */
WithIngestedEventsDetail(IngestedEventsDetail && value)345     inline ModelVersionDetail& WithIngestedEventsDetail(IngestedEventsDetail&& value) { SetIngestedEventsDetail(std::move(value)); return *this;}
346 
347 
348     /**
349      * <p>The training results.</p>
350      */
GetTrainingResult()351     inline const TrainingResult& GetTrainingResult() const{ return m_trainingResult; }
352 
353     /**
354      * <p>The training results.</p>
355      */
TrainingResultHasBeenSet()356     inline bool TrainingResultHasBeenSet() const { return m_trainingResultHasBeenSet; }
357 
358     /**
359      * <p>The training results.</p>
360      */
SetTrainingResult(const TrainingResult & value)361     inline void SetTrainingResult(const TrainingResult& value) { m_trainingResultHasBeenSet = true; m_trainingResult = value; }
362 
363     /**
364      * <p>The training results.</p>
365      */
SetTrainingResult(TrainingResult && value)366     inline void SetTrainingResult(TrainingResult&& value) { m_trainingResultHasBeenSet = true; m_trainingResult = std::move(value); }
367 
368     /**
369      * <p>The training results.</p>
370      */
WithTrainingResult(const TrainingResult & value)371     inline ModelVersionDetail& WithTrainingResult(const TrainingResult& value) { SetTrainingResult(value); return *this;}
372 
373     /**
374      * <p>The training results.</p>
375      */
WithTrainingResult(TrainingResult && value)376     inline ModelVersionDetail& WithTrainingResult(TrainingResult&& value) { SetTrainingResult(std::move(value)); return *this;}
377 
378 
379     /**
380      * <p>The timestamp when the model was last updated.</p>
381      */
GetLastUpdatedTime()382     inline const Aws::String& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
383 
384     /**
385      * <p>The timestamp when the model was last updated.</p>
386      */
LastUpdatedTimeHasBeenSet()387     inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
388 
389     /**
390      * <p>The timestamp when the model was last updated.</p>
391      */
SetLastUpdatedTime(const Aws::String & value)392     inline void SetLastUpdatedTime(const Aws::String& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
393 
394     /**
395      * <p>The timestamp when the model was last updated.</p>
396      */
SetLastUpdatedTime(Aws::String && value)397     inline void SetLastUpdatedTime(Aws::String&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); }
398 
399     /**
400      * <p>The timestamp when the model was last updated.</p>
401      */
SetLastUpdatedTime(const char * value)402     inline void SetLastUpdatedTime(const char* value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime.assign(value); }
403 
404     /**
405      * <p>The timestamp when the model was last updated.</p>
406      */
WithLastUpdatedTime(const Aws::String & value)407     inline ModelVersionDetail& WithLastUpdatedTime(const Aws::String& value) { SetLastUpdatedTime(value); return *this;}
408 
409     /**
410      * <p>The timestamp when the model was last updated.</p>
411      */
WithLastUpdatedTime(Aws::String && value)412     inline ModelVersionDetail& WithLastUpdatedTime(Aws::String&& value) { SetLastUpdatedTime(std::move(value)); return *this;}
413 
414     /**
415      * <p>The timestamp when the model was last updated.</p>
416      */
WithLastUpdatedTime(const char * value)417     inline ModelVersionDetail& WithLastUpdatedTime(const char* value) { SetLastUpdatedTime(value); return *this;}
418 
419 
420     /**
421      * <p>The timestamp when the model was created.</p>
422      */
GetCreatedTime()423     inline const Aws::String& GetCreatedTime() const{ return m_createdTime; }
424 
425     /**
426      * <p>The timestamp when the model was created.</p>
427      */
CreatedTimeHasBeenSet()428     inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
429 
430     /**
431      * <p>The timestamp when the model was created.</p>
432      */
SetCreatedTime(const Aws::String & value)433     inline void SetCreatedTime(const Aws::String& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
434 
435     /**
436      * <p>The timestamp when the model was created.</p>
437      */
SetCreatedTime(Aws::String && value)438     inline void SetCreatedTime(Aws::String&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
439 
440     /**
441      * <p>The timestamp when the model was created.</p>
442      */
SetCreatedTime(const char * value)443     inline void SetCreatedTime(const char* value) { m_createdTimeHasBeenSet = true; m_createdTime.assign(value); }
444 
445     /**
446      * <p>The timestamp when the model was created.</p>
447      */
WithCreatedTime(const Aws::String & value)448     inline ModelVersionDetail& WithCreatedTime(const Aws::String& value) { SetCreatedTime(value); return *this;}
449 
450     /**
451      * <p>The timestamp when the model was created.</p>
452      */
WithCreatedTime(Aws::String && value)453     inline ModelVersionDetail& WithCreatedTime(Aws::String&& value) { SetCreatedTime(std::move(value)); return *this;}
454 
455     /**
456      * <p>The timestamp when the model was created.</p>
457      */
WithCreatedTime(const char * value)458     inline ModelVersionDetail& WithCreatedTime(const char* value) { SetCreatedTime(value); return *this;}
459 
460 
461     /**
462      * <p>The model version ARN.</p>
463      */
GetArn()464     inline const Aws::String& GetArn() const{ return m_arn; }
465 
466     /**
467      * <p>The model version ARN.</p>
468      */
ArnHasBeenSet()469     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
470 
471     /**
472      * <p>The model version ARN.</p>
473      */
SetArn(const Aws::String & value)474     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
475 
476     /**
477      * <p>The model version ARN.</p>
478      */
SetArn(Aws::String && value)479     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
480 
481     /**
482      * <p>The model version ARN.</p>
483      */
SetArn(const char * value)484     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
485 
486     /**
487      * <p>The model version ARN.</p>
488      */
WithArn(const Aws::String & value)489     inline ModelVersionDetail& WithArn(const Aws::String& value) { SetArn(value); return *this;}
490 
491     /**
492      * <p>The model version ARN.</p>
493      */
WithArn(Aws::String && value)494     inline ModelVersionDetail& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
495 
496     /**
497      * <p>The model version ARN.</p>
498      */
WithArn(const char * value)499     inline ModelVersionDetail& WithArn(const char* value) { SetArn(value); return *this;}
500 
501   private:
502 
503     Aws::String m_modelId;
504     bool m_modelIdHasBeenSet;
505 
506     ModelTypeEnum m_modelType;
507     bool m_modelTypeHasBeenSet;
508 
509     Aws::String m_modelVersionNumber;
510     bool m_modelVersionNumberHasBeenSet;
511 
512     Aws::String m_status;
513     bool m_statusHasBeenSet;
514 
515     TrainingDataSourceEnum m_trainingDataSource;
516     bool m_trainingDataSourceHasBeenSet;
517 
518     TrainingDataSchema m_trainingDataSchema;
519     bool m_trainingDataSchemaHasBeenSet;
520 
521     ExternalEventsDetail m_externalEventsDetail;
522     bool m_externalEventsDetailHasBeenSet;
523 
524     IngestedEventsDetail m_ingestedEventsDetail;
525     bool m_ingestedEventsDetailHasBeenSet;
526 
527     TrainingResult m_trainingResult;
528     bool m_trainingResultHasBeenSet;
529 
530     Aws::String m_lastUpdatedTime;
531     bool m_lastUpdatedTimeHasBeenSet;
532 
533     Aws::String m_createdTime;
534     bool m_createdTimeHasBeenSet;
535 
536     Aws::String m_arn;
537     bool m_arnHasBeenSet;
538   };
539 
540 } // namespace Model
541 } // namespace FraudDetector
542 } // namespace Aws
543