/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace SESV2 { namespace Model { /** *

A request to perform a predictive inbox placement test. Predictive inbox * placement tests can help you predict how your messages will be handled by * various email providers around the world. When you perform a predictive inbox * placement test, you provide a sample message that contains the content that you * plan to send to your customers. We send that message to special email addresses * spread across several major email providers around the world. The test takes * about 24 hours to complete. When the test is complete, you can use the * GetDeliverabilityTestReport operation to view the results of the * test.

See Also:

AWS * API Reference

*/ class CreateDeliverabilityTestReportRequest : public SESV2Request { public: AWS_SESV2_API CreateDeliverabilityTestReportRequest(); // 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 "CreateDeliverabilityTestReport"; } AWS_SESV2_API Aws::String SerializePayload() const override; /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline const Aws::String& GetReportName() const{ return m_reportName; } /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline bool ReportNameHasBeenSet() const { return m_reportNameHasBeenSet; } /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline void SetReportName(const Aws::String& value) { m_reportNameHasBeenSet = true; m_reportName = value; } /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline void SetReportName(Aws::String&& value) { m_reportNameHasBeenSet = true; m_reportName = std::move(value); } /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline void SetReportName(const char* value) { m_reportNameHasBeenSet = true; m_reportName.assign(value); } /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline CreateDeliverabilityTestReportRequest& WithReportName(const Aws::String& value) { SetReportName(value); return *this;} /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline CreateDeliverabilityTestReportRequest& WithReportName(Aws::String&& value) { SetReportName(std::move(value)); return *this;} /** *

A unique name that helps you to identify the predictive inbox placement test * when you retrieve the results.

*/ inline CreateDeliverabilityTestReportRequest& WithReportName(const char* value) { SetReportName(value); return *this;} /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline const Aws::String& GetFromEmailAddress() const{ return m_fromEmailAddress; } /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline bool FromEmailAddressHasBeenSet() const { return m_fromEmailAddressHasBeenSet; } /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline void SetFromEmailAddress(const Aws::String& value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress = value; } /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline void SetFromEmailAddress(Aws::String&& value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress = std::move(value); } /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline void SetFromEmailAddress(const char* value) { m_fromEmailAddressHasBeenSet = true; m_fromEmailAddress.assign(value); } /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline CreateDeliverabilityTestReportRequest& WithFromEmailAddress(const Aws::String& value) { SetFromEmailAddress(value); return *this;} /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline CreateDeliverabilityTestReportRequest& WithFromEmailAddress(Aws::String&& value) { SetFromEmailAddress(std::move(value)); return *this;} /** *

The email address that the predictive inbox placement test email was sent * from.

*/ inline CreateDeliverabilityTestReportRequest& WithFromEmailAddress(const char* value) { SetFromEmailAddress(value); return *this;} /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline const EmailContent& GetContent() const{ return m_content; } /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline void SetContent(const EmailContent& value) { m_contentHasBeenSet = true; m_content = value; } /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline void SetContent(EmailContent&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& WithContent(const EmailContent& value) { SetContent(value); return *this;} /** *

The HTML body of the message that you sent when you performed the predictive * inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& WithContent(EmailContent&& value) { SetContent(std::move(value)); return *this;} /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An array of objects that define the tags (keys and values) that you want to * associate with the predictive inbox placement test.

*/ inline CreateDeliverabilityTestReportRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_reportName; bool m_reportNameHasBeenSet = false; Aws::String m_fromEmailAddress; bool m_fromEmailAddressHasBeenSet = false; EmailContent m_content; bool m_contentHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws