/** * 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 templated email to multiple destinations using * Amazon SES. For more information, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

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

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline const Aws::String& GetSource() const{ return m_source; } /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendBulkTemplatedEmailRequest& WithSource(const Aws::String& value) { SetSource(value); return *this;} /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendBulkTemplatedEmailRequest& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} /** *

The email address that is sending the email. This email address must be * either individually verified with Amazon SES, or from a domain that has been * verified with Amazon SES. For information about verifying identities, see the Amazon * SES Developer Guide.

If you are sending on behalf of another user and * have been permitted to do so by a sending authorization policy, then you must * also specify the SourceArn parameter. For more information about * sending authorization, see the Amazon * SES Developer Guide.

Amazon SES does not support the SMTPUTF8 * extension, as described in RFC6531. For this reason, the * local part of a source email address (the part of the email address that * precedes the @ sign) may only contain 7-bit ASCII * characters. If the domain part of an address (the part after the @ * sign) contains non-ASCII characters, they must be encoded using Punycode, as * described in RFC3492. The * sender name (also known as the friendly name) may contain non-ASCII * characters. These characters must be encoded using MIME encoded-word syntax, as * described in RFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendBulkTemplatedEmailRequest& WithSource(const char* value) { SetSource(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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline const Aws::String& GetSourceArn() const{ return m_sourceArn; } /** *

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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } /** *

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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = 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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = 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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithSourceArn(const Aws::String& value) { SetSourceArn(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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithSourceArn(Aws::String&& value) { SetSourceArn(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 send for the email address specified in the Source * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to send from * user@example.com, then you would specify the SourceArn * to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and * the Source to be user@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithSourceArn(const char* value) { SetSourceArn(value); return *this;} /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline const Aws::Vector& GetReplyToAddresses() const{ return m_replyToAddresses; } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline bool ReplyToAddressesHasBeenSet() const { return m_replyToAddressesHasBeenSet; } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline void SetReplyToAddresses(const Aws::Vector& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = value; } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline void SetReplyToAddresses(Aws::Vector&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses = std::move(value); } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline SendBulkTemplatedEmailRequest& WithReplyToAddresses(const Aws::Vector& value) { SetReplyToAddresses(value); return *this;} /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline SendBulkTemplatedEmailRequest& WithReplyToAddresses(Aws::Vector&& value) { SetReplyToAddresses(std::move(value)); return *this;} /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline SendBulkTemplatedEmailRequest& AddReplyToAddresses(const Aws::String& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline SendBulkTemplatedEmailRequest& AddReplyToAddresses(Aws::String&& value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(std::move(value)); return *this; } /** *

The reply-to email address(es) for the message. If the recipient replies to * the message, each reply-to address will receive the reply.

*/ inline SendBulkTemplatedEmailRequest& AddReplyToAddresses(const char* value) { m_replyToAddressesHasBeenSet = true; m_replyToAddresses.push_back(value); return *this; } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline const Aws::String& GetReturnPath() const{ return m_returnPath; } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline bool ReturnPathHasBeenSet() const { return m_returnPathHasBeenSet; } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline void SetReturnPath(const Aws::String& value) { m_returnPathHasBeenSet = true; m_returnPath = value; } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline void SetReturnPath(Aws::String&& value) { m_returnPathHasBeenSet = true; m_returnPath = std::move(value); } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline void SetReturnPath(const char* value) { m_returnPathHasBeenSet = true; m_returnPath.assign(value); } /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPath(const Aws::String& value) { SetReturnPath(value); return *this;} /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPath(Aws::String&& value) { SetReturnPath(std::move(value)); return *this;} /** *

The email address that bounces and complaints will be forwarded to when * feedback forwarding is enabled. If the message cannot be delivered to the * recipient, then an error message will be returned from the recipient's ISP; this * message will then be forwarded to the email address specified by the * ReturnPath parameter. The ReturnPath parameter is * never overwritten. This email address must be either individually verified with * Amazon SES, or from a domain that has been verified with Amazon SES.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPath(const char* value) { SetReturnPath(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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline const Aws::String& GetReturnPathArn() const{ return m_returnPathArn; } /** *

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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline bool ReturnPathArnHasBeenSet() const { return m_returnPathArnHasBeenSet; } /** *

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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetReturnPathArn(const Aws::String& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = 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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetReturnPathArn(Aws::String&& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = 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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline void SetReturnPathArn(const char* value) { m_returnPathArnHasBeenSet = true; m_returnPathArn.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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPathArn(const Aws::String& value) { SetReturnPathArn(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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPathArn(Aws::String&& value) { SetReturnPathArn(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 email address specified in the ReturnPath * parameter.

For example, if the owner of example.com (which * has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) * attaches a policy to it that authorizes you to use * feedback@example.com, then you would specify the * ReturnPathArn to be * arn:aws:ses:us-east-1:123456789012:identity/example.com, and the * ReturnPath to be feedback@example.com.

For more * information about sending authorization, see the Amazon * SES Developer Guide.

*/ inline SendBulkTemplatedEmailRequest& WithReturnPathArn(const char* value) { SetReturnPathArn(value); return *this;} /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} /** *

The name of the configuration set to use when you send an email using * SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline const Aws::Vector& GetDefaultTags() const{ return m_defaultTags; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline bool DefaultTagsHasBeenSet() const { return m_defaultTagsHasBeenSet; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline void SetDefaultTags(const Aws::Vector& value) { m_defaultTagsHasBeenSet = true; m_defaultTags = value; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline void SetDefaultTags(Aws::Vector&& value) { m_defaultTagsHasBeenSet = true; m_defaultTags = std::move(value); } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& WithDefaultTags(const Aws::Vector& value) { SetDefaultTags(value); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& WithDefaultTags(Aws::Vector&& value) { SetDefaultTags(std::move(value)); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& AddDefaultTags(const MessageTag& value) { m_defaultTagsHasBeenSet = true; m_defaultTags.push_back(value); return *this; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send to a destination using SendBulkTemplatedEmail.

*/ inline SendBulkTemplatedEmailRequest& AddDefaultTags(MessageTag&& value) { m_defaultTagsHasBeenSet = true; m_defaultTags.push_back(std::move(value)); return *this; } /** *

The template to use when sending this email.

*/ inline const Aws::String& GetTemplate() const{ return m_template; } /** *

The template to use when sending this email.

*/ inline bool TemplateHasBeenSet() const { return m_templateHasBeenSet; } /** *

The template to use when sending this email.

*/ inline void SetTemplate(const Aws::String& value) { m_templateHasBeenSet = true; m_template = value; } /** *

The template to use when sending this email.

*/ inline void SetTemplate(Aws::String&& value) { m_templateHasBeenSet = true; m_template = std::move(value); } /** *

The template to use when sending this email.

*/ inline void SetTemplate(const char* value) { m_templateHasBeenSet = true; m_template.assign(value); } /** *

The template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplate(const Aws::String& value) { SetTemplate(value); return *this;} /** *

The template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplate(Aws::String&& value) { SetTemplate(std::move(value)); return *this;} /** *

The template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplate(const char* value) { SetTemplate(value); return *this;} /** *

The ARN of the template to use when sending this email.

*/ inline const Aws::String& GetTemplateArn() const{ return m_templateArn; } /** *

The ARN of the template to use when sending this email.

*/ inline bool TemplateArnHasBeenSet() const { return m_templateArnHasBeenSet; } /** *

The ARN of the template to use when sending this email.

*/ inline void SetTemplateArn(const Aws::String& value) { m_templateArnHasBeenSet = true; m_templateArn = value; } /** *

The ARN of the template to use when sending this email.

*/ inline void SetTemplateArn(Aws::String&& value) { m_templateArnHasBeenSet = true; m_templateArn = std::move(value); } /** *

The ARN of the template to use when sending this email.

*/ inline void SetTemplateArn(const char* value) { m_templateArnHasBeenSet = true; m_templateArn.assign(value); } /** *

The ARN of the template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplateArn(const Aws::String& value) { SetTemplateArn(value); return *this;} /** *

The ARN of the template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplateArn(Aws::String&& value) { SetTemplateArn(std::move(value)); return *this;} /** *

The ARN of the template to use when sending this email.

*/ inline SendBulkTemplatedEmailRequest& WithTemplateArn(const char* value) { SetTemplateArn(value); return *this;} /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline const Aws::String& GetDefaultTemplateData() const{ return m_defaultTemplateData; } /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline bool DefaultTemplateDataHasBeenSet() const { return m_defaultTemplateDataHasBeenSet; } /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetDefaultTemplateData(const Aws::String& value) { m_defaultTemplateDataHasBeenSet = true; m_defaultTemplateData = value; } /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetDefaultTemplateData(Aws::String&& value) { m_defaultTemplateDataHasBeenSet = true; m_defaultTemplateData = std::move(value); } /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetDefaultTemplateData(const char* value) { m_defaultTemplateDataHasBeenSet = true; m_defaultTemplateData.assign(value); } /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendBulkTemplatedEmailRequest& WithDefaultTemplateData(const Aws::String& value) { SetDefaultTemplateData(value); return *this;} /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendBulkTemplatedEmailRequest& WithDefaultTemplateData(Aws::String&& value) { SetDefaultTemplateData(std::move(value)); return *this;} /** *

A list of replacement values to apply to the template when replacement data * is not specified in a Destination object. These values act as a default or * fallback option when no other data is available.

The template data is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendBulkTemplatedEmailRequest& WithDefaultTemplateData(const char* value) { SetDefaultTemplateData(value); return *this;} /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline const Aws::Vector& GetDestinations() const{ return m_destinations; } /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline void SetDestinations(const Aws::Vector& value) { m_destinationsHasBeenSet = true; m_destinations = value; } /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline void SetDestinations(Aws::Vector&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline SendBulkTemplatedEmailRequest& WithDestinations(const Aws::Vector& value) { SetDestinations(value); return *this;} /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline SendBulkTemplatedEmailRequest& WithDestinations(Aws::Vector&& value) { SetDestinations(std::move(value)); return *this;} /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline SendBulkTemplatedEmailRequest& AddDestinations(const BulkEmailDestination& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } /** *

One or more Destination objects. All of the recipients in a * Destination will receive the same version of the email. You can * specify up to 50 Destination objects within a * Destinations array.

*/ inline SendBulkTemplatedEmailRequest& AddDestinations(BulkEmailDestination&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } private: Aws::String m_source; bool m_sourceHasBeenSet = false; Aws::String m_sourceArn; bool m_sourceArnHasBeenSet = false; Aws::Vector m_replyToAddresses; bool m_replyToAddressesHasBeenSet = false; Aws::String m_returnPath; bool m_returnPathHasBeenSet = false; Aws::String m_returnPathArn; bool m_returnPathArnHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; Aws::Vector m_defaultTags; bool m_defaultTagsHasBeenSet = false; Aws::String m_template; bool m_templateHasBeenSet = false; Aws::String m_templateArn; bool m_templateArnHasBeenSet = false; Aws::String m_defaultTemplateData; bool m_defaultTemplateDataHasBeenSet = false; Aws::Vector m_destinations; bool m_destinationsHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws