/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace PaymentCryptographyData { namespace Model { /** */ class TranslatePinDataRequest : public PaymentCryptographyDataRequest { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API TranslatePinDataRequest(); // 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 "TranslatePinData"; } AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::String SerializePayload() const override; /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline const Aws::String& GetEncryptedPinBlock() const{ return m_encryptedPinBlock; } /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline bool EncryptedPinBlockHasBeenSet() const { return m_encryptedPinBlockHasBeenSet; } /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline void SetEncryptedPinBlock(const Aws::String& value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock = value; } /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline void SetEncryptedPinBlock(Aws::String&& value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock = std::move(value); } /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline void SetEncryptedPinBlock(const char* value) { m_encryptedPinBlockHasBeenSet = true; m_encryptedPinBlock.assign(value); } /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline TranslatePinDataRequest& WithEncryptedPinBlock(const Aws::String& value) { SetEncryptedPinBlock(value); return *this;} /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline TranslatePinDataRequest& WithEncryptedPinBlock(Aws::String&& value) { SetEncryptedPinBlock(std::move(value)); return *this;} /** *

The encrypted PIN block data that Amazon Web Services Payment Cryptography * translates.

*/ inline TranslatePinDataRequest& WithEncryptedPinBlock(const char* value) { SetEncryptedPinBlock(value); return *this;} /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline const DukptDerivationAttributes& GetIncomingDukptAttributes() const{ return m_incomingDukptAttributes; } /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline bool IncomingDukptAttributesHasBeenSet() const { return m_incomingDukptAttributesHasBeenSet; } /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline void SetIncomingDukptAttributes(const DukptDerivationAttributes& value) { m_incomingDukptAttributesHasBeenSet = true; m_incomingDukptAttributes = value; } /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline void SetIncomingDukptAttributes(DukptDerivationAttributes&& value) { m_incomingDukptAttributesHasBeenSet = true; m_incomingDukptAttributes = std::move(value); } /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline TranslatePinDataRequest& WithIncomingDukptAttributes(const DukptDerivationAttributes& value) { SetIncomingDukptAttributes(value); return *this;} /** *

The attributes and values to use for incoming DUKPT encryption key for PIN * block tranlation.

*/ inline TranslatePinDataRequest& WithIncomingDukptAttributes(DukptDerivationAttributes&& value) { SetIncomingDukptAttributes(std::move(value)); return *this;} /** *

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The keyARN of the encryption key under which incoming PIN block * data is encrypted. This key type can be PEK or BDK.

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

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline const TranslationIsoFormats& GetIncomingTranslationAttributes() const{ return m_incomingTranslationAttributes; } /** *

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline bool IncomingTranslationAttributesHasBeenSet() const { return m_incomingTranslationAttributesHasBeenSet; } /** *

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline void SetIncomingTranslationAttributes(const TranslationIsoFormats& value) { m_incomingTranslationAttributesHasBeenSet = true; m_incomingTranslationAttributes = value; } /** *

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline void SetIncomingTranslationAttributes(TranslationIsoFormats&& value) { m_incomingTranslationAttributesHasBeenSet = true; m_incomingTranslationAttributes = std::move(value); } /** *

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline TranslatePinDataRequest& WithIncomingTranslationAttributes(const TranslationIsoFormats& value) { SetIncomingTranslationAttributes(value); return *this;} /** *

The format of the incoming PIN block data for tranlation within Amazon Web * Services Payment Cryptography.

*/ inline TranslatePinDataRequest& WithIncomingTranslationAttributes(TranslationIsoFormats&& value) { SetIncomingTranslationAttributes(std::move(value)); return *this;} /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline const DukptDerivationAttributes& GetOutgoingDukptAttributes() const{ return m_outgoingDukptAttributes; } /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline bool OutgoingDukptAttributesHasBeenSet() const { return m_outgoingDukptAttributesHasBeenSet; } /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline void SetOutgoingDukptAttributes(const DukptDerivationAttributes& value) { m_outgoingDukptAttributesHasBeenSet = true; m_outgoingDukptAttributes = value; } /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline void SetOutgoingDukptAttributes(DukptDerivationAttributes&& value) { m_outgoingDukptAttributesHasBeenSet = true; m_outgoingDukptAttributes = std::move(value); } /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline TranslatePinDataRequest& WithOutgoingDukptAttributes(const DukptDerivationAttributes& value) { SetOutgoingDukptAttributes(value); return *this;} /** *

The attributes and values to use for outgoing DUKPT encryption key after PIN * block translation.

*/ inline TranslatePinDataRequest& WithOutgoingDukptAttributes(DukptDerivationAttributes&& value) { SetOutgoingDukptAttributes(std::move(value)); return *this;} /** *

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

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

The keyARN of the encryption key for encrypting outgoing PIN * block data. This key type can be PEK or BDK.

*/ inline TranslatePinDataRequest& WithOutgoingKeyIdentifier(const char* value) { SetOutgoingKeyIdentifier(value); return *this;} /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline const TranslationIsoFormats& GetOutgoingTranslationAttributes() const{ return m_outgoingTranslationAttributes; } /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline bool OutgoingTranslationAttributesHasBeenSet() const { return m_outgoingTranslationAttributesHasBeenSet; } /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline void SetOutgoingTranslationAttributes(const TranslationIsoFormats& value) { m_outgoingTranslationAttributesHasBeenSet = true; m_outgoingTranslationAttributes = value; } /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline void SetOutgoingTranslationAttributes(TranslationIsoFormats&& value) { m_outgoingTranslationAttributesHasBeenSet = true; m_outgoingTranslationAttributes = std::move(value); } /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline TranslatePinDataRequest& WithOutgoingTranslationAttributes(const TranslationIsoFormats& value) { SetOutgoingTranslationAttributes(value); return *this;} /** *

The format of the outgoing PIN block data after tranlation by Amazon Web * Services Payment Cryptography.

*/ inline TranslatePinDataRequest& WithOutgoingTranslationAttributes(TranslationIsoFormats&& value) { SetOutgoingTranslationAttributes(std::move(value)); return *this;} private: Aws::String m_encryptedPinBlock; bool m_encryptedPinBlockHasBeenSet = false; DukptDerivationAttributes m_incomingDukptAttributes; bool m_incomingDukptAttributesHasBeenSet = false; Aws::String m_incomingKeyIdentifier; bool m_incomingKeyIdentifierHasBeenSet = false; TranslationIsoFormats m_incomingTranslationAttributes; bool m_incomingTranslationAttributesHasBeenSet = false; DukptDerivationAttributes m_outgoingDukptAttributes; bool m_outgoingDukptAttributesHasBeenSet = false; Aws::String m_outgoingKeyIdentifier; bool m_outgoingKeyIdentifierHasBeenSet = false; TranslationIsoFormats m_outgoingTranslationAttributes; bool m_outgoingTranslationAttributesHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws