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

Specifies address-based configuration settings for a message that's sent * directly to an endpoint.

See Also:

AWS * API Reference

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The message body to use instead of the default message body. This value * overrides the default message body.

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

The channel to use when sending the message.

*/ inline const ChannelType& GetChannelType() const{ return m_channelType; } /** *

The channel to use when sending the message.

*/ inline bool ChannelTypeHasBeenSet() const { return m_channelTypeHasBeenSet; } /** *

The channel to use when sending the message.

*/ inline void SetChannelType(const ChannelType& value) { m_channelTypeHasBeenSet = true; m_channelType = value; } /** *

The channel to use when sending the message.

*/ inline void SetChannelType(ChannelType&& value) { m_channelTypeHasBeenSet = true; m_channelType = std::move(value); } /** *

The channel to use when sending the message.

*/ inline AddressConfiguration& WithChannelType(const ChannelType& value) { SetChannelType(value); return *this;} /** *

The channel to use when sending the message.

*/ inline AddressConfiguration& WithChannelType(ChannelType&& value) { SetChannelType(std::move(value)); return *this;} /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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); } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& WithContext(const Aws::Map& value) { SetContext(value); return *this;} /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& WithContext(Aws::Map&& value) { SetContext(std::move(value)); return *this;} /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(const Aws::String& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(key, value); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(Aws::String&& key, const Aws::String& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(const Aws::String& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(Aws::String&& key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), std::move(value)); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(const char* key, Aws::String&& value) { m_contextHasBeenSet = true; m_context.emplace(key, std::move(value)); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& AddContext(Aws::String&& key, const char* value) { m_contextHasBeenSet = true; m_context.emplace(std::move(key), value); return *this; } /** *

An object that maps custom attributes to attributes for the address and is * attached to the message. 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 AddressConfiguration& 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 AddressConfiguration& 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 AddressConfiguration& 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 AddressConfiguration& WithRawContent(const char* value) { SetRawContent(value); return *this;} /** *

A map of the message variables to merge with the variables specified by * properties of the DefaultMessage object. 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 by * properties of the DefaultMessage object. 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 by * properties of the DefaultMessage object. 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 by * properties of the DefaultMessage object. 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

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

A map of the message variables to merge with the variables specified by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

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

A map of the message variables to merge with the variables specified by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

*/ inline AddressConfiguration& 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

*/ inline AddressConfiguration& 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

*/ inline AddressConfiguration& 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

*/ inline AddressConfiguration& 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

*/ inline AddressConfiguration& 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 by * properties of the DefaultMessage object. The variables specified in this map * take precedence over all other variables.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

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

The message title to use instead of the default message title. This value * overrides the default message title.

*/ inline AddressConfiguration& WithTitleOverride(const char* value) { SetTitleOverride(value); return *this;} private: Aws::String m_bodyOverride; bool m_bodyOverrideHasBeenSet = false; ChannelType m_channelType; bool m_channelTypeHasBeenSet = 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