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 Baidu (Baidu Cloud Push) channel.</p><p><h3>See Also:</h3>
32    * <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/BaiduMessage">AWS
34    * API Reference</a></p>
35    */
36   class AWS_PINPOINT_API BaiduMessage
37   {
38   public:
39     BaiduMessage();
40     BaiduMessage(Aws::Utils::Json::JsonView jsonValue);
41     BaiduMessage& 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 BaiduMessage& 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 BaiduMessage& 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 BaiduMessage& 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 BaiduMessage& 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 BaiduMessage& WithBody(const char* value) { SetBody(value); return *this;}
151 
152 
153     /**
154      * <p>The JSON data payload to use for the push notification, if the notification
155      * is a silent push notification. This payload is added to the
156      * data.pinpoint.jsonBody object of the notification.</p>
157      */
GetData()158     inline const Aws::Map<Aws::String, Aws::String>& GetData() const{ return m_data; }
159 
160     /**
161      * <p>The JSON data payload to use for the push notification, if the notification
162      * is a silent push notification. This payload is added to the
163      * data.pinpoint.jsonBody object of the notification.</p>
164      */
DataHasBeenSet()165     inline bool DataHasBeenSet() const { return m_dataHasBeenSet; }
166 
167     /**
168      * <p>The JSON data payload to use for the push notification, if the notification
169      * is a silent push notification. This payload is added to the
170      * data.pinpoint.jsonBody object of the notification.</p>
171      */
SetData(const Aws::Map<Aws::String,Aws::String> & value)172     inline void SetData(const Aws::Map<Aws::String, Aws::String>& value) { m_dataHasBeenSet = true; m_data = value; }
173 
174     /**
175      * <p>The JSON data payload to use for the push notification, if the notification
176      * is a silent push notification. This payload is added to the
177      * data.pinpoint.jsonBody object of the notification.</p>
178      */
SetData(Aws::Map<Aws::String,Aws::String> && value)179     inline void SetData(Aws::Map<Aws::String, Aws::String>&& value) { m_dataHasBeenSet = true; m_data = std::move(value); }
180 
181     /**
182      * <p>The JSON data payload to use for the push notification, if the notification
183      * is a silent push notification. This payload is added to the
184      * data.pinpoint.jsonBody object of the notification.</p>
185      */
WithData(const Aws::Map<Aws::String,Aws::String> & value)186     inline BaiduMessage& WithData(const Aws::Map<Aws::String, Aws::String>& value) { SetData(value); return *this;}
187 
188     /**
189      * <p>The JSON data payload to use for the push notification, if the notification
190      * is a silent push notification. This payload is added to the
191      * data.pinpoint.jsonBody object of the notification.</p>
192      */
WithData(Aws::Map<Aws::String,Aws::String> && value)193     inline BaiduMessage& WithData(Aws::Map<Aws::String, Aws::String>&& value) { SetData(std::move(value)); return *this;}
194 
195     /**
196      * <p>The JSON data payload to use for the push notification, if the notification
197      * is a silent push notification. This payload is added to the
198      * data.pinpoint.jsonBody object of the notification.</p>
199      */
AddData(const Aws::String & key,const Aws::String & value)200     inline BaiduMessage& AddData(const Aws::String& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; }
201 
202     /**
203      * <p>The JSON data payload to use for the push notification, if the notification
204      * is a silent push notification. This payload is added to the
205      * data.pinpoint.jsonBody object of the notification.</p>
206      */
AddData(Aws::String && key,const Aws::String & value)207     inline BaiduMessage& AddData(Aws::String&& key, const Aws::String& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; }
208 
209     /**
210      * <p>The JSON data payload to use for the push notification, if the notification
211      * is a silent push notification. This payload is added to the
212      * data.pinpoint.jsonBody object of the notification.</p>
213      */
AddData(const Aws::String & key,Aws::String && value)214     inline BaiduMessage& AddData(const Aws::String& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; }
215 
216     /**
217      * <p>The JSON data payload to use for the push notification, if the notification
218      * is a silent push notification. This payload is added to the
219      * data.pinpoint.jsonBody object of the notification.</p>
220      */
AddData(Aws::String && key,Aws::String && value)221     inline BaiduMessage& AddData(Aws::String&& key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), std::move(value)); return *this; }
222 
223     /**
224      * <p>The JSON data payload to use for the push notification, if the notification
225      * is a silent push notification. This payload is added to the
226      * data.pinpoint.jsonBody object of the notification.</p>
227      */
AddData(const char * key,Aws::String && value)228     inline BaiduMessage& AddData(const char* key, Aws::String&& value) { m_dataHasBeenSet = true; m_data.emplace(key, std::move(value)); return *this; }
229 
230     /**
231      * <p>The JSON data payload to use for the push notification, if the notification
232      * is a silent push notification. This payload is added to the
233      * data.pinpoint.jsonBody object of the notification.</p>
234      */
AddData(Aws::String && key,const char * value)235     inline BaiduMessage& AddData(Aws::String&& key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(std::move(key), value); return *this; }
236 
237     /**
238      * <p>The JSON data payload to use for the push notification, if the notification
239      * is a silent push notification. This payload is added to the
240      * data.pinpoint.jsonBody object of the notification.</p>
241      */
AddData(const char * key,const char * value)242     inline BaiduMessage& AddData(const char* key, const char* value) { m_dataHasBeenSet = true; m_data.emplace(key, value); return *this; }
243 
244 
245     /**
246      * <p>The icon image name of the asset saved in your app.</p>
247      */
GetIconReference()248     inline const Aws::String& GetIconReference() const{ return m_iconReference; }
249 
250     /**
251      * <p>The icon image name of the asset saved in your app.</p>
252      */
IconReferenceHasBeenSet()253     inline bool IconReferenceHasBeenSet() const { return m_iconReferenceHasBeenSet; }
254 
255     /**
256      * <p>The icon image name of the asset saved in your app.</p>
257      */
SetIconReference(const Aws::String & value)258     inline void SetIconReference(const Aws::String& value) { m_iconReferenceHasBeenSet = true; m_iconReference = value; }
259 
260     /**
261      * <p>The icon image name of the asset saved in your app.</p>
262      */
SetIconReference(Aws::String && value)263     inline void SetIconReference(Aws::String&& value) { m_iconReferenceHasBeenSet = true; m_iconReference = std::move(value); }
264 
265     /**
266      * <p>The icon image name of the asset saved in your app.</p>
267      */
SetIconReference(const char * value)268     inline void SetIconReference(const char* value) { m_iconReferenceHasBeenSet = true; m_iconReference.assign(value); }
269 
270     /**
271      * <p>The icon image name of the asset saved in your app.</p>
272      */
WithIconReference(const Aws::String & value)273     inline BaiduMessage& WithIconReference(const Aws::String& value) { SetIconReference(value); return *this;}
274 
275     /**
276      * <p>The icon image name of the asset saved in your app.</p>
277      */
WithIconReference(Aws::String && value)278     inline BaiduMessage& WithIconReference(Aws::String&& value) { SetIconReference(std::move(value)); return *this;}
279 
280     /**
281      * <p>The icon image name of the asset saved in your app.</p>
282      */
WithIconReference(const char * value)283     inline BaiduMessage& WithIconReference(const char* value) { SetIconReference(value); return *this;}
284 
285 
286     /**
287      * <p>The URL of the large icon image to display in the content view of the push
288      * notification.</p>
289      */
GetImageIconUrl()290     inline const Aws::String& GetImageIconUrl() const{ return m_imageIconUrl; }
291 
292     /**
293      * <p>The URL of the large icon image to display in the content view of the push
294      * notification.</p>
295      */
ImageIconUrlHasBeenSet()296     inline bool ImageIconUrlHasBeenSet() const { return m_imageIconUrlHasBeenSet; }
297 
298     /**
299      * <p>The URL of the large icon image to display in the content view of the push
300      * notification.</p>
301      */
SetImageIconUrl(const Aws::String & value)302     inline void SetImageIconUrl(const Aws::String& value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl = value; }
303 
304     /**
305      * <p>The URL of the large icon image to display in the content view of the push
306      * notification.</p>
307      */
SetImageIconUrl(Aws::String && value)308     inline void SetImageIconUrl(Aws::String&& value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl = std::move(value); }
309 
310     /**
311      * <p>The URL of the large icon image to display in the content view of the push
312      * notification.</p>
313      */
SetImageIconUrl(const char * value)314     inline void SetImageIconUrl(const char* value) { m_imageIconUrlHasBeenSet = true; m_imageIconUrl.assign(value); }
315 
316     /**
317      * <p>The URL of the large icon image to display in the content view of the push
318      * notification.</p>
319      */
WithImageIconUrl(const Aws::String & value)320     inline BaiduMessage& WithImageIconUrl(const Aws::String& value) { SetImageIconUrl(value); return *this;}
321 
322     /**
323      * <p>The URL of the large icon image to display in the content view of the push
324      * notification.</p>
325      */
WithImageIconUrl(Aws::String && value)326     inline BaiduMessage& WithImageIconUrl(Aws::String&& value) { SetImageIconUrl(std::move(value)); return *this;}
327 
328     /**
329      * <p>The URL of the large icon image to display in the content view of the push
330      * notification.</p>
331      */
WithImageIconUrl(const char * value)332     inline BaiduMessage& WithImageIconUrl(const char* value) { SetImageIconUrl(value); return *this;}
333 
334 
335     /**
336      * <p>The URL of an image to display in the push notification.</p>
337      */
GetImageUrl()338     inline const Aws::String& GetImageUrl() const{ return m_imageUrl; }
339 
340     /**
341      * <p>The URL of an image to display in the push notification.</p>
342      */
ImageUrlHasBeenSet()343     inline bool ImageUrlHasBeenSet() const { return m_imageUrlHasBeenSet; }
344 
345     /**
346      * <p>The URL of an image to display in the push notification.</p>
347      */
SetImageUrl(const Aws::String & value)348     inline void SetImageUrl(const Aws::String& value) { m_imageUrlHasBeenSet = true; m_imageUrl = value; }
349 
350     /**
351      * <p>The URL of an image to display in the push notification.</p>
352      */
SetImageUrl(Aws::String && value)353     inline void SetImageUrl(Aws::String&& value) { m_imageUrlHasBeenSet = true; m_imageUrl = std::move(value); }
354 
355     /**
356      * <p>The URL of an image to display in the push notification.</p>
357      */
SetImageUrl(const char * value)358     inline void SetImageUrl(const char* value) { m_imageUrlHasBeenSet = true; m_imageUrl.assign(value); }
359 
360     /**
361      * <p>The URL of an image to display in the push notification.</p>
362      */
WithImageUrl(const Aws::String & value)363     inline BaiduMessage& WithImageUrl(const Aws::String& value) { SetImageUrl(value); return *this;}
364 
365     /**
366      * <p>The URL of an image to display in the push notification.</p>
367      */
WithImageUrl(Aws::String && value)368     inline BaiduMessage& WithImageUrl(Aws::String&& value) { SetImageUrl(std::move(value)); return *this;}
369 
370     /**
371      * <p>The URL of an image to display in the push notification.</p>
372      */
WithImageUrl(const char * value)373     inline BaiduMessage& WithImageUrl(const char* value) { SetImageUrl(value); return *this;}
374 
375 
376     /**
377      * <p>The raw, JSON-formatted string to use as the payload for the notification
378      * message. If specified, this value overrides all other content for the
379      * message.</p>
380      */
GetRawContent()381     inline const Aws::String& GetRawContent() const{ return m_rawContent; }
382 
383     /**
384      * <p>The raw, JSON-formatted string to use as the payload for the notification
385      * message. If specified, this value overrides all other content for the
386      * message.</p>
387      */
RawContentHasBeenSet()388     inline bool RawContentHasBeenSet() const { return m_rawContentHasBeenSet; }
389 
390     /**
391      * <p>The raw, JSON-formatted string to use as the payload for the notification
392      * message. If specified, this value overrides all other content for the
393      * message.</p>
394      */
SetRawContent(const Aws::String & value)395     inline void SetRawContent(const Aws::String& value) { m_rawContentHasBeenSet = true; m_rawContent = value; }
396 
397     /**
398      * <p>The raw, JSON-formatted string to use as the payload for the notification
399      * message. If specified, this value overrides all other content for the
400      * message.</p>
401      */
SetRawContent(Aws::String && value)402     inline void SetRawContent(Aws::String&& value) { m_rawContentHasBeenSet = true; m_rawContent = std::move(value); }
403 
404     /**
405      * <p>The raw, JSON-formatted string to use as the payload for the notification
406      * message. If specified, this value overrides all other content for the
407      * message.</p>
408      */
SetRawContent(const char * value)409     inline void SetRawContent(const char* value) { m_rawContentHasBeenSet = true; m_rawContent.assign(value); }
410 
411     /**
412      * <p>The raw, JSON-formatted string to use as the payload for the notification
413      * message. If specified, this value overrides all other content for the
414      * message.</p>
415      */
WithRawContent(const Aws::String & value)416     inline BaiduMessage& WithRawContent(const Aws::String& value) { SetRawContent(value); return *this;}
417 
418     /**
419      * <p>The raw, JSON-formatted string to use as the payload for the notification
420      * message. If specified, this value overrides all other content for the
421      * message.</p>
422      */
WithRawContent(Aws::String && value)423     inline BaiduMessage& WithRawContent(Aws::String&& value) { SetRawContent(std::move(value)); return *this;}
424 
425     /**
426      * <p>The raw, JSON-formatted string to use as the payload for the notification
427      * message. If specified, this value overrides all other content for the
428      * message.</p>
429      */
WithRawContent(const char * value)430     inline BaiduMessage& WithRawContent(const char* value) { SetRawContent(value); return *this;}
431 
432 
433     /**
434      * <p>Specifies whether the notification is a silent push notification, which is a
435      * push notification that doesn't display on a recipient's device. Silent push
436      * notifications can be used for cases such as updating an app's configuration or
437      * supporting phone home functionality.</p>
438      */
GetSilentPush()439     inline bool GetSilentPush() const{ return m_silentPush; }
440 
441     /**
442      * <p>Specifies whether the notification is a silent push notification, which is a
443      * push notification that doesn't display on a recipient's device. Silent push
444      * notifications can be used for cases such as updating an app's configuration or
445      * supporting phone home functionality.</p>
446      */
SilentPushHasBeenSet()447     inline bool SilentPushHasBeenSet() const { return m_silentPushHasBeenSet; }
448 
449     /**
450      * <p>Specifies whether the notification is a silent push notification, which is a
451      * push notification that doesn't display on a recipient's device. Silent push
452      * notifications can be used for cases such as updating an app's configuration or
453      * supporting phone home functionality.</p>
454      */
SetSilentPush(bool value)455     inline void SetSilentPush(bool value) { m_silentPushHasBeenSet = true; m_silentPush = value; }
456 
457     /**
458      * <p>Specifies whether the notification is a silent push notification, which is a
459      * push notification that doesn't display on a recipient's device. Silent push
460      * notifications can be used for cases such as updating an app's configuration or
461      * supporting phone home functionality.</p>
462      */
WithSilentPush(bool value)463     inline BaiduMessage& WithSilentPush(bool value) { SetSilentPush(value); return *this;}
464 
465 
466     /**
467      * <p>The URL of the small icon image to display in the status bar and the content
468      * view of the push notification.</p>
469      */
GetSmallImageIconUrl()470     inline const Aws::String& GetSmallImageIconUrl() const{ return m_smallImageIconUrl; }
471 
472     /**
473      * <p>The URL of the small icon image to display in the status bar and the content
474      * view of the push notification.</p>
475      */
SmallImageIconUrlHasBeenSet()476     inline bool SmallImageIconUrlHasBeenSet() const { return m_smallImageIconUrlHasBeenSet; }
477 
478     /**
479      * <p>The URL of the small icon image to display in the status bar and the content
480      * view of the push notification.</p>
481      */
SetSmallImageIconUrl(const Aws::String & value)482     inline void SetSmallImageIconUrl(const Aws::String& value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl = value; }
483 
484     /**
485      * <p>The URL of the small icon image to display in the status bar and the content
486      * view of the push notification.</p>
487      */
SetSmallImageIconUrl(Aws::String && value)488     inline void SetSmallImageIconUrl(Aws::String&& value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl = std::move(value); }
489 
490     /**
491      * <p>The URL of the small icon image to display in the status bar and the content
492      * view of the push notification.</p>
493      */
SetSmallImageIconUrl(const char * value)494     inline void SetSmallImageIconUrl(const char* value) { m_smallImageIconUrlHasBeenSet = true; m_smallImageIconUrl.assign(value); }
495 
496     /**
497      * <p>The URL of the small icon image to display in the status bar and the content
498      * view of the push notification.</p>
499      */
WithSmallImageIconUrl(const Aws::String & value)500     inline BaiduMessage& WithSmallImageIconUrl(const Aws::String& value) { SetSmallImageIconUrl(value); return *this;}
501 
502     /**
503      * <p>The URL of the small icon image to display in the status bar and the content
504      * view of the push notification.</p>
505      */
WithSmallImageIconUrl(Aws::String && value)506     inline BaiduMessage& WithSmallImageIconUrl(Aws::String&& value) { SetSmallImageIconUrl(std::move(value)); return *this;}
507 
508     /**
509      * <p>The URL of the small icon image to display in the status bar and the content
510      * view of the push notification.</p>
511      */
WithSmallImageIconUrl(const char * value)512     inline BaiduMessage& WithSmallImageIconUrl(const char* value) { SetSmallImageIconUrl(value); return *this;}
513 
514 
515     /**
516      * <p>The sound to play when the recipient receives the push notification. You can
517      * use the default stream or specify the file name of a sound resource that's
518      * bundled in your app. On an Android platform, the sound file must reside in
519      * /res/raw/.</p>
520      */
GetSound()521     inline const Aws::String& GetSound() const{ return m_sound; }
522 
523     /**
524      * <p>The sound to play when the recipient receives the push notification. You can
525      * use the default stream or specify the file name of a sound resource that's
526      * bundled in your app. On an Android platform, the sound file must reside in
527      * /res/raw/.</p>
528      */
SoundHasBeenSet()529     inline bool SoundHasBeenSet() const { return m_soundHasBeenSet; }
530 
531     /**
532      * <p>The sound to play when the recipient receives the push notification. You can
533      * use the default stream or specify the file name of a sound resource that's
534      * bundled in your app. On an Android platform, the sound file must reside in
535      * /res/raw/.</p>
536      */
SetSound(const Aws::String & value)537     inline void SetSound(const Aws::String& value) { m_soundHasBeenSet = true; m_sound = value; }
538 
539     /**
540      * <p>The sound to play when the recipient receives the push notification. You can
541      * use the default stream or specify the file name of a sound resource that's
542      * bundled in your app. On an Android platform, the sound file must reside in
543      * /res/raw/.</p>
544      */
SetSound(Aws::String && value)545     inline void SetSound(Aws::String&& value) { m_soundHasBeenSet = true; m_sound = std::move(value); }
546 
547     /**
548      * <p>The sound to play when the recipient receives the push notification. You can
549      * use the default stream or specify the file name of a sound resource that's
550      * bundled in your app. On an Android platform, the sound file must reside in
551      * /res/raw/.</p>
552      */
SetSound(const char * value)553     inline void SetSound(const char* value) { m_soundHasBeenSet = true; m_sound.assign(value); }
554 
555     /**
556      * <p>The sound to play when the recipient receives the push notification. You can
557      * use the default stream or specify the file name of a sound resource that's
558      * bundled in your app. On an Android platform, the sound file must reside in
559      * /res/raw/.</p>
560      */
WithSound(const Aws::String & value)561     inline BaiduMessage& WithSound(const Aws::String& value) { SetSound(value); return *this;}
562 
563     /**
564      * <p>The sound to play when the recipient receives the push notification. You can
565      * use the default stream or specify the file name of a sound resource that's
566      * bundled in your app. On an Android platform, the sound file must reside in
567      * /res/raw/.</p>
568      */
WithSound(Aws::String && value)569     inline BaiduMessage& WithSound(Aws::String&& value) { SetSound(std::move(value)); return *this;}
570 
571     /**
572      * <p>The sound to play when the recipient receives the push notification. You can
573      * use the default stream or specify the file name of a sound resource that's
574      * bundled in your app. On an Android platform, the sound file must reside in
575      * /res/raw/.</p>
576      */
WithSound(const char * value)577     inline BaiduMessage& WithSound(const char* value) { SetSound(value); return *this;}
578 
579 
580     /**
581      * <p>The default message variables to use in the notification message. You can
582      * override the default variables with individual address variables.</p>
583      */
GetSubstitutions()584     inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetSubstitutions() const{ return m_substitutions; }
585 
586     /**
587      * <p>The default message variables to use in the notification message. You can
588      * override the default variables with individual address variables.</p>
589      */
SubstitutionsHasBeenSet()590     inline bool SubstitutionsHasBeenSet() const { return m_substitutionsHasBeenSet; }
591 
592     /**
593      * <p>The default message variables to use in the notification message. You can
594      * override the default variables with individual address variables.</p>
595      */
SetSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)596     inline void SetSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_substitutionsHasBeenSet = true; m_substitutions = value; }
597 
598     /**
599      * <p>The default message variables to use in the notification message. You can
600      * override the default variables with individual address variables.</p>
601      */
SetSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)602     inline void SetSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_substitutionsHasBeenSet = true; m_substitutions = std::move(value); }
603 
604     /**
605      * <p>The default message variables to use in the notification message. You can
606      * override the default variables with individual address variables.</p>
607      */
WithSubstitutions(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)608     inline BaiduMessage& WithSubstitutions(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetSubstitutions(value); return *this;}
609 
610     /**
611      * <p>The default message variables to use in the notification message. You can
612      * override the default variables with individual address variables.</p>
613      */
WithSubstitutions(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)614     inline BaiduMessage& WithSubstitutions(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetSubstitutions(std::move(value)); return *this;}
615 
616     /**
617      * <p>The default message variables to use in the notification message. You can
618      * override the default variables with individual address variables.</p>
619      */
AddSubstitutions(const Aws::String & key,const Aws::Vector<Aws::String> & value)620     inline BaiduMessage& AddSubstitutions(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; }
621 
622     /**
623      * <p>The default message variables to use in the notification message. You can
624      * override the default variables with individual address variables.</p>
625      */
AddSubstitutions(Aws::String && key,const Aws::Vector<Aws::String> & value)626     inline BaiduMessage& AddSubstitutions(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), value); return *this; }
627 
628     /**
629      * <p>The default message variables to use in the notification message. You can
630      * override the default variables with individual address variables.</p>
631      */
AddSubstitutions(const Aws::String & key,Aws::Vector<Aws::String> && value)632     inline BaiduMessage& AddSubstitutions(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; }
633 
634     /**
635      * <p>The default message variables to use in the notification message. You can
636      * override the default variables with individual address variables.</p>
637      */
AddSubstitutions(Aws::String && key,Aws::Vector<Aws::String> && value)638     inline BaiduMessage& AddSubstitutions(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(std::move(key), std::move(value)); return *this; }
639 
640     /**
641      * <p>The default message variables to use in the notification message. You can
642      * override the default variables with individual address variables.</p>
643      */
AddSubstitutions(const char * key,Aws::Vector<Aws::String> && value)644     inline BaiduMessage& AddSubstitutions(const char* key, Aws::Vector<Aws::String>&& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, std::move(value)); return *this; }
645 
646     /**
647      * <p>The default message variables to use in the notification message. You can
648      * override the default variables with individual address variables.</p>
649      */
AddSubstitutions(const char * key,const Aws::Vector<Aws::String> & value)650     inline BaiduMessage& AddSubstitutions(const char* key, const Aws::Vector<Aws::String>& value) { m_substitutionsHasBeenSet = true; m_substitutions.emplace(key, value); return *this; }
651 
652 
653     /**
654      * <p>The amount of time, in seconds, that the Baidu Cloud Push service should
655      * store the message if the recipient's device is offline. The default value and
656      * maximum supported time is 604,800 seconds (7 days).</p>
657      */
GetTimeToLive()658     inline int GetTimeToLive() const{ return m_timeToLive; }
659 
660     /**
661      * <p>The amount of time, in seconds, that the Baidu Cloud Push service should
662      * store the message if the recipient's device is offline. The default value and
663      * maximum supported time is 604,800 seconds (7 days).</p>
664      */
TimeToLiveHasBeenSet()665     inline bool TimeToLiveHasBeenSet() const { return m_timeToLiveHasBeenSet; }
666 
667     /**
668      * <p>The amount of time, in seconds, that the Baidu Cloud Push service should
669      * store the message if the recipient's device is offline. The default value and
670      * maximum supported time is 604,800 seconds (7 days).</p>
671      */
SetTimeToLive(int value)672     inline void SetTimeToLive(int value) { m_timeToLiveHasBeenSet = true; m_timeToLive = value; }
673 
674     /**
675      * <p>The amount of time, in seconds, that the Baidu Cloud Push service should
676      * store the message if the recipient's device is offline. The default value and
677      * maximum supported time is 604,800 seconds (7 days).</p>
678      */
WithTimeToLive(int value)679     inline BaiduMessage& WithTimeToLive(int value) { SetTimeToLive(value); return *this;}
680 
681 
682     /**
683      * <p>The title to display above the notification message on the recipient's
684      * device.</p>
685      */
GetTitle()686     inline const Aws::String& GetTitle() const{ return m_title; }
687 
688     /**
689      * <p>The title to display above the notification message on the recipient's
690      * device.</p>
691      */
TitleHasBeenSet()692     inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
693 
694     /**
695      * <p>The title to display above the notification message on the recipient's
696      * device.</p>
697      */
SetTitle(const Aws::String & value)698     inline void SetTitle(const Aws::String& value) { m_titleHasBeenSet = true; m_title = value; }
699 
700     /**
701      * <p>The title to display above the notification message on the recipient's
702      * device.</p>
703      */
SetTitle(Aws::String && value)704     inline void SetTitle(Aws::String&& value) { m_titleHasBeenSet = true; m_title = std::move(value); }
705 
706     /**
707      * <p>The title to display above the notification message on the recipient's
708      * device.</p>
709      */
SetTitle(const char * value)710     inline void SetTitle(const char* value) { m_titleHasBeenSet = true; m_title.assign(value); }
711 
712     /**
713      * <p>The title to display above the notification message on the recipient's
714      * device.</p>
715      */
WithTitle(const Aws::String & value)716     inline BaiduMessage& WithTitle(const Aws::String& value) { SetTitle(value); return *this;}
717 
718     /**
719      * <p>The title to display above the notification message on the recipient's
720      * device.</p>
721      */
WithTitle(Aws::String && value)722     inline BaiduMessage& WithTitle(Aws::String&& value) { SetTitle(std::move(value)); return *this;}
723 
724     /**
725      * <p>The title to display above the notification message on the recipient's
726      * device.</p>
727      */
WithTitle(const char * value)728     inline BaiduMessage& WithTitle(const char* value) { SetTitle(value); return *this;}
729 
730 
731     /**
732      * <p>The URL to open in the recipient's default mobile browser, if a recipient
733      * taps the push notification and the value of the Action property is URL.</p>
734      */
GetUrl()735     inline const Aws::String& GetUrl() const{ return m_url; }
736 
737     /**
738      * <p>The URL to open in the recipient's default mobile browser, if a recipient
739      * taps the push notification and the value of the Action property is URL.</p>
740      */
UrlHasBeenSet()741     inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; }
742 
743     /**
744      * <p>The URL to open in the recipient's default mobile browser, if a recipient
745      * taps the push notification and the value of the Action property is URL.</p>
746      */
SetUrl(const Aws::String & value)747     inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; }
748 
749     /**
750      * <p>The URL to open in the recipient's default mobile browser, if a recipient
751      * taps the push notification and the value of the Action property is URL.</p>
752      */
SetUrl(Aws::String && value)753     inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); }
754 
755     /**
756      * <p>The URL to open in the recipient's default mobile browser, if a recipient
757      * taps the push notification and the value of the Action property is URL.</p>
758      */
SetUrl(const char * value)759     inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); }
760 
761     /**
762      * <p>The URL to open in the recipient's default mobile browser, if a recipient
763      * taps the push notification and the value of the Action property is URL.</p>
764      */
WithUrl(const Aws::String & value)765     inline BaiduMessage& WithUrl(const Aws::String& value) { SetUrl(value); return *this;}
766 
767     /**
768      * <p>The URL to open in the recipient's default mobile browser, if a recipient
769      * taps the push notification and the value of the Action property is URL.</p>
770      */
WithUrl(Aws::String && value)771     inline BaiduMessage& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;}
772 
773     /**
774      * <p>The URL to open in the recipient's default mobile browser, if a recipient
775      * taps the push notification and the value of the Action property is URL.</p>
776      */
WithUrl(const char * value)777     inline BaiduMessage& WithUrl(const char* value) { SetUrl(value); return *this;}
778 
779   private:
780 
781     Action m_action;
782     bool m_actionHasBeenSet;
783 
784     Aws::String m_body;
785     bool m_bodyHasBeenSet;
786 
787     Aws::Map<Aws::String, Aws::String> m_data;
788     bool m_dataHasBeenSet;
789 
790     Aws::String m_iconReference;
791     bool m_iconReferenceHasBeenSet;
792 
793     Aws::String m_imageIconUrl;
794     bool m_imageIconUrlHasBeenSet;
795 
796     Aws::String m_imageUrl;
797     bool m_imageUrlHasBeenSet;
798 
799     Aws::String m_rawContent;
800     bool m_rawContentHasBeenSet;
801 
802     bool m_silentPush;
803     bool m_silentPushHasBeenSet;
804 
805     Aws::String m_smallImageIconUrl;
806     bool m_smallImageIconUrlHasBeenSet;
807 
808     Aws::String m_sound;
809     bool m_soundHasBeenSet;
810 
811     Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_substitutions;
812     bool m_substitutionsHasBeenSet;
813 
814     int m_timeToLive;
815     bool m_timeToLiveHasBeenSet;
816 
817     Aws::String m_title;
818     bool m_titleHasBeenSet;
819 
820     Aws::String m_url;
821     bool m_urlHasBeenSet;
822   };
823 
824 } // namespace Model
825 } // namespace Pinpoint
826 } // namespace Aws
827