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

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline const CardGenerationAttributes& GetGenerationAttributes() const{ return m_generationAttributes; } /** *

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline bool GenerationAttributesHasBeenSet() const { return m_generationAttributesHasBeenSet; } /** *

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline void SetGenerationAttributes(const CardGenerationAttributes& value) { m_generationAttributesHasBeenSet = true; m_generationAttributes = value; } /** *

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline void SetGenerationAttributes(CardGenerationAttributes&& value) { m_generationAttributesHasBeenSet = true; m_generationAttributes = std::move(value); } /** *

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline GenerateCardValidationDataRequest& WithGenerationAttributes(const CardGenerationAttributes& value) { SetGenerationAttributes(value); return *this;} /** *

The algorithm for generating CVV or CSC values for the card within Amazon Web * Services Payment Cryptography.

*/ inline GenerateCardValidationDataRequest& WithGenerationAttributes(CardGenerationAttributes&& value) { SetGenerationAttributes(std::move(value)); return *this;} /** *

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to generate 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 generate card data.

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

The keyARN of the CVK encryption key that Amazon Web Services * Payment Cryptography uses to generate 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 generate 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 generate 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 generate card data.

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

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

*/ inline GenerateCardValidationDataRequest& 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 generate card data.

*/ inline GenerateCardValidationDataRequest& 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 GenerateCardValidationDataRequest& 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 GenerateCardValidationDataRequest& 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 GenerateCardValidationDataRequest& WithPrimaryAccountNumber(const char* value) { SetPrimaryAccountNumber(value); return *this;} /** *

The length of the CVV or CSC to be generated. The default value is 3.

*/ inline int GetValidationDataLength() const{ return m_validationDataLength; } /** *

The length of the CVV or CSC to be generated. The default value is 3.

*/ inline bool ValidationDataLengthHasBeenSet() const { return m_validationDataLengthHasBeenSet; } /** *

The length of the CVV or CSC to be generated. The default value is 3.

*/ inline void SetValidationDataLength(int value) { m_validationDataLengthHasBeenSet = true; m_validationDataLength = value; } /** *

The length of the CVV or CSC to be generated. The default value is 3.

*/ inline GenerateCardValidationDataRequest& WithValidationDataLength(int value) { SetValidationDataLength(value); return *this;} private: CardGenerationAttributes m_generationAttributes; bool m_generationAttributesHasBeenSet = false; Aws::String m_keyIdentifier; bool m_keyIdentifierHasBeenSet = false; Aws::String m_primaryAccountNumber; bool m_primaryAccountNumberHasBeenSet = false; int m_validationDataLength; bool m_validationDataLengthHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws