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

Represents a request to send a bounce message to the sender of an email you * received through Amazon SES.

See Also:

AWS * API Reference

*/ class SendBounceRequest : public SESRequest { public: AWS_SES_API SendBounceRequest(); // 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 "SendBounce"; } AWS_SES_API Aws::String SerializePayload() const override; protected: AWS_SES_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The message ID of the message to be bounced.

*/ inline const Aws::String& GetOriginalMessageId() const{ return m_originalMessageId; } /** *

The message ID of the message to be bounced.

*/ inline bool OriginalMessageIdHasBeenSet() const { return m_originalMessageIdHasBeenSet; } /** *

The message ID of the message to be bounced.

*/ inline void SetOriginalMessageId(const Aws::String& value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId = value; } /** *

The message ID of the message to be bounced.

*/ inline void SetOriginalMessageId(Aws::String&& value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId = std::move(value); } /** *

The message ID of the message to be bounced.

*/ inline void SetOriginalMessageId(const char* value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId.assign(value); } /** *

The message ID of the message to be bounced.

*/ inline SendBounceRequest& WithOriginalMessageId(const Aws::String& value) { SetOriginalMessageId(value); return *this;} /** *

The message ID of the message to be bounced.

*/ inline SendBounceRequest& WithOriginalMessageId(Aws::String&& value) { SetOriginalMessageId(std::move(value)); return *this;} /** *

The message ID of the message to be bounced.

*/ inline SendBounceRequest& WithOriginalMessageId(const char* value) { SetOriginalMessageId(value); return *this;} /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline const Aws::String& GetBounceSender() const{ return m_bounceSender; } /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline bool BounceSenderHasBeenSet() const { return m_bounceSenderHasBeenSet; } /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline void SetBounceSender(const Aws::String& value) { m_bounceSenderHasBeenSet = true; m_bounceSender = value; } /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline void SetBounceSender(Aws::String&& value) { m_bounceSenderHasBeenSet = true; m_bounceSender = std::move(value); } /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline void SetBounceSender(const char* value) { m_bounceSenderHasBeenSet = true; m_bounceSender.assign(value); } /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline SendBounceRequest& WithBounceSender(const Aws::String& value) { SetBounceSender(value); return *this;} /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline SendBounceRequest& WithBounceSender(Aws::String&& value) { SetBounceSender(std::move(value)); return *this;} /** *

The address to use in the "From" header of the bounce message. This must be * an identity that you have verified with Amazon SES.

*/ inline SendBounceRequest& WithBounceSender(const char* value) { SetBounceSender(value); return *this;} /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline const Aws::String& GetExplanation() const{ return m_explanation; } /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline bool ExplanationHasBeenSet() const { return m_explanationHasBeenSet; } /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline void SetExplanation(const Aws::String& value) { m_explanationHasBeenSet = true; m_explanation = value; } /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline void SetExplanation(Aws::String&& value) { m_explanationHasBeenSet = true; m_explanation = std::move(value); } /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline void SetExplanation(const char* value) { m_explanationHasBeenSet = true; m_explanation.assign(value); } /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline SendBounceRequest& WithExplanation(const Aws::String& value) { SetExplanation(value); return *this;} /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline SendBounceRequest& WithExplanation(Aws::String&& value) { SetExplanation(std::move(value)); return *this;} /** *

Human-readable text for the bounce message to explain the failure. If not * specified, the text will be auto-generated based on the bounced recipient * information.

*/ inline SendBounceRequest& WithExplanation(const char* value) { SetExplanation(value); return *this;} /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline const MessageDsn& GetMessageDsn() const{ return m_messageDsn; } /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline bool MessageDsnHasBeenSet() const { return m_messageDsnHasBeenSet; } /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline void SetMessageDsn(const MessageDsn& value) { m_messageDsnHasBeenSet = true; m_messageDsn = value; } /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline void SetMessageDsn(MessageDsn&& value) { m_messageDsnHasBeenSet = true; m_messageDsn = std::move(value); } /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline SendBounceRequest& WithMessageDsn(const MessageDsn& value) { SetMessageDsn(value); return *this;} /** *

Message-related DSN fields. If not specified, Amazon SES will choose the * values.

*/ inline SendBounceRequest& WithMessageDsn(MessageDsn&& value) { SetMessageDsn(std::move(value)); return *this;} /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline const Aws::Vector& GetBouncedRecipientInfoList() const{ return m_bouncedRecipientInfoList; } /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline bool BouncedRecipientInfoListHasBeenSet() const { return m_bouncedRecipientInfoListHasBeenSet; } /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline void SetBouncedRecipientInfoList(const Aws::Vector& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList = value; } /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline void SetBouncedRecipientInfoList(Aws::Vector&& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList = std::move(value); } /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline SendBounceRequest& WithBouncedRecipientInfoList(const Aws::Vector& value) { SetBouncedRecipientInfoList(value); return *this;} /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline SendBounceRequest& WithBouncedRecipientInfoList(Aws::Vector&& value) { SetBouncedRecipientInfoList(std::move(value)); return *this;} /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline SendBounceRequest& AddBouncedRecipientInfoList(const BouncedRecipientInfo& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList.push_back(value); return *this; } /** *

A list of recipients of the bounced message, including the information * required to create the Delivery Status Notifications (DSNs) for the recipients. * You must specify at least one BouncedRecipientInfo in the list.

*/ inline SendBounceRequest& AddBouncedRecipientInfoList(BouncedRecipientInfo&& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList.push_back(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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline const Aws::String& GetBounceSenderArn() const{ return m_bounceSenderArn; } /** *

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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline bool BounceSenderArnHasBeenSet() const { return m_bounceSenderArnHasBeenSet; } /** *

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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetBounceSenderArn(const Aws::String& value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn = 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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetBounceSenderArn(Aws::String&& value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn = 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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetBounceSenderArn(const char* value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn.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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBounceRequest& WithBounceSenderArn(const Aws::String& value) { SetBounceSenderArn(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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBounceRequest& WithBounceSenderArn(Aws::String&& value) { SetBounceSenderArn(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 use the address in the "From" header of the bounce. For more information * about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBounceRequest& WithBounceSenderArn(const char* value) { SetBounceSenderArn(value); return *this;} private: Aws::String m_originalMessageId; bool m_originalMessageIdHasBeenSet = false; Aws::String m_bounceSender; bool m_bounceSenderHasBeenSet = false; Aws::String m_explanation; bool m_explanationHasBeenSet = false; MessageDsn m_messageDsn; bool m_messageDsnHasBeenSet = false; Aws::Vector m_bouncedRecipientInfoList; bool m_bouncedRecipientInfoListHasBeenSet = false; Aws::String m_bounceSenderArn; bool m_bounceSenderArnHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws