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/Action.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSMap.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace Pinpoint
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Specifies the settings for a one-time message that's sent directly to an
31    * endpoint through the ADM (Amazon Device Messaging) channel.</p><p><h3>See
32    * Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ADMMessage">AWS
34    * API Reference</a></p>
35    */
36   class AWS_PINPOINT_API ADMMessage
37   {
38   public:
39     ADMMessage();
40     ADMMessage(Aws::Utils::Json::JsonView jsonValue);
41     ADMMessage& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The action to occur if the recipient taps the push notification. Valid values
47      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
48      * if it was sent to the background. This is the default action.</p></li>
49      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
50      * the app. This action uses the deep-linking features of the Android
51      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
52      * device opens and loads the web page at a URL that you specify.</p></li></ul>
53      */
GetAction()54     inline const Action& GetAction() const{ return m_action; }
55 
56     /**
57      * <p>The action to occur if the recipient taps the push notification. Valid values
58      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
59      * if it was sent to the background. This is the default action.</p></li>
60      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
61      * the app. This action uses the deep-linking features of the Android
62      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
63      * device opens and loads the web page at a URL that you specify.</p></li></ul>
64      */
ActionHasBeenSet()65     inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
66 
67     /**
68      * <p>The action to occur if the recipient taps the push notification. Valid values
69      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
70      * if it was sent to the background. This is the default action.</p></li>
71      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
72      * the app. This action uses the deep-linking features of the Android
73      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
74      * device opens and loads the web page at a URL that you specify.</p></li></ul>
75      */
SetAction(const Action & value)76     inline void SetAction(const Action& value) { m_actionHasBeenSet = true; m_action = value; }
77 
78     /**
79      * <p>The action to occur if the recipient taps the push notification. Valid values
80      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
81      * if it was sent to the background. This is the default action.</p></li>
82      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
83      * the app. This action uses the deep-linking features of the Android
84      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
85      * device opens and loads the web page at a URL that you specify.</p></li></ul>
86      */
SetAction(Action && value)87     inline void SetAction(Action&& value) { m_actionHasBeenSet = true; m_action = std::move(value); }
88 
89     /**
90      * <p>The action to occur if the recipient taps the push notification. Valid values
91      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
92      * if it was sent to the background. This is the default action.</p></li>
93      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
94      * the app. This action uses the deep-linking features of the Android
95      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
96      * device opens and loads the web page at a URL that you specify.</p></li></ul>
97      */
WithAction(const Action & value)98     inline ADMMessage& WithAction(const Action& value) { SetAction(value); return *this;}
99 
100     /**
101      * <p>The action to occur if the recipient taps the push notification. Valid values
102      * are:</p> <ul><li><p>OPEN_APP - Your app opens or it becomes the foreground app
103      * if it was sent to the background. This is the default action.</p></li>
104      * <li><p>DEEP_LINK - Your app opens and displays a designated user interface in
105      * the app. This action uses the deep-linking features of the Android
106      * platform.</p></li> <li><p>URL - The default mobile browser on the recipient's
107      * device opens and loads the web page at a URL that you specify.</p></li></ul>
108      */
WithAction(Action && value)109     inline ADMMessage& WithAction(Action&& value) { SetAction(std::move(value)); return *this;}
110 
111 
112     /**
113      * <p>The body of the notification message.</p>
114      */
GetBody()115     inline const Aws::String& GetBody() const{ return m_body; }
116 
117     /**
118      * <p>The body of the notification message.</p>
119      */
BodyHasBeenSet()120     inline bool BodyHasBeenSet() const { return m_bodyHasBeenSet; }
121 
122     /**
123      * <p>The body of the notification message.</p>
124      */
SetBody(const Aws::String & value)125     inline void SetBody(const Aws::String& value) { m_bodyHasBeenSet = true; m_body = value; }
126 
127     /**
128      * <p>The body of the notification message.</p>
129      */
SetBody(Aws::String && value)130     inline void SetBody(Aws::String&& value) { m_bodyHasBeenSet = true; m_body = std::move(value); }
131 
132     /**
133      * <p>The body of the notification message.</p>
134      */
SetBody(const char * value)135     inline void SetBody(const char* value) { m_bodyHasBeenSet = true; m_body.assign(value); }
136 
137     /**
138      * <p>The body of the notification message.</p>
139      */
WithBody(const Aws::String & value)140     inline ADMMessage& WithBody(const Aws::String& value) { SetBody(value); return *this;}
141 
142     /**
143      * <p>The body of the notification message.</p>
144      */
WithBody(Aws::String && value)145     inline ADMMessage& WithBody(Aws::String&& value) { SetBody(std::move(value)); return *this;}
146 
147     /**
148      * <p>The body of the notification message.</p>
149      */
WithBody(const char * value)150     inline ADMMessage& WithBody(const char* value) { SetBody(value); return *this;}
151 
152 
153     /**
154      * <p>An arbitrary string that indicates that multiple messages are logically the
155      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
156      * messages in favor of this message.</p>
157      */
GetConsolidationKey()158     inline const Aws::String& GetConsolidationKey() const{ return m_consolidationKey; }
159 
160     /**
161      * <p>An arbitrary string that indicates that multiple messages are logically the
162      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
163      * messages in favor of this message.</p>
164      */
ConsolidationKeyHasBeenSet()165     inline bool ConsolidationKeyHasBeenSet() const { return m_consolidationKeyHasBeenSet; }
166 
167     /**
168      * <p>An arbitrary string that indicates that multiple messages are logically the
169      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
170      * messages in favor of this message.</p>
171      */
SetConsolidationKey(const Aws::String & value)172     inline void SetConsolidationKey(const Aws::String& value) { m_consolidationKeyHasBeenSet = true; m_consolidationKey = value; }
173 
174     /**
175      * <p>An arbitrary string that indicates that multiple messages are logically the
176      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
177      * messages in favor of this message.</p>
178      */
SetConsolidationKey(Aws::String && value)179     inline void SetConsolidationKey(Aws::String&& value) { m_consolidationKeyHasBeenSet = true; m_consolidationKey = std::move(value); }
180 
181     /**
182      * <p>An arbitrary string that indicates that multiple messages are logically the
183      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
184      * messages in favor of this message.</p>
185      */
SetConsolidationKey(const char * value)186     inline void SetConsolidationKey(const char* value) { m_consolidationKeyHasBeenSet = true; m_consolidationKey.assign(value); }
187 
188     /**
189      * <p>An arbitrary string that indicates that multiple messages are logically the
190      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
191      * messages in favor of this message.</p>
192      */
WithConsolidationKey(const Aws::String & value)193     inline ADMMessage& WithConsolidationKey(const Aws::String& value) { SetConsolidationKey(value); return *this;}
194 
195     /**
196      * <p>An arbitrary string that indicates that multiple messages are logically the
197      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
198      * messages in favor of this message.</p>
199      */
WithConsolidationKey(Aws::String && value)200     inline ADMMessage& WithConsolidationKey(Aws::String&& value) { SetConsolidationKey(std::move(value)); return *this;}
201 
202     /**
203      * <p>An arbitrary string that indicates that multiple messages are logically the
204      * same and that Amazon Device Messaging (ADM) can drop previously enqueued
205      * messages in favor of this message.</p>
206      */
WithConsolidationKey(const char * value)207     inline ADMMessage& WithConsolidationKey(const char* value) { SetConsolidationKey(value); return *this;}
208 
209 
210     /**
211      * <p>The JSON data payload to use for the push notification, if the notification
212      * is a silent push notification. This payload is added to the
213      * data.pinpoint.jsonBody object of the notification.</p>
214      */
GetData()215     inline const Aws::Map<Aws::String, Aws::String>& GetData() const{ return m_data; }
216 
217     /**
218      * <p>The JSON data payload to use for the push notification, if the notification
219      * is a silent push notification. This payload is added to the
220      * data.pinpoint.jsonBody object of the notification.</p>
221      */
DataHasBeenSet()222     inline bool DataHasBeenSet() const { return m_dataHasBeenSet; }
223 
224     /**
225      * <p>The JSON data payload to use for the push notification, if the notification
226      * is a silent push notification. This payload is added to the
227      * data.pinpoint.jsonBody object of the notification.</p>
228      */
SetData(const Aws::Map<Aws::String,Aws::String> & value)229     inline void SetData(const Aws::Map<Aws::String, Aws::String>& value) { m_dataHasBeenSet = true; m_data = value; }
230 
231     /**
232      * <p>The JSON data payload to use for the push notification, if the notification
233      * is a silent push notification. This payload is added to the
234      * data.pinpoint.jsonBody object of the notification.</p>
235      */
SetData(Aws::Map<Aws::String,Aws::String> && value)236     inline void SetData(Aws::Map<Aws::String, Aws::String>&& value) { m_dataHasBeenSet = true; m_data = std::move(value); }
237 
238     /**
239      * <p>The JSON data payload to use for the push notification, if the notification
240      * is a silent push notification. This payload is added to the
241      * data.pinpoint.jsonBody object of the notification.</p>
242      */
WithData(const Aws::Map<Aws::String,Aws::String> & value)243     inline ADMMessage& WithData(const Aws::Map<Aws::String, Aws::String>& value) { SetData(value); return *this;}
244 
245     /**
246      * <p>The JSON data payload to use for the push notification, if the notification
247      * is a silent push notification. This payload is added to the
248      * data.pinpoint.jsonBody object of the notification.</p>
249      */
WithData(Aws::Map<Aws::String,Aws::String> && value)250     inline ADMMessage& WithData(Aws::Map<Aws::String, Aws::String>&& value) { SetData(std::move(value)); return *this;}
251 
252     /**
253      * <p>The JSON data payload to use for the push notification, if the notification
254      * is a silent push notification. This payload is added to the
255      * data.pinpoint.jsonBody object of the notification.</p>
256      */
AddData(const Aws::String & key,const Aws::String & value)257     inline ADMMessage& AddData(const Aws::String& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; }
258 
259     /**
260      * <p>The JSON data payload to use for the push notification, if the notification
261      * is a silent push notification. This payload is added to the
262      * data.pinpoint.jsonBody object of the notification.</p>
263      */
AddData(Aws::String && key,const Aws::String & value)264     inline ADMMessage& AddData(Aws::String&& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; }
265 
266     /**
267      * <p>The JSON data payload to use for the push notification, if the notification
268      * is a silent push notification. This payload is added to the
269      * data.pinpoint.jsonBody object of the notification.</p>
270      */
AddData(const Aws::String & key,Aws::String && value)271     inline ADMMessage& AddData(const Aws::String& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; }
272 
273     /**
274      * <p>The JSON data payload to use for the push notification, if the notification
275      * is a silent push notification. This payload is added to the
276      * data.pinpoint.jsonBody object of the notification.</p>
277      */
AddData(Aws::String && key,Aws::String && value)278     inline ADMMessage& AddData(Aws::String&& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), std::move(value)); return *this; }
279 
280     /**
281      * <p>The JSON data payload to use for the push notification, if the notification
282      * is a silent push notification. This payload is added to the
283      * data.pinpoint.jsonBody object of the notification.</p>
284      */
AddData(const char * key,Aws::String && value)285     inline ADMMessage& AddData(const char* key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; }
286 
287     /**
288      * <p>The JSON data payload to use for the push notification, if the notification
289      * is a silent push notification. This payload is added to the
290      * data.pinpoint.jsonBody object of the notification.</p>
291      */
AddData(Aws::String && key,const char * value)292     inline ADMMessage& AddData(Aws::String&& key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; }
293 
294     /**
295      * <p>The JSON data payload to use for the push notification, if the notification
296      * is a silent push notification. This payload is added to the
297      * data.pinpoint.jsonBody object of the notification.</p>
298      */
AddData(const char * key,const char * value)299     inline ADMMessage& AddData(const char* key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; }
300 
301 
302     /**
303      * <p>The amount of time, in seconds, that ADM should store the message if the
304      * recipient's device is offline. Amazon Pinpoint specifies this value in the
305      * expiresAfter parameter when it sends the notification message to ADM.</p>
306      */
GetExpiresAfter()307     inline const Aws::String& GetExpiresAfter() const{ return m_expiresAfter; }
308 
309     /**
310      * <p>The amount of time, in seconds, that ADM should store the message if the
311      * recipient's device is offline. Amazon Pinpoint specifies this value in the
312      * expiresAfter parameter when it sends the notification message to ADM.</p>
313      */
ExpiresAfterHasBeenSet()314     inline bool ExpiresAfterHasBeenSet() const { return m_expiresAfterHasBeenSet; }
315 
316     /**
317      * <p>The amount of time, in seconds, that ADM should store the message if the
318      * recipient's device is offline. Amazon Pinpoint specifies this value in the
319      * expiresAfter parameter when it sends the notification message to ADM.</p>
320      */
SetExpiresAfter(const Aws::String & value)321     inline void SetExpiresAfter(const Aws::String& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = value; }
322 
323     /**
324      * <p>The amount of time, in seconds, that ADM should store the message if the
325      * recipient's device is offline. Amazon Pinpoint specifies this value in the
326      * expiresAfter parameter when it sends the notification message to ADM.</p>
327      */
SetExpiresAfter(Aws::String && value)328     inline void SetExpiresAfter(Aws::String&& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = std::move(value); }
329 
330     /**
331      * <p>The amount of time, in seconds, that ADM should store the message if the
332      * recipient's device is offline. Amazon Pinpoint specifies this value in the
333      * expiresAfter parameter when it sends the notification message to ADM.</p>
334      */
SetExpiresAfter(const char * value)335     inline void SetExpiresAfter(const char* value) { m_expiresAfterHasBeenSet = true; m_expiresAfter.assign(value); }
336 
337     /**
338      * <p>The amount of time, in seconds, that ADM should store the message if the
339      * recipient's device is offline. Amazon Pinpoint specifies this value in the
340      * expiresAfter parameter when it sends the notification message to ADM.</p>
341      */
WithExpiresAfter(const Aws::String & value)342     inline ADMMessage& WithExpiresAfter(const Aws::String& value) { SetExpiresAfter(value); return *this;}
343 
344     /**
345      * <p>The amount of time, in seconds, that ADM should store the message if the
346      * recipient's device is offline. Amazon Pinpoint specifies this value in the
347      * expiresAfter parameter when it sends the notification message to ADM.</p>
348      */
WithExpiresAfter(Aws::String && value)349     inline ADMMessage& WithExpiresAfter(Aws::String&& value) { SetExpiresAfter(std::move(value)); return *this;}
350 
351     /**
352      * <p>The amount of time, in seconds, that ADM should store the message if the
353      * recipient's device is offline. Amazon Pinpoint specifies this value in the
354      * expiresAfter parameter when it sends the notification message to ADM.</p>
355      */
WithExpiresAfter(const char * value)356     inline ADMMessage& WithExpiresAfter(const char* value) { SetExpiresAfter(value); return *this;}
357 
358 
359     /**
360      * <p>The icon image name of the asset saved in your app.</p>
361      */
GetIconReference()362     inline const Aws::String& GetIconReference() const{ return m_iconReference; }
363 
364     /**
365      * <p>The icon image name of the asset saved in your app.</p>
366      */
IconReferenceHasBeenSet()367     inline bool IconReferenceHasBeenSet() const { return m_iconReferenceHasBeenSet; }
368 
369     /**
370      * <p>The icon image name of the asset saved in your app.</p>
371      */
SetIconReference(const Aws::String & value)372     inline void SetIconReference(const Aws::String& value) { m_iconReferenceHasBeenSet = true; m_iconReference = value; }
373 
374     /**
375      * <p>The icon image name of the asset saved in your app.</p>
376      */
SetIconReference(Aws::String && value)377     inline void SetIconReference(Aws::String&& value) { m_iconReferenceHasBeenSet = true; m_iconReference = std::move(value); }
378 
379     /**
380      * <p>The icon image name of the asset saved in your app.</p>
381      */
SetIconReference(const char * value)382     inline void SetIconReference(const char* value) { m_iconReferenceHasBeenSet = true; m_iconReference.assign(value); }
383 
384     /**
385      * <p>The icon image name of the asset saved in your app.</p>
386      */
WithIconReference(const Aws::String & value)387     inline ADMMessage& WithIconReference(const Aws::String& value) { SetIconReference(value); return *this;}
388 
389     /**
390      * <p>The icon image name of the asset saved in your app.</p>
391      */
WithIconReference(Aws::String && value)392     inline ADMMessage& WithIconReference(Aws::String&& value) { SetIconReference(std::move(value)); return *this;}
393 
394     /**
395      * <p>The icon image name of the asset saved in your app.</p>
396      */
WithIconReference(const char * value)397     inline ADMMessage& WithIconReference(const char* value) { SetIconReference(value); return *this;}
398 
399 
400     /**
401      * <p>The URL of the large icon image to display in the content view of the push
402      * notification.</p>
403      */
GetImageIconUrl()404     inline const Aws::String& GetImageIconUrl() const{ return m_imageIconUrl; }
405 
406     /**
407      * <p>The URL of the large icon image to display in the content view of the push
408      * notification.</p>
409      */
ImageIconUrlHasBeenSet()410     inline bool ImageIconUrlHasBeenSet() const { return m_imageIconUrlHasBeenSet; }
411 
412     /**
413      * <p>The URL of the large icon image to display in the content view of the push
414      * notification.</p>
415      */
SetImageIconUrl(const Aws::String & value)416     inline void SetImageIconUrl(const Aws::String& value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl = value; }
417 
418     /**
419      * <p>The URL of the large icon image to display in the content view of the push
420      * notification.</p>
421      */
SetImageIconUrl(Aws::String && value)422     inline void SetImageIconUrl(Aws::String&& value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl = std::move(value); }
423 
424     /**
425      * <p>The URL of the large icon image to display in the content view of the push
426      * notification.</p>
427      */
SetImageIconUrl(const char * value)428     inline void SetImageIconUrl(const char* value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl.assign(value); }
429 
430     /**
431      * <p>The URL of the large icon image to display in the content view of the push
432      * notification.</p>
433      */
WithImageIconUrl(const Aws::String & value)434     inline ADMMessage& WithImageIconUrl(const Aws::String& value) { SetImageIconUrl(value); return *this;}
435 
436     /**
437      * <p>The URL of the large icon image to display in the content view of the push
438      * notification.</p>
439      */
WithImageIconUrl(Aws::String && value)440     inline ADMMessage& WithImageIconUrl(Aws::String&& value) { SetImageIconUrl(std::move(value)); return *this;}
441 
442     /**
443      * <p>The URL of the large icon image to display in the content view of the push
444      * notification.</p>
445      */
WithImageIconUrl(const char * value)446     inline ADMMessage& WithImageIconUrl(const char* value) { SetImageIconUrl(value); return *this;}
447 
448 
449     /**
450      * <p>The URL of an image to display in the push notification.</p>
451      */
GetImageUrl()452     inline const Aws::String& GetImageUrl() const{ return m_imageUrl; }
453 
454     /**
455      * <p>The URL of an image to display in the push notification.</p>
456      */
ImageUrlHasBeenSet()457     inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; }
458 
459     /**
460      * <p>The URL of an image to display in the push notification.</p>
461      */
SetImageUrl(const Aws::String & value)462     inline void SetImageUrl(const Aws::String& value) { m_imageUrlHasBeenSet = true; m_imageUrl = value; }
463 
464     /**
465      * <p>The URL of an image to display in the push notification.</p>
466      */
SetImageUrl(Aws::String && value)467     inline void SetImageUrl(Aws::String&& value) { m_imageUrlHasBeenSet = true; m_imageUrl = std::move(value); }
468 
469     /**
470      * <p>The URL of an image to display in the push notification.</p>
471      */
SetImageUrl(const char * value)472     inline void SetImageUrl(const char* value) { m_imageUrlHasBeenSet = true; m_imageUrl.assign(value); }
473 
474     /**
475      * <p>The URL of an image to display in the push notification.</p>
476      */
WithImageUrl(const Aws::String & value)477     inline ADMMessage& WithImageUrl(const Aws::String& value) { SetImageUrl(value); return *this;}
478 
479     /**
480      * <p>The URL of an image to display in the push notification.</p>
481      */
WithImageUrl(Aws::String && value)482     inline ADMMessage& WithImageUrl(Aws::String&& value) { SetImageUrl(std::move(value)); return *this;}
483 
484     /**
485      * <p>The URL of an image to display in the push notification.</p>
486      */
WithImageUrl(const char * value)487     inline ADMMessage& WithImageUrl(const char* value) { SetImageUrl(value); return *this;}
488 
489 
490     /**
491      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
492      * ADM uses the MD5 value to verify the integrity of the data.</p>
493      */
GetMD5()494     inline const Aws::String& GetMD5() const{ return m_mD5; }
495 
496     /**
497      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
498      * ADM uses the MD5 value to verify the integrity of the data.</p>
499      */
MD5HasBeenSet()500     inline bool MD5HasBeenSet() const { return m_mD5HasBeenSet; }
501 
502     /**
503      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
504      * ADM uses the MD5 value to verify the integrity of the data.</p>
505      */
SetMD5(const Aws::String & value)506     inline void SetMD5(const Aws::String& value) { m_mD5HasBeenSet = true; m_mD5 = value; }
507 
508     /**
509      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
510      * ADM uses the MD5 value to verify the integrity of the data.</p>
511      */
SetMD5(Aws::String && value)512     inline void SetMD5(Aws::String&& value) { m_mD5HasBeenSet = true; m_mD5 = std::move(value); }
513 
514     /**
515      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
516      * ADM uses the MD5 value to verify the integrity of the data.</p>
517      */
SetMD5(const char * value)518     inline void SetMD5(const char* value) { m_mD5HasBeenSet = true; m_mD5.assign(value); }
519 
520     /**
521      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
522      * ADM uses the MD5 value to verify the integrity of the data.</p>
523      */
WithMD5(const Aws::String & value)524     inline ADMMessage& WithMD5(const Aws::String& value) { SetMD5(value); return *this;}
525 
526     /**
527      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
528      * ADM uses the MD5 value to verify the integrity of the data.</p>
529      */
WithMD5(Aws::String && value)530     inline ADMMessage& WithMD5(Aws::String&& value) { SetMD5(std::move(value)); return *this;}
531 
532     /**
533      * <p>The base64-encoded, MD5 checksum of the value specified by the Data property.
534      * ADM uses the MD5 value to verify the integrity of the data.</p>
535      */
WithMD5(const char * value)536     inline ADMMessage& WithMD5(const char* value) { SetMD5(value); return *this;}
537 
538 
539     /**
540      * <p>The raw, JSON-formatted string to use as the payload for the notification
541      * message. If specified, this value overrides all other content for the
542      * message.</p>
543      */
GetRawContent()544     inline const Aws::String& GetRawContent() const{ return m_rawContent; }
545 
546     /**
547      * <p>The raw, JSON-formatted string to use as the payload for the notification
548      * message. If specified, this value overrides all other content for the
549      * message.</p>
550      */
RawContentHasBeenSet()551     inline bool RawContentHasBeenSet() const { return m_rawContentHasBeenSet; }
552 
553     /**
554      * <p>The raw, JSON-formatted string to use as the payload for the notification
555      * message. If specified, this value overrides all other content for the
556      * message.</p>
557      */
SetRawContent(const Aws::String & value)558     inline void SetRawContent(const Aws::String& value) { m_rawContentHasBeenSet = true; m_rawContent = value; }
559 
560     /**
561      * <p>The raw, JSON-formatted string to use as the payload for the notification
562      * message. If specified, this value overrides all other content for the
563      * message.</p>
564      */
SetRawContent(Aws::String && value)565     inline void SetRawContent(Aws::String&& value) { m_rawContentHasBeenSet = true; m_rawContent = std::move(value); }
566 
567     /**
568      * <p>The raw, JSON-formatted string to use as the payload for the notification
569      * message. If specified, this value overrides all other content for the
570      * message.</p>
571      */
SetRawContent(const char * value)572     inline void SetRawContent(const char* value) { m_rawContentHasBeenSet = true; m_rawContent.assign(value); }
573 
574     /**
575      * <p>The raw, JSON-formatted string to use as the payload for the notification
576      * message. If specified, this value overrides all other content for the
577      * message.</p>
578      */
WithRawContent(const Aws::String & value)579     inline ADMMessage& WithRawContent(const Aws::String& value) { SetRawContent(value); return *this;}
580 
581     /**
582      * <p>The raw, JSON-formatted string to use as the payload for the notification
583      * message. If specified, this value overrides all other content for the
584      * message.</p>
585      */
WithRawContent(Aws::String && value)586     inline ADMMessage& WithRawContent(Aws::String&& value) { SetRawContent(std::move(value)); return *this;}
587 
588     /**
589      * <p>The raw, JSON-formatted string to use as the payload for the notification
590      * message. If specified, this value overrides all other content for the
591      * message.</p>
592      */
WithRawContent(const char * value)593     inline ADMMessage& WithRawContent(const char* value) { SetRawContent(value); return *this;}
594 
595 
596     /**
597      * <p>Specifies whether the notification is a silent push notification, which is a
598      * push notification that doesn't display on a recipient's device. Silent push
599      * notifications can be used for cases such as updating an app's configuration or
600      * supporting phone home functionality.</p>
601      */
GetSilentPush()602     inline bool GetSilentPush() const{ return m_silentPush; }
603 
604     /**
605      * <p>Specifies whether the notification is a silent push notification, which is a
606      * push notification that doesn't display on a recipient's device. Silent push
607      * notifications can be used for cases such as updating an app's configuration or
608      * supporting phone home functionality.</p>
609      */
SilentPushHasBeenSet()610     inline bool SilentPushHasBeenSet() const { return m_silentPushHasBeenSet; }
611 
612     /**
613      * <p>Specifies whether the notification is a silent push notification, which is a
614      * push notification that doesn't display on a recipient's device. Silent push
615      * notifications can be used for cases such as updating an app's configuration or
616      * supporting phone home functionality.</p>
617      */
SetSilentPush(bool value)618     inline void SetSilentPush(bool value) { m_silentPushHasBeenSet = true; m_silentPush = value; }
619 
620     /**
621      * <p>Specifies whether the notification is a silent push notification, which is a
622      * push notification that doesn't display on a recipient's device. Silent push
623      * notifications can be used for cases such as updating an app's configuration or
624      * supporting phone home functionality.</p>
625      */
WithSilentPush(bool value)626     inline ADMMessage& WithSilentPush(bool value) { SetSilentPush(value); return *this;}
627 
628 
629     /**
630      * <p>The URL of the small icon image to display in the status bar and the content
631      * view of the push notification.</p>
632      */
GetSmallImageIconUrl()633     inline const Aws::String& GetSmallImageIconUrl() const{ return m_smallImageIconUrl; }
634 
635     /**
636      * <p>The URL of the small icon image to display in the status bar and the content
637      * view of the push notification.</p>
638      */
SmallImageIconUrlHasBeenSet()639     inline bool SmallImageIconUrlHasBeenSet() const { return m_smallImageIconUrlHasBeenSet; }
640 
641     /**
642      * <p>The URL of the small icon image to display in the status bar and the content
643      * view of the push notification.</p>
644      */
SetSmallImageIconUrl(const Aws::String & value)645     inline void SetSmallImageIconUrl(const Aws::String& value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl = value; }
646 
647     /**
648      * <p>The URL of the small icon image to display in the status bar and the content
649      * view of the push notification.</p>
650      */
SetSmallImageIconUrl(Aws::String && value)651     inline void SetSmallImageIconUrl(Aws::String&& value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl = std::move(value); }
652 
653     /**
654      * <p>The URL of the small icon image to display in the status bar and the content
655      * view of the push notification.</p>
656      */
SetSmallImageIconUrl(const char * value)657     inline void SetSmallImageIconUrl(const char* value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl.assign(value); }
658 
659     /**
660      * <p>The URL of the small icon image to display in the status bar and the content
661      * view of the push notification.</p>
662      */
WithSmallImageIconUrl(const Aws::String & value)663     inline ADMMessage& WithSmallImageIconUrl(const Aws::String& value) { SetSmallImageIconUrl(value); return *this;}
664 
665     /**
666      * <p>The URL of the small icon image to display in the status bar and the content
667      * view of the push notification.</p>
668      */
WithSmallImageIconUrl(Aws::String && value)669     inline ADMMessage& WithSmallImageIconUrl(Aws::String&& value) { SetSmallImageIconUrl(std::move(value)); return *this;}
670 
671     /**
672      * <p>The URL of the small icon image to display in the status bar and the content
673      * view of the push notification.</p>
674      */
WithSmallImageIconUrl(const char * value)675     inline ADMMessage& WithSmallImageIconUrl(const char* value) { SetSmallImageIconUrl(value); return *this;}
676 
677 
678     /**
679      * <p>The sound to play when the recipient receives the push notification. You can
680      * use the default stream or specify the file name of a sound resource that's
681      * bundled in your app. On an Android platform, the sound file must reside in
682      * /res/raw/.</p>
683      */
GetSound()684     inline const Aws::String& GetSound() const{ return m_sound; }
685 
686     /**
687      * <p>The sound to play when the recipient receives the push notification. You can
688      * use the default stream or specify the file name of a sound resource that's
689      * bundled in your app. On an Android platform, the sound file must reside in
690      * /res/raw/.</p>
691      */
SoundHasBeenSet()692     inline bool SoundHasBeenSet() const { return m_soundHasBeenSet; }
693 
694     /**
695      * <p>The sound to play when the recipient receives the push notification. You can
696      * use the default stream or specify the file name of a sound resource that's
697      * bundled in your app. On an Android platform, the sound file must reside in
698      * /res/raw/.</p>
699      */
SetSound(const Aws::String & value)700     inline void SetSound(const Aws::String& value) { m_soundHasBeenSet = true; m_sound = value; }
701 
702     /**
703      * <p>The sound to play when the recipient receives the push notification. You can
704      * use the default stream or specify the file name of a sound resource that's
705      * bundled in your app. On an Android platform, the sound file must reside in
706      * /res/raw/.</p>
707      */
SetSound(Aws::String && value)708     inline void SetSound(Aws::String&& value) { m_soundHasBeenSet = true; m_sound = std::move(value); }
709 
710     /**
711      * <p>The sound to play when the recipient receives the push notification. You can
712      * use the default stream or specify the file name of a sound resource that's
713      * bundled in your app. On an Android platform, the sound file must reside in
714      * /res/raw/.</p>
715      */
SetSound(const char * value)716     inline void SetSound(const char* value) { m_soundHasBeenSet = true; m_sound.assign(value); }
717 
718     /**
719      * <p>The sound to play when the recipient receives the push notification. You can
720      * use the default stream or specify the file name of a sound resource that's
721      * bundled in your app. On an Android platform, the sound file must reside in
722      * /res/raw/.</p>
723      */
WithSound(const Aws::String & value)724     inline ADMMessage& WithSound(const Aws::String& value) { SetSound(value); return *this;}
725 
726     /**
727      * <p>The sound to play when the recipient receives the push notification. You can
728      * use the default stream or specify the file name of a sound resource that's
729      * bundled in your app. On an Android platform, the sound file must reside in
730      * /res/raw/.</p>
731      */
WithSound(Aws::String && value)732     inline ADMMessage& WithSound(Aws::String&& value) { SetSound(std::move(value)); return *this;}
733 
734     /**
735      * <p>The sound to play when the recipient receives the push notification. You can
736      * use the default stream or specify the file name of a sound resource that's
737      * bundled in your app. On an Android platform, the sound file must reside in
738      * /res/raw/.</p>
739      */
WithSound(const char * value)740     inline ADMMessage& WithSound(const char* value) { SetSound(value); return *this;}
741 
742 
743     /**
744      * <p>The default message variables to use in the notification message. You can
745      * override the default variables with individual address variables.</p>
746      */
GetSubstitutions()747     inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetSubstitutions() const{ return m_substitutions; }
748 
749     /**
750      * <p>The default message variables to use in the notification message. You can
751      * override the default variables with individual address variables.</p>
752      */
SubstitutionsHasBeenSet()753     inline bool SubstitutionsHasBeenSet() const { return m_substitutionsHasBeenSet; }
754 
755     /**
756      * <p>The default message variables to use in the notification message. You can
757      * override the default variables with individual address variables.</p>
758      */
SetSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)759     inline void SetSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_substitutionsHasBeenSet = true; m_substitutions = value; }
760 
761     /**
762      * <p>The default message variables to use in the notification message. You can
763      * override the default variables with individual address variables.</p>
764      */
SetSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)765     inline void SetSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_substitutionsHasBeenSet = true; m_substitutions = std::move(value); }
766 
767     /**
768      * <p>The default message variables to use in the notification message. You can
769      * override the default variables with individual address variables.</p>
770      */
WithSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)771     inline ADMMessage& WithSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetSubstitutions(value); return *this;}
772 
773     /**
774      * <p>The default message variables to use in the notification message. You can
775      * override the default variables with individual address variables.</p>
776      */
WithSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)777     inline ADMMessage& WithSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetSubstitutions(std::move(value)); return *this;}
778 
779     /**
780      * <p>The default message variables to use in the notification message. You can
781      * override the default variables with individual address variables.</p>
782      */
AddSubstitutions(const Aws::String & key,const Aws::Vector<Aws::String> & value)783     inline ADMMessage& AddSubstitutions(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; }
784 
785     /**
786      * <p>The default message variables to use in the notification message. You can
787      * override the default variables with individual address variables.</p>
788      */
AddSubstitutions(Aws::String && key,const Aws::Vector<Aws::String> & value)789     inline ADMMessage& AddSubstitutions(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), value); return *this; }
790 
791     /**
792      * <p>The default message variables to use in the notification message. You can
793      * override the default variables with individual address variables.</p>
794      */
AddSubstitutions(const Aws::String & key,Aws::Vector<Aws::String> && value)795     inline ADMMessage& AddSubstitutions(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; }
796 
797     /**
798      * <p>The default message variables to use in the notification message. You can
799      * override the default variables with individual address variables.</p>
800      */
AddSubstitutions(Aws::String && key,Aws::Vector<Aws::String> && value)801     inline ADMMessage& AddSubstitutions(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), std::move(value)); return *this; }
802 
803     /**
804      * <p>The default message variables to use in the notification message. You can
805      * override the default variables with individual address variables.</p>
806      */
AddSubstitutions(const char * key,Aws::Vector<Aws::String> && value)807     inline ADMMessage& AddSubstitutions(const char* key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; }
808 
809     /**
810      * <p>The default message variables to use in the notification message. You can
811      * override the default variables with individual address variables.</p>
812      */
AddSubstitutions(const char * key,const Aws::Vector<Aws::String> & value)813     inline ADMMessage& AddSubstitutions(const char* key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; }
814 
815 
816     /**
817      * <p>The title to display above the notification message on the recipient's
818      * device.</p>
819      */
GetTitle()820     inline const Aws::String& GetTitle() const{ return m_title; }
821 
822     /**
823      * <p>The title to display above the notification message on the recipient's
824      * device.</p>
825      */
TitleHasBeenSet()826     inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
827 
828     /**
829      * <p>The title to display above the notification message on the recipient's
830      * device.</p>
831      */
SetTitle(const Aws::String & value)832     inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
833 
834     /**
835      * <p>The title to display above the notification message on the recipient's
836      * device.</p>
837      */
SetTitle(Aws::String && value)838     inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
839 
840     /**
841      * <p>The title to display above the notification message on the recipient's
842      * device.</p>
843      */
SetTitle(const char * value)844     inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
845 
846     /**
847      * <p>The title to display above the notification message on the recipient's
848      * device.</p>
849      */
WithTitle(const Aws::String & value)850     inline ADMMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
851 
852     /**
853      * <p>The title to display above the notification message on the recipient's
854      * device.</p>
855      */
WithTitle(Aws::String && value)856     inline ADMMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
857 
858     /**
859      * <p>The title to display above the notification message on the recipient's
860      * device.</p>
861      */
WithTitle(const char * value)862     inline ADMMessage& WithTitle(const char* value) { SetTitle(value); return *this;}
863 
864 
865     /**
866      * <p>The URL to open in the recipient's default mobile browser, if a recipient
867      * taps the push notification and the value of the Action property is URL.</p>
868      */
GetUrl()869     inline const Aws::String& GetUrl() const{ return m_url; }
870 
871     /**
872      * <p>The URL to open in the recipient's default mobile browser, if a recipient
873      * taps the push notification and the value of the Action property is URL.</p>
874      */
UrlHasBeenSet()875     inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
876 
877     /**
878      * <p>The URL to open in the recipient's default mobile browser, if a recipient
879      * taps the push notification and the value of the Action property is URL.</p>
880      */
SetUrl(const Aws::String & value)881     inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; }
882 
883     /**
884      * <p>The URL to open in the recipient's default mobile browser, if a recipient
885      * taps the push notification and the value of the Action property is URL.</p>
886      */
SetUrl(Aws::String && value)887     inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); }
888 
889     /**
890      * <p>The URL to open in the recipient's default mobile browser, if a recipient
891      * taps the push notification and the value of the Action property is URL.</p>
892      */
SetUrl(const char * value)893     inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); }
894 
895     /**
896      * <p>The URL to open in the recipient's default mobile browser, if a recipient
897      * taps the push notification and the value of the Action property is URL.</p>
898      */
WithUrl(const Aws::String & value)899     inline ADMMessage& WithUrl(const Aws::String& value) { SetUrl(value); return *this;}
900 
901     /**
902      * <p>The URL to open in the recipient's default mobile browser, if a recipient
903      * taps the push notification and the value of the Action property is URL.</p>
904      */
WithUrl(Aws::String && value)905     inline ADMMessage& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;}
906 
907     /**
908      * <p>The URL to open in the recipient's default mobile browser, if a recipient
909      * taps the push notification and the value of the Action property is URL.</p>
910      */
WithUrl(const char * value)911     inline ADMMessage& WithUrl(const char* value) { SetUrl(value); return *this;}
912 
913   private:
914 
915     Action m_action;
916     bool m_actionHasBeenSet;
917 
918     Aws::String m_body;
919     bool m_bodyHasBeenSet;
920 
921     Aws::String m_consolidationKey;
922     bool m_consolidationKeyHasBeenSet;
923 
924     Aws::Map<Aws::String, Aws::String> m_data;
925     bool m_dataHasBeenSet;
926 
927     Aws::String m_expiresAfter;
928     bool m_expiresAfterHasBeenSet;
929 
930     Aws::String m_iconReference;
931     bool m_iconReferenceHasBeenSet;
932 
933     Aws::String m_imageIconUrl;
934     bool m_imageIconUrlHasBeenSet;
935 
936     Aws::String m_imageUrl;
937     bool m_imageUrlHasBeenSet;
938 
939     Aws::String m_mD5;
940     bool m_mD5HasBeenSet;
941 
942     Aws::String m_rawContent;
943     bool m_rawContentHasBeenSet;
944 
945     bool m_silentPush;
946     bool m_silentPushHasBeenSet;
947 
948     Aws::String m_smallImageIconUrl;
949     bool m_smallImageIconUrlHasBeenSet;
950 
951     Aws::String m_sound;
952     bool m_soundHasBeenSet;
953 
954     Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_substitutions;
955     bool m_substitutionsHasBeenSet;
956 
957     Aws::String m_title;
958     bool m_titleHasBeenSet;
959 
960     Aws::String m_url;
961     bool m_urlHasBeenSet;
962   };
963 
964 } // namespace Model
965 } // namespace Pinpoint
966 } // namespace Aws
967