This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-email/include/aws/email/model/SendBounceRequest.h

391 lines
17 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/email/SES_EXPORTS.h>
#include <aws/email/SESRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/email/model/MessageDsn.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/email/model/BouncedRecipientInfo.h>
#include <utility>
namespace Aws
{
namespace SES
{
namespace Model
{
/**
* <p>Represents a request to send a bounce message to the sender of an email you
* received through Amazon SES.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendBounceRequest">AWS
* API Reference</a></p>
*/
class AWS_SES_API SendBounceRequest : public SESRequest
{
public:
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::String SerializePayload() const override;
protected:
void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
public:
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline const Aws::String& GetOriginalMessageId() const{ return m_originalMessageId; }
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline bool OriginalMessageIdHasBeenSet() const { return m_originalMessageIdHasBeenSet; }
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline void SetOriginalMessageId(const Aws::String& value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId = value; }
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline void SetOriginalMessageId(Aws::String&& value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId = std::move(value); }
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline void SetOriginalMessageId(const char* value) { m_originalMessageIdHasBeenSet = true; m_originalMessageId.assign(value); }
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline SendBounceRequest& WithOriginalMessageId(const Aws::String& value) { SetOriginalMessageId(value); return *this;}
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline SendBounceRequest& WithOriginalMessageId(Aws::String&& value) { SetOriginalMessageId(std::move(value)); return *this;}
/**
* <p>The message ID of the message to be bounced.</p>
*/
inline SendBounceRequest& WithOriginalMessageId(const char* value) { SetOriginalMessageId(value); return *this;}
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline const Aws::String& GetBounceSender() const{ return m_bounceSender; }
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline bool BounceSenderHasBeenSet() const { return m_bounceSenderHasBeenSet; }
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline void SetBounceSender(const Aws::String& value) { m_bounceSenderHasBeenSet = true; m_bounceSender = value; }
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline void SetBounceSender(Aws::String&& value) { m_bounceSenderHasBeenSet = true; m_bounceSender = std::move(value); }
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline void SetBounceSender(const char* value) { m_bounceSenderHasBeenSet = true; m_bounceSender.assign(value); }
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline SendBounceRequest& WithBounceSender(const Aws::String& value) { SetBounceSender(value); return *this;}
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline SendBounceRequest& WithBounceSender(Aws::String&& value) { SetBounceSender(std::move(value)); return *this;}
/**
* <p>The address to use in the "From" header of the bounce message. This must be
* an identity that you have verified with Amazon SES.</p>
*/
inline SendBounceRequest& WithBounceSender(const char* value) { SetBounceSender(value); return *this;}
/**
* <p>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.</p>
*/
inline const Aws::String& GetExplanation() const{ return m_explanation; }
/**
* <p>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.</p>
*/
inline bool ExplanationHasBeenSet() const { return m_explanationHasBeenSet; }
/**
* <p>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.</p>
*/
inline void SetExplanation(const Aws::String& value) { m_explanationHasBeenSet = true; m_explanation = value; }
/**
* <p>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.</p>
*/
inline void SetExplanation(Aws::String&& value) { m_explanationHasBeenSet = true; m_explanation = std::move(value); }
/**
* <p>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.</p>
*/
inline void SetExplanation(const char* value) { m_explanationHasBeenSet = true; m_explanation.assign(value); }
/**
* <p>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.</p>
*/
inline SendBounceRequest& WithExplanation(const Aws::String& value) { SetExplanation(value); return *this;}
/**
* <p>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.</p>
*/
inline SendBounceRequest& WithExplanation(Aws::String&& value) { SetExplanation(std::move(value)); return *this;}
/**
* <p>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.</p>
*/
inline SendBounceRequest& WithExplanation(const char* value) { SetExplanation(value); return *this;}
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline const MessageDsn& GetMessageDsn() const{ return m_messageDsn; }
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline bool MessageDsnHasBeenSet() const { return m_messageDsnHasBeenSet; }
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline void SetMessageDsn(const MessageDsn& value) { m_messageDsnHasBeenSet = true; m_messageDsn = value; }
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline void SetMessageDsn(MessageDsn&& value) { m_messageDsnHasBeenSet = true; m_messageDsn = std::move(value); }
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline SendBounceRequest& WithMessageDsn(const MessageDsn& value) { SetMessageDsn(value); return *this;}
/**
* <p>Message-related DSN fields. If not specified, Amazon SES will choose the
* values.</p>
*/
inline SendBounceRequest& WithMessageDsn(MessageDsn&& value) { SetMessageDsn(std::move(value)); return *this;}
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline const Aws::Vector<BouncedRecipientInfo>& GetBouncedRecipientInfoList() const{ return m_bouncedRecipientInfoList; }
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline bool BouncedRecipientInfoListHasBeenSet() const { return m_bouncedRecipientInfoListHasBeenSet; }
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline void SetBouncedRecipientInfoList(const Aws::Vector<BouncedRecipientInfo>& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList = value; }
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline void SetBouncedRecipientInfoList(Aws::Vector<BouncedRecipientInfo>&& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList = std::move(value); }
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline SendBounceRequest& WithBouncedRecipientInfoList(const Aws::Vector<BouncedRecipientInfo>& value) { SetBouncedRecipientInfoList(value); return *this;}
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline SendBounceRequest& WithBouncedRecipientInfoList(Aws::Vector<BouncedRecipientInfo>&& value) { SetBouncedRecipientInfoList(std::move(value)); return *this;}
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline SendBounceRequest& AddBouncedRecipientInfoList(const BouncedRecipientInfo& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList.push_back(value); return *this; }
/**
* <p>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 <code>BouncedRecipientInfo</code> in the list.</p>
*/
inline SendBounceRequest& AddBouncedRecipientInfoList(BouncedRecipientInfo&& value) { m_bouncedRecipientInfoListHasBeenSet = true; m_bouncedRecipientInfoList.push_back(std::move(value)); return *this; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline const Aws::String& GetBounceSenderArn() const{ return m_bounceSenderArn; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline bool BounceSenderArnHasBeenSet() const { return m_bounceSenderArnHasBeenSet; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetBounceSenderArn(const Aws::String& value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn = value; }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetBounceSenderArn(Aws::String&& value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn = std::move(value); }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline void SetBounceSenderArn(const char* value) { m_bounceSenderArnHasBeenSet = true; m_bounceSenderArn.assign(value); }
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendBounceRequest& WithBounceSenderArn(const Aws::String& value) { SetBounceSenderArn(value); return *this;}
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendBounceRequest& WithBounceSenderArn(Aws::String&& value) { SetBounceSenderArn(std::move(value)); return *this;}
/**
* <p>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 <a
* href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html">Amazon
* SES Developer Guide</a>.</p>
*/
inline SendBounceRequest& WithBounceSenderArn(const char* value) { SetBounceSenderArn(value); return *this;}
private:
Aws::String m_originalMessageId;
bool m_originalMessageIdHasBeenSet;
Aws::String m_bounceSender;
bool m_bounceSenderHasBeenSet;
Aws::String m_explanation;
bool m_explanationHasBeenSet;
MessageDsn m_messageDsn;
bool m_messageDsnHasBeenSet;
Aws::Vector<BouncedRecipientInfo> m_bouncedRecipientInfoList;
bool m_bouncedRecipientInfoListHasBeenSet;
Aws::String m_bounceSenderArn;
bool m_bounceSenderArnHasBeenSet;
};
} // namespace Model
} // namespace SES
} // namespace Aws