/** * 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 the default settings for a one-time SMS message that's sent * directly to an endpoint.

See Also:

AWS * API Reference

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

The body of the SMS message.

*/ inline const Aws::String& GetBody() const{ return m_body; } /** *

The body of the SMS message.

*/ inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; } /** *

The body of the SMS message.

*/ inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; } /** *

The body of the SMS message.

*/ inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); } /** *

The body of the SMS message.

*/ inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); } /** *

The body of the SMS message.

*/ inline SMSMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;} /** *

The body of the SMS message.

*/ inline SMSMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;} /** *

The body of the SMS message.

*/ inline SMSMessage& WithBody(const char* value) { SetBody(value); return *this;} /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline const Aws::String& GetKeyword() const{ return m_keyword; } /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline bool KeywordHasBeenSet() const { return m_keywordHasBeenSet; } /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline void SetKeyword(const Aws::String& value) { m_keywordHasBeenSet = true; m_keyword = value; } /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline void SetKeyword(Aws::String&& value) { m_keywordHasBeenSet = true; m_keyword = std::move(value); } /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline void SetKeyword(const char* value) { m_keywordHasBeenSet = true; m_keyword.assign(value); } /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline SMSMessage& WithKeyword(const Aws::String& value) { SetKeyword(value); return *this;} /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline SMSMessage& WithKeyword(Aws::String&& value) { SetKeyword(std::move(value)); return *this;} /** *

The SMS program name that you provided to AWS Support when you requested your * dedicated number.

*/ inline SMSMessage& WithKeyword(const char* value) { SetKeyword(value); return *this;} /** *

This field is reserved for future use.

*/ inline const Aws::String& GetMediaUrl() const{ return m_mediaUrl; } /** *

This field is reserved for future use.

*/ inline bool MediaUrlHasBeenSet() const { return m_mediaUrlHasBeenSet; } /** *

This field is reserved for future use.

*/ inline void SetMediaUrl(const Aws::String& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = value; } /** *

This field is reserved for future use.

*/ inline void SetMediaUrl(Aws::String&& value) { m_mediaUrlHasBeenSet = true; m_mediaUrl = std::move(value); } /** *

This field is reserved for future use.

*/ inline void SetMediaUrl(const char* value) { m_mediaUrlHasBeenSet = true; m_mediaUrl.assign(value); } /** *

This field is reserved for future use.

*/ inline SMSMessage& WithMediaUrl(const Aws::String& value) { SetMediaUrl(value); return *this;} /** *

This field is reserved for future use.

*/ inline SMSMessage& WithMediaUrl(Aws::String&& value) { SetMediaUrl(std::move(value)); return *this;} /** *

This field is reserved for future use.

*/ inline SMSMessage& WithMediaUrl(const char* value) { SetMediaUrl(value); return *this;} /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline const MessageType& GetMessageType() const{ return m_messageType; } /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline bool MessageTypeHasBeenSet() const { return m_messageTypeHasBeenSet; } /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline void SetMessageType(const MessageType& value) { m_messageTypeHasBeenSet = true; m_messageType = value; } /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline void SetMessageType(MessageType&& value) { m_messageTypeHasBeenSet = true; m_messageType = std::move(value); } /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline SMSMessage& WithMessageType(const MessageType& value) { SetMessageType(value); return *this;} /** *

The SMS message type. Valid values are TRANSACTIONAL (for messages that are * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for * messsages that aren't critical or time-sensitive, such as marketing * messages).

*/ inline SMSMessage& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;} /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline const Aws::String& GetOriginationNumber() const{ return m_originationNumber; } /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline bool OriginationNumberHasBeenSet() const { return m_originationNumberHasBeenSet; } /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline void SetOriginationNumber(const Aws::String& value) { m_originationNumberHasBeenSet = true; m_originationNumber = value; } /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline void SetOriginationNumber(Aws::String&& value) { m_originationNumberHasBeenSet = true; m_originationNumber = std::move(value); } /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline void SetOriginationNumber(const char* value) { m_originationNumberHasBeenSet = true; m_originationNumber.assign(value); } /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline SMSMessage& WithOriginationNumber(const Aws::String& value) { SetOriginationNumber(value); return *this;} /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline SMSMessage& WithOriginationNumber(Aws::String&& value) { SetOriginationNumber(std::move(value)); return *this;} /** *

The number to send the SMS message from. This value should be one of the * dedicated long or short codes that's assigned to your AWS account. If you don't * specify a long or short code, Amazon Pinpoint assigns a random long code to the * SMS message and sends the message from that code.

*/ inline SMSMessage& WithOriginationNumber(const char* value) { SetOriginationNumber(value); return *this;} /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline const Aws::String& GetSenderId() const{ return m_senderId; } /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline bool SenderIdHasBeenSet() const { return m_senderIdHasBeenSet; } /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline void SetSenderId(const Aws::String& value) { m_senderIdHasBeenSet = true; m_senderId = value; } /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline void SetSenderId(Aws::String&& value) { m_senderIdHasBeenSet = true; m_senderId = std::move(value); } /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline void SetSenderId(const char* value) { m_senderIdHasBeenSet = true; m_senderId.assign(value); } /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline SMSMessage& WithSenderId(const Aws::String& value) { SetSenderId(value); return *this;} /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline SMSMessage& WithSenderId(Aws::String&& value) { SetSenderId(std::move(value)); return *this;} /** *

The sender ID to display as the sender of the message on a recipient's * device. Support for sender IDs varies by country or region.

*/ inline SMSMessage& WithSenderId(const char* value) { SetSenderId(value); return *this;} /** *

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The message variables to use in the SMS message. You can override the default * variables with individual address variables.

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

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline const Aws::String& GetEntityId() const{ return m_entityId; } /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; } /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; } /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); } /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); } /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline SMSMessage& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;} /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline SMSMessage& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;} /** *

The entity ID or Principal Entity (PE) id received from the regulatory body * for sending SMS in your country.

*/ inline SMSMessage& WithEntityId(const char* value) { SetEntityId(value); return *this;} /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline const Aws::String& GetTemplateId() const{ return m_templateId; } /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; } /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; } /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); } /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); } /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline SMSMessage& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;} /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline SMSMessage& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;} /** *

The template ID received from the regulatory body for sending SMS in your * country.

*/ inline SMSMessage& WithTemplateId(const char* value) { SetTemplateId(value); return *this;} private: Aws::String m_body; bool m_bodyHasBeenSet = false; Aws::String m_keyword; bool m_keywordHasBeenSet = false; Aws::String m_mediaUrl; bool m_mediaUrlHasBeenSet = false; MessageType m_messageType; bool m_messageTypeHasBeenSet = false; Aws::String m_originationNumber; bool m_originationNumberHasBeenSet = false; Aws::String m_senderId; bool m_senderIdHasBeenSet = false; Aws::Map> m_substitutions; bool m_substitutionsHasBeenSet = false; Aws::String m_entityId; bool m_entityIdHasBeenSet = false; Aws::String m_templateId; bool m_templateIdHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws