1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/macie/model/ClassificationTypeUpdate.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 
9 #include <utility>
10 
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13 
14 namespace Aws
15 {
16 namespace Macie
17 {
18 namespace Model
19 {
20 
ClassificationTypeUpdate()21 ClassificationTypeUpdate::ClassificationTypeUpdate() :
22     m_oneTime(S3OneTimeClassificationType::NOT_SET),
23     m_oneTimeHasBeenSet(false),
24     m_continuous(S3ContinuousClassificationType::NOT_SET),
25     m_continuousHasBeenSet(false)
26 {
27 }
28 
ClassificationTypeUpdate(JsonView jsonValue)29 ClassificationTypeUpdate::ClassificationTypeUpdate(JsonView jsonValue) :
30     m_oneTime(S3OneTimeClassificationType::NOT_SET),
31     m_oneTimeHasBeenSet(false),
32     m_continuous(S3ContinuousClassificationType::NOT_SET),
33     m_continuousHasBeenSet(false)
34 {
35   *this = jsonValue;
36 }
37 
operator =(JsonView jsonValue)38 ClassificationTypeUpdate& ClassificationTypeUpdate::operator =(JsonView jsonValue)
39 {
40   if(jsonValue.ValueExists("oneTime"))
41   {
42     m_oneTime = S3OneTimeClassificationTypeMapper::GetS3OneTimeClassificationTypeForName(jsonValue.GetString("oneTime"));
43 
44     m_oneTimeHasBeenSet = true;
45   }
46 
47   if(jsonValue.ValueExists("continuous"))
48   {
49     m_continuous = S3ContinuousClassificationTypeMapper::GetS3ContinuousClassificationTypeForName(jsonValue.GetString("continuous"));
50 
51     m_continuousHasBeenSet = true;
52   }
53 
54   return *this;
55 }
56 
Jsonize() const57 JsonValue ClassificationTypeUpdate::Jsonize() const
58 {
59   JsonValue payload;
60 
61   if(m_oneTimeHasBeenSet)
62   {
63    payload.WithString("oneTime", S3OneTimeClassificationTypeMapper::GetNameForS3OneTimeClassificationType(m_oneTime));
64   }
65 
66   if(m_continuousHasBeenSet)
67   {
68    payload.WithString("continuous", S3ContinuousClassificationTypeMapper::GetNameForS3ContinuousClassificationType(m_continuous));
69   }
70 
71   return payload;
72 }
73 
74 } // namespace Model
75 } // namespace Macie
76 } // namespace Aws
77