/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace SES { namespace Model { /** *

Recipient-related information to include in the Delivery Status Notification * (DSN) when an email that Amazon SES receives on your behalf bounces.

For * information about receiving email through Amazon SES, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

*/ class BouncedRecipientInfo { public: AWS_SES_API BouncedRecipientInfo(); AWS_SES_API BouncedRecipientInfo(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API BouncedRecipientInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The email address of the recipient of the bounced email.

*/ inline const Aws::String& GetRecipient() const{ return m_recipient; } /** *

The email address of the recipient of the bounced email.

*/ inline bool RecipientHasBeenSet() const { return m_recipientHasBeenSet; } /** *

The email address of the recipient of the bounced email.

*/ inline void SetRecipient(const Aws::String& value) { m_recipientHasBeenSet = true; m_recipient = value; } /** *

The email address of the recipient of the bounced email.

*/ inline void SetRecipient(Aws::String&& value) { m_recipientHasBeenSet = true; m_recipient = std::move(value); } /** *

The email address of the recipient of the bounced email.

*/ inline void SetRecipient(const char* value) { m_recipientHasBeenSet = true; m_recipient.assign(value); } /** *

The email address of the recipient of the bounced email.

*/ inline BouncedRecipientInfo& WithRecipient(const Aws::String& value) { SetRecipient(value); return *this;} /** *

The email address of the recipient of the bounced email.

*/ inline BouncedRecipientInfo& WithRecipient(Aws::String&& value) { SetRecipient(std::move(value)); return *this;} /** *

The email address of the recipient of the bounced email.

*/ inline BouncedRecipientInfo& WithRecipient(const char* value) { SetRecipient(value); return *this;} /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline const Aws::String& GetRecipientArn() const{ return m_recipientArn; } /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline bool RecipientArnHasBeenSet() const { return m_recipientArnHasBeenSet; } /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetRecipientArn(const Aws::String& value) { m_recipientArnHasBeenSet = true; m_recipientArn = value; } /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetRecipientArn(Aws::String&& value) { m_recipientArnHasBeenSet = true; m_recipientArn = std::move(value); } /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetRecipientArn(const char* value) { m_recipientArnHasBeenSet = true; m_recipientArn.assign(value); } /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline BouncedRecipientInfo& WithRecipientArn(const Aws::String& value) { SetRecipientArn(value); return *this;} /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline BouncedRecipientInfo& WithRecipientArn(Aws::String&& value) { SetRecipientArn(std::move(value)); return *this;} /** *

This parameter is used only for sending authorization. It is the ARN of the * identity that is associated with the sending authorization policy that permits * you to receive email for the recipient of the bounced email. For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline BouncedRecipientInfo& WithRecipientArn(const char* value) { SetRecipientArn(value); return *this;} /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline const BounceType& GetBounceType() const{ return m_bounceType; } /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline bool BounceTypeHasBeenSet() const { return m_bounceTypeHasBeenSet; } /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline void SetBounceType(const BounceType& value) { m_bounceTypeHasBeenSet = true; m_bounceType = value; } /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline void SetBounceType(BounceType&& value) { m_bounceTypeHasBeenSet = true; m_bounceType = std::move(value); } /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline BouncedRecipientInfo& WithBounceType(const BounceType& value) { SetBounceType(value); return *this;} /** *

The reason for the bounce. You must provide either this parameter or * RecipientDsnFields.

*/ inline BouncedRecipientInfo& WithBounceType(BounceType&& value) { SetBounceType(std::move(value)); return *this;} /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline const RecipientDsnFields& GetRecipientDsnFields() const{ return m_recipientDsnFields; } /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline bool RecipientDsnFieldsHasBeenSet() const { return m_recipientDsnFieldsHasBeenSet; } /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline void SetRecipientDsnFields(const RecipientDsnFields& value) { m_recipientDsnFieldsHasBeenSet = true; m_recipientDsnFields = value; } /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline void SetRecipientDsnFields(RecipientDsnFields&& value) { m_recipientDsnFieldsHasBeenSet = true; m_recipientDsnFields = std::move(value); } /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline BouncedRecipientInfo& WithRecipientDsnFields(const RecipientDsnFields& value) { SetRecipientDsnFields(value); return *this;} /** *

Recipient-related DSN fields, most of which would normally be filled in * automatically when provided with a BounceType. You must provide * either this parameter or BounceType.

*/ inline BouncedRecipientInfo& WithRecipientDsnFields(RecipientDsnFields&& value) { SetRecipientDsnFields(std::move(value)); return *this;} private: Aws::String m_recipient; bool m_recipientHasBeenSet = false; Aws::String m_recipientArn; bool m_recipientArnHasBeenSet = false; BounceType m_bounceType; bool m_bounceTypeHasBeenSet = false; RecipientDsnFields m_recipientDsnFields; bool m_recipientDsnFieldsHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws