/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An item - message or event - that has been sent. See Also:
* AWS
* API Reference
The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline const Aws::String& GetAbsoluteTime() const{ return m_absoluteTime; } /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline bool AbsoluteTimeHasBeenSet() const { return m_absoluteTimeHasBeenSet; } /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline void SetAbsoluteTime(const Aws::String& value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime = value; } /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline void SetAbsoluteTime(Aws::String&& value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime = std::move(value); } /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline void SetAbsoluteTime(const char* value) { m_absoluteTimeHasBeenSet = true; m_absoluteTime.assign(value); } /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline Item& WithAbsoluteTime(const Aws::String& value) { SetAbsoluteTime(value); return *this;} /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline Item& WithAbsoluteTime(Aws::String&& value) { SetAbsoluteTime(std::move(value)); return *this;} /** *The time when the message or event was sent.
It's specified in ISO * 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, * 2019-11-08T02:41:28.172Z.
*/ inline Item& WithAbsoluteTime(const char* value) { SetAbsoluteTime(value); return *this;} /** *The content of the message or event.
*/ inline const Aws::String& GetContent() const{ return m_content; } /** *The content of the message or event.
*/ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** *The content of the message or event.
*/ inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; } /** *The content of the message or event.
*/ inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** *The content of the message or event.
*/ inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); } /** *The content of the message or event.
*/ inline Item& WithContent(const Aws::String& value) { SetContent(value); return *this;} /** *The content of the message or event.
*/ inline Item& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;} /** *The content of the message or event.
*/ inline Item& WithContent(const char* value) { SetContent(value); return *this;} /** *The type of content of the item.
*/ inline const Aws::String& GetContentType() const{ return m_contentType; } /** *The type of content of the item.
*/ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** *The type of content of the item.
*/ inline void SetContentType(const Aws::String& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** *The type of content of the item.
*/ inline void SetContentType(Aws::String&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** *The type of content of the item.
*/ inline void SetContentType(const char* value) { m_contentTypeHasBeenSet = true; m_contentType.assign(value); } /** *The type of content of the item.
*/ inline Item& WithContentType(const Aws::String& value) { SetContentType(value); return *this;} /** *The type of content of the item.
*/ inline Item& WithContentType(Aws::String&& value) { SetContentType(std::move(value)); return *this;} /** *The type of content of the item.
*/ inline Item& WithContentType(const char* value) { SetContentType(value); return *this;} /** *The ID of the item.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The ID of the item.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The ID of the item.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The ID of the item.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The ID of the item.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The ID of the item.
*/ inline Item& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The ID of the item.
*/ inline Item& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The ID of the item.
*/ inline Item& WithId(const char* value) { SetId(value); return *this;} /** *Type of the item: message or event.
*/ inline const ChatItemType& GetType() const{ return m_type; } /** *Type of the item: message or event.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *Type of the item: message or event.
*/ inline void SetType(const ChatItemType& value) { m_typeHasBeenSet = true; m_type = value; } /** *Type of the item: message or event.
*/ inline void SetType(ChatItemType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *Type of the item: message or event.
*/ inline Item& WithType(const ChatItemType& value) { SetType(value); return *this;} /** *Type of the item: message or event.
*/ inline Item& WithType(ChatItemType&& value) { SetType(std::move(value)); return *this;} /** *The ID of the sender in the session.
*/ inline const Aws::String& GetParticipantId() const{ return m_participantId; } /** *The ID of the sender in the session.
*/ inline bool ParticipantIdHasBeenSet() const { return m_participantIdHasBeenSet; } /** *The ID of the sender in the session.
*/ inline void SetParticipantId(const Aws::String& value) { m_participantIdHasBeenSet = true; m_participantId = value; } /** *The ID of the sender in the session.
*/ inline void SetParticipantId(Aws::String&& value) { m_participantIdHasBeenSet = true; m_participantId = std::move(value); } /** *The ID of the sender in the session.
*/ inline void SetParticipantId(const char* value) { m_participantIdHasBeenSet = true; m_participantId.assign(value); } /** *The ID of the sender in the session.
*/ inline Item& WithParticipantId(const Aws::String& value) { SetParticipantId(value); return *this;} /** *The ID of the sender in the session.
*/ inline Item& WithParticipantId(Aws::String&& value) { SetParticipantId(std::move(value)); return *this;} /** *The ID of the sender in the session.
*/ inline Item& WithParticipantId(const char* value) { SetParticipantId(value); return *this;} /** *The chat display name of the sender.
*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *The chat display name of the sender.
*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *The chat display name of the sender.
*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *The chat display name of the sender.
*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *The chat display name of the sender.
*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *The chat display name of the sender.
*/ inline Item& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *The chat display name of the sender.
*/ inline Item& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *The chat display name of the sender.
*/ inline Item& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline const ParticipantRole& GetParticipantRole() const{ return m_participantRole; } /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline bool ParticipantRoleHasBeenSet() const { return m_participantRoleHasBeenSet; } /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline void SetParticipantRole(const ParticipantRole& value) { m_participantRoleHasBeenSet = true; m_participantRole = value; } /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline void SetParticipantRole(ParticipantRole&& value) { m_participantRoleHasBeenSet = true; m_participantRole = std::move(value); } /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline Item& WithParticipantRole(const ParticipantRole& value) { SetParticipantRole(value); return *this;} /** *The role of the sender. For example, is it a customer, agent, or system.
*/ inline Item& WithParticipantRole(ParticipantRole&& value) { SetParticipantRole(std::move(value)); return *this;} /** *Provides information about the attachments.
*/ inline const Aws::VectorProvides information about the attachments.
*/ inline bool AttachmentsHasBeenSet() const { return m_attachmentsHasBeenSet; } /** *Provides information about the attachments.
*/ inline void SetAttachments(const Aws::VectorProvides information about the attachments.
*/ inline void SetAttachments(Aws::VectorProvides information about the attachments.
*/ inline Item& WithAttachments(const Aws::VectorProvides information about the attachments.
*/ inline Item& WithAttachments(Aws::VectorProvides information about the attachments.
*/ inline Item& AddAttachments(const AttachmentItem& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(value); return *this; } /** *Provides information about the attachments.
*/ inline Item& AddAttachments(AttachmentItem&& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(std::move(value)); return *this; } /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline const MessageMetadata& GetMessageMetadata() const{ return m_messageMetadata; } /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline bool MessageMetadataHasBeenSet() const { return m_messageMetadataHasBeenSet; } /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline void SetMessageMetadata(const MessageMetadata& value) { m_messageMetadataHasBeenSet = true; m_messageMetadata = value; } /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline void SetMessageMetadata(MessageMetadata&& value) { m_messageMetadataHasBeenSet = true; m_messageMetadata = std::move(value); } /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline Item& WithMessageMetadata(const MessageMetadata& value) { SetMessageMetadata(value); return *this;} /** *The metadata related to the message. Currently this supports only information * related to message receipts.
*/ inline Item& WithMessageMetadata(MessageMetadata&& value) { SetMessageMetadata(std::move(value)); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline const Aws::String& GetRelatedContactId() const{ return m_relatedContactId; } /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline bool RelatedContactIdHasBeenSet() const { return m_relatedContactIdHasBeenSet; } /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline void SetRelatedContactId(const Aws::String& value) { m_relatedContactIdHasBeenSet = true; m_relatedContactId = value; } /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline void SetRelatedContactId(Aws::String&& value) { m_relatedContactIdHasBeenSet = true; m_relatedContactId = std::move(value); } /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline void SetRelatedContactId(const char* value) { m_relatedContactIdHasBeenSet = true; m_relatedContactId.assign(value); } /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline Item& WithRelatedContactId(const Aws::String& value) { SetRelatedContactId(value); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline Item& WithRelatedContactId(Aws::String&& value) { SetRelatedContactId(std::move(value)); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * only populated for persistent chats when the transcript item is from the past * chat session. For more information, see Enable * persistent chat.
*/ inline Item& WithRelatedContactId(const char* value) { SetRelatedContactId(value); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline const Aws::String& GetContactId() const{ return m_contactId; } /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline bool ContactIdHasBeenSet() const { return m_contactIdHasBeenSet; } /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline void SetContactId(const Aws::String& value) { m_contactIdHasBeenSet = true; m_contactId = value; } /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline void SetContactId(Aws::String&& value) { m_contactIdHasBeenSet = true; m_contactId = std::move(value); } /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline void SetContactId(const char* value) { m_contactIdHasBeenSet = true; m_contactId.assign(value); } /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline Item& WithContactId(const Aws::String& value) { SetContactId(value); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline Item& WithContactId(Aws::String&& value) { SetContactId(std::move(value)); return *this;} /** *The contactId on which the transcript item was originally sent. This field is * populated only when the transcript item is from the current chat session.
*/ inline Item& WithContactId(const char* value) { SetContactId(value); return *this;} private: Aws::String m_absoluteTime; bool m_absoluteTimeHasBeenSet = false; Aws::String m_content; bool m_contentHasBeenSet = false; Aws::String m_contentType; bool m_contentTypeHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; ChatItemType m_type; bool m_typeHasBeenSet = false; Aws::String m_participantId; bool m_participantIdHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; ParticipantRole m_participantRole; bool m_participantRoleHasBeenSet = false; Aws::Vector