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()21ClassificationTypeUpdate::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)29ClassificationTypeUpdate::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)38ClassificationTypeUpdate& 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() const57JsonValue 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