/** * 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 Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace SES { namespace Model { /** *

An array that contains one or more Destinations, as well as the tags and * replacement data associated with each of those Destinations.

See * Also:

AWS * API Reference

*/ class BulkEmailDestination { public: AWS_SES_API BulkEmailDestination(); AWS_SES_API BulkEmailDestination(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API BulkEmailDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const; inline const Destination& GetDestination() const{ return m_destination; } inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } inline void SetDestination(const Destination& value) { m_destinationHasBeenSet = true; m_destination = value; } inline void SetDestination(Destination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } inline BulkEmailDestination& WithDestination(const Destination& value) { SetDestination(value); return *this;} inline BulkEmailDestination& WithDestination(Destination&& value) { SetDestination(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 SendBulkTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline const Aws::Vector& GetReplacementTags() const{ return m_replacementTags; } /** *

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

*/ inline bool ReplacementTagsHasBeenSet() const { return m_replacementTagsHasBeenSet; } /** *

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

*/ inline void SetReplacementTags(const Aws::Vector& value) { m_replacementTagsHasBeenSet = true; m_replacementTags = value; } /** *

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

*/ inline void SetReplacementTags(Aws::Vector&& value) { m_replacementTagsHasBeenSet = true; m_replacementTags = std::move(value); } /** *

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

*/ inline BulkEmailDestination& WithReplacementTags(const Aws::Vector& value) { SetReplacementTags(value); return *this;} /** *

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

*/ inline BulkEmailDestination& WithReplacementTags(Aws::Vector&& value) { SetReplacementTags(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 SendBulkTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline BulkEmailDestination& AddReplacementTags(const MessageTag& value) { m_replacementTagsHasBeenSet = true; m_replacementTags.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 SendBulkTemplatedEmail. Tags correspond to * characteristics of the email that you define, so that you can publish email * sending events.

*/ inline BulkEmailDestination& AddReplacementTags(MessageTag&& value) { m_replacementTagsHasBeenSet = true; m_replacementTags.push_back(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 const Aws::String& GetReplacementTemplateData() const{ return m_replacementTemplateData; } /** *

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 ReplacementTemplateDataHasBeenSet() const { return m_replacementTemplateDataHasBeenSet; } /** *

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 SetReplacementTemplateData(const Aws::String& value) { m_replacementTemplateDataHasBeenSet = true; m_replacementTemplateData = 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 SetReplacementTemplateData(Aws::String&& value) { m_replacementTemplateDataHasBeenSet = true; m_replacementTemplateData = 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 SetReplacementTemplateData(const char* value) { m_replacementTemplateDataHasBeenSet = true; m_replacementTemplateData.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 BulkEmailDestination& WithReplacementTemplateData(const Aws::String& value) { SetReplacementTemplateData(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 BulkEmailDestination& WithReplacementTemplateData(Aws::String&& value) { SetReplacementTemplateData(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 BulkEmailDestination& WithReplacementTemplateData(const char* value) { SetReplacementTemplateData(value); return *this;} private: Destination m_destination; bool m_destinationHasBeenSet = false; Aws::Vector m_replacementTags; bool m_replacementTagsHasBeenSet = false; Aws::String m_replacementTemplateData; bool m_replacementTemplateDataHasBeenSet = false; }; } // namespace Model } // namespace SES } // namespace Aws