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/AndroidPushNotificationTemplate.h>
9 #include <aws/pinpoint/model/APNSPushNotificationTemplate.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/pinpoint/model/DefaultPushNotificationTemplate.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 #include <aws/pinpoint/model/TemplateType.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace Pinpoint
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Provides information about the content and settings for a message template
33    * that can be used in messages that are sent through a push notification
34    * channel.</p><p><h3>See Also:</h3>   <a
35    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/PushNotificationTemplateResponse">AWS
36    * API Reference</a></p>
37    */
38   class AWS_PINPOINT_API PushNotificationTemplateResponse
39   {
40   public:
41     PushNotificationTemplateResponse();
42     PushNotificationTemplateResponse(Aws::Utils::Json::JsonView jsonValue);
43     PushNotificationTemplateResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
44     Aws::Utils::Json::JsonValue Jsonize() const;
45 
46 
47     /**
48      * <p>The message template that's used for the ADM (Amazon Device Messaging)
49      * channel. This message template overrides the default template for push
50      * notification channels (DefaultPushNotificationTemplate).</p>
51      */
GetADM()52     inline const AndroidPushNotificationTemplate& GetADM() const{ return m_aDM; }
53 
54     /**
55      * <p>The message template that's used for the ADM (Amazon Device Messaging)
56      * channel. This message template overrides the default template for push
57      * notification channels (DefaultPushNotificationTemplate).</p>
58      */
ADMHasBeenSet()59     inline bool ADMHasBeenSet() const { return m_aDMHasBeenSet; }
60 
61     /**
62      * <p>The message template that's used for the ADM (Amazon Device Messaging)
63      * channel. This message template overrides the default template for push
64      * notification channels (DefaultPushNotificationTemplate).</p>
65      */
SetADM(const AndroidPushNotificationTemplate & value)66     inline void SetADM(const AndroidPushNotificationTemplate& value) { m_aDMHasBeenSet = true; m_aDM = value; }
67 
68     /**
69      * <p>The message template that's used for the ADM (Amazon Device Messaging)
70      * channel. This message template overrides the default template for push
71      * notification channels (DefaultPushNotificationTemplate).</p>
72      */
SetADM(AndroidPushNotificationTemplate && value)73     inline void SetADM(AndroidPushNotificationTemplate&& value) { m_aDMHasBeenSet = true; m_aDM = std::move(value); }
74 
75     /**
76      * <p>The message template that's used for the ADM (Amazon Device Messaging)
77      * channel. This message template overrides the default template for push
78      * notification channels (DefaultPushNotificationTemplate).</p>
79      */
WithADM(const AndroidPushNotificationTemplate & value)80     inline PushNotificationTemplateResponse& WithADM(const AndroidPushNotificationTemplate& value) { SetADM(value); return *this;}
81 
82     /**
83      * <p>The message template that's used for the ADM (Amazon Device Messaging)
84      * channel. This message template overrides the default template for push
85      * notification channels (DefaultPushNotificationTemplate).</p>
86      */
WithADM(AndroidPushNotificationTemplate && value)87     inline PushNotificationTemplateResponse& WithADM(AndroidPushNotificationTemplate&& value) { SetADM(std::move(value)); return *this;}
88 
89 
90     /**
91      * <p>The message template that's used for the APNs (Apple Push Notification
92      * service) channel. This message template overrides the default template for push
93      * notification channels (DefaultPushNotificationTemplate).</p>
94      */
GetAPNS()95     inline const APNSPushNotificationTemplate& GetAPNS() const{ return m_aPNS; }
96 
97     /**
98      * <p>The message template that's used for the APNs (Apple Push Notification
99      * service) channel. This message template overrides the default template for push
100      * notification channels (DefaultPushNotificationTemplate).</p>
101      */
APNSHasBeenSet()102     inline bool APNSHasBeenSet() const { return m_aPNSHasBeenSet; }
103 
104     /**
105      * <p>The message template that's used for the APNs (Apple Push Notification
106      * service) channel. This message template overrides the default template for push
107      * notification channels (DefaultPushNotificationTemplate).</p>
108      */
SetAPNS(const APNSPushNotificationTemplate & value)109     inline void SetAPNS(const APNSPushNotificationTemplate& value) { m_aPNSHasBeenSet = true; m_aPNS = value; }
110 
111     /**
112      * <p>The message template that's used for the APNs (Apple Push Notification
113      * service) channel. This message template overrides the default template for push
114      * notification channels (DefaultPushNotificationTemplate).</p>
115      */
SetAPNS(APNSPushNotificationTemplate && value)116     inline void SetAPNS(APNSPushNotificationTemplate&& value) { m_aPNSHasBeenSet = true; m_aPNS = std::move(value); }
117 
118     /**
119      * <p>The message template that's used for the APNs (Apple Push Notification
120      * service) channel. This message template overrides the default template for push
121      * notification channels (DefaultPushNotificationTemplate).</p>
122      */
WithAPNS(const APNSPushNotificationTemplate & value)123     inline PushNotificationTemplateResponse& WithAPNS(const APNSPushNotificationTemplate& value) { SetAPNS(value); return *this;}
124 
125     /**
126      * <p>The message template that's used for the APNs (Apple Push Notification
127      * service) channel. This message template overrides the default template for push
128      * notification channels (DefaultPushNotificationTemplate).</p>
129      */
WithAPNS(APNSPushNotificationTemplate && value)130     inline PushNotificationTemplateResponse& WithAPNS(APNSPushNotificationTemplate&& value) { SetAPNS(std::move(value)); return *this;}
131 
132 
133     /**
134      * <p>The Amazon Resource Name (ARN) of the message template.</p>
135      */
GetArn()136     inline const Aws::String& GetArn() const{ return m_arn; }
137 
138     /**
139      * <p>The Amazon Resource Name (ARN) of the message template.</p>
140      */
ArnHasBeenSet()141     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
142 
143     /**
144      * <p>The Amazon Resource Name (ARN) of the message template.</p>
145      */
SetArn(const Aws::String & value)146     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
147 
148     /**
149      * <p>The Amazon Resource Name (ARN) of the message template.</p>
150      */
SetArn(Aws::String && value)151     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
152 
153     /**
154      * <p>The Amazon Resource Name (ARN) of the message template.</p>
155      */
SetArn(const char * value)156     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
157 
158     /**
159      * <p>The Amazon Resource Name (ARN) of the message template.</p>
160      */
WithArn(const Aws::String & value)161     inline PushNotificationTemplateResponse& WithArn(const Aws::String& value) { SetArn(value); return *this;}
162 
163     /**
164      * <p>The Amazon Resource Name (ARN) of the message template.</p>
165      */
WithArn(Aws::String && value)166     inline PushNotificationTemplateResponse& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
167 
168     /**
169      * <p>The Amazon Resource Name (ARN) of the message template.</p>
170      */
WithArn(const char * value)171     inline PushNotificationTemplateResponse& WithArn(const char* value) { SetArn(value); return *this;}
172 
173 
174     /**
175      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
176      * This message template overrides the default template for push notification
177      * channels (DefaultPushNotificationTemplate).</p>
178      */
GetBaidu()179     inline const AndroidPushNotificationTemplate& GetBaidu() const{ return m_baidu; }
180 
181     /**
182      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
183      * This message template overrides the default template for push notification
184      * channels (DefaultPushNotificationTemplate).</p>
185      */
BaiduHasBeenSet()186     inline bool BaiduHasBeenSet() const { return m_baiduHasBeenSet; }
187 
188     /**
189      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
190      * This message template overrides the default template for push notification
191      * channels (DefaultPushNotificationTemplate).</p>
192      */
SetBaidu(const AndroidPushNotificationTemplate & value)193     inline void SetBaidu(const AndroidPushNotificationTemplate& value) { m_baiduHasBeenSet = true; m_baidu = value; }
194 
195     /**
196      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
197      * This message template overrides the default template for push notification
198      * channels (DefaultPushNotificationTemplate).</p>
199      */
SetBaidu(AndroidPushNotificationTemplate && value)200     inline void SetBaidu(AndroidPushNotificationTemplate&& value) { m_baiduHasBeenSet = true; m_baidu = std::move(value); }
201 
202     /**
203      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
204      * This message template overrides the default template for push notification
205      * channels (DefaultPushNotificationTemplate).</p>
206      */
WithBaidu(const AndroidPushNotificationTemplate & value)207     inline PushNotificationTemplateResponse& WithBaidu(const AndroidPushNotificationTemplate& value) { SetBaidu(value); return *this;}
208 
209     /**
210      * <p>The message template that's used for the Baidu (Baidu Cloud Push) channel.
211      * This message template overrides the default template for push notification
212      * channels (DefaultPushNotificationTemplate).</p>
213      */
WithBaidu(AndroidPushNotificationTemplate && value)214     inline PushNotificationTemplateResponse& WithBaidu(AndroidPushNotificationTemplate&& value) { SetBaidu(std::move(value)); return *this;}
215 
216 
217     /**
218      * <p>The date, in ISO 8601 format, when the message template was created.</p>
219      */
GetCreationDate()220     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
221 
222     /**
223      * <p>The date, in ISO 8601 format, when the message template was created.</p>
224      */
CreationDateHasBeenSet()225     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
226 
227     /**
228      * <p>The date, in ISO 8601 format, when the message template was created.</p>
229      */
SetCreationDate(const Aws::String & value)230     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
231 
232     /**
233      * <p>The date, in ISO 8601 format, when the message template was created.</p>
234      */
SetCreationDate(Aws::String && value)235     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
236 
237     /**
238      * <p>The date, in ISO 8601 format, when the message template was created.</p>
239      */
SetCreationDate(const char * value)240     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
241 
242     /**
243      * <p>The date, in ISO 8601 format, when the message template was created.</p>
244      */
WithCreationDate(const Aws::String & value)245     inline PushNotificationTemplateResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
246 
247     /**
248      * <p>The date, in ISO 8601 format, when the message template was created.</p>
249      */
WithCreationDate(Aws::String && value)250     inline PushNotificationTemplateResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
251 
252     /**
253      * <p>The date, in ISO 8601 format, when the message template was created.</p>
254      */
WithCreationDate(const char * value)255     inline PushNotificationTemplateResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
256 
257 
258     /**
259      * <p>The default message template that's used for push notification channels.</p>
260      */
GetDefault()261     inline const DefaultPushNotificationTemplate& GetDefault() const{ return m_default; }
262 
263     /**
264      * <p>The default message template that's used for push notification channels.</p>
265      */
DefaultHasBeenSet()266     inline bool DefaultHasBeenSet() const { return m_defaultHasBeenSet; }
267 
268     /**
269      * <p>The default message template that's used for push notification channels.</p>
270      */
SetDefault(const DefaultPushNotificationTemplate & value)271     inline void SetDefault(const DefaultPushNotificationTemplate& value) { m_defaultHasBeenSet = true; m_default = value; }
272 
273     /**
274      * <p>The default message template that's used for push notification channels.</p>
275      */
SetDefault(DefaultPushNotificationTemplate && value)276     inline void SetDefault(DefaultPushNotificationTemplate&& value) { m_defaultHasBeenSet = true; m_default = std::move(value); }
277 
278     /**
279      * <p>The default message template that's used for push notification channels.</p>
280      */
WithDefault(const DefaultPushNotificationTemplate & value)281     inline PushNotificationTemplateResponse& WithDefault(const DefaultPushNotificationTemplate& value) { SetDefault(value); return *this;}
282 
283     /**
284      * <p>The default message template that's used for push notification channels.</p>
285      */
WithDefault(DefaultPushNotificationTemplate && value)286     inline PushNotificationTemplateResponse& WithDefault(DefaultPushNotificationTemplate&& value) { SetDefault(std::move(value)); return *this;}
287 
288 
289     /**
290      * <p>The JSON object that specifies the default values that are used for message
291      * variables in the message template. This object is a set of key-value pairs. Each
292      * key defines a message variable in the template. The corresponding value defines
293      * the default value for that variable.</p>
294      */
GetDefaultSubstitutions()295     inline const Aws::String& GetDefaultSubstitutions() const{ return m_defaultSubstitutions; }
296 
297     /**
298      * <p>The JSON object that specifies the default values that are used for message
299      * variables in the message template. This object is a set of key-value pairs. Each
300      * key defines a message variable in the template. The corresponding value defines
301      * the default value for that variable.</p>
302      */
DefaultSubstitutionsHasBeenSet()303     inline bool DefaultSubstitutionsHasBeenSet() const { return m_defaultSubstitutionsHasBeenSet; }
304 
305     /**
306      * <p>The JSON object that specifies the default values that are used for message
307      * variables in the message template. This object is a set of key-value pairs. Each
308      * key defines a message variable in the template. The corresponding value defines
309      * the default value for that variable.</p>
310      */
SetDefaultSubstitutions(const Aws::String & value)311     inline void SetDefaultSubstitutions(const Aws::String& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = value; }
312 
313     /**
314      * <p>The JSON object that specifies the default values that are used for message
315      * variables in the message template. This object is a set of key-value pairs. Each
316      * key defines a message variable in the template. The corresponding value defines
317      * the default value for that variable.</p>
318      */
SetDefaultSubstitutions(Aws::String && value)319     inline void SetDefaultSubstitutions(Aws::String&& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = std::move(value); }
320 
321     /**
322      * <p>The JSON object that specifies the default values that are used for message
323      * variables in the message template. This object is a set of key-value pairs. Each
324      * key defines a message variable in the template. The corresponding value defines
325      * the default value for that variable.</p>
326      */
SetDefaultSubstitutions(const char * value)327     inline void SetDefaultSubstitutions(const char* value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions.assign(value); }
328 
329     /**
330      * <p>The JSON object that specifies the default values that are used for message
331      * variables in the message template. This object is a set of key-value pairs. Each
332      * key defines a message variable in the template. The corresponding value defines
333      * the default value for that variable.</p>
334      */
WithDefaultSubstitutions(const Aws::String & value)335     inline PushNotificationTemplateResponse& WithDefaultSubstitutions(const Aws::String& value) { SetDefaultSubstitutions(value); return *this;}
336 
337     /**
338      * <p>The JSON object that specifies the default values that are used for message
339      * variables in the message template. This object is a set of key-value pairs. Each
340      * key defines a message variable in the template. The corresponding value defines
341      * the default value for that variable.</p>
342      */
WithDefaultSubstitutions(Aws::String && value)343     inline PushNotificationTemplateResponse& WithDefaultSubstitutions(Aws::String&& value) { SetDefaultSubstitutions(std::move(value)); return *this;}
344 
345     /**
346      * <p>The JSON object that specifies the default values that are used for message
347      * variables in the message template. This object is a set of key-value pairs. Each
348      * key defines a message variable in the template. The corresponding value defines
349      * the default value for that variable.</p>
350      */
WithDefaultSubstitutions(const char * value)351     inline PushNotificationTemplateResponse& WithDefaultSubstitutions(const char* value) { SetDefaultSubstitutions(value); return *this;}
352 
353 
354     /**
355      * <p>The message template that's used for the GCM channel, which is used to send
356      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
357      * Messaging (GCM), service. This message template overrides the default template
358      * for push notification channels (DefaultPushNotificationTemplate).</p>
359      */
GetGCM()360     inline const AndroidPushNotificationTemplate& GetGCM() const{ return m_gCM; }
361 
362     /**
363      * <p>The message template that's used for the GCM channel, which is used to send
364      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
365      * Messaging (GCM), service. This message template overrides the default template
366      * for push notification channels (DefaultPushNotificationTemplate).</p>
367      */
GCMHasBeenSet()368     inline bool GCMHasBeenSet() const { return m_gCMHasBeenSet; }
369 
370     /**
371      * <p>The message template that's used for the GCM channel, which is used to send
372      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
373      * Messaging (GCM), service. This message template overrides the default template
374      * for push notification channels (DefaultPushNotificationTemplate).</p>
375      */
SetGCM(const AndroidPushNotificationTemplate & value)376     inline void SetGCM(const AndroidPushNotificationTemplate& value) { m_gCMHasBeenSet = true; m_gCM = value; }
377 
378     /**
379      * <p>The message template that's used for the GCM channel, which is used to send
380      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
381      * Messaging (GCM), service. This message template overrides the default template
382      * for push notification channels (DefaultPushNotificationTemplate).</p>
383      */
SetGCM(AndroidPushNotificationTemplate && value)384     inline void SetGCM(AndroidPushNotificationTemplate&& value) { m_gCMHasBeenSet = true; m_gCM = std::move(value); }
385 
386     /**
387      * <p>The message template that's used for the GCM channel, which is used to send
388      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
389      * Messaging (GCM), service. This message template overrides the default template
390      * for push notification channels (DefaultPushNotificationTemplate).</p>
391      */
WithGCM(const AndroidPushNotificationTemplate & value)392     inline PushNotificationTemplateResponse& WithGCM(const AndroidPushNotificationTemplate& value) { SetGCM(value); return *this;}
393 
394     /**
395      * <p>The message template that's used for the GCM channel, which is used to send
396      * notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud
397      * Messaging (GCM), service. This message template overrides the default template
398      * for push notification channels (DefaultPushNotificationTemplate).</p>
399      */
WithGCM(AndroidPushNotificationTemplate && value)400     inline PushNotificationTemplateResponse& WithGCM(AndroidPushNotificationTemplate&& value) { SetGCM(std::move(value)); return *this;}
401 
402 
403     /**
404      * <p>The date, in ISO 8601 format, when the message template was last
405      * modified.</p>
406      */
GetLastModifiedDate()407     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
408 
409     /**
410      * <p>The date, in ISO 8601 format, when the message template was last
411      * modified.</p>
412      */
LastModifiedDateHasBeenSet()413     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
414 
415     /**
416      * <p>The date, in ISO 8601 format, when the message template was last
417      * modified.</p>
418      */
SetLastModifiedDate(const Aws::String & value)419     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
420 
421     /**
422      * <p>The date, in ISO 8601 format, when the message template was last
423      * modified.</p>
424      */
SetLastModifiedDate(Aws::String && value)425     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
426 
427     /**
428      * <p>The date, in ISO 8601 format, when the message template was last
429      * modified.</p>
430      */
SetLastModifiedDate(const char * value)431     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
432 
433     /**
434      * <p>The date, in ISO 8601 format, when the message template was last
435      * modified.</p>
436      */
WithLastModifiedDate(const Aws::String & value)437     inline PushNotificationTemplateResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
438 
439     /**
440      * <p>The date, in ISO 8601 format, when the message template was last
441      * modified.</p>
442      */
WithLastModifiedDate(Aws::String && value)443     inline PushNotificationTemplateResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
444 
445     /**
446      * <p>The date, in ISO 8601 format, when the message template was last
447      * modified.</p>
448      */
WithLastModifiedDate(const char * value)449     inline PushNotificationTemplateResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
450 
451 
452     /**
453      * <p>The unique identifier for the recommender model that's used by the message
454      * template.</p>
455      */
GetRecommenderId()456     inline const Aws::String& GetRecommenderId() const{ return m_recommenderId; }
457 
458     /**
459      * <p>The unique identifier for the recommender model that's used by the message
460      * template.</p>
461      */
RecommenderIdHasBeenSet()462     inline bool RecommenderIdHasBeenSet() const { return m_recommenderIdHasBeenSet; }
463 
464     /**
465      * <p>The unique identifier for the recommender model that's used by the message
466      * template.</p>
467      */
SetRecommenderId(const Aws::String & value)468     inline void SetRecommenderId(const Aws::String& value) { m_recommenderIdHasBeenSet = true; m_recommenderId = value; }
469 
470     /**
471      * <p>The unique identifier for the recommender model that's used by the message
472      * template.</p>
473      */
SetRecommenderId(Aws::String && value)474     inline void SetRecommenderId(Aws::String&& value) { m_recommenderIdHasBeenSet = true; m_recommenderId = std::move(value); }
475 
476     /**
477      * <p>The unique identifier for the recommender model that's used by the message
478      * template.</p>
479      */
SetRecommenderId(const char * value)480     inline void SetRecommenderId(const char* value) { m_recommenderIdHasBeenSet = true; m_recommenderId.assign(value); }
481 
482     /**
483      * <p>The unique identifier for the recommender model that's used by the message
484      * template.</p>
485      */
WithRecommenderId(const Aws::String & value)486     inline PushNotificationTemplateResponse& WithRecommenderId(const Aws::String& value) { SetRecommenderId(value); return *this;}
487 
488     /**
489      * <p>The unique identifier for the recommender model that's used by the message
490      * template.</p>
491      */
WithRecommenderId(Aws::String && value)492     inline PushNotificationTemplateResponse& WithRecommenderId(Aws::String&& value) { SetRecommenderId(std::move(value)); return *this;}
493 
494     /**
495      * <p>The unique identifier for the recommender model that's used by the message
496      * template.</p>
497      */
WithRecommenderId(const char * value)498     inline PushNotificationTemplateResponse& WithRecommenderId(const char* value) { SetRecommenderId(value); return *this;}
499 
500 
501     /**
502      * <p>A string-to-string map of key-value pairs that identifies the tags that are
503      * associated with the message template. Each tag consists of a required tag key
504      * and an associated tag value.</p>
505      */
GetTags()506     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
507 
508     /**
509      * <p>A string-to-string map of key-value pairs that identifies the tags that are
510      * associated with the message template. Each tag consists of a required tag key
511      * and an associated tag value.</p>
512      */
TagsHasBeenSet()513     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
514 
515     /**
516      * <p>A string-to-string map of key-value pairs that identifies the tags that are
517      * associated with the message template. Each tag consists of a required tag key
518      * and an associated tag value.</p>
519      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)520     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
521 
522     /**
523      * <p>A string-to-string map of key-value pairs that identifies the tags that are
524      * associated with the message template. Each tag consists of a required tag key
525      * and an associated tag value.</p>
526      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)527     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
528 
529     /**
530      * <p>A string-to-string map of key-value pairs that identifies the tags that are
531      * associated with the message template. Each tag consists of a required tag key
532      * and an associated tag value.</p>
533      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)534     inline PushNotificationTemplateResponse& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
535 
536     /**
537      * <p>A string-to-string map of key-value pairs that identifies the tags that are
538      * associated with the message template. Each tag consists of a required tag key
539      * and an associated tag value.</p>
540      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)541     inline PushNotificationTemplateResponse& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
542 
543     /**
544      * <p>A string-to-string map of key-value pairs that identifies the tags that are
545      * associated with the message template. Each tag consists of a required tag key
546      * and an associated tag value.</p>
547      */
AddTags(const Aws::String & key,const Aws::String & value)548     inline PushNotificationTemplateResponse& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
549 
550     /**
551      * <p>A string-to-string map of key-value pairs that identifies the tags that are
552      * associated with the message template. Each tag consists of a required tag key
553      * and an associated tag value.</p>
554      */
AddTags(Aws::String && key,const Aws::String & value)555     inline PushNotificationTemplateResponse& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
556 
557     /**
558      * <p>A string-to-string map of key-value pairs that identifies the tags that are
559      * associated with the message template. Each tag consists of a required tag key
560      * and an associated tag value.</p>
561      */
AddTags(const Aws::String & key,Aws::String && value)562     inline PushNotificationTemplateResponse& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
563 
564     /**
565      * <p>A string-to-string map of key-value pairs that identifies the tags that are
566      * associated with the message template. Each tag consists of a required tag key
567      * and an associated tag value.</p>
568      */
AddTags(Aws::String && key,Aws::String && value)569     inline PushNotificationTemplateResponse& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
570 
571     /**
572      * <p>A string-to-string map of key-value pairs that identifies the tags that are
573      * associated with the message template. Each tag consists of a required tag key
574      * and an associated tag value.</p>
575      */
AddTags(const char * key,Aws::String && value)576     inline PushNotificationTemplateResponse& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
577 
578     /**
579      * <p>A string-to-string map of key-value pairs that identifies the tags that are
580      * associated with the message template. Each tag consists of a required tag key
581      * and an associated tag value.</p>
582      */
AddTags(Aws::String && key,const char * value)583     inline PushNotificationTemplateResponse& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
584 
585     /**
586      * <p>A string-to-string map of key-value pairs that identifies the tags that are
587      * associated with the message template. Each tag consists of a required tag key
588      * and an associated tag value.</p>
589      */
AddTags(const char * key,const char * value)590     inline PushNotificationTemplateResponse& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
591 
592 
593     /**
594      * <p>The custom description of the message template.</p>
595      */
GetTemplateDescription()596     inline const Aws::String& GetTemplateDescription() const{ return m_templateDescription; }
597 
598     /**
599      * <p>The custom description of the message template.</p>
600      */
TemplateDescriptionHasBeenSet()601     inline bool TemplateDescriptionHasBeenSet() const { return m_templateDescriptionHasBeenSet; }
602 
603     /**
604      * <p>The custom description of the message template.</p>
605      */
SetTemplateDescription(const Aws::String & value)606     inline void SetTemplateDescription(const Aws::String& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = value; }
607 
608     /**
609      * <p>The custom description of the message template.</p>
610      */
SetTemplateDescription(Aws::String && value)611     inline void SetTemplateDescription(Aws::String&& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = std::move(value); }
612 
613     /**
614      * <p>The custom description of the message template.</p>
615      */
SetTemplateDescription(const char * value)616     inline void SetTemplateDescription(const char* value) { m_templateDescriptionHasBeenSet = true; m_templateDescription.assign(value); }
617 
618     /**
619      * <p>The custom description of the message template.</p>
620      */
WithTemplateDescription(const Aws::String & value)621     inline PushNotificationTemplateResponse& WithTemplateDescription(const Aws::String& value) { SetTemplateDescription(value); return *this;}
622 
623     /**
624      * <p>The custom description of the message template.</p>
625      */
WithTemplateDescription(Aws::String && value)626     inline PushNotificationTemplateResponse& WithTemplateDescription(Aws::String&& value) { SetTemplateDescription(std::move(value)); return *this;}
627 
628     /**
629      * <p>The custom description of the message template.</p>
630      */
WithTemplateDescription(const char * value)631     inline PushNotificationTemplateResponse& WithTemplateDescription(const char* value) { SetTemplateDescription(value); return *this;}
632 
633 
634     /**
635      * <p>The name of the message template.</p>
636      */
GetTemplateName()637     inline const Aws::String& GetTemplateName() const{ return m_templateName; }
638 
639     /**
640      * <p>The name of the message template.</p>
641      */
TemplateNameHasBeenSet()642     inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; }
643 
644     /**
645      * <p>The name of the message template.</p>
646      */
SetTemplateName(const Aws::String & value)647     inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; }
648 
649     /**
650      * <p>The name of the message template.</p>
651      */
SetTemplateName(Aws::String && value)652     inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); }
653 
654     /**
655      * <p>The name of the message template.</p>
656      */
SetTemplateName(const char * value)657     inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); }
658 
659     /**
660      * <p>The name of the message template.</p>
661      */
WithTemplateName(const Aws::String & value)662     inline PushNotificationTemplateResponse& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;}
663 
664     /**
665      * <p>The name of the message template.</p>
666      */
WithTemplateName(Aws::String && value)667     inline PushNotificationTemplateResponse& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;}
668 
669     /**
670      * <p>The name of the message template.</p>
671      */
WithTemplateName(const char * value)672     inline PushNotificationTemplateResponse& WithTemplateName(const char* value) { SetTemplateName(value); return *this;}
673 
674 
675     /**
676      * <p>The type of channel that the message template is designed for. For a push
677      * notification template, this value is PUSH.</p>
678      */
GetTemplateType()679     inline const TemplateType& GetTemplateType() const{ return m_templateType; }
680 
681     /**
682      * <p>The type of channel that the message template is designed for. For a push
683      * notification template, this value is PUSH.</p>
684      */
TemplateTypeHasBeenSet()685     inline bool TemplateTypeHasBeenSet() const { return m_templateTypeHasBeenSet; }
686 
687     /**
688      * <p>The type of channel that the message template is designed for. For a push
689      * notification template, this value is PUSH.</p>
690      */
SetTemplateType(const TemplateType & value)691     inline void SetTemplateType(const TemplateType& value) { m_templateTypeHasBeenSet = true; m_templateType = value; }
692 
693     /**
694      * <p>The type of channel that the message template is designed for. For a push
695      * notification template, this value is PUSH.</p>
696      */
SetTemplateType(TemplateType && value)697     inline void SetTemplateType(TemplateType&& value) { m_templateTypeHasBeenSet = true; m_templateType = std::move(value); }
698 
699     /**
700      * <p>The type of channel that the message template is designed for. For a push
701      * notification template, this value is PUSH.</p>
702      */
WithTemplateType(const TemplateType & value)703     inline PushNotificationTemplateResponse& WithTemplateType(const TemplateType& value) { SetTemplateType(value); return *this;}
704 
705     /**
706      * <p>The type of channel that the message template is designed for. For a push
707      * notification template, this value is PUSH.</p>
708      */
WithTemplateType(TemplateType && value)709     inline PushNotificationTemplateResponse& WithTemplateType(TemplateType&& value) { SetTemplateType(std::move(value)); return *this;}
710 
711 
712     /**
713      * <p>The unique identifier, as an integer, for the active version of the message
714      * template, or the version of the template that you specified by using the version
715      * parameter in your request.</p>
716      */
GetVersion()717     inline const Aws::String& GetVersion() const{ return m_version; }
718 
719     /**
720      * <p>The unique identifier, as an integer, for the active version of the message
721      * template, or the version of the template that you specified by using the version
722      * parameter in your request.</p>
723      */
VersionHasBeenSet()724     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
725 
726     /**
727      * <p>The unique identifier, as an integer, for the active version of the message
728      * template, or the version of the template that you specified by using the version
729      * parameter in your request.</p>
730      */
SetVersion(const Aws::String & value)731     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
732 
733     /**
734      * <p>The unique identifier, as an integer, for the active version of the message
735      * template, or the version of the template that you specified by using the version
736      * parameter in your request.</p>
737      */
SetVersion(Aws::String && value)738     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
739 
740     /**
741      * <p>The unique identifier, as an integer, for the active version of the message
742      * template, or the version of the template that you specified by using the version
743      * parameter in your request.</p>
744      */
SetVersion(const char * value)745     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
746 
747     /**
748      * <p>The unique identifier, as an integer, for the active version of the message
749      * template, or the version of the template that you specified by using the version
750      * parameter in your request.</p>
751      */
WithVersion(const Aws::String & value)752     inline PushNotificationTemplateResponse& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
753 
754     /**
755      * <p>The unique identifier, as an integer, for the active version of the message
756      * template, or the version of the template that you specified by using the version
757      * parameter in your request.</p>
758      */
WithVersion(Aws::String && value)759     inline PushNotificationTemplateResponse& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
760 
761     /**
762      * <p>The unique identifier, as an integer, for the active version of the message
763      * template, or the version of the template that you specified by using the version
764      * parameter in your request.</p>
765      */
WithVersion(const char * value)766     inline PushNotificationTemplateResponse& WithVersion(const char* value) { SetVersion(value); return *this;}
767 
768   private:
769 
770     AndroidPushNotificationTemplate m_aDM;
771     bool m_aDMHasBeenSet;
772 
773     APNSPushNotificationTemplate m_aPNS;
774     bool m_aPNSHasBeenSet;
775 
776     Aws::String m_arn;
777     bool m_arnHasBeenSet;
778 
779     AndroidPushNotificationTemplate m_baidu;
780     bool m_baiduHasBeenSet;
781 
782     Aws::String m_creationDate;
783     bool m_creationDateHasBeenSet;
784 
785     DefaultPushNotificationTemplate m_default;
786     bool m_defaultHasBeenSet;
787 
788     Aws::String m_defaultSubstitutions;
789     bool m_defaultSubstitutionsHasBeenSet;
790 
791     AndroidPushNotificationTemplate m_gCM;
792     bool m_gCMHasBeenSet;
793 
794     Aws::String m_lastModifiedDate;
795     bool m_lastModifiedDateHasBeenSet;
796 
797     Aws::String m_recommenderId;
798     bool m_recommenderIdHasBeenSet;
799 
800     Aws::Map<Aws::String, Aws::String> m_tags;
801     bool m_tagsHasBeenSet;
802 
803     Aws::String m_templateDescription;
804     bool m_templateDescriptionHasBeenSet;
805 
806     Aws::String m_templateName;
807     bool m_templateNameHasBeenSet;
808 
809     TemplateType m_templateType;
810     bool m_templateTypeHasBeenSet;
811 
812     Aws::String m_version;
813     bool m_versionHasBeenSet;
814   };
815 
816 } // namespace Model
817 } // namespace Pinpoint
818 } // namespace Aws
819