/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Parameters that are required for EMV MAC generation and
* verification.See Also:
AWS
* API Reference
The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline const MajorKeyDerivationMode& GetMajorKeyDerivationMode() const{ return m_majorKeyDerivationMode; } /** *The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline bool MajorKeyDerivationModeHasBeenSet() const { return m_majorKeyDerivationModeHasBeenSet; } /** *The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline void SetMajorKeyDerivationMode(const MajorKeyDerivationMode& value) { m_majorKeyDerivationModeHasBeenSet = true; m_majorKeyDerivationMode = value; } /** *The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline void SetMajorKeyDerivationMode(MajorKeyDerivationMode&& value) { m_majorKeyDerivationModeHasBeenSet = true; m_majorKeyDerivationMode = std::move(value); } /** *The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline MacAlgorithmEmv& WithMajorKeyDerivationMode(const MajorKeyDerivationMode& value) { SetMajorKeyDerivationMode(value); return *this;} /** *The method to use when deriving the master key for EMV MAC generation or * verification.
*/ inline MacAlgorithmEmv& WithMajorKeyDerivationMode(MajorKeyDerivationMode&& value) { SetMajorKeyDerivationMode(std::move(value)); return *this;} /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline const Aws::String& GetPanSequenceNumber() const{ return m_panSequenceNumber; } /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline bool PanSequenceNumberHasBeenSet() const { return m_panSequenceNumberHasBeenSet; } /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline void SetPanSequenceNumber(const Aws::String& value) { m_panSequenceNumberHasBeenSet = true; m_panSequenceNumber = value; } /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline void SetPanSequenceNumber(Aws::String&& value) { m_panSequenceNumberHasBeenSet = true; m_panSequenceNumber = std::move(value); } /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline void SetPanSequenceNumber(const char* value) { m_panSequenceNumberHasBeenSet = true; m_panSequenceNumber.assign(value); } /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline MacAlgorithmEmv& WithPanSequenceNumber(const Aws::String& value) { SetPanSequenceNumber(value); return *this;} /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline MacAlgorithmEmv& WithPanSequenceNumber(Aws::String&& value) { SetPanSequenceNumber(std::move(value)); return *this;} /** *A number that identifies and differentiates payment cards with the same * Primary Account Number (PAN).
*/ inline MacAlgorithmEmv& WithPanSequenceNumber(const char* value) { SetPanSequenceNumber(value); return *this;} /** *The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card and associates the card to 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 and associates the card to 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 and associates the card to 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 and associates the card to 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 and associates the card to 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 and associates the card to a specific account holder.
*/ inline MacAlgorithmEmv& WithPrimaryAccountNumber(const Aws::String& value) { SetPrimaryAccountNumber(value); return *this;} /** *The Primary Account Number (PAN), a unique identifier for a payment credit or * debit card and associates the card to a specific account holder.
*/ inline MacAlgorithmEmv& 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 and associates the card to a specific account holder.
*/ inline MacAlgorithmEmv& WithPrimaryAccountNumber(const char* value) { SetPrimaryAccountNumber(value); return *this;} /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline const SessionKeyDerivationMode& GetSessionKeyDerivationMode() const{ return m_sessionKeyDerivationMode; } /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline bool SessionKeyDerivationModeHasBeenSet() const { return m_sessionKeyDerivationModeHasBeenSet; } /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline void SetSessionKeyDerivationMode(const SessionKeyDerivationMode& value) { m_sessionKeyDerivationModeHasBeenSet = true; m_sessionKeyDerivationMode = value; } /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline void SetSessionKeyDerivationMode(SessionKeyDerivationMode&& value) { m_sessionKeyDerivationModeHasBeenSet = true; m_sessionKeyDerivationMode = std::move(value); } /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline MacAlgorithmEmv& WithSessionKeyDerivationMode(const SessionKeyDerivationMode& value) { SetSessionKeyDerivationMode(value); return *this;} /** *The method of deriving a session key for EMV MAC generation or * verification.
*/ inline MacAlgorithmEmv& WithSessionKeyDerivationMode(SessionKeyDerivationMode&& value) { SetSessionKeyDerivationMode(std::move(value)); return *this;} /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline const SessionKeyDerivationValue& GetSessionKeyDerivationValue() const{ return m_sessionKeyDerivationValue; } /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline bool SessionKeyDerivationValueHasBeenSet() const { return m_sessionKeyDerivationValueHasBeenSet; } /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline void SetSessionKeyDerivationValue(const SessionKeyDerivationValue& value) { m_sessionKeyDerivationValueHasBeenSet = true; m_sessionKeyDerivationValue = value; } /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline void SetSessionKeyDerivationValue(SessionKeyDerivationValue&& value) { m_sessionKeyDerivationValueHasBeenSet = true; m_sessionKeyDerivationValue = std::move(value); } /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline MacAlgorithmEmv& WithSessionKeyDerivationValue(const SessionKeyDerivationValue& value) { SetSessionKeyDerivationValue(value); return *this;} /** *Parameters that are required to generate session key for EMV generation and * verification.
*/ inline MacAlgorithmEmv& WithSessionKeyDerivationValue(SessionKeyDerivationValue&& value) { SetSessionKeyDerivationValue(std::move(value)); return *this;} private: MajorKeyDerivationMode m_majorKeyDerivationMode; bool m_majorKeyDerivationModeHasBeenSet = false; Aws::String m_panSequenceNumber; bool m_panSequenceNumberHasBeenSet = false; Aws::String m_primaryAccountNumber; bool m_primaryAccountNumberHasBeenSet = false; SessionKeyDerivationMode m_sessionKeyDerivationMode; bool m_sessionKeyDerivationModeHasBeenSet = false; SessionKeyDerivationValue m_sessionKeyDerivationValue; bool m_sessionKeyDerivationValueHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws