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

An object that contains the deliverability data for a specific campaign. This * data is available for a campaign only if the campaign sent email by using a * domain that the Deliverability dashboard is enabled for * (PutDeliverabilityDashboardOption operation).

See * Also:

AWS * API Reference

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

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline const Aws::String& GetCampaignId() const{ return m_campaignId; } /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline bool CampaignIdHasBeenSet() const { return m_campaignIdHasBeenSet; } /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline void SetCampaignId(const Aws::String& value) { m_campaignIdHasBeenSet = true; m_campaignId = value; } /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline void SetCampaignId(Aws::String&& value) { m_campaignIdHasBeenSet = true; m_campaignId = std::move(value); } /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline void SetCampaignId(const char* value) { m_campaignIdHasBeenSet = true; m_campaignId.assign(value); } /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline DomainDeliverabilityCampaign& WithCampaignId(const Aws::String& value) { SetCampaignId(value); return *this;} /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline DomainDeliverabilityCampaign& WithCampaignId(Aws::String&& value) { SetCampaignId(std::move(value)); return *this;} /** *

The unique identifier for the campaign. The Deliverability dashboard * automatically generates and assigns this identifier to a campaign.

*/ inline DomainDeliverabilityCampaign& WithCampaignId(const char* value) { SetCampaignId(value); return *this;} /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline const Aws::String& GetImageUrl() const{ return m_imageUrl; } /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; } /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline void SetImageUrl(const Aws::String& value) { m_imageUrlHasBeenSet = true; m_imageUrl = value; } /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline void SetImageUrl(Aws::String&& value) { m_imageUrlHasBeenSet = true; m_imageUrl = std::move(value); } /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline void SetImageUrl(const char* value) { m_imageUrlHasBeenSet = true; m_imageUrl.assign(value); } /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline DomainDeliverabilityCampaign& WithImageUrl(const Aws::String& value) { SetImageUrl(value); return *this;} /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline DomainDeliverabilityCampaign& WithImageUrl(Aws::String&& value) { SetImageUrl(std::move(value)); return *this;} /** *

The URL of an image that contains a snapshot of the email message that was * sent.

*/ inline DomainDeliverabilityCampaign& WithImageUrl(const char* value) { SetImageUrl(value); return *this;} /** *

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The subject line, or title, of the email message.

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

The verified email address that the email message was sent from.

*/ inline const Aws::String& GetFromAddress() const{ return m_fromAddress; } /** *

The verified email address that the email message was sent from.

*/ inline bool FromAddressHasBeenSet() const { return m_fromAddressHasBeenSet; } /** *

The verified email address that the email message was sent from.

*/ inline void SetFromAddress(const Aws::String& value) { m_fromAddressHasBeenSet = true; m_fromAddress = value; } /** *

The verified email address that the email message was sent from.

*/ inline void SetFromAddress(Aws::String&& value) { m_fromAddressHasBeenSet = true; m_fromAddress = std::move(value); } /** *

The verified email address that the email message was sent from.

*/ inline void SetFromAddress(const char* value) { m_fromAddressHasBeenSet = true; m_fromAddress.assign(value); } /** *

The verified email address that the email message was sent from.

*/ inline DomainDeliverabilityCampaign& WithFromAddress(const Aws::String& value) { SetFromAddress(value); return *this;} /** *

The verified email address that the email message was sent from.

*/ inline DomainDeliverabilityCampaign& WithFromAddress(Aws::String&& value) { SetFromAddress(std::move(value)); return *this;} /** *

The verified email address that the email message was sent from.

*/ inline DomainDeliverabilityCampaign& WithFromAddress(const char* value) { SetFromAddress(value); return *this;} /** *

The IP addresses that were used to send the email message.

*/ inline const Aws::Vector& GetSendingIps() const{ return m_sendingIps; } /** *

The IP addresses that were used to send the email message.

*/ inline bool SendingIpsHasBeenSet() const { return m_sendingIpsHasBeenSet; } /** *

The IP addresses that were used to send the email message.

*/ inline void SetSendingIps(const Aws::Vector& value) { m_sendingIpsHasBeenSet = true; m_sendingIps = value; } /** *

The IP addresses that were used to send the email message.

*/ inline void SetSendingIps(Aws::Vector&& value) { m_sendingIpsHasBeenSet = true; m_sendingIps = std::move(value); } /** *

The IP addresses that were used to send the email message.

*/ inline DomainDeliverabilityCampaign& WithSendingIps(const Aws::Vector& value) { SetSendingIps(value); return *this;} /** *

The IP addresses that were used to send the email message.

*/ inline DomainDeliverabilityCampaign& WithSendingIps(Aws::Vector&& value) { SetSendingIps(std::move(value)); return *this;} /** *

The IP addresses that were used to send the email message.

*/ inline DomainDeliverabilityCampaign& AddSendingIps(const Aws::String& value) { m_sendingIpsHasBeenSet = true; m_sendingIps.push_back(value); return *this; } /** *

The IP addresses that were used to send the email message.

*/ inline DomainDeliverabilityCampaign& AddSendingIps(Aws::String&& value) { m_sendingIpsHasBeenSet = true; m_sendingIps.push_back(std::move(value)); return *this; } /** *

The IP addresses that were used to send the email message.

*/ inline DomainDeliverabilityCampaign& AddSendingIps(const char* value) { m_sendingIpsHasBeenSet = true; m_sendingIps.push_back(value); return *this; } /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline const Aws::Utils::DateTime& GetFirstSeenDateTime() const{ return m_firstSeenDateTime; } /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline bool FirstSeenDateTimeHasBeenSet() const { return m_firstSeenDateTimeHasBeenSet; } /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline void SetFirstSeenDateTime(const Aws::Utils::DateTime& value) { m_firstSeenDateTimeHasBeenSet = true; m_firstSeenDateTime = value; } /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline void SetFirstSeenDateTime(Aws::Utils::DateTime&& value) { m_firstSeenDateTimeHasBeenSet = true; m_firstSeenDateTime = std::move(value); } /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline DomainDeliverabilityCampaign& WithFirstSeenDateTime(const Aws::Utils::DateTime& value) { SetFirstSeenDateTime(value); return *this;} /** *

The first time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline DomainDeliverabilityCampaign& WithFirstSeenDateTime(Aws::Utils::DateTime&& value) { SetFirstSeenDateTime(std::move(value)); return *this;} /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline const Aws::Utils::DateTime& GetLastSeenDateTime() const{ return m_lastSeenDateTime; } /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline bool LastSeenDateTimeHasBeenSet() const { return m_lastSeenDateTimeHasBeenSet; } /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline void SetLastSeenDateTime(const Aws::Utils::DateTime& value) { m_lastSeenDateTimeHasBeenSet = true; m_lastSeenDateTime = value; } /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline void SetLastSeenDateTime(Aws::Utils::DateTime&& value) { m_lastSeenDateTimeHasBeenSet = true; m_lastSeenDateTime = std::move(value); } /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline DomainDeliverabilityCampaign& WithLastSeenDateTime(const Aws::Utils::DateTime& value) { SetLastSeenDateTime(value); return *this;} /** *

The last time when the email message was delivered to any recipient's inbox. * This value can help you determine how long it took for a campaign to deliver an * email message.

*/ inline DomainDeliverabilityCampaign& WithLastSeenDateTime(Aws::Utils::DateTime&& value) { SetLastSeenDateTime(std::move(value)); return *this;} /** *

The number of email messages that were delivered to recipients’ inboxes.

*/ inline long long GetInboxCount() const{ return m_inboxCount; } /** *

The number of email messages that were delivered to recipients’ inboxes.

*/ inline bool InboxCountHasBeenSet() const { return m_inboxCountHasBeenSet; } /** *

The number of email messages that were delivered to recipients’ inboxes.

*/ inline void SetInboxCount(long long value) { m_inboxCountHasBeenSet = true; m_inboxCount = value; } /** *

The number of email messages that were delivered to recipients’ inboxes.

*/ inline DomainDeliverabilityCampaign& WithInboxCount(long long value) { SetInboxCount(value); return *this;} /** *

The number of email messages that were delivered to recipients' spam or junk * mail folders.

*/ inline long long GetSpamCount() const{ return m_spamCount; } /** *

The number of email messages that were delivered to recipients' spam or junk * mail folders.

*/ inline bool SpamCountHasBeenSet() const { return m_spamCountHasBeenSet; } /** *

The number of email messages that were delivered to recipients' spam or junk * mail folders.

*/ inline void SetSpamCount(long long value) { m_spamCountHasBeenSet = true; m_spamCount = value; } /** *

The number of email messages that were delivered to recipients' spam or junk * mail folders.

*/ inline DomainDeliverabilityCampaign& WithSpamCount(long long value) { SetSpamCount(value); return *this;} /** *

The percentage of email messages that were opened by recipients. Due to * technical limitations, this value only includes recipients who opened the * message by using an email client that supports images.

*/ inline double GetReadRate() const{ return m_readRate; } /** *

The percentage of email messages that were opened by recipients. Due to * technical limitations, this value only includes recipients who opened the * message by using an email client that supports images.

*/ inline bool ReadRateHasBeenSet() const { return m_readRateHasBeenSet; } /** *

The percentage of email messages that were opened by recipients. Due to * technical limitations, this value only includes recipients who opened the * message by using an email client that supports images.

*/ inline void SetReadRate(double value) { m_readRateHasBeenSet = true; m_readRate = value; } /** *

The percentage of email messages that were opened by recipients. Due to * technical limitations, this value only includes recipients who opened the * message by using an email client that supports images.

*/ inline DomainDeliverabilityCampaign& WithReadRate(double value) { SetReadRate(value); return *this;} /** *

The percentage of email messages that were deleted by recipients, without * being opened first. Due to technical limitations, this value only includes * recipients who opened the message by using an email client that supports * images.

*/ inline double GetDeleteRate() const{ return m_deleteRate; } /** *

The percentage of email messages that were deleted by recipients, without * being opened first. Due to technical limitations, this value only includes * recipients who opened the message by using an email client that supports * images.

*/ inline bool DeleteRateHasBeenSet() const { return m_deleteRateHasBeenSet; } /** *

The percentage of email messages that were deleted by recipients, without * being opened first. Due to technical limitations, this value only includes * recipients who opened the message by using an email client that supports * images.

*/ inline void SetDeleteRate(double value) { m_deleteRateHasBeenSet = true; m_deleteRate = value; } /** *

The percentage of email messages that were deleted by recipients, without * being opened first. Due to technical limitations, this value only includes * recipients who opened the message by using an email client that supports * images.

*/ inline DomainDeliverabilityCampaign& WithDeleteRate(double value) { SetDeleteRate(value); return *this;} /** *

The percentage of email messages that were opened and then deleted by * recipients. Due to technical limitations, this value only includes recipients * who opened the message by using an email client that supports images.

*/ inline double GetReadDeleteRate() const{ return m_readDeleteRate; } /** *

The percentage of email messages that were opened and then deleted by * recipients. Due to technical limitations, this value only includes recipients * who opened the message by using an email client that supports images.

*/ inline bool ReadDeleteRateHasBeenSet() const { return m_readDeleteRateHasBeenSet; } /** *

The percentage of email messages that were opened and then deleted by * recipients. Due to technical limitations, this value only includes recipients * who opened the message by using an email client that supports images.

*/ inline void SetReadDeleteRate(double value) { m_readDeleteRateHasBeenSet = true; m_readDeleteRate = value; } /** *

The percentage of email messages that were opened and then deleted by * recipients. Due to technical limitations, this value only includes recipients * who opened the message by using an email client that supports images.

*/ inline DomainDeliverabilityCampaign& WithReadDeleteRate(double value) { SetReadDeleteRate(value); return *this;} /** *

The projected number of recipients that the email message was sent to.

*/ inline long long GetProjectedVolume() const{ return m_projectedVolume; } /** *

The projected number of recipients that the email message was sent to.

*/ inline bool ProjectedVolumeHasBeenSet() const { return m_projectedVolumeHasBeenSet; } /** *

The projected number of recipients that the email message was sent to.

*/ inline void SetProjectedVolume(long long value) { m_projectedVolumeHasBeenSet = true; m_projectedVolume = value; } /** *

The projected number of recipients that the email message was sent to.

*/ inline DomainDeliverabilityCampaign& WithProjectedVolume(long long value) { SetProjectedVolume(value); return *this;} /** *

The major email providers who handled the email message.

*/ inline const Aws::Vector& GetEsps() const{ return m_esps; } /** *

The major email providers who handled the email message.

*/ inline bool EspsHasBeenSet() const { return m_espsHasBeenSet; } /** *

The major email providers who handled the email message.

*/ inline void SetEsps(const Aws::Vector& value) { m_espsHasBeenSet = true; m_esps = value; } /** *

The major email providers who handled the email message.

*/ inline void SetEsps(Aws::Vector&& value) { m_espsHasBeenSet = true; m_esps = std::move(value); } /** *

The major email providers who handled the email message.

*/ inline DomainDeliverabilityCampaign& WithEsps(const Aws::Vector& value) { SetEsps(value); return *this;} /** *

The major email providers who handled the email message.

*/ inline DomainDeliverabilityCampaign& WithEsps(Aws::Vector&& value) { SetEsps(std::move(value)); return *this;} /** *

The major email providers who handled the email message.

*/ inline DomainDeliverabilityCampaign& AddEsps(const Aws::String& value) { m_espsHasBeenSet = true; m_esps.push_back(value); return *this; } /** *

The major email providers who handled the email message.

*/ inline DomainDeliverabilityCampaign& AddEsps(Aws::String&& value) { m_espsHasBeenSet = true; m_esps.push_back(std::move(value)); return *this; } /** *

The major email providers who handled the email message.

*/ inline DomainDeliverabilityCampaign& AddEsps(const char* value) { m_espsHasBeenSet = true; m_esps.push_back(value); return *this; } private: Aws::String m_campaignId; bool m_campaignIdHasBeenSet = false; Aws::String m_imageUrl; bool m_imageUrlHasBeenSet = false; Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::String m_fromAddress; bool m_fromAddressHasBeenSet = false; Aws::Vector m_sendingIps; bool m_sendingIpsHasBeenSet = false; Aws::Utils::DateTime m_firstSeenDateTime; bool m_firstSeenDateTimeHasBeenSet = false; Aws::Utils::DateTime m_lastSeenDateTime; bool m_lastSeenDateTimeHasBeenSet = false; long long m_inboxCount; bool m_inboxCountHasBeenSet = false; long long m_spamCount; bool m_spamCountHasBeenSet = false; double m_readRate; bool m_readRateHasBeenSet = false; double m_deleteRate; bool m_deleteRateHasBeenSet = false; double m_readDeleteRate; bool m_readDeleteRateHasBeenSet = false; long long m_projectedVolume; bool m_projectedVolumeHasBeenSet = false; Aws::Vector m_esps; bool m_espsHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws