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

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

*/ inline const MacAttributes& GetGenerationAttributes() const{ return m_generationAttributes; } /** *

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

*/ inline bool GenerationAttributesHasBeenSet() const { return m_generationAttributesHasBeenSet; } /** *

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

*/ inline void SetGenerationAttributes(const MacAttributes& value) { m_generationAttributesHasBeenSet = true; m_generationAttributes = value; } /** *

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

*/ inline void SetGenerationAttributes(MacAttributes&& value) { m_generationAttributesHasBeenSet = true; m_generationAttributes = std::move(value); } /** *

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

*/ inline GenerateMacRequest& WithGenerationAttributes(const MacAttributes& value) { SetGenerationAttributes(value); return *this;} /** *

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

*/ inline GenerateMacRequest& WithGenerationAttributes(MacAttributes&& value) { SetGenerationAttributes(std::move(value)); return *this;} /** *

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The keyARN of the MAC generation encryption key.

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

The length of a MAC under generation.

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

The length of a MAC under generation.

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

The length of a MAC under generation.

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

The length of a MAC under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

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

The data for which a MAC is under generation.

*/ inline GenerateMacRequest& WithMessageData(const char* value) { SetMessageData(value); return *this;} private: MacAttributes m_generationAttributes; bool m_generationAttributesHasBeenSet = false; Aws::String m_keyIdentifier; bool m_keyIdentifierHasBeenSet = false; int m_macLength; bool m_macLengthHasBeenSet = false; Aws::String m_messageData; bool m_messageDataHasBeenSet = false; }; } // namespace Model } // namespace PaymentCryptographyData } // namespace Aws