/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace PaymentCryptographyData { namespace Model { /** *

Parameters that are required to perform reencryption operation.

See * Also:

AWS * API Reference

*/ class ReEncryptionAttributes { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API ReEncryptionAttributes(); AWS_PAYMENTCRYPTOGRAPHYDATA_API ReEncryptionAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API ReEncryptionAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Utils::Json::JsonValue Jsonize() const; inline const DukptEncryptionAttributes& GetDukpt() const{ return m_dukpt; } inline bool DukptHasBeenSet() const { return m_dukptHasBeenSet; } inline void SetDukpt(const DukptEncryptionAttributes& value) { m_dukptHasBeenSet = true; m_dukpt = value; } inline void SetDukpt(DukptEncryptionAttributes&& value) { m_dukptHasBeenSet = true; m_dukpt = std::move(value); } inline ReEncryptionAttributes& WithDukpt(const DukptEncryptionAttributes& value) { SetDukpt(value); return *this;} inline ReEncryptionAttributes& WithDukpt(DukptEncryptionAttributes&& value) { SetDukpt(std::move(value)); return *this;} /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline const SymmetricEncryptionAttributes& GetSymmetric() const{ return m_symmetric; } /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline bool SymmetricHasBeenSet() const { return m_symmetricHasBeenSet; } /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline void SetSymmetric(const SymmetricEncryptionAttributes& value) { m_symmetricHasBeenSet = true; m_symmetric = value; } /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline void SetSymmetric(SymmetricEncryptionAttributes&& value) { m_symmetricHasBeenSet = true; m_symmetric = std::move(value); } /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline ReEncryptionAttributes& WithSymmetric(const SymmetricEncryptionAttributes& value) { SetSymmetric(value); return *this;} /** *

Parameters that are required to encrypt data using symmetric keys.

*/ inline ReEncryptionAttributes& WithSymmetric(SymmetricEncryptionAttributes&& value) { SetSymmetric(std::move(value)); return *this;} private: DukptEncryptionAttributes m_dukpt; bool m_dukptHasBeenSet = false; SymmetricEncryptionAttributes m_symmetric; bool m_symmetricHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws