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

See Also:

AWS * API Reference

*/ class SendTemplatedEmailRequest : public SESRequest { public: AWS_SES_API SendTemplatedEmailRequest(); // 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 "SendTemplatedEmail"; } 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 inRFC 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 inRFC 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 inRFC 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 inRFC 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 inRFC 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 inRFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendTemplatedEmailRequest& 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 inRFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendTemplatedEmailRequest& 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 inRFC 2047. MIME * encoded-word syntax uses the following form: * =?charset?encoding?encoded-text?=.

*/ inline SendTemplatedEmailRequest& WithSource(const char* value) { SetSource(value); return *this;} /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline const Destination& GetDestination() const{ return m_destination; } /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline SendTemplatedEmailRequest& WithDestination(const Destination& value) { SetDestination(value); return *this;} /** *

The destination for this email, composed of To:, CC:, and BCC: fields. A * Destination can include up to 50 recipients across these three fields.

*/ inline SendTemplatedEmailRequest& WithDestination(Destination&& value) { SetDestination(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 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& WithSourceArn(const char* 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 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& WithReturnPathArn(const char* value) { SetReturnPathArn(value); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline SendTemplatedEmailRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline SendTemplatedEmailRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline SendTemplatedEmailRequest& AddTags(const MessageTag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A list of tags, in the form of name/value pairs, to apply to an email that * you send using SendTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline SendTemplatedEmailRequest& AddTags(MessageTag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

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

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

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

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

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

*/ 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 * SendTemplatedEmail.

*/ 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 * SendTemplatedEmail.

*/ 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 * SendTemplatedEmail.

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

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

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

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

*/ inline SendTemplatedEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(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 SendTemplatedEmailRequest& WithTemplate(const Aws::String& value) { SetTemplate(value); return *this;} /** *

The template to use when sending this email.

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

The template to use when sending this email.

*/ inline SendTemplatedEmailRequest& 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 SendTemplatedEmailRequest& WithTemplateArn(const Aws::String& value) { SetTemplateArn(value); return *this;} /** *

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

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

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

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

A list of replacement values to apply to the template. This parameter 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& GetTemplateData() const{ return m_templateData; } /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline bool TemplateDataHasBeenSet() const { return m_templateDataHasBeenSet; } /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetTemplateData(const Aws::String& value) { m_templateDataHasBeenSet = true; m_templateData = value; } /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetTemplateData(Aws::String&& value) { m_templateDataHasBeenSet = true; m_templateData = std::move(value); } /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline void SetTemplateData(const char* value) { m_templateDataHasBeenSet = true; m_templateData.assign(value); } /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendTemplatedEmailRequest& WithTemplateData(const Aws::String& value) { SetTemplateData(value); return *this;} /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendTemplatedEmailRequest& WithTemplateData(Aws::String&& value) { SetTemplateData(std::move(value)); return *this;} /** *

A list of replacement values to apply to the template. This parameter is a * JSON object, typically consisting of key-value pairs in which the keys * correspond to replacement tags in the email template.

*/ inline SendTemplatedEmailRequest& WithTemplateData(const char* value) { SetTemplateData(value); return *this;} private: Aws::String m_source; bool m_sourceHasBeenSet = false; Destination m_destination; bool m_destinationHasBeenSet = false; Aws::Vector m_replyToAddresses; bool m_replyToAddressesHasBeenSet = false; Aws::String m_returnPath; bool m_returnPathHasBeenSet = false; Aws::String m_sourceArn; bool m_sourceArnHasBeenSet = false; Aws::String m_returnPathArn; bool m_returnPathArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_configurationSetName; bool m_configurationSetNameHasBeenSet = false; Aws::String m_template; bool m_templateHasBeenSet = false; Aws::String m_templateArn; bool m_templateArnHasBeenSet = false; Aws::String m_templateData; bool m_templateDataHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws