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

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline const Aws::String& GetKeyIdentifier() const{ return m_keyIdentifier; } /** *

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

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

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline void SetKeyIdentifier(const Aws::String& value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier = value; } /** *

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline void SetKeyIdentifier(Aws::String&& value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier = std::move(value); } /** *

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline void SetKeyIdentifier(const char* value) { m_keyIdentifierHasBeenSet = true; m_keyIdentifier.assign(value); } /** *

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

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

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline VerifyMacRequest& WithKeyIdentifier(Aws::String&& value) { SetKeyIdentifier(std::move(value)); return *this;} /** *

The keyARN of the encryption key that Amazon Web Services * Payment Cryptography uses to verify MAC data.

*/ inline VerifyMacRequest& WithKeyIdentifier(const char* value) { SetKeyIdentifier(value); return *this;} /** *

The MAC being verified.

*/ inline const Aws::String& GetMac() const{ return m_mac; } /** *

The MAC being verified.

*/ inline bool MacHasBeenSet() const { return m_macHasBeenSet; } /** *

The MAC being verified.

*/ inline void SetMac(const Aws::String& value) { m_macHasBeenSet = true; m_mac = value; } /** *

The MAC being verified.

*/ inline void SetMac(Aws::String&& value) { m_macHasBeenSet = true; m_mac = std::move(value); } /** *

The MAC being verified.

*/ inline void SetMac(const char* value) { m_macHasBeenSet = true; m_mac.assign(value); } /** *

The MAC being verified.

*/ inline VerifyMacRequest& WithMac(const Aws::String& value) { SetMac(value); return *this;} /** *

The MAC being verified.

*/ inline VerifyMacRequest& WithMac(Aws::String&& value) { SetMac(std::move(value)); return *this;} /** *

The MAC being verified.

*/ inline VerifyMacRequest& WithMac(const char* value) { SetMac(value); return *this;} /** *

The length of the MAC.

*/ inline int GetMacLength() const{ return m_macLength; } /** *

The length of the MAC.

*/ inline bool MacLengthHasBeenSet() const { return m_macLengthHasBeenSet; } /** *

The length of the MAC.

*/ inline void SetMacLength(int value) { m_macLengthHasBeenSet = true; m_macLength = value; } /** *

The length of the MAC.

*/ inline VerifyMacRequest& WithMacLength(int value) { SetMacLength(value); return *this;} /** *

The data on for which MAC is under verification.

*/ inline const Aws::String& GetMessageData() const{ return m_messageData; } /** *

The data on for which MAC is under verification.

*/ inline bool MessageDataHasBeenSet() const { return m_messageDataHasBeenSet; } /** *

The data on for which MAC is under verification.

*/ inline void SetMessageData(const Aws::String& value) { m_messageDataHasBeenSet = true; m_messageData = value; } /** *

The data on for which MAC is under verification.

*/ inline void SetMessageData(Aws::String&& value) { m_messageDataHasBeenSet = true; m_messageData = std::move(value); } /** *

The data on for which MAC is under verification.

*/ inline void SetMessageData(const char* value) { m_messageDataHasBeenSet = true; m_messageData.assign(value); } /** *

The data on for which MAC is under verification.

*/ inline VerifyMacRequest& WithMessageData(const Aws::String& value) { SetMessageData(value); return *this;} /** *

The data on for which MAC is under verification.

*/ inline VerifyMacRequest& WithMessageData(Aws::String&& value) { SetMessageData(std::move(value)); return *this;} /** *

The data on for which MAC is under verification.

*/ inline VerifyMacRequest& WithMessageData(const char* value) { SetMessageData(value); return *this;} /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline const MacAttributes& GetVerificationAttributes() const{ return m_verificationAttributes; } /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline bool VerificationAttributesHasBeenSet() const { return m_verificationAttributesHasBeenSet; } /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline void SetVerificationAttributes(const MacAttributes& value) { m_verificationAttributesHasBeenSet = true; m_verificationAttributes = value; } /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline void SetVerificationAttributes(MacAttributes&& value) { m_verificationAttributesHasBeenSet = true; m_verificationAttributes = std::move(value); } /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline VerifyMacRequest& WithVerificationAttributes(const MacAttributes& value) { SetVerificationAttributes(value); return *this;} /** *

The attributes and data values to use for MAC verification within Amazon Web * Services Payment Cryptography.

*/ inline VerifyMacRequest& WithVerificationAttributes(MacAttributes&& value) { SetVerificationAttributes(std::move(value)); return *this;} private: Aws::String m_keyIdentifier; bool m_keyIdentifierHasBeenSet = false; Aws::String m_mac; bool m_macHasBeenSet = false; int m_macLength; bool m_macLengthHasBeenSet = false; Aws::String m_messageData; bool m_messageDataHasBeenSet = false; MacAttributes m_verificationAttributes; bool m_verificationAttributesHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws