/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#pragma once
#include  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
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?=.
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?=.
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?=.
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?=.
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?=.
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?=.
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?=.
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?=.
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::VectorThe 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::VectorThe 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::VectorThe 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::VectorThe 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::VectorThe 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. 
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. 
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. 
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. 
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. 
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. 
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. 
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. 
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.
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.
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.
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.
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.
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.
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.
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.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
The name of the configuration set to use when you send an email using
     * SendTemplatedEmail.
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