1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/pinpoint/model/MessageType.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Specifies the sender ID and message type for an SMS message that's sent to
29    * participants in a journey.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneySMSMessage">AWS
31    * API Reference</a></p>
32    */
33   class AWS_PINPOINT_API JourneySMSMessage
34   {
35   public:
36     JourneySMSMessage();
37     JourneySMSMessage(Aws::Utils::Json::JsonView jsonValue);
38     JourneySMSMessage& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
44      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
45      * messsages that aren't critical or time-sensitive, such as marketing
46      * messages).</p>
47      */
GetMessageType()48     inline const MessageType& GetMessageType() const{ return m_messageType; }
49 
50     /**
51      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
52      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
53      * messsages that aren't critical or time-sensitive, such as marketing
54      * messages).</p>
55      */
MessageTypeHasBeenSet()56     inline bool MessageTypeHasBeenSet() const { return m_messageTypeHasBeenSet; }
57 
58     /**
59      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
60      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
61      * messsages that aren't critical or time-sensitive, such as marketing
62      * messages).</p>
63      */
SetMessageType(const MessageType & value)64     inline void SetMessageType(const MessageType& value) { m_messageTypeHasBeenSet = true; m_messageType = value; }
65 
66     /**
67      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
68      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
69      * messsages that aren't critical or time-sensitive, such as marketing
70      * messages).</p>
71      */
SetMessageType(MessageType && value)72     inline void SetMessageType(MessageType&& value) { m_messageTypeHasBeenSet = true; m_messageType = std::move(value); }
73 
74     /**
75      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
76      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
77      * messsages that aren't critical or time-sensitive, such as marketing
78      * messages).</p>
79      */
WithMessageType(const MessageType & value)80     inline JourneySMSMessage& WithMessageType(const MessageType& value) { SetMessageType(value); return *this;}
81 
82     /**
83      * <p>The SMS message type. Valid values are TRANSACTIONAL (for messages that are
84      * critical or time-sensitive, such as a one-time passwords) and PROMOTIONAL (for
85      * messsages that aren't critical or time-sensitive, such as marketing
86      * messages).</p>
87      */
WithMessageType(MessageType && value)88     inline JourneySMSMessage& WithMessageType(MessageType&& value) { SetMessageType(std::move(value)); return *this;}
89 
90 
91     /**
92      * <p>The long code to send the SMS message from. This value should be one of the
93      * dedicated long codes that's assigned to your AWS account. Although it isn't
94      * required, we recommend that you specify the long code using an E.164 format to
95      * ensure prompt and accurate delivery of the message. For example,
96      * +12065550100.</p>
97      */
GetOriginationNumber()98     inline const Aws::String& GetOriginationNumber() const{ return m_originationNumber; }
99 
100     /**
101      * <p>The long code to send the SMS message from. This value should be one of the
102      * dedicated long codes that's assigned to your AWS account. Although it isn't
103      * required, we recommend that you specify the long code using an E.164 format to
104      * ensure prompt and accurate delivery of the message. For example,
105      * +12065550100.</p>
106      */
OriginationNumberHasBeenSet()107     inline bool OriginationNumberHasBeenSet() const { return m_originationNumberHasBeenSet; }
108 
109     /**
110      * <p>The long code to send the SMS message from. This value should be one of the
111      * dedicated long codes that's assigned to your AWS account. Although it isn't
112      * required, we recommend that you specify the long code using an E.164 format to
113      * ensure prompt and accurate delivery of the message. For example,
114      * +12065550100.</p>
115      */
SetOriginationNumber(const Aws::String & value)116     inline void SetOriginationNumber(const Aws::String& value) { m_originationNumberHasBeenSet = true; m_originationNumber = value; }
117 
118     /**
119      * <p>The long code to send the SMS message from. This value should be one of the
120      * dedicated long codes that's assigned to your AWS account. Although it isn't
121      * required, we recommend that you specify the long code using an E.164 format to
122      * ensure prompt and accurate delivery of the message. For example,
123      * +12065550100.</p>
124      */
SetOriginationNumber(Aws::String && value)125     inline void SetOriginationNumber(Aws::String&& value) { m_originationNumberHasBeenSet = true; m_originationNumber = std::move(value); }
126 
127     /**
128      * <p>The long code to send the SMS message from. This value should be one of the
129      * dedicated long codes that's assigned to your AWS account. Although it isn't
130      * required, we recommend that you specify the long code using an E.164 format to
131      * ensure prompt and accurate delivery of the message. For example,
132      * +12065550100.</p>
133      */
SetOriginationNumber(const char * value)134     inline void SetOriginationNumber(const char* value) { m_originationNumberHasBeenSet = true; m_originationNumber.assign(value); }
135 
136     /**
137      * <p>The long code to send the SMS message from. This value should be one of the
138      * dedicated long codes that's assigned to your AWS account. Although it isn't
139      * required, we recommend that you specify the long code using an E.164 format to
140      * ensure prompt and accurate delivery of the message. For example,
141      * +12065550100.</p>
142      */
WithOriginationNumber(const Aws::String & value)143     inline JourneySMSMessage& WithOriginationNumber(const Aws::String& value) { SetOriginationNumber(value); return *this;}
144 
145     /**
146      * <p>The long code to send the SMS message from. This value should be one of the
147      * dedicated long codes that's assigned to your AWS account. Although it isn't
148      * required, we recommend that you specify the long code using an E.164 format to
149      * ensure prompt and accurate delivery of the message. For example,
150      * +12065550100.</p>
151      */
WithOriginationNumber(Aws::String && value)152     inline JourneySMSMessage& WithOriginationNumber(Aws::String&& value) { SetOriginationNumber(std::move(value)); return *this;}
153 
154     /**
155      * <p>The long code to send the SMS message from. This value should be one of the
156      * dedicated long codes that's assigned to your AWS account. Although it isn't
157      * required, we recommend that you specify the long code using an E.164 format to
158      * ensure prompt and accurate delivery of the message. For example,
159      * +12065550100.</p>
160      */
WithOriginationNumber(const char * value)161     inline JourneySMSMessage& WithOriginationNumber(const char* value) { SetOriginationNumber(value); return *this;}
162 
163 
164     /**
165      * <p>The sender ID to display as the sender of the message on a recipient's
166      * device. Support for sender IDs varies by country or region. For more
167      * information, see <a
168      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
169      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
170      */
GetSenderId()171     inline const Aws::String& GetSenderId() const{ return m_senderId; }
172 
173     /**
174      * <p>The sender ID to display as the sender of the message on a recipient's
175      * device. Support for sender IDs varies by country or region. For more
176      * information, see <a
177      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
178      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
179      */
SenderIdHasBeenSet()180     inline bool SenderIdHasBeenSet() const { return m_senderIdHasBeenSet; }
181 
182     /**
183      * <p>The sender ID to display as the sender of the message on a recipient's
184      * device. Support for sender IDs varies by country or region. For more
185      * information, see <a
186      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
187      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
188      */
SetSenderId(const Aws::String & value)189     inline void SetSenderId(const Aws::String& value) { m_senderIdHasBeenSet = true; m_senderId = value; }
190 
191     /**
192      * <p>The sender ID to display as the sender of the message on a recipient's
193      * device. Support for sender IDs varies by country or region. For more
194      * information, see <a
195      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
196      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
197      */
SetSenderId(Aws::String && value)198     inline void SetSenderId(Aws::String&& value) { m_senderIdHasBeenSet = true; m_senderId = std::move(value); }
199 
200     /**
201      * <p>The sender ID to display as the sender of the message on a recipient's
202      * device. Support for sender IDs varies by country or region. For more
203      * information, see <a
204      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
205      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
206      */
SetSenderId(const char * value)207     inline void SetSenderId(const char* value) { m_senderIdHasBeenSet = true; m_senderId.assign(value); }
208 
209     /**
210      * <p>The sender ID to display as the sender of the message on a recipient's
211      * device. Support for sender IDs varies by country or region. For more
212      * information, see <a
213      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
214      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
215      */
WithSenderId(const Aws::String & value)216     inline JourneySMSMessage& WithSenderId(const Aws::String& value) { SetSenderId(value); return *this;}
217 
218     /**
219      * <p>The sender ID to display as the sender of the message on a recipient's
220      * device. Support for sender IDs varies by country or region. For more
221      * information, see <a
222      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
223      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
224      */
WithSenderId(Aws::String && value)225     inline JourneySMSMessage& WithSenderId(Aws::String&& value) { SetSenderId(std::move(value)); return *this;}
226 
227     /**
228      * <p>The sender ID to display as the sender of the message on a recipient's
229      * device. Support for sender IDs varies by country or region. For more
230      * information, see <a
231      * href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-countries.html">Supported
232      * Countries and Regions</a> in the Amazon Pinpoint User Guide.</p>
233      */
WithSenderId(const char * value)234     inline JourneySMSMessage& WithSenderId(const char* value) { SetSenderId(value); return *this;}
235 
236 
237     /**
238      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
239      * for sending SMS in your country.</p>
240      */
GetEntityId()241     inline const Aws::String& GetEntityId() const{ return m_entityId; }
242 
243     /**
244      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
245      * for sending SMS in your country.</p>
246      */
EntityIdHasBeenSet()247     inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; }
248 
249     /**
250      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
251      * for sending SMS in your country.</p>
252      */
SetEntityId(const Aws::String & value)253     inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; }
254 
255     /**
256      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
257      * for sending SMS in your country.</p>
258      */
SetEntityId(Aws::String && value)259     inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); }
260 
261     /**
262      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
263      * for sending SMS in your country.</p>
264      */
SetEntityId(const char * value)265     inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); }
266 
267     /**
268      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
269      * for sending SMS in your country.</p>
270      */
WithEntityId(const Aws::String & value)271     inline JourneySMSMessage& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;}
272 
273     /**
274      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
275      * for sending SMS in your country.</p>
276      */
WithEntityId(Aws::String && value)277     inline JourneySMSMessage& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;}
278 
279     /**
280      * <p>The entity ID or Principal Entity (PE) id received from the regulatory body
281      * for sending SMS in your country.</p>
282      */
WithEntityId(const char * value)283     inline JourneySMSMessage& WithEntityId(const char* value) { SetEntityId(value); return *this;}
284 
285 
286     /**
287      * <p>The template ID received from the regulatory body for sending SMS in your
288      * country.</p>
289      */
GetTemplateId()290     inline const Aws::String& GetTemplateId() const{ return m_templateId; }
291 
292     /**
293      * <p>The template ID received from the regulatory body for sending SMS in your
294      * country.</p>
295      */
TemplateIdHasBeenSet()296     inline bool TemplateIdHasBeenSet() const { return m_templateIdHasBeenSet; }
297 
298     /**
299      * <p>The template ID received from the regulatory body for sending SMS in your
300      * country.</p>
301      */
SetTemplateId(const Aws::String & value)302     inline void SetTemplateId(const Aws::String& value) { m_templateIdHasBeenSet = true; m_templateId = value; }
303 
304     /**
305      * <p>The template ID received from the regulatory body for sending SMS in your
306      * country.</p>
307      */
SetTemplateId(Aws::String && value)308     inline void SetTemplateId(Aws::String&& value) { m_templateIdHasBeenSet = true; m_templateId = std::move(value); }
309 
310     /**
311      * <p>The template ID received from the regulatory body for sending SMS in your
312      * country.</p>
313      */
SetTemplateId(const char * value)314     inline void SetTemplateId(const char* value) { m_templateIdHasBeenSet = true; m_templateId.assign(value); }
315 
316     /**
317      * <p>The template ID received from the regulatory body for sending SMS in your
318      * country.</p>
319      */
WithTemplateId(const Aws::String & value)320     inline JourneySMSMessage& WithTemplateId(const Aws::String& value) { SetTemplateId(value); return *this;}
321 
322     /**
323      * <p>The template ID received from the regulatory body for sending SMS in your
324      * country.</p>
325      */
WithTemplateId(Aws::String && value)326     inline JourneySMSMessage& WithTemplateId(Aws::String&& value) { SetTemplateId(std::move(value)); return *this;}
327 
328     /**
329      * <p>The template ID received from the regulatory body for sending SMS in your
330      * country.</p>
331      */
WithTemplateId(const char * value)332     inline JourneySMSMessage& WithTemplateId(const char* value) { SetTemplateId(value); return *this;}
333 
334   private:
335 
336     MessageType m_messageType;
337     bool m_messageTypeHasBeenSet;
338 
339     Aws::String m_originationNumber;
340     bool m_originationNumberHasBeenSet;
341 
342     Aws::String m_senderId;
343     bool m_senderIdHasBeenSet;
344 
345     Aws::String m_entityId;
346     bool m_entityIdHasBeenSet;
347 
348     Aws::String m_templateId;
349     bool m_templateIdHasBeenSet;
350   };
351 
352 } // namespace Model
353 } // namespace Pinpoint
354 } // namespace Aws
355