/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Pinpoint { namespace Model { /** *

Specifies the content, including message variables and attributes, to use in * a message that's sent directly to an endpoint.

See Also:

AWS * API Reference

*/ class EndpointSendConfiguration { public: AWS_PINPOINT_API EndpointSendConfiguration(); AWS_PINPOINT_API EndpointSendConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API EndpointSendConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_PINPOINT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline const Aws::String& GetBodyOverride() const{ return m_bodyOverride; } /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline bool BodyOverrideHasBeenSet() const { return m_bodyOverrideHasBeenSet; } /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline void SetBodyOverride(const Aws::String& value) { m_bodyOverrideHasBeenSet = true; m_bodyOverride = value; } /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline void SetBodyOverride(Aws::String&& value) { m_bodyOverrideHasBeenSet = true; m_bodyOverride = std::move(value); } /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline void SetBodyOverride(const char* value) { m_bodyOverrideHasBeenSet = true; m_bodyOverride.assign(value); } /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline EndpointSendConfiguration& WithBodyOverride(const Aws::String& value) { SetBodyOverride(value); return *this;} /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline EndpointSendConfiguration& WithBodyOverride(Aws::String&& value) { SetBodyOverride(std::move(value)); return *this;} /** *

The body of the message. If specified, this value overrides the default * message body.

*/ inline EndpointSendConfiguration& WithBodyOverride(const char* value) { SetBodyOverride(value); return *this;} /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline const Aws::Map& GetContext() const{ return m_context; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline void SetContext(const Aws::Map& value) { m_contextHasBeenSet = true; m_context = value; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline void SetContext(Aws::Map&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& WithContext(const Aws::Map& value) { SetContext(value); return *this;} /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& WithContext(Aws::Map&& value) { SetContext(std::move(value)); return *this;} /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(const Aws::String& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(Aws::String&& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(const Aws::String& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(Aws::String&& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(const char* key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(Aws::String&& key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

A map of custom attributes to attach to the message for the address. * Attribute names are case sensitive.

For a push notification, this payload * is added to the data.pinpoint object. For an email or text message, this payload * is added to email/SMS delivery receipt event attributes.

*/ inline EndpointSendConfiguration& AddContext(const char* key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline const Aws::String& GetRawContent() const{ return m_rawContent; } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline bool RawContentHasBeenSet() const { return m_rawContentHasBeenSet; } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline void SetRawContent(const Aws::String& value) { m_rawContentHasBeenSet = true; m_rawContent = value; } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline void SetRawContent(Aws::String&& value) { m_rawContentHasBeenSet = true; m_rawContent = std::move(value); } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline void SetRawContent(const char* value) { m_rawContentHasBeenSet = true; m_rawContent.assign(value); } /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline EndpointSendConfiguration& WithRawContent(const Aws::String& value) { SetRawContent(value); return *this;} /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline EndpointSendConfiguration& WithRawContent(Aws::String&& value) { SetRawContent(std::move(value)); return *this;} /** *

The raw, JSON-formatted string to use as the payload for the message. If * specified, this value overrides all other values for the message.

*/ inline EndpointSendConfiguration& WithRawContent(const char* value) { SetRawContent(value); return *this;} /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline const Aws::Map>& GetSubstitutions() const{ return m_substitutions; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline bool SubstitutionsHasBeenSet() const { return m_substitutionsHasBeenSet; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline void SetSubstitutions(const Aws::Map>& value) { m_substitutionsHasBeenSet = true; m_substitutions = value; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline void SetSubstitutions(Aws::Map>&& value) { m_substitutionsHasBeenSet = true; m_substitutions = std::move(value); } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& WithSubstitutions(const Aws::Map>& value) { SetSubstitutions(value); return *this;} /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& WithSubstitutions(Aws::Map>&& value) { SetSubstitutions(std::move(value)); return *this;} /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(const Aws::String& key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(Aws::String&& key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), value); return *this; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(const Aws::String& key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(Aws::String&& key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(const char* key, Aws::Vector&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; } /** *

A map of the message variables to merge with the variables specified for the * default message (DefaultMessage.Substitutions). The variables specified in this * map take precedence over all other variables.

*/ inline EndpointSendConfiguration& AddSubstitutions(const char* key, const Aws::Vector& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline const Aws::String& GetTitleOverride() const{ return m_titleOverride; } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline bool TitleOverrideHasBeenSet() const { return m_titleOverrideHasBeenSet; } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline void SetTitleOverride(const Aws::String& value) { m_titleOverrideHasBeenSet = true; m_titleOverride = value; } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline void SetTitleOverride(Aws::String&& value) { m_titleOverrideHasBeenSet = true; m_titleOverride = std::move(value); } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline void SetTitleOverride(const char* value) { m_titleOverrideHasBeenSet = true; m_titleOverride.assign(value); } /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline EndpointSendConfiguration& WithTitleOverride(const Aws::String& value) { SetTitleOverride(value); return *this;} /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline EndpointSendConfiguration& WithTitleOverride(Aws::String&& value) { SetTitleOverride(std::move(value)); return *this;} /** *

The title or subject line of the message. If specified, this value overrides * the default message title or subject line.

*/ inline EndpointSendConfiguration& WithTitleOverride(const char* value) { SetTitleOverride(value); return *this;} private: Aws::String m_bodyOverride; bool m_bodyOverrideHasBeenSet = false; Aws::Map m_context; bool m_contextHasBeenSet = false; Aws::String m_rawContent; bool m_rawContentHasBeenSet = false; Aws::Map> m_substitutions; bool m_substitutionsHasBeenSet = false; Aws::String m_titleOverride; bool m_titleOverrideHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws