/** * 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 JSON-formatted object that contains the metadata for a support case. It is * contained in the response from a DescribeCases request. * CaseDetails contains the following fields:

  • * 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.

  • * categoryCode - The category of problem for the support case. Corresponds * to the CategoryCode values returned by a call to * DescribeServices.

  • displayId - The identifier * for the case on pages in the Amazon Web Services Support Center.

  • *

    language - The language in which Amazon Web Services Support handles * the case. Amazon Web Services Support currently supports Chinese (“zh”), English * ("en"), Japanese ("ja") and Korean (“ko”). You must specify the ISO 639-1 code * for the language parameter if you want support in that * language.

  • nextToken - A resumption point for * pagination.

  • recentCommunications - One or more * Communication objects. Fields of these objects are * attachments, body, caseId, * submittedBy, and timeCreated.

  • * serviceCode - The identifier for the Amazon Web Services service that * corresponds to the service code defined in the call to * DescribeServices.

  • severityCode - The severity * code assigned to the case. Contains one of the values returned by the call to * DescribeSeverityLevels. The possible values are: low, * normal, high, urgent, and * critical.

  • status - The status of the case * in the Amazon Web Services Support Center. Valid values:

    • * opened

    • pending-customer-action *

    • reopened

    • * resolved

    • unassigned

    • *
    • work-in-progress

  • * subject - The subject line of the case.

  • * submittedBy - The email address of the account that submitted the * case.

  • timeCreated - The time the case was created, in * ISO-8601 format.

See Also:

AWS * API Reference

*/ class CaseDetails { public: AWS_SUPPORT_API CaseDetails(); AWS_SUPPORT_API CaseDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SUPPORT_API CaseDetails& 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 CaseDetails& 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 CaseDetails& 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 CaseDetails& WithCaseId(const char* value) { SetCaseId(value); return *this;} /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline const Aws::String& GetDisplayId() const{ return m_displayId; } /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline bool DisplayIdHasBeenSet() const { return m_displayIdHasBeenSet; } /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline void SetDisplayId(const Aws::String& value) { m_displayIdHasBeenSet = true; m_displayId = value; } /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline void SetDisplayId(Aws::String&& value) { m_displayIdHasBeenSet = true; m_displayId = std::move(value); } /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline void SetDisplayId(const char* value) { m_displayIdHasBeenSet = true; m_displayId.assign(value); } /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline CaseDetails& WithDisplayId(const Aws::String& value) { SetDisplayId(value); return *this;} /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline CaseDetails& WithDisplayId(Aws::String&& value) { SetDisplayId(std::move(value)); return *this;} /** *

The ID displayed for the case in the Amazon Web Services Support Center. This * is a numeric string.

*/ inline CaseDetails& WithDisplayId(const char* value) { SetDisplayId(value); return *this;} /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline const Aws::String& GetSubject() const{ return m_subject; } /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; } /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline void SetSubject(const Aws::String& value) { m_subjectHasBeenSet = true; m_subject = value; } /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline void SetSubject(Aws::String&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); } /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline void SetSubject(const char* value) { m_subjectHasBeenSet = true; m_subject.assign(value); } /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline CaseDetails& WithSubject(const Aws::String& value) { SetSubject(value); return *this;} /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline CaseDetails& WithSubject(Aws::String&& value) { SetSubject(std::move(value)); return *this;} /** *

The subject line for the case in the Amazon Web Services Support Center.

*/ inline CaseDetails& WithSubject(const char* value) { SetSubject(value); return *this;} /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline CaseDetails& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline CaseDetails& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the case.

Valid values:

  • * opened

  • pending-customer-action *

  • reopened

  • * resolved

  • unassigned

  • *
  • work-in-progress

*/ inline CaseDetails& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline const Aws::String& GetServiceCode() const{ return m_serviceCode; } /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; } /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; } /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); } /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); } /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline CaseDetails& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;} /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline CaseDetails& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;} /** *

The code for the Amazon Web Services service. You can get a list of codes and * the corresponding service names by calling DescribeServices.

*/ inline CaseDetails& WithServiceCode(const char* value) { SetServiceCode(value); return *this;} /** *

The category of problem for the support case.

*/ inline const Aws::String& GetCategoryCode() const{ return m_categoryCode; } /** *

The category of problem for the support case.

*/ inline bool CategoryCodeHasBeenSet() const { return m_categoryCodeHasBeenSet; } /** *

The category of problem for the support case.

*/ inline void SetCategoryCode(const Aws::String& value) { m_categoryCodeHasBeenSet = true; m_categoryCode = value; } /** *

The category of problem for the support case.

*/ inline void SetCategoryCode(Aws::String&& value) { m_categoryCodeHasBeenSet = true; m_categoryCode = std::move(value); } /** *

The category of problem for the support case.

*/ inline void SetCategoryCode(const char* value) { m_categoryCodeHasBeenSet = true; m_categoryCode.assign(value); } /** *

The category of problem for the support case.

*/ inline CaseDetails& WithCategoryCode(const Aws::String& value) { SetCategoryCode(value); return *this;} /** *

The category of problem for the support case.

*/ inline CaseDetails& WithCategoryCode(Aws::String&& value) { SetCategoryCode(std::move(value)); return *this;} /** *

The category of problem for the support case.

*/ inline CaseDetails& WithCategoryCode(const char* value) { SetCategoryCode(value); return *this;} /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline const Aws::String& GetSeverityCode() const{ return m_severityCode; } /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline bool SeverityCodeHasBeenSet() const { return m_severityCodeHasBeenSet; } /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline void SetSeverityCode(const Aws::String& value) { m_severityCodeHasBeenSet = true; m_severityCode = value; } /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline void SetSeverityCode(Aws::String&& value) { m_severityCodeHasBeenSet = true; m_severityCode = std::move(value); } /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline void SetSeverityCode(const char* value) { m_severityCodeHasBeenSet = true; m_severityCode.assign(value); } /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline CaseDetails& WithSeverityCode(const Aws::String& value) { SetSeverityCode(value); return *this;} /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline CaseDetails& WithSeverityCode(Aws::String&& value) { SetSeverityCode(std::move(value)); return *this;} /** *

The code for the severity level returned by the call to * DescribeSeverityLevels.

*/ inline CaseDetails& WithSeverityCode(const char* value) { SetSeverityCode(value); return *this;} /** *

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The email address of the account that submitted the case.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The time that the case was created in the Amazon Web Services Support * Center.

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

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline const RecentCaseCommunications& GetRecentCommunications() const{ return m_recentCommunications; } /** *

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline bool RecentCommunicationsHasBeenSet() const { return m_recentCommunicationsHasBeenSet; } /** *

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline void SetRecentCommunications(const RecentCaseCommunications& value) { m_recentCommunicationsHasBeenSet = true; m_recentCommunications = value; } /** *

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline void SetRecentCommunications(RecentCaseCommunications&& value) { m_recentCommunicationsHasBeenSet = true; m_recentCommunications = std::move(value); } /** *

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline CaseDetails& WithRecentCommunications(const RecentCaseCommunications& value) { SetRecentCommunications(value); return *this;} /** *

The five most recent communications between you and Amazon Web Services * Support Center, including the IDs of any attachments to the communications. Also * includes a nextToken that you can use to retrieve earlier * communications.

*/ inline CaseDetails& WithRecentCommunications(RecentCaseCommunications&& value) { SetRecentCommunications(std::move(value)); return *this;} /** *

The email addresses that receive copies of communication about the case.

*/ inline const Aws::Vector& GetCcEmailAddresses() const{ return m_ccEmailAddresses; } /** *

The email addresses that receive copies of communication about the case.

*/ inline bool CcEmailAddressesHasBeenSet() const { return m_ccEmailAddressesHasBeenSet; } /** *

The email addresses that receive copies of communication about the case.

*/ inline void SetCcEmailAddresses(const Aws::Vector& value) { m_ccEmailAddressesHasBeenSet = true; m_ccEmailAddresses = value; } /** *

The email addresses that receive copies of communication about the case.

*/ inline void SetCcEmailAddresses(Aws::Vector&& value) { m_ccEmailAddressesHasBeenSet = true; m_ccEmailAddresses = std::move(value); } /** *

The email addresses that receive copies of communication about the case.

*/ inline CaseDetails& WithCcEmailAddresses(const Aws::Vector& value) { SetCcEmailAddresses(value); return *this;} /** *

The email addresses that receive copies of communication about the case.

*/ inline CaseDetails& WithCcEmailAddresses(Aws::Vector&& value) { SetCcEmailAddresses(std::move(value)); return *this;} /** *

The email addresses that receive copies of communication about the case.

*/ inline CaseDetails& AddCcEmailAddresses(const Aws::String& value) { m_ccEmailAddressesHasBeenSet = true; m_ccEmailAddresses.push_back(value); return *this; } /** *

The email addresses that receive copies of communication about the case.

*/ inline CaseDetails& AddCcEmailAddresses(Aws::String&& value) { m_ccEmailAddressesHasBeenSet = true; m_ccEmailAddresses.push_back(std::move(value)); return *this; } /** *

The email addresses that receive copies of communication about the case.

*/ inline CaseDetails& AddCcEmailAddresses(const char* value) { m_ccEmailAddressesHasBeenSet = true; m_ccEmailAddresses.push_back(value); return *this; } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline const Aws::String& GetLanguage() const{ return m_language; } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline CaseDetails& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline CaseDetails& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} /** *

The language in which Amazon Web Services Support handles the case. Amazon * Web Services Support currently supports Chinese (“zh”), English ("en"), Japanese * ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the * language parameter if you want support in that language.

*/ inline CaseDetails& WithLanguage(const char* value) { SetLanguage(value); return *this;} private: Aws::String m_caseId; bool m_caseIdHasBeenSet = false; Aws::String m_displayId; bool m_displayIdHasBeenSet = false; Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_serviceCode; bool m_serviceCodeHasBeenSet = false; Aws::String m_categoryCode; bool m_categoryCodeHasBeenSet = false; Aws::String m_severityCode; bool m_severityCodeHasBeenSet = false; Aws::String m_submittedBy; bool m_submittedByHasBeenSet = false; Aws::String m_timeCreated; bool m_timeCreatedHasBeenSet = false; RecentCaseCommunications m_recentCommunications; bool m_recentCommunicationsHasBeenSet = false; Aws::Vector m_ccEmailAddresses; bool m_ccEmailAddressesHasBeenSet = false; Aws::String m_language; bool m_languageHasBeenSet = false; }; } // namespace Model } // namespace Support } // namespace Aws