/** * 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 Support { namespace Model { /** */ class CreateCaseRequest : public SupportRequest { public: AWS_SUPPORT_API CreateCaseRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateCase"; } AWS_SUPPORT_API Aws::String SerializePayload() const override; AWS_SUPPORT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The title of the support case. The title appears in the Subject field * on the Amazon Web Services Support Center Create Case * page.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

The code for the Amazon Web Services service. You can use the * DescribeServices operation to get the possible serviceCode * values.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

A value that indicates the urgency of the case. This value determines the * response time according to your service level agreement with Amazon Web Services * Support. You can use the DescribeSeverityLevels operation to get the * possible values for severityCode.

For more information, see * SeverityLevel and Choosing * a Severity in the Amazon Web Services Support User Guide.

*

The availability of severity levels depends on the support plan for the * Amazon Web Services account.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The category of problem for the support case. You also use the * DescribeServices operation to get the category code for a service. Each * Amazon Web Services service defines its own set of category codes.

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

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline const Aws::String& GetCommunicationBody() const{ return m_communicationBody; } /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline bool CommunicationBodyHasBeenSet() const { return m_communicationBodyHasBeenSet; } /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline void SetCommunicationBody(const Aws::String& value) { m_communicationBodyHasBeenSet = true; m_communicationBody = value; } /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline void SetCommunicationBody(Aws::String&& value) { m_communicationBodyHasBeenSet = true; m_communicationBody = std::move(value); } /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline void SetCommunicationBody(const char* value) { m_communicationBodyHasBeenSet = true; m_communicationBody.assign(value); } /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline CreateCaseRequest& WithCommunicationBody(const Aws::String& value) { SetCommunicationBody(value); return *this;} /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline CreateCaseRequest& WithCommunicationBody(Aws::String&& value) { SetCommunicationBody(std::move(value)); return *this;} /** *

The communication body text that describes the issue. This text appears in * the Description field on the Amazon Web Services Support Center Create Case * page.

*/ inline CreateCaseRequest& WithCommunicationBody(const char* value) { SetCommunicationBody(value); return *this;} /** *

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

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

A list of email addresses that Amazon Web Services Support copies on case * correspondence. Amazon Web Services Support identifies the account that creates * the case when you specify your Amazon Web Services credentials in an HTTP POST * method or use the Amazon Web Services * SDKs.

*/ inline CreateCaseRequest& 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 CreateCaseRequest& 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 CreateCaseRequest& 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 CreateCaseRequest& WithLanguage(const char* value) { SetLanguage(value); return *this;} /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline const Aws::String& GetIssueType() const{ return m_issueType; } /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline bool IssueTypeHasBeenSet() const { return m_issueTypeHasBeenSet; } /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline void SetIssueType(const Aws::String& value) { m_issueTypeHasBeenSet = true; m_issueType = value; } /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline void SetIssueType(Aws::String&& value) { m_issueTypeHasBeenSet = true; m_issueType = std::move(value); } /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline void SetIssueType(const char* value) { m_issueTypeHasBeenSet = true; m_issueType.assign(value); } /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline CreateCaseRequest& WithIssueType(const Aws::String& value) { SetIssueType(value); return *this;} /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline CreateCaseRequest& WithIssueType(Aws::String&& value) { SetIssueType(std::move(value)); return *this;} /** *

The type of issue for the case. You can specify customer-service * or technical. If you don't specify a value, the default is * technical.

*/ inline CreateCaseRequest& WithIssueType(const char* value) { SetIssueType(value); return *this;} /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline const Aws::String& GetAttachmentSetId() const{ return m_attachmentSetId; } /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline bool AttachmentSetIdHasBeenSet() const { return m_attachmentSetIdHasBeenSet; } /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline void SetAttachmentSetId(const Aws::String& value) { m_attachmentSetIdHasBeenSet = true; m_attachmentSetId = value; } /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline void SetAttachmentSetId(Aws::String&& value) { m_attachmentSetIdHasBeenSet = true; m_attachmentSetId = std::move(value); } /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline void SetAttachmentSetId(const char* value) { m_attachmentSetIdHasBeenSet = true; m_attachmentSetId.assign(value); } /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline CreateCaseRequest& WithAttachmentSetId(const Aws::String& value) { SetAttachmentSetId(value); return *this;} /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline CreateCaseRequest& WithAttachmentSetId(Aws::String&& value) { SetAttachmentSetId(std::move(value)); return *this;} /** *

The ID of a set of one or more attachments for the case. Create the set by * using the AddAttachmentsToSet operation.

*/ inline CreateCaseRequest& WithAttachmentSetId(const char* value) { SetAttachmentSetId(value); return *this;} private: Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::String m_serviceCode; bool m_serviceCodeHasBeenSet = false; Aws::String m_severityCode; bool m_severityCodeHasBeenSet = false; Aws::String m_categoryCode; bool m_categoryCodeHasBeenSet = false; Aws::String m_communicationBody; bool m_communicationBodyHasBeenSet = false; Aws::Vector m_ccEmailAddresses; bool m_ccEmailAddressesHasBeenSet = false; Aws::String m_language; bool m_languageHasBeenSet = false; Aws::String m_issueType; bool m_issueTypeHasBeenSet = false; Aws::String m_attachmentSetId; bool m_attachmentSetIdHasBeenSet = false; }; } // namespace Model } // namespace Support } // namespace Aws