/* * Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.simpleemail.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Composes an email message to multiple destinations. The message body is * created using an email template. *

*

* In order to send email using the SendBulkTemplatedEmail * operation, your call to the API must meet the following requirements: *

* */ public class SendBulkTemplatedEmailRequest extends AmazonWebServiceRequest implements Serializable { /** *

* 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?=. *

*
*/ private String source; /** *

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

*/ private String sourceArn; /** *

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

*/ private java.util.List replyToAddresses = new java.util.ArrayList(); /** *

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

*/ private String returnPath; /** *

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

*/ private String returnPathArn; /** *

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

*/ private String configurationSetName; /** *

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

*/ private java.util.List defaultTags = new java.util.ArrayList(); /** *

* The template to use when sending this email. *

*/ private String template; /** *

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

*/ private String templateArn; /** *

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

*

* Constraints:
* Length: - 262144
*/ private String defaultTemplateData; /** *

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

*/ private java.util.List destinations = new java.util.ArrayList(); /** *

* 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?=. *

*
* * @return

* 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?=. *

*
*/ public String getSource() { return 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?=. *

*
* * @param 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?=. *

*
*/ public void setSource(String source) { this.source = 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?=. *

*
*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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?=. *

*
* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withSource(String source) { this.source = source; 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. *

* * @return

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

*/ public String getSourceArn() { return 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. *

* * @param 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. *

*/ public void setSourceArn(String sourceArn) { this.sourceArn = 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withSourceArn(String sourceArn) { this.sourceArn = sourceArn; 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. *

* * @return

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

*/ public java.util.List getReplyToAddresses() { return 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. *

* * @param 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. *

*/ public void setReplyToAddresses(java.util.Collection replyToAddresses) { if (replyToAddresses == null) { this.replyToAddresses = null; return; } this.replyToAddresses = new java.util.ArrayList(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withReplyToAddresses(String... replyToAddresses) { if (getReplyToAddresses() == null) { this.replyToAddresses = new java.util.ArrayList(replyToAddresses.length); } for (String value : replyToAddresses) { this.replyToAddresses.add(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withReplyToAddresses( java.util.Collection replyToAddresses) { setReplyToAddresses(replyToAddresses); 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. *

* * @return

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

*/ public String getReturnPath() { return 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. *

* * @param 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. *

*/ public void setReturnPath(String returnPath) { this.returnPath = 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withReturnPath(String returnPath) { this.returnPath = returnPath; 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. *

* * @return

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

*/ public String getReturnPathArn() { return 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. *

* * @param 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. *

*/ public void setReturnPathArn(String returnPathArn) { this.returnPathArn = 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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withReturnPathArn(String returnPathArn) { this.returnPathArn = returnPathArn; return this; } /** *

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

* * @return

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

*/ public String getConfigurationSetName() { return configurationSetName; } /** *

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

* * @param configurationSetName

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

*/ public void setConfigurationSetName(String configurationSetName) { this.configurationSetName = configurationSetName; } /** *

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

*

* Returns a reference to this object so that method calls can be chained * together. * * @param configurationSetName

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

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withConfigurationSetName(String configurationSetName) { this.configurationSetName = configurationSetName; 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. *

* * @return

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

*/ public java.util.List getDefaultTags() { return 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. *

* * @param 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. *

*/ public void setDefaultTags(java.util.Collection defaultTags) { if (defaultTags == null) { this.defaultTags = null; return; } this.defaultTags = new java.util.ArrayList(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withDefaultTags(MessageTag... defaultTags) { if (getDefaultTags() == null) { this.defaultTags = new java.util.ArrayList(defaultTags.length); } for (MessageTag value : defaultTags) { this.defaultTags.add(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withDefaultTags( java.util.Collection defaultTags) { setDefaultTags(defaultTags); return this; } /** *

* The template to use when sending this email. *

* * @return

* The template to use when sending this email. *

*/ public String getTemplate() { return template; } /** *

* The template to use when sending this email. *

* * @param template

* The template to use when sending this email. *

*/ public void setTemplate(String template) { this.template = template; } /** *

* The template to use when sending this email. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param template

* The template to use when sending this email. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withTemplate(String template) { this.template = template; return this; } /** *

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

* * @return

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

*/ public String getTemplateArn() { return templateArn; } /** *

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

* * @param templateArn

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

*/ public void setTemplateArn(String templateArn) { this.templateArn = templateArn; } /** *

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

*

* Returns a reference to this object so that method calls can be chained * together. * * @param templateArn

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

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withTemplateArn(String templateArn) { this.templateArn = templateArn; 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. *

*

* Constraints:
* Length: - 262144
* * @return

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

*/ public String getDefaultTemplateData() { return 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. *

*

* Constraints:
* Length: - 262144
* * @param 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. *

*/ public void setDefaultTemplateData(String defaultTemplateData) { this.defaultTemplateData = 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. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: - 262144
* * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withDefaultTemplateData(String defaultTemplateData) { this.defaultTemplateData = defaultTemplateData; 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. *

* * @return

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

*/ public java.util.List getDestinations() { return 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. *

* * @param 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. *

*/ public void setDestinations(java.util.Collection destinations) { if (destinations == null) { this.destinations = null; return; } this.destinations = new java.util.ArrayList(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withDestinations(BulkEmailDestination... destinations) { if (getDestinations() == null) { this.destinations = new java.util.ArrayList(destinations.length); } for (BulkEmailDestination value : destinations) { this.destinations.add(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. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param 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. *

* @return A reference to this updated object so that method calls can be * chained together. */ public SendBulkTemplatedEmailRequest withDestinations( java.util.Collection destinations) { setDestinations(destinations); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getSource() != null) sb.append("Source: " + getSource() + ","); if (getSourceArn() != null) sb.append("SourceArn: " + getSourceArn() + ","); if (getReplyToAddresses() != null) sb.append("ReplyToAddresses: " + getReplyToAddresses() + ","); if (getReturnPath() != null) sb.append("ReturnPath: " + getReturnPath() + ","); if (getReturnPathArn() != null) sb.append("ReturnPathArn: " + getReturnPathArn() + ","); if (getConfigurationSetName() != null) sb.append("ConfigurationSetName: " + getConfigurationSetName() + ","); if (getDefaultTags() != null) sb.append("DefaultTags: " + getDefaultTags() + ","); if (getTemplate() != null) sb.append("Template: " + getTemplate() + ","); if (getTemplateArn() != null) sb.append("TemplateArn: " + getTemplateArn() + ","); if (getDefaultTemplateData() != null) sb.append("DefaultTemplateData: " + getDefaultTemplateData() + ","); if (getDestinations() != null) sb.append("Destinations: " + getDestinations()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSource() == null) ? 0 : getSource().hashCode()); hashCode = prime * hashCode + ((getSourceArn() == null) ? 0 : getSourceArn().hashCode()); hashCode = prime * hashCode + ((getReplyToAddresses() == null) ? 0 : getReplyToAddresses().hashCode()); hashCode = prime * hashCode + ((getReturnPath() == null) ? 0 : getReturnPath().hashCode()); hashCode = prime * hashCode + ((getReturnPathArn() == null) ? 0 : getReturnPathArn().hashCode()); hashCode = prime * hashCode + ((getConfigurationSetName() == null) ? 0 : getConfigurationSetName().hashCode()); hashCode = prime * hashCode + ((getDefaultTags() == null) ? 0 : getDefaultTags().hashCode()); hashCode = prime * hashCode + ((getTemplate() == null) ? 0 : getTemplate().hashCode()); hashCode = prime * hashCode + ((getTemplateArn() == null) ? 0 : getTemplateArn().hashCode()); hashCode = prime * hashCode + ((getDefaultTemplateData() == null) ? 0 : getDefaultTemplateData().hashCode()); hashCode = prime * hashCode + ((getDestinations() == null) ? 0 : getDestinations().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof SendBulkTemplatedEmailRequest == false) return false; SendBulkTemplatedEmailRequest other = (SendBulkTemplatedEmailRequest) obj; if (other.getSource() == null ^ this.getSource() == null) return false; if (other.getSource() != null && other.getSource().equals(this.getSource()) == false) return false; if (other.getSourceArn() == null ^ this.getSourceArn() == null) return false; if (other.getSourceArn() != null && other.getSourceArn().equals(this.getSourceArn()) == false) return false; if (other.getReplyToAddresses() == null ^ this.getReplyToAddresses() == null) return false; if (other.getReplyToAddresses() != null && other.getReplyToAddresses().equals(this.getReplyToAddresses()) == false) return false; if (other.getReturnPath() == null ^ this.getReturnPath() == null) return false; if (other.getReturnPath() != null && other.getReturnPath().equals(this.getReturnPath()) == false) return false; if (other.getReturnPathArn() == null ^ this.getReturnPathArn() == null) return false; if (other.getReturnPathArn() != null && other.getReturnPathArn().equals(this.getReturnPathArn()) == false) return false; if (other.getConfigurationSetName() == null ^ this.getConfigurationSetName() == null) return false; if (other.getConfigurationSetName() != null && other.getConfigurationSetName().equals(this.getConfigurationSetName()) == false) return false; if (other.getDefaultTags() == null ^ this.getDefaultTags() == null) return false; if (other.getDefaultTags() != null && other.getDefaultTags().equals(this.getDefaultTags()) == false) return false; if (other.getTemplate() == null ^ this.getTemplate() == null) return false; if (other.getTemplate() != null && other.getTemplate().equals(this.getTemplate()) == false) return false; if (other.getTemplateArn() == null ^ this.getTemplateArn() == null) return false; if (other.getTemplateArn() != null && other.getTemplateArn().equals(this.getTemplateArn()) == false) return false; if (other.getDefaultTemplateData() == null ^ this.getDefaultTemplateData() == null) return false; if (other.getDefaultTemplateData() != null && other.getDefaultTemplateData().equals(this.getDefaultTemplateData()) == false) return false; if (other.getDestinations() == null ^ this.getDestinations() == null) return false; if (other.getDestinations() != null && other.getDestinations().equals(this.getDestinations()) == false) return false; return true; } }