/** * 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 { /** *

An item - message or event - that has been sent.

See Also:

* AWS * API Reference

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

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;} private: Aws::String m_absoluteTime; bool m_absoluteTimeHasBeenSet; Aws::String m_content; bool m_contentHasBeenSet; Aws::String m_contentType; bool m_contentTypeHasBeenSet; Aws::String m_id; bool m_idHasBeenSet; ChatItemType m_type; bool m_typeHasBeenSet; Aws::String m_participantId; bool m_participantIdHasBeenSet; Aws::String m_displayName; bool m_displayNameHasBeenSet; ParticipantRole m_participantRole; bool m_participantRoleHasBeenSet; }; } // namespace Model } // namespace ConnectParticipant } // namespace Aws