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

Card data parameters that are required to generate Card Verification Values * (CVV/CVV2), Dynamic Card Verification Values (dCVV/dCVV2), or Card Security * Codes (CSC).

See Also:

AWS * API Reference

*/ class CardGenerationAttributes { public: AWS_PAYMENTCRYPTOGRAPHYDATA_API CardGenerationAttributes(); AWS_PAYMENTCRYPTOGRAPHYDATA_API CardGenerationAttributes(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API CardGenerationAttributes& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Utils::Json::JsonValue Jsonize() const; inline const AmexCardSecurityCodeVersion1& GetAmexCardSecurityCodeVersion1() const{ return m_amexCardSecurityCodeVersion1; } inline bool AmexCardSecurityCodeVersion1HasBeenSet() const { return m_amexCardSecurityCodeVersion1HasBeenSet; } inline void SetAmexCardSecurityCodeVersion1(const AmexCardSecurityCodeVersion1& value) { m_amexCardSecurityCodeVersion1HasBeenSet = true; m_amexCardSecurityCodeVersion1 = value; } inline void SetAmexCardSecurityCodeVersion1(AmexCardSecurityCodeVersion1&& value) { m_amexCardSecurityCodeVersion1HasBeenSet = true; m_amexCardSecurityCodeVersion1 = std::move(value); } inline CardGenerationAttributes& WithAmexCardSecurityCodeVersion1(const AmexCardSecurityCodeVersion1& value) { SetAmexCardSecurityCodeVersion1(value); return *this;} inline CardGenerationAttributes& WithAmexCardSecurityCodeVersion1(AmexCardSecurityCodeVersion1&& value) { SetAmexCardSecurityCodeVersion1(std::move(value)); return *this;} /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline const AmexCardSecurityCodeVersion2& GetAmexCardSecurityCodeVersion2() const{ return m_amexCardSecurityCodeVersion2; } /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline bool AmexCardSecurityCodeVersion2HasBeenSet() const { return m_amexCardSecurityCodeVersion2HasBeenSet; } /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline void SetAmexCardSecurityCodeVersion2(const AmexCardSecurityCodeVersion2& value) { m_amexCardSecurityCodeVersion2HasBeenSet = true; m_amexCardSecurityCodeVersion2 = value; } /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline void SetAmexCardSecurityCodeVersion2(AmexCardSecurityCodeVersion2&& value) { m_amexCardSecurityCodeVersion2HasBeenSet = true; m_amexCardSecurityCodeVersion2 = std::move(value); } /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline CardGenerationAttributes& WithAmexCardSecurityCodeVersion2(const AmexCardSecurityCodeVersion2& value) { SetAmexCardSecurityCodeVersion2(value); return *this;} /** *

Card data parameters that are required to generate a Card Security Code * (CSC2) for an AMEX payment card.

*/ inline CardGenerationAttributes& WithAmexCardSecurityCodeVersion2(AmexCardSecurityCodeVersion2&& value) { SetAmexCardSecurityCodeVersion2(std::move(value)); return *this;} /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline const CardHolderVerificationValue& GetCardHolderVerificationValue() const{ return m_cardHolderVerificationValue; } /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline bool CardHolderVerificationValueHasBeenSet() const { return m_cardHolderVerificationValueHasBeenSet; } /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline void SetCardHolderVerificationValue(const CardHolderVerificationValue& value) { m_cardHolderVerificationValueHasBeenSet = true; m_cardHolderVerificationValue = value; } /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline void SetCardHolderVerificationValue(CardHolderVerificationValue&& value) { m_cardHolderVerificationValueHasBeenSet = true; m_cardHolderVerificationValue = std::move(value); } /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline CardGenerationAttributes& WithCardHolderVerificationValue(const CardHolderVerificationValue& value) { SetCardHolderVerificationValue(value); return *this;} /** *

Card data parameters that are required to generate a cardholder verification * value for the payment card.

*/ inline CardGenerationAttributes& WithCardHolderVerificationValue(CardHolderVerificationValue&& value) { SetCardHolderVerificationValue(std::move(value)); return *this;} /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline const CardVerificationValue1& GetCardVerificationValue1() const{ return m_cardVerificationValue1; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline bool CardVerificationValue1HasBeenSet() const { return m_cardVerificationValue1HasBeenSet; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline void SetCardVerificationValue1(const CardVerificationValue1& value) { m_cardVerificationValue1HasBeenSet = true; m_cardVerificationValue1 = value; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline void SetCardVerificationValue1(CardVerificationValue1&& value) { m_cardVerificationValue1HasBeenSet = true; m_cardVerificationValue1 = std::move(value); } /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline CardGenerationAttributes& WithCardVerificationValue1(const CardVerificationValue1& value) { SetCardVerificationValue1(value); return *this;} /** *

Card data parameters that are required to generate Card Verification Value * (CVV) for the payment card.

*/ inline CardGenerationAttributes& WithCardVerificationValue1(CardVerificationValue1&& value) { SetCardVerificationValue1(std::move(value)); return *this;} /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline const CardVerificationValue2& GetCardVerificationValue2() const{ return m_cardVerificationValue2; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline bool CardVerificationValue2HasBeenSet() const { return m_cardVerificationValue2HasBeenSet; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline void SetCardVerificationValue2(const CardVerificationValue2& value) { m_cardVerificationValue2HasBeenSet = true; m_cardVerificationValue2 = value; } /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline void SetCardVerificationValue2(CardVerificationValue2&& value) { m_cardVerificationValue2HasBeenSet = true; m_cardVerificationValue2 = std::move(value); } /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline CardGenerationAttributes& WithCardVerificationValue2(const CardVerificationValue2& value) { SetCardVerificationValue2(value); return *this;} /** *

Card data parameters that are required to generate Card Verification Value * (CVV2) for the payment card.

*/ inline CardGenerationAttributes& WithCardVerificationValue2(CardVerificationValue2&& value) { SetCardVerificationValue2(std::move(value)); return *this;} /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline const DynamicCardVerificationCode& GetDynamicCardVerificationCode() const{ return m_dynamicCardVerificationCode; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline bool DynamicCardVerificationCodeHasBeenSet() const { return m_dynamicCardVerificationCodeHasBeenSet; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline void SetDynamicCardVerificationCode(const DynamicCardVerificationCode& value) { m_dynamicCardVerificationCodeHasBeenSet = true; m_dynamicCardVerificationCode = value; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline void SetDynamicCardVerificationCode(DynamicCardVerificationCode&& value) { m_dynamicCardVerificationCodeHasBeenSet = true; m_dynamicCardVerificationCode = std::move(value); } /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline CardGenerationAttributes& WithDynamicCardVerificationCode(const DynamicCardVerificationCode& value) { SetDynamicCardVerificationCode(value); return *this;} /** *

Card data parameters that are required to generate CDynamic Card Verification * Code (dCVC) for the payment card.

*/ inline CardGenerationAttributes& WithDynamicCardVerificationCode(DynamicCardVerificationCode&& value) { SetDynamicCardVerificationCode(std::move(value)); return *this;} /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline const DynamicCardVerificationValue& GetDynamicCardVerificationValue() const{ return m_dynamicCardVerificationValue; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline bool DynamicCardVerificationValueHasBeenSet() const { return m_dynamicCardVerificationValueHasBeenSet; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline void SetDynamicCardVerificationValue(const DynamicCardVerificationValue& value) { m_dynamicCardVerificationValueHasBeenSet = true; m_dynamicCardVerificationValue = value; } /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline void SetDynamicCardVerificationValue(DynamicCardVerificationValue&& value) { m_dynamicCardVerificationValueHasBeenSet = true; m_dynamicCardVerificationValue = std::move(value); } /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline CardGenerationAttributes& WithDynamicCardVerificationValue(const DynamicCardVerificationValue& value) { SetDynamicCardVerificationValue(value); return *this;} /** *

Card data parameters that are required to generate CDynamic Card Verification * Value (dCVV) for the payment card.

*/ inline CardGenerationAttributes& WithDynamicCardVerificationValue(DynamicCardVerificationValue&& value) { SetDynamicCardVerificationValue(std::move(value)); return *this;} private: AmexCardSecurityCodeVersion1 m_amexCardSecurityCodeVersion1; bool m_amexCardSecurityCodeVersion1HasBeenSet = false; AmexCardSecurityCodeVersion2 m_amexCardSecurityCodeVersion2; bool m_amexCardSecurityCodeVersion2HasBeenSet = false; CardHolderVerificationValue m_cardHolderVerificationValue; bool m_cardHolderVerificationValueHasBeenSet = false; CardVerificationValue1 m_cardVerificationValue1; bool m_cardVerificationValue1HasBeenSet = false; CardVerificationValue2 m_cardVerificationValue2; bool m_cardVerificationValue2HasBeenSet = false; DynamicCardVerificationCode m_dynamicCardVerificationCode; bool m_dynamicCardVerificationCodeHasBeenSet = false; DynamicCardVerificationValue m_dynamicCardVerificationValue; bool m_dynamicCardVerificationValueHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws