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 <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace FraudDetector
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>The model.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/Model">AWS
30    * API Reference</a></p>
31    */
32   class AWS_FRAUDDETECTOR_API Model
33   {
34   public:
35     Model();
36     Model(Aws::Utils::Json::JsonView jsonValue);
37     Model& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The model ID.</p>
43      */
GetModelId()44     inline const Aws::String& GetModelId() const{ return m_modelId; }
45 
46     /**
47      * <p>The model ID.</p>
48      */
ModelIdHasBeenSet()49     inline bool ModelIdHasBeenSet() const { return m_modelIdHasBeenSet; }
50 
51     /**
52      * <p>The model ID.</p>
53      */
SetModelId(const Aws::String & value)54     inline void SetModelId(const Aws::String& value) { m_modelIdHasBeenSet = true; m_modelId = value; }
55 
56     /**
57      * <p>The model ID.</p>
58      */
SetModelId(Aws::String && value)59     inline void SetModelId(Aws::String&& value) { m_modelIdHasBeenSet = true; m_modelId = std::move(value); }
60 
61     /**
62      * <p>The model ID.</p>
63      */
SetModelId(const char * value)64     inline void SetModelId(const char* value) { m_modelIdHasBeenSet = true; m_modelId.assign(value); }
65 
66     /**
67      * <p>The model ID.</p>
68      */
WithModelId(const Aws::String & value)69     inline Model& WithModelId(const Aws::String& value) { SetModelId(value); return *this;}
70 
71     /**
72      * <p>The model ID.</p>
73      */
WithModelId(Aws::String && value)74     inline Model& WithModelId(Aws::String&& value) { SetModelId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The model ID.</p>
78      */
WithModelId(const char * value)79     inline Model& WithModelId(const char* value) { SetModelId(value); return *this;}
80 
81 
82     /**
83      * <p>The model type.</p>
84      */
GetModelType()85     inline const ModelTypeEnum& GetModelType() const{ return m_modelType; }
86 
87     /**
88      * <p>The model type.</p>
89      */
ModelTypeHasBeenSet()90     inline bool ModelTypeHasBeenSet() const { return m_modelTypeHasBeenSet; }
91 
92     /**
93      * <p>The model type.</p>
94      */
SetModelType(const ModelTypeEnum & value)95     inline void SetModelType(const ModelTypeEnum& value) { m_modelTypeHasBeenSet = true; m_modelType = value; }
96 
97     /**
98      * <p>The model type.</p>
99      */
SetModelType(ModelTypeEnum && value)100     inline void SetModelType(ModelTypeEnum&& value) { m_modelTypeHasBeenSet = true; m_modelType = std::move(value); }
101 
102     /**
103      * <p>The model type.</p>
104      */
WithModelType(const ModelTypeEnum & value)105     inline Model& WithModelType(const ModelTypeEnum& value) { SetModelType(value); return *this;}
106 
107     /**
108      * <p>The model type.</p>
109      */
WithModelType(ModelTypeEnum && value)110     inline Model& WithModelType(ModelTypeEnum&& value) { SetModelType(std::move(value)); return *this;}
111 
112 
113     /**
114      * <p>The model description.</p>
115      */
GetDescription()116     inline const Aws::String& GetDescription() const{ return m_description; }
117 
118     /**
119      * <p>The model description.</p>
120      */
DescriptionHasBeenSet()121     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
122 
123     /**
124      * <p>The model description.</p>
125      */
SetDescription(const Aws::String & value)126     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
127 
128     /**
129      * <p>The model description.</p>
130      */
SetDescription(Aws::String && value)131     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
132 
133     /**
134      * <p>The model description.</p>
135      */
SetDescription(const char * value)136     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
137 
138     /**
139      * <p>The model description.</p>
140      */
WithDescription(const Aws::String & value)141     inline Model& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
142 
143     /**
144      * <p>The model description.</p>
145      */
WithDescription(Aws::String && value)146     inline Model& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
147 
148     /**
149      * <p>The model description.</p>
150      */
WithDescription(const char * value)151     inline Model& WithDescription(const char* value) { SetDescription(value); return *this;}
152 
153 
154     /**
155      * <p>The name of the event type.</p>
156      */
GetEventTypeName()157     inline const Aws::String& GetEventTypeName() const{ return m_eventTypeName; }
158 
159     /**
160      * <p>The name of the event type.</p>
161      */
EventTypeNameHasBeenSet()162     inline bool EventTypeNameHasBeenSet() const { return m_eventTypeNameHasBeenSet; }
163 
164     /**
165      * <p>The name of the event type.</p>
166      */
SetEventTypeName(const Aws::String & value)167     inline void SetEventTypeName(const Aws::String& value) { m_eventTypeNameHasBeenSet = true; m_eventTypeName = value; }
168 
169     /**
170      * <p>The name of the event type.</p>
171      */
SetEventTypeName(Aws::String && value)172     inline void SetEventTypeName(Aws::String&& value) { m_eventTypeNameHasBeenSet = true; m_eventTypeName = std::move(value); }
173 
174     /**
175      * <p>The name of the event type.</p>
176      */
SetEventTypeName(const char * value)177     inline void SetEventTypeName(const char* value) { m_eventTypeNameHasBeenSet = true; m_eventTypeName.assign(value); }
178 
179     /**
180      * <p>The name of the event type.</p>
181      */
WithEventTypeName(const Aws::String & value)182     inline Model& WithEventTypeName(const Aws::String& value) { SetEventTypeName(value); return *this;}
183 
184     /**
185      * <p>The name of the event type.</p>
186      */
WithEventTypeName(Aws::String && value)187     inline Model& WithEventTypeName(Aws::String&& value) { SetEventTypeName(std::move(value)); return *this;}
188 
189     /**
190      * <p>The name of the event type.</p>
191      */
WithEventTypeName(const char * value)192     inline Model& WithEventTypeName(const char* value) { SetEventTypeName(value); return *this;}
193 
194 
195     /**
196      * <p>Timestamp of when the model was created.</p>
197      */
GetCreatedTime()198     inline const Aws::String& GetCreatedTime() const{ return m_createdTime; }
199 
200     /**
201      * <p>Timestamp of when the model was created.</p>
202      */
CreatedTimeHasBeenSet()203     inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
204 
205     /**
206      * <p>Timestamp of when the model was created.</p>
207      */
SetCreatedTime(const Aws::String & value)208     inline void SetCreatedTime(const Aws::String& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; }
209 
210     /**
211      * <p>Timestamp of when the model was created.</p>
212      */
SetCreatedTime(Aws::String && value)213     inline void SetCreatedTime(Aws::String&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); }
214 
215     /**
216      * <p>Timestamp of when the model was created.</p>
217      */
SetCreatedTime(const char * value)218     inline void SetCreatedTime(const char* value) { m_createdTimeHasBeenSet = true; m_createdTime.assign(value); }
219 
220     /**
221      * <p>Timestamp of when the model was created.</p>
222      */
WithCreatedTime(const Aws::String & value)223     inline Model& WithCreatedTime(const Aws::String& value) { SetCreatedTime(value); return *this;}
224 
225     /**
226      * <p>Timestamp of when the model was created.</p>
227      */
WithCreatedTime(Aws::String && value)228     inline Model& WithCreatedTime(Aws::String&& value) { SetCreatedTime(std::move(value)); return *this;}
229 
230     /**
231      * <p>Timestamp of when the model was created.</p>
232      */
WithCreatedTime(const char * value)233     inline Model& WithCreatedTime(const char* value) { SetCreatedTime(value); return *this;}
234 
235 
236     /**
237      * <p>Timestamp of last time the model was updated.</p>
238      */
GetLastUpdatedTime()239     inline const Aws::String& GetLastUpdatedTime() const{ return m_lastUpdatedTime; }
240 
241     /**
242      * <p>Timestamp of last time the model was updated.</p>
243      */
LastUpdatedTimeHasBeenSet()244     inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
245 
246     /**
247      * <p>Timestamp of last time the model was updated.</p>
248      */
SetLastUpdatedTime(const Aws::String & value)249     inline void SetLastUpdatedTime(const Aws::String& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = value; }
250 
251     /**
252      * <p>Timestamp of last time the model was updated.</p>
253      */
SetLastUpdatedTime(Aws::String && value)254     inline void SetLastUpdatedTime(Aws::String&& value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime = std::move(value); }
255 
256     /**
257      * <p>Timestamp of last time the model was updated.</p>
258      */
SetLastUpdatedTime(const char * value)259     inline void SetLastUpdatedTime(const char* value) { m_lastUpdatedTimeHasBeenSet = true; m_lastUpdatedTime.assign(value); }
260 
261     /**
262      * <p>Timestamp of last time the model was updated.</p>
263      */
WithLastUpdatedTime(const Aws::String & value)264     inline Model& WithLastUpdatedTime(const Aws::String& value) { SetLastUpdatedTime(value); return *this;}
265 
266     /**
267      * <p>Timestamp of last time the model was updated.</p>
268      */
WithLastUpdatedTime(Aws::String && value)269     inline Model& WithLastUpdatedTime(Aws::String&& value) { SetLastUpdatedTime(std::move(value)); return *this;}
270 
271     /**
272      * <p>Timestamp of last time the model was updated.</p>
273      */
WithLastUpdatedTime(const char * value)274     inline Model& WithLastUpdatedTime(const char* value) { SetLastUpdatedTime(value); return *this;}
275 
276 
277     /**
278      * <p>The ARN of the model.</p>
279      */
GetArn()280     inline const Aws::String& GetArn() const{ return m_arn; }
281 
282     /**
283      * <p>The ARN of the model.</p>
284      */
ArnHasBeenSet()285     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
286 
287     /**
288      * <p>The ARN of the model.</p>
289      */
SetArn(const Aws::String & value)290     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
291 
292     /**
293      * <p>The ARN of the model.</p>
294      */
SetArn(Aws::String && value)295     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
296 
297     /**
298      * <p>The ARN of the model.</p>
299      */
SetArn(const char * value)300     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
301 
302     /**
303      * <p>The ARN of the model.</p>
304      */
WithArn(const Aws::String & value)305     inline Model& WithArn(const Aws::String& value) { SetArn(value); return *this;}
306 
307     /**
308      * <p>The ARN of the model.</p>
309      */
WithArn(Aws::String && value)310     inline Model& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
311 
312     /**
313      * <p>The ARN of the model.</p>
314      */
WithArn(const char * value)315     inline Model& WithArn(const char* value) { SetArn(value); return *this;}
316 
317   private:
318 
319     Aws::String m_modelId;
320     bool m_modelIdHasBeenSet;
321 
322     ModelTypeEnum m_modelType;
323     bool m_modelTypeHasBeenSet;
324 
325     Aws::String m_description;
326     bool m_descriptionHasBeenSet;
327 
328     Aws::String m_eventTypeName;
329     bool m_eventTypeNameHasBeenSet;
330 
331     Aws::String m_createdTime;
332     bool m_createdTimeHasBeenSet;
333 
334     Aws::String m_lastUpdatedTime;
335     bool m_lastUpdatedTimeHasBeenSet;
336 
337     Aws::String m_arn;
338     bool m_arnHasBeenSet;
339   };
340 
341 } // namespace Model
342 } // namespace FraudDetector
343 } // namespace Aws
344