/** * 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 VerifyCardValidationDataRequest : public PaymentCryptographyDataRequest { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API VerifyCardValidationDataRequest(); // 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 "VerifyCardValidationData"; } AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::String SerializePayload() const override; /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline const Aws::String& GetKeyIdentifier() const{ return m_keyIdentifier; } /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline bool KeyIdentifierHasBeenSet() const { return m_keyIdentifierHasBeenSet; } /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline void SetKeyIdentifier(const Aws::String& value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier = value; } /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline void SetKeyIdentifier(Aws::String&& value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier = std::move(value); } /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline void SetKeyIdentifier(const char* value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier.assign(value); } /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline VerifyCardValidationDataRequest& WithKeyIdentifier(const Aws::String& value) { SetKeyIdentifier(value); return *this;} /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline VerifyCardValidationDataRequest& WithKeyIdentifier(Aws::String&& value) { SetKeyIdentifier(std::move(value)); return *this;} /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to verify card data.

*/ inline VerifyCardValidationDataRequest& WithKeyIdentifier(const char* value) { SetKeyIdentifier(value); return *this;} /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline const Aws::String& GetPrimaryAccountNumber() const{ return m_primaryAccountNumber; } /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline bool PrimaryAccountNumberHasBeenSet() const { return m_primaryAccountNumberHasBeenSet; } /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline void SetPrimaryAccountNumber(const Aws::String& value) { m_primaryAccountNumberHasBeenSet = true; m_primaryAccountNumber = value; } /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline void SetPrimaryAccountNumber(Aws::String&& value) { m_primaryAccountNumberHasBeenSet = true; m_primaryAccountNumber = std::move(value); } /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline void SetPrimaryAccountNumber(const char* value) { m_primaryAccountNumberHasBeenSet = true; m_primaryAccountNumber.assign(value); } /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline VerifyCardValidationDataRequest& WithPrimaryAccountNumber(const Aws::String& value) { SetPrimaryAccountNumber(value); return *this;} /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline VerifyCardValidationDataRequest& WithPrimaryAccountNumber(Aws::String&& value) { SetPrimaryAccountNumber(std::move(value)); return *this;} /** *

The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card that associates the card with a specific account holder.

*/ inline VerifyCardValidationDataRequest& WithPrimaryAccountNumber(const char* value) { SetPrimaryAccountNumber(value); return *this;} /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline const Aws::String& GetValidationData() const{ return m_validationData; } /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline bool ValidationDataHasBeenSet() const { return m_validationDataHasBeenSet; } /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline void SetValidationData(const Aws::String& value) { m_validationDataHasBeenSet = true; m_validationData = value; } /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline void SetValidationData(Aws::String&& value) { m_validationDataHasBeenSet = true; m_validationData = std::move(value); } /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline void SetValidationData(const char* value) { m_validationDataHasBeenSet = true; m_validationData.assign(value); } /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline VerifyCardValidationDataRequest& WithValidationData(const Aws::String& value) { SetValidationData(value); return *this;} /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline VerifyCardValidationDataRequest& WithValidationData(Aws::String&& value) { SetValidationData(std::move(value)); return *this;} /** *

The CVV or CSC value for use for card data verification within Amazon Web * Services Payment Cryptography.

*/ inline VerifyCardValidationDataRequest& WithValidationData(const char* value) { SetValidationData(value); return *this;} /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline const CardVerificationAttributes& GetVerificationAttributes() const{ return m_verificationAttributes; } /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline bool VerificationAttributesHasBeenSet() const { return m_verificationAttributesHasBeenSet; } /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline void SetVerificationAttributes(const CardVerificationAttributes& value) { m_verificationAttributesHasBeenSet = true; m_verificationAttributes = value; } /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline void SetVerificationAttributes(CardVerificationAttributes&& value) { m_verificationAttributesHasBeenSet = true; m_verificationAttributes = std::move(value); } /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline VerifyCardValidationDataRequest& WithVerificationAttributes(const CardVerificationAttributes& value) { SetVerificationAttributes(value); return *this;} /** *

The algorithm to use for verification of card data within Amazon Web Services * Payment Cryptography.

*/ inline VerifyCardValidationDataRequest& WithVerificationAttributes(CardVerificationAttributes&& value) { SetVerificationAttributes(std::move(value)); return *this;} private: Aws::String m_keyIdentifier; bool m_keyIdentifierHasBeenSet = false; Aws::String m_primaryAccountNumber; bool m_primaryAccountNumberHasBeenSet = false; Aws::String m_validationData; bool m_validationDataHasBeenSet = false; CardVerificationAttributes m_verificationAttributes; bool m_verificationAttributesHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws