/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace KMS { namespace Model { class GenerateMacResult { public: AWS_KMS_API GenerateMacResult(); AWS_KMS_API GenerateMacResult(const Aws::AmazonWebServiceResult& result); AWS_KMS_API GenerateMacResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The hash-based message authentication code (HMAC) that was generated for the * specified message, HMAC KMS key, and MAC algorithm.

This is the standard, * raw HMAC defined in RFC * 2104.

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

The hash-based message authentication code (HMAC) that was generated for the * specified message, HMAC KMS key, and MAC algorithm.

This is the standard, * raw HMAC defined in RFC * 2104.

*/ inline void SetMac(const Aws::Utils::ByteBuffer& value) { m_mac = value; } /** *

The hash-based message authentication code (HMAC) that was generated for the * specified message, HMAC KMS key, and MAC algorithm.

This is the standard, * raw HMAC defined in RFC * 2104.

*/ inline void SetMac(Aws::Utils::ByteBuffer&& value) { m_mac = std::move(value); } /** *

The hash-based message authentication code (HMAC) that was generated for the * specified message, HMAC KMS key, and MAC algorithm.

This is the standard, * raw HMAC defined in RFC * 2104.

*/ inline GenerateMacResult& WithMac(const Aws::Utils::ByteBuffer& value) { SetMac(value); return *this;} /** *

The hash-based message authentication code (HMAC) that was generated for the * specified message, HMAC KMS key, and MAC algorithm.

This is the standard, * raw HMAC defined in RFC * 2104.

*/ inline GenerateMacResult& WithMac(Aws::Utils::ByteBuffer&& value) { SetMac(std::move(value)); return *this;} /** *

The MAC algorithm that was used to generate the HMAC.

*/ inline const MacAlgorithmSpec& GetMacAlgorithm() const{ return m_macAlgorithm; } /** *

The MAC algorithm that was used to generate the HMAC.

*/ inline void SetMacAlgorithm(const MacAlgorithmSpec& value) { m_macAlgorithm = value; } /** *

The MAC algorithm that was used to generate the HMAC.

*/ inline void SetMacAlgorithm(MacAlgorithmSpec&& value) { m_macAlgorithm = std::move(value); } /** *

The MAC algorithm that was used to generate the HMAC.

*/ inline GenerateMacResult& WithMacAlgorithm(const MacAlgorithmSpec& value) { SetMacAlgorithm(value); return *this;} /** *

The MAC algorithm that was used to generate the HMAC.

*/ inline GenerateMacResult& WithMacAlgorithm(MacAlgorithmSpec&& value) { SetMacAlgorithm(std::move(value)); return *this;} /** *

The HMAC KMS key used in the operation.

*/ inline const Aws::String& GetKeyId() const{ return m_keyId; } /** *

The HMAC KMS key used in the operation.

*/ inline void SetKeyId(const Aws::String& value) { m_keyId = value; } /** *

The HMAC KMS key used in the operation.

*/ inline void SetKeyId(Aws::String&& value) { m_keyId = std::move(value); } /** *

The HMAC KMS key used in the operation.

*/ inline void SetKeyId(const char* value) { m_keyId.assign(value); } /** *

The HMAC KMS key used in the operation.

*/ inline GenerateMacResult& WithKeyId(const Aws::String& value) { SetKeyId(value); return *this;} /** *

The HMAC KMS key used in the operation.

*/ inline GenerateMacResult& WithKeyId(Aws::String&& value) { SetKeyId(std::move(value)); return *this;} /** *

The HMAC KMS key used in the operation.

*/ inline GenerateMacResult& WithKeyId(const char* value) { SetKeyId(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GenerateMacResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GenerateMacResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GenerateMacResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::Utils::ByteBuffer m_mac; MacAlgorithmSpec m_macAlgorithm; Aws::String m_keyId; Aws::String m_requestId; }; } // namespace Model } // namespace KMS } // namespace Aws