/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConnectParticipant { namespace Model { /** *

Contains metadata related to a message.

See Also:

AWS * API Reference

*/ class MessageMetadata { public: AWS_CONNECTPARTICIPANT_API MessageMetadata(); AWS_CONNECTPARTICIPANT_API MessageMetadata(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECTPARTICIPANT_API MessageMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECTPARTICIPANT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The identifier of the message that contains the metadata information.

*/ inline const Aws::String& GetMessageId() const{ return m_messageId; } /** *

The identifier of the message that contains the metadata information.

*/ inline bool MessageIdHasBeenSet() const { return m_messageIdHasBeenSet; } /** *

The identifier of the message that contains the metadata information.

*/ inline void SetMessageId(const Aws::String& value) { m_messageIdHasBeenSet = true; m_messageId = value; } /** *

The identifier of the message that contains the metadata information.

*/ inline void SetMessageId(Aws::String&& value) { m_messageIdHasBeenSet = true; m_messageId = std::move(value); } /** *

The identifier of the message that contains the metadata information.

*/ inline void SetMessageId(const char* value) { m_messageIdHasBeenSet = true; m_messageId.assign(value); } /** *

The identifier of the message that contains the metadata information.

*/ inline MessageMetadata& WithMessageId(const Aws::String& value) { SetMessageId(value); return *this;} /** *

The identifier of the message that contains the metadata information.

*/ inline MessageMetadata& WithMessageId(Aws::String&& value) { SetMessageId(std::move(value)); return *this;} /** *

The identifier of the message that contains the metadata information.

*/ inline MessageMetadata& WithMessageId(const char* value) { SetMessageId(value); return *this;} /** *

The list of receipt information for a message for different recipients.

*/ inline const Aws::Vector& GetReceipts() const{ return m_receipts; } /** *

The list of receipt information for a message for different recipients.

*/ inline bool ReceiptsHasBeenSet() const { return m_receiptsHasBeenSet; } /** *

The list of receipt information for a message for different recipients.

*/ inline void SetReceipts(const Aws::Vector& value) { m_receiptsHasBeenSet = true; m_receipts = value; } /** *

The list of receipt information for a message for different recipients.

*/ inline void SetReceipts(Aws::Vector&& value) { m_receiptsHasBeenSet = true; m_receipts = std::move(value); } /** *

The list of receipt information for a message for different recipients.

*/ inline MessageMetadata& WithReceipts(const Aws::Vector& value) { SetReceipts(value); return *this;} /** *

The list of receipt information for a message for different recipients.

*/ inline MessageMetadata& WithReceipts(Aws::Vector&& value) { SetReceipts(std::move(value)); return *this;} /** *

The list of receipt information for a message for different recipients.

*/ inline MessageMetadata& AddReceipts(const Receipt& value) { m_receiptsHasBeenSet = true; m_receipts.push_back(value); return *this; } /** *

The list of receipt information for a message for different recipients.

*/ inline MessageMetadata& AddReceipts(Receipt&& value) { m_receiptsHasBeenSet = true; m_receipts.push_back(std::move(value)); return *this; } private: Aws::String m_messageId; bool m_messageIdHasBeenSet = false; Aws::Vector m_receipts; bool m_receiptsHasBeenSet = false; }; } // namespace Model } // namespace ConnectParticipant } // namespace Aws