/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Parameters that are required for DUKPT, HMAC, or EMV MAC generation or
* verification.See Also:
AWS
* API Reference
The encryption algorithm for MAC generation or verification.
*/ inline const MacAlgorithm& GetAlgorithm() const{ return m_algorithm; } /** *The encryption algorithm for MAC generation or verification.
*/ inline bool AlgorithmHasBeenSet() const { return m_algorithmHasBeenSet; } /** *The encryption algorithm for MAC generation or verification.
*/ inline void SetAlgorithm(const MacAlgorithm& value) { m_algorithmHasBeenSet = true; m_algorithm = value; } /** *The encryption algorithm for MAC generation or verification.
*/ inline void SetAlgorithm(MacAlgorithm&& value) { m_algorithmHasBeenSet = true; m_algorithm = std::move(value); } /** *The encryption algorithm for MAC generation or verification.
*/ inline MacAttributes& WithAlgorithm(const MacAlgorithm& value) { SetAlgorithm(value); return *this;} /** *The encryption algorithm for MAC generation or verification.
*/ inline MacAttributes& WithAlgorithm(MacAlgorithm&& value) { SetAlgorithm(std::move(value)); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline const MacAlgorithmDukpt& GetDukptCmac() const{ return m_dukptCmac; } /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline bool DukptCmacHasBeenSet() const { return m_dukptCmacHasBeenSet; } /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline void SetDukptCmac(const MacAlgorithmDukpt& value) { m_dukptCmacHasBeenSet = true; m_dukptCmac = value; } /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline void SetDukptCmac(MacAlgorithmDukpt&& value) { m_dukptCmacHasBeenSet = true; m_dukptCmac = std::move(value); } /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline MacAttributes& WithDukptCmac(const MacAlgorithmDukpt& value) { SetDukptCmac(value); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * CMAC algorithm.
*/ inline MacAttributes& WithDukptCmac(MacAlgorithmDukpt&& value) { SetDukptCmac(std::move(value)); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline const MacAlgorithmDukpt& GetDukptIso9797Algorithm1() const{ return m_dukptIso9797Algorithm1; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline bool DukptIso9797Algorithm1HasBeenSet() const { return m_dukptIso9797Algorithm1HasBeenSet; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline void SetDukptIso9797Algorithm1(const MacAlgorithmDukpt& value) { m_dukptIso9797Algorithm1HasBeenSet = true; m_dukptIso9797Algorithm1 = value; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline void SetDukptIso9797Algorithm1(MacAlgorithmDukpt&& value) { m_dukptIso9797Algorithm1HasBeenSet = true; m_dukptIso9797Algorithm1 = std::move(value); } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline MacAttributes& WithDukptIso9797Algorithm1(const MacAlgorithmDukpt& value) { SetDukptIso9797Algorithm1(value); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm1.
*/ inline MacAttributes& WithDukptIso9797Algorithm1(MacAlgorithmDukpt&& value) { SetDukptIso9797Algorithm1(std::move(value)); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline const MacAlgorithmDukpt& GetDukptIso9797Algorithm3() const{ return m_dukptIso9797Algorithm3; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline bool DukptIso9797Algorithm3HasBeenSet() const { return m_dukptIso9797Algorithm3HasBeenSet; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline void SetDukptIso9797Algorithm3(const MacAlgorithmDukpt& value) { m_dukptIso9797Algorithm3HasBeenSet = true; m_dukptIso9797Algorithm3 = value; } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline void SetDukptIso9797Algorithm3(MacAlgorithmDukpt&& value) { m_dukptIso9797Algorithm3HasBeenSet = true; m_dukptIso9797Algorithm3 = std::move(value); } /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline MacAttributes& WithDukptIso9797Algorithm3(const MacAlgorithmDukpt& value) { SetDukptIso9797Algorithm3(value); return *this;} /** *Parameters that are required for MAC generation or verification using DUKPT * ISO 9797 algorithm2.
*/ inline MacAttributes& WithDukptIso9797Algorithm3(MacAlgorithmDukpt&& value) { SetDukptIso9797Algorithm3(std::move(value)); return *this;} /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline const MacAlgorithmEmv& GetEmvMac() const{ return m_emvMac; } /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline bool EmvMacHasBeenSet() const { return m_emvMacHasBeenSet; } /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline void SetEmvMac(const MacAlgorithmEmv& value) { m_emvMacHasBeenSet = true; m_emvMac = value; } /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline void SetEmvMac(MacAlgorithmEmv&& value) { m_emvMacHasBeenSet = true; m_emvMac = std::move(value); } /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline MacAttributes& WithEmvMac(const MacAlgorithmEmv& value) { SetEmvMac(value); return *this;} /** *Parameters that are required for MAC generation or verification using EMV MAC * algorithm.
*/ inline MacAttributes& WithEmvMac(MacAlgorithmEmv&& value) { SetEmvMac(std::move(value)); return *this;} private: MacAlgorithm m_algorithm; bool m_algorithmHasBeenSet = false; MacAlgorithmDukpt m_dukptCmac; bool m_dukptCmacHasBeenSet = false; MacAlgorithmDukpt m_dukptIso9797Algorithm1; bool m_dukptIso9797Algorithm1HasBeenSet = false; MacAlgorithmDukpt m_dukptIso9797Algorithm3; bool m_dukptIso9797Algorithm3HasBeenSet = false; MacAlgorithmEmv m_emvMac; bool m_emvMacHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws