/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace PaymentCryptographyData { namespace Model { /** */ class ReEncryptDataRequest : public PaymentCryptographyDataRequest { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API ReEncryptDataRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ReEncryptData"; } AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::String SerializePayload() const override; /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline const Aws::String& GetCipherText() const{ return m_cipherText; } /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline bool CipherTextHasBeenSet() const { return m_cipherTextHasBeenSet; } /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline void SetCipherText(const Aws::String& value) { m_cipherTextHasBeenSet = true; m_cipherText = value; } /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline void SetCipherText(Aws::String&& value) { m_cipherTextHasBeenSet = true; m_cipherText = std::move(value); } /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline void SetCipherText(const char* value) { m_cipherTextHasBeenSet = true; m_cipherText.assign(value); } /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline ReEncryptDataRequest& WithCipherText(const Aws::String& value) { SetCipherText(value); return *this;} /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline ReEncryptDataRequest& WithCipherText(Aws::String&& value) { SetCipherText(std::move(value)); return *this;} /** *

Ciphertext to be encrypted. The minimum allowed length is 16 bytes and * maximum allowed length is 4096 bytes.

*/ inline ReEncryptDataRequest& WithCipherText(const char* value) { SetCipherText(value); return *this;} /** *

The attributes and values for incoming ciphertext.

*/ inline const ReEncryptionAttributes& GetIncomingEncryptionAttributes() const{ return m_incomingEncryptionAttributes; } /** *

The attributes and values for incoming ciphertext.

*/ inline bool IncomingEncryptionAttributesHasBeenSet() const { return m_incomingEncryptionAttributesHasBeenSet; } /** *

The attributes and values for incoming ciphertext.

*/ inline void SetIncomingEncryptionAttributes(const ReEncryptionAttributes& value) { m_incomingEncryptionAttributesHasBeenSet = true; m_incomingEncryptionAttributes = value; } /** *

The attributes and values for incoming ciphertext.

*/ inline void SetIncomingEncryptionAttributes(ReEncryptionAttributes&& value) { m_incomingEncryptionAttributesHasBeenSet = true; m_incomingEncryptionAttributes = std::move(value); } /** *

The attributes and values for incoming ciphertext.

*/ inline ReEncryptDataRequest& WithIncomingEncryptionAttributes(const ReEncryptionAttributes& value) { SetIncomingEncryptionAttributes(value); return *this;} /** *

The attributes and values for incoming ciphertext.

*/ inline ReEncryptDataRequest& WithIncomingEncryptionAttributes(ReEncryptionAttributes&& value) { SetIncomingEncryptionAttributes(std::move(value)); return *this;} /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline const Aws::String& GetIncomingKeyIdentifier() const{ return m_incomingKeyIdentifier; } /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline bool IncomingKeyIdentifierHasBeenSet() const { return m_incomingKeyIdentifierHasBeenSet; } /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline void SetIncomingKeyIdentifier(const Aws::String& value) { m_incomingKeyIdentifierHasBeenSet = true; m_incomingKeyIdentifier = value; } /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline void SetIncomingKeyIdentifier(Aws::String&& value) { m_incomingKeyIdentifierHasBeenSet = true; m_incomingKeyIdentifier = std::move(value); } /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline void SetIncomingKeyIdentifier(const char* value) { m_incomingKeyIdentifierHasBeenSet = true; m_incomingKeyIdentifier.assign(value); } /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline ReEncryptDataRequest& WithIncomingKeyIdentifier(const Aws::String& value) { SetIncomingKeyIdentifier(value); return *this;} /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline ReEncryptDataRequest& WithIncomingKeyIdentifier(Aws::String&& value) { SetIncomingKeyIdentifier(std::move(value)); return *this;} /** *

The keyARN of the encryption key of incoming ciphertext * data.

*/ inline ReEncryptDataRequest& WithIncomingKeyIdentifier(const char* value) { SetIncomingKeyIdentifier(value); return *this;} /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline const ReEncryptionAttributes& GetOutgoingEncryptionAttributes() const{ return m_outgoingEncryptionAttributes; } /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline bool OutgoingEncryptionAttributesHasBeenSet() const { return m_outgoingEncryptionAttributesHasBeenSet; } /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline void SetOutgoingEncryptionAttributes(const ReEncryptionAttributes& value) { m_outgoingEncryptionAttributesHasBeenSet = true; m_outgoingEncryptionAttributes = value; } /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline void SetOutgoingEncryptionAttributes(ReEncryptionAttributes&& value) { m_outgoingEncryptionAttributesHasBeenSet = true; m_outgoingEncryptionAttributes = std::move(value); } /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline ReEncryptDataRequest& WithOutgoingEncryptionAttributes(const ReEncryptionAttributes& value) { SetOutgoingEncryptionAttributes(value); return *this;} /** *

The attributes and values for outgoing ciphertext data after encryption by * Amazon Web Services Payment Cryptography.

*/ inline ReEncryptDataRequest& WithOutgoingEncryptionAttributes(ReEncryptionAttributes&& value) { SetOutgoingEncryptionAttributes(std::move(value)); return *this;} /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline const Aws::String& GetOutgoingKeyIdentifier() const{ return m_outgoingKeyIdentifier; } /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline bool OutgoingKeyIdentifierHasBeenSet() const { return m_outgoingKeyIdentifierHasBeenSet; } /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline void SetOutgoingKeyIdentifier(const Aws::String& value) { m_outgoingKeyIdentifierHasBeenSet = true; m_outgoingKeyIdentifier = value; } /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline void SetOutgoingKeyIdentifier(Aws::String&& value) { m_outgoingKeyIdentifierHasBeenSet = true; m_outgoingKeyIdentifier = std::move(value); } /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline void SetOutgoingKeyIdentifier(const char* value) { m_outgoingKeyIdentifierHasBeenSet = true; m_outgoingKeyIdentifier.assign(value); } /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline ReEncryptDataRequest& WithOutgoingKeyIdentifier(const Aws::String& value) { SetOutgoingKeyIdentifier(value); return *this;} /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline ReEncryptDataRequest& WithOutgoingKeyIdentifier(Aws::String&& value) { SetOutgoingKeyIdentifier(std::move(value)); return *this;} /** *

The keyARN of the encryption key of outgoing ciphertext data * after encryption by Amazon Web Services Payment Cryptography.

*/ inline ReEncryptDataRequest& WithOutgoingKeyIdentifier(const char* value) { SetOutgoingKeyIdentifier(value); return *this;} private: Aws::String m_cipherText; bool m_cipherTextHasBeenSet = false; ReEncryptionAttributes m_incomingEncryptionAttributes; bool m_incomingEncryptionAttributesHasBeenSet = false; Aws::String m_incomingKeyIdentifier; bool m_incomingKeyIdentifierHasBeenSet = false; ReEncryptionAttributes m_outgoingEncryptionAttributes; bool m_outgoingEncryptionAttributesHasBeenSet = false; Aws::String m_outgoingKeyIdentifier; bool m_outgoingKeyIdentifierHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws