/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Parameters to derive a session key for Authorization Response Cryptogram
* (ARQC) verification.See Also:
AWS
* API Reference
Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline const SessionKeyAmex& GetAmex() const{ return m_amex; } /** *Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline bool AmexHasBeenSet() const { return m_amexHasBeenSet; } /** *Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline void SetAmex(const SessionKeyAmex& value) { m_amexHasBeenSet = true; m_amex = value; } /** *Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline void SetAmex(SessionKeyAmex&& value) { m_amexHasBeenSet = true; m_amex = std::move(value); } /** *Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithAmex(const SessionKeyAmex& value) { SetAmex(value); return *this;} /** *Parameters to derive session key for an Amex payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithAmex(SessionKeyAmex&& value) { SetAmex(std::move(value)); return *this;} /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline const SessionKeyEmv2000& GetEmv2000() const{ return m_emv2000; } /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline bool Emv2000HasBeenSet() const { return m_emv2000HasBeenSet; } /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline void SetEmv2000(const SessionKeyEmv2000& value) { m_emv2000HasBeenSet = true; m_emv2000 = value; } /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline void SetEmv2000(SessionKeyEmv2000&& value) { m_emv2000HasBeenSet = true; m_emv2000 = std::move(value); } /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithEmv2000(const SessionKeyEmv2000& value) { SetEmv2000(value); return *this;} /** *Parameters to derive session key for an Emv2000 payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithEmv2000(SessionKeyEmv2000&& value) { SetEmv2000(std::move(value)); return *this;} /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline const SessionKeyEmvCommon& GetEmvCommon() const{ return m_emvCommon; } /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline bool EmvCommonHasBeenSet() const { return m_emvCommonHasBeenSet; } /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline void SetEmvCommon(const SessionKeyEmvCommon& value) { m_emvCommonHasBeenSet = true; m_emvCommon = value; } /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline void SetEmvCommon(SessionKeyEmvCommon&& value) { m_emvCommonHasBeenSet = true; m_emvCommon = std::move(value); } /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithEmvCommon(const SessionKeyEmvCommon& value) { SetEmvCommon(value); return *this;} /** *Parameters to derive session key for an Emv common payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithEmvCommon(SessionKeyEmvCommon&& value) { SetEmvCommon(std::move(value)); return *this;} /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline const SessionKeyMastercard& GetMastercard() const{ return m_mastercard; } /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline bool MastercardHasBeenSet() const { return m_mastercardHasBeenSet; } /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline void SetMastercard(const SessionKeyMastercard& value) { m_mastercardHasBeenSet = true; m_mastercard = value; } /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline void SetMastercard(SessionKeyMastercard&& value) { m_mastercardHasBeenSet = true; m_mastercard = std::move(value); } /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithMastercard(const SessionKeyMastercard& value) { SetMastercard(value); return *this;} /** *Parameters to derive session key for a Mastercard payment card for ARQC * verification.
*/ inline SessionKeyDerivation& WithMastercard(SessionKeyMastercard&& value) { SetMastercard(std::move(value)); return *this;} /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline const SessionKeyVisa& GetVisa() const{ return m_visa; } /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline bool VisaHasBeenSet() const { return m_visaHasBeenSet; } /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline void SetVisa(const SessionKeyVisa& value) { m_visaHasBeenSet = true; m_visa = value; } /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline void SetVisa(SessionKeyVisa&& value) { m_visaHasBeenSet = true; m_visa = std::move(value); } /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline SessionKeyDerivation& WithVisa(const SessionKeyVisa& value) { SetVisa(value); return *this;} /** *Parameters to derive session key for a Visa payment cardfor ARQC * verification.
*/ inline SessionKeyDerivation& WithVisa(SessionKeyVisa&& value) { SetVisa(std::move(value)); return *this;} private: SessionKeyAmex m_amex; bool m_amexHasBeenSet = false; SessionKeyEmv2000 m_emv2000; bool m_emv2000HasBeenSet = false; SessionKeyEmvCommon m_emvCommon; bool m_emvCommonHasBeenSet = false; SessionKeyMastercard m_mastercard; bool m_mastercardHasBeenSet = false; SessionKeyVisa m_visa; bool m_visaHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws