/** * 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 Support { namespace Model { /** *

A communication associated with a support case. The communication consists of * the case ID, the message body, attachment information, the submitter of the * communication, and the date and time of the communication.

See * Also:

AWS * API Reference

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

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline const Aws::String& GetCaseId() const{ return m_caseId; } /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline bool CaseIdHasBeenSet() const { return m_caseIdHasBeenSet; } /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline void SetCaseId(const Aws::String& value) { m_caseIdHasBeenSet = true; m_caseId = value; } /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline void SetCaseId(Aws::String&& value) { m_caseIdHasBeenSet = true; m_caseId = std::move(value); } /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline void SetCaseId(const char* value) { m_caseIdHasBeenSet = true; m_caseId.assign(value); } /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline Communication& WithCaseId(const Aws::String& value) { SetCaseId(value); return *this;} /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline Communication& WithCaseId(Aws::String&& value) { SetCaseId(std::move(value)); return *this;} /** *

The support case ID requested or returned in the call. The case ID is an * alphanumeric string formatted as shown in this example: * case-12345678910-2013-c4c1d2bf33c5cf47

*/ inline Communication& WithCaseId(const char* value) { SetCaseId(value); return *this;} /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline const Aws::String& GetBody() const{ return m_body; } /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline Communication& WithBody(const Aws::String& value) { SetBody(value); return *this;} /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline Communication& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} /** *

The text of the communication between the customer and Amazon Web Services * Support.

*/ inline Communication& WithBody(const char* value) { SetBody(value); return *this;} /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline const Aws::String& GetSubmittedBy() const{ return m_submittedBy; } /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline bool SubmittedByHasBeenSet() const { return m_submittedByHasBeenSet; } /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline void SetSubmittedBy(const Aws::String& value) { m_submittedByHasBeenSet = true; m_submittedBy = value; } /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline void SetSubmittedBy(Aws::String&& value) { m_submittedByHasBeenSet = true; m_submittedBy = std::move(value); } /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline void SetSubmittedBy(const char* value) { m_submittedByHasBeenSet = true; m_submittedBy.assign(value); } /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline Communication& WithSubmittedBy(const Aws::String& value) { SetSubmittedBy(value); return *this;} /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline Communication& WithSubmittedBy(Aws::String&& value) { SetSubmittedBy(std::move(value)); return *this;} /** *

The identity of the account that submitted, or responded to, the support * case. Customer entries include the IAM role as well as the email address (for * example, "AdminRole (Role) <janedoe@example.com>). Entries from the Amazon * Web Services Support team display "Amazon Web Services," and don't show an email * address.

*/ inline Communication& WithSubmittedBy(const char* value) { SetSubmittedBy(value); return *this;} /** *

The time the communication was created.

*/ inline const Aws::String& GetTimeCreated() const{ return m_timeCreated; } /** *

The time the communication was created.

*/ inline bool TimeCreatedHasBeenSet() const { return m_timeCreatedHasBeenSet; } /** *

The time the communication was created.

*/ inline void SetTimeCreated(const Aws::String& value) { m_timeCreatedHasBeenSet = true; m_timeCreated = value; } /** *

The time the communication was created.

*/ inline void SetTimeCreated(Aws::String&& value) { m_timeCreatedHasBeenSet = true; m_timeCreated = std::move(value); } /** *

The time the communication was created.

*/ inline void SetTimeCreated(const char* value) { m_timeCreatedHasBeenSet = true; m_timeCreated.assign(value); } /** *

The time the communication was created.

*/ inline Communication& WithTimeCreated(const Aws::String& value) { SetTimeCreated(value); return *this;} /** *

The time the communication was created.

*/ inline Communication& WithTimeCreated(Aws::String&& value) { SetTimeCreated(std::move(value)); return *this;} /** *

The time the communication was created.

*/ inline Communication& WithTimeCreated(const char* value) { SetTimeCreated(value); return *this;} /** *

Information about the attachments to the case communication.

*/ inline const Aws::Vector& GetAttachmentSet() const{ return m_attachmentSet; } /** *

Information about the attachments to the case communication.

*/ inline bool AttachmentSetHasBeenSet() const { return m_attachmentSetHasBeenSet; } /** *

Information about the attachments to the case communication.

*/ inline void SetAttachmentSet(const Aws::Vector& value) { m_attachmentSetHasBeenSet = true; m_attachmentSet = value; } /** *

Information about the attachments to the case communication.

*/ inline void SetAttachmentSet(Aws::Vector&& value) { m_attachmentSetHasBeenSet = true; m_attachmentSet = std::move(value); } /** *

Information about the attachments to the case communication.

*/ inline Communication& WithAttachmentSet(const Aws::Vector& value) { SetAttachmentSet(value); return *this;} /** *

Information about the attachments to the case communication.

*/ inline Communication& WithAttachmentSet(Aws::Vector&& value) { SetAttachmentSet(std::move(value)); return *this;} /** *

Information about the attachments to the case communication.

*/ inline Communication& AddAttachmentSet(const AttachmentDetails& value) { m_attachmentSetHasBeenSet = true; m_attachmentSet.push_back(value); return *this; } /** *

Information about the attachments to the case communication.

*/ inline Communication& AddAttachmentSet(AttachmentDetails&& value) { m_attachmentSetHasBeenSet = true; m_attachmentSet.push_back(std::move(value)); return *this; } private: Aws::String m_caseId; bool m_caseIdHasBeenSet = false; Aws::String m_body; bool m_bodyHasBeenSet = false; Aws::String m_submittedBy; bool m_submittedByHasBeenSet = false; Aws::String m_timeCreated; bool m_timeCreatedHasBeenSet = false; Aws::Vector m_attachmentSet; bool m_attachmentSetHasBeenSet = false; }; } // namespace Model } // namespace Support } // namespace Aws