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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSMap.h>
10 #include <aws/pinpoint/model/TemplateType.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Pinpoint
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Provides information about a message template that's associated with your
30    * Amazon Pinpoint account.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TemplateResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_PINPOINT_API TemplateResponse
35   {
36   public:
37     TemplateResponse();
38     TemplateResponse(Aws::Utils::Json::JsonView jsonValue);
39     TemplateResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
45      * included in a TemplateResponse object. To retrieve the ARN of a template, use
46      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
47      * operation, depending on the type of template that you want to retrieve the ARN
48      * for.</p>
49      */
GetArn()50     inline const Aws::String& GetArn() const{ return m_arn; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
54      * included in a TemplateResponse object. To retrieve the ARN of a template, use
55      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
56      * operation, depending on the type of template that you want to retrieve the ARN
57      * for.</p>
58      */
ArnHasBeenSet()59     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
60 
61     /**
62      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
63      * included in a TemplateResponse object. To retrieve the ARN of a template, use
64      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
65      * operation, depending on the type of template that you want to retrieve the ARN
66      * for.</p>
67      */
SetArn(const Aws::String & value)68     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
69 
70     /**
71      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
72      * included in a TemplateResponse object. To retrieve the ARN of a template, use
73      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
74      * operation, depending on the type of template that you want to retrieve the ARN
75      * for.</p>
76      */
SetArn(Aws::String && value)77     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
81      * included in a TemplateResponse object. To retrieve the ARN of a template, use
82      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
83      * operation, depending on the type of template that you want to retrieve the ARN
84      * for.</p>
85      */
SetArn(const char * value)86     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
87 
88     /**
89      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
90      * included in a TemplateResponse object. To retrieve the ARN of a template, use
91      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
92      * operation, depending on the type of template that you want to retrieve the ARN
93      * for.</p>
94      */
WithArn(const Aws::String & value)95     inline TemplateResponse& WithArn(const Aws::String& value) { SetArn(value); return *this;}
96 
97     /**
98      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
99      * included in a TemplateResponse object. To retrieve the ARN of a template, use
100      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
101      * operation, depending on the type of template that you want to retrieve the ARN
102      * for.</p>
103      */
WithArn(Aws::String && value)104     inline TemplateResponse& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
105 
106     /**
107      * <p>The Amazon Resource Name (ARN) of the message template. This value isn't
108      * included in a TemplateResponse object. To retrieve the ARN of a template, use
109      * the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
110      * operation, depending on the type of template that you want to retrieve the ARN
111      * for.</p>
112      */
WithArn(const char * value)113     inline TemplateResponse& WithArn(const char* value) { SetArn(value); return *this;}
114 
115 
116     /**
117      * <p>The date, in ISO 8601 format, when the message template was created.</p>
118      */
GetCreationDate()119     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
120 
121     /**
122      * <p>The date, in ISO 8601 format, when the message template was created.</p>
123      */
CreationDateHasBeenSet()124     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
125 
126     /**
127      * <p>The date, in ISO 8601 format, when the message template was created.</p>
128      */
SetCreationDate(const Aws::String & value)129     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
130 
131     /**
132      * <p>The date, in ISO 8601 format, when the message template was created.</p>
133      */
SetCreationDate(Aws::String && value)134     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
135 
136     /**
137      * <p>The date, in ISO 8601 format, when the message template was created.</p>
138      */
SetCreationDate(const char * value)139     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
140 
141     /**
142      * <p>The date, in ISO 8601 format, when the message template was created.</p>
143      */
WithCreationDate(const Aws::String & value)144     inline TemplateResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
145 
146     /**
147      * <p>The date, in ISO 8601 format, when the message template was created.</p>
148      */
WithCreationDate(Aws::String && value)149     inline TemplateResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
150 
151     /**
152      * <p>The date, in ISO 8601 format, when the message template was created.</p>
153      */
WithCreationDate(const char * value)154     inline TemplateResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
155 
156 
157     /**
158      * <p>The JSON object that specifies the default values that are used for message
159      * variables in the message template. This object isn't included in a
160      * TemplateResponse object. To retrieve this object for a template, use the
161      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
162      * operation, depending on the type of template that you want to retrieve the
163      * object for.</p>
164      */
GetDefaultSubstitutions()165     inline const Aws::String& GetDefaultSubstitutions() const{ return m_defaultSubstitutions; }
166 
167     /**
168      * <p>The JSON object that specifies the default values that are used for message
169      * variables in the message template. This object isn't included in a
170      * TemplateResponse object. To retrieve this object for a template, use the
171      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
172      * operation, depending on the type of template that you want to retrieve the
173      * object for.</p>
174      */
DefaultSubstitutionsHasBeenSet()175     inline bool DefaultSubstitutionsHasBeenSet() const { return m_defaultSubstitutionsHasBeenSet; }
176 
177     /**
178      * <p>The JSON object that specifies the default values that are used for message
179      * variables in the message template. This object isn't included in a
180      * TemplateResponse object. To retrieve this object for a template, use the
181      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
182      * operation, depending on the type of template that you want to retrieve the
183      * object for.</p>
184      */
SetDefaultSubstitutions(const Aws::String & value)185     inline void SetDefaultSubstitutions(const Aws::String& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = value; }
186 
187     /**
188      * <p>The JSON object that specifies the default values that are used for message
189      * variables in the message template. This object isn't included in a
190      * TemplateResponse object. To retrieve this object for a template, use the
191      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
192      * operation, depending on the type of template that you want to retrieve the
193      * object for.</p>
194      */
SetDefaultSubstitutions(Aws::String && value)195     inline void SetDefaultSubstitutions(Aws::String&& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = std::move(value); }
196 
197     /**
198      * <p>The JSON object that specifies the default values that are used for message
199      * variables in the message template. This object isn't included in a
200      * TemplateResponse object. To retrieve this object for a template, use the
201      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
202      * operation, depending on the type of template that you want to retrieve the
203      * object for.</p>
204      */
SetDefaultSubstitutions(const char * value)205     inline void SetDefaultSubstitutions(const char* value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions.assign(value); }
206 
207     /**
208      * <p>The JSON object that specifies the default values that are used for message
209      * variables in the message template. This object isn't included in a
210      * TemplateResponse object. To retrieve this object for a template, use the
211      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
212      * operation, depending on the type of template that you want to retrieve the
213      * object for.</p>
214      */
WithDefaultSubstitutions(const Aws::String & value)215     inline TemplateResponse& WithDefaultSubstitutions(const Aws::String& value) { SetDefaultSubstitutions(value); return *this;}
216 
217     /**
218      * <p>The JSON object that specifies the default values that are used for message
219      * variables in the message template. This object isn't included in a
220      * TemplateResponse object. To retrieve this object for a template, use the
221      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
222      * operation, depending on the type of template that you want to retrieve the
223      * object for.</p>
224      */
WithDefaultSubstitutions(Aws::String && value)225     inline TemplateResponse& WithDefaultSubstitutions(Aws::String&& value) { SetDefaultSubstitutions(std::move(value)); return *this;}
226 
227     /**
228      * <p>The JSON object that specifies the default values that are used for message
229      * variables in the message template. This object isn't included in a
230      * TemplateResponse object. To retrieve this object for a template, use the
231      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
232      * operation, depending on the type of template that you want to retrieve the
233      * object for.</p>
234      */
WithDefaultSubstitutions(const char * value)235     inline TemplateResponse& WithDefaultSubstitutions(const char* value) { SetDefaultSubstitutions(value); return *this;}
236 
237 
238     /**
239      * <p>The date, in ISO 8601 format, when the message template was last
240      * modified.</p>
241      */
GetLastModifiedDate()242     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
243 
244     /**
245      * <p>The date, in ISO 8601 format, when the message template was last
246      * modified.</p>
247      */
LastModifiedDateHasBeenSet()248     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
249 
250     /**
251      * <p>The date, in ISO 8601 format, when the message template was last
252      * modified.</p>
253      */
SetLastModifiedDate(const Aws::String & value)254     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
255 
256     /**
257      * <p>The date, in ISO 8601 format, when the message template was last
258      * modified.</p>
259      */
SetLastModifiedDate(Aws::String && value)260     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
261 
262     /**
263      * <p>The date, in ISO 8601 format, when the message template was last
264      * modified.</p>
265      */
SetLastModifiedDate(const char * value)266     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
267 
268     /**
269      * <p>The date, in ISO 8601 format, when the message template was last
270      * modified.</p>
271      */
WithLastModifiedDate(const Aws::String & value)272     inline TemplateResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
273 
274     /**
275      * <p>The date, in ISO 8601 format, when the message template was last
276      * modified.</p>
277      */
WithLastModifiedDate(Aws::String && value)278     inline TemplateResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
279 
280     /**
281      * <p>The date, in ISO 8601 format, when the message template was last
282      * modified.</p>
283      */
WithLastModifiedDate(const char * value)284     inline TemplateResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
285 
286 
287     /**
288      * <p>A map of key-value pairs that identifies the tags that are associated with
289      * the message template. This object isn't included in a TemplateResponse object.
290      * To retrieve this object for a template, use the GetEmailTemplate,
291      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
292      * type of template that you want to retrieve the object for.</p>
293      */
GetTags()294     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
295 
296     /**
297      * <p>A map of key-value pairs that identifies the tags that are associated with
298      * the message template. This object isn't included in a TemplateResponse object.
299      * To retrieve this object for a template, use the GetEmailTemplate,
300      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
301      * type of template that you want to retrieve the object for.</p>
302      */
TagsHasBeenSet()303     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
304 
305     /**
306      * <p>A map of key-value pairs that identifies the tags that are associated with
307      * the message template. This object isn't included in a TemplateResponse object.
308      * To retrieve this object for a template, use the GetEmailTemplate,
309      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
310      * type of template that you want to retrieve the object for.</p>
311      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)312     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tagsHasBeenSet = true; m_tags = value; }
313 
314     /**
315      * <p>A map of key-value pairs that identifies the tags that are associated with
316      * the message template. This object isn't included in a TemplateResponse object.
317      * To retrieve this object for a template, use the GetEmailTemplate,
318      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
319      * type of template that you want to retrieve the object for.</p>
320      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)321     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
322 
323     /**
324      * <p>A map of key-value pairs that identifies the tags that are associated with
325      * the message template. This object isn't included in a TemplateResponse object.
326      * To retrieve this object for a template, use the GetEmailTemplate,
327      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
328      * type of template that you want to retrieve the object for.</p>
329      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)330     inline TemplateResponse& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
331 
332     /**
333      * <p>A map of key-value pairs that identifies the tags that are associated with
334      * the message template. This object isn't included in a TemplateResponse object.
335      * To retrieve this object for a template, use the GetEmailTemplate,
336      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
337      * type of template that you want to retrieve the object for.</p>
338      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)339     inline TemplateResponse& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
340 
341     /**
342      * <p>A map of key-value pairs that identifies the tags that are associated with
343      * the message template. This object isn't included in a TemplateResponse object.
344      * To retrieve this object for a template, use the GetEmailTemplate,
345      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
346      * type of template that you want to retrieve the object for.</p>
347      */
AddTags(const Aws::String & key,const Aws::String & value)348     inline TemplateResponse& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
349 
350     /**
351      * <p>A map of key-value pairs that identifies the tags that are associated with
352      * the message template. This object isn't included in a TemplateResponse object.
353      * To retrieve this object for a template, use the GetEmailTemplate,
354      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
355      * type of template that you want to retrieve the object for.</p>
356      */
AddTags(Aws::String && key,const Aws::String & value)357     inline TemplateResponse& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
358 
359     /**
360      * <p>A map of key-value pairs that identifies the tags that are associated with
361      * the message template. This object isn't included in a TemplateResponse object.
362      * To retrieve this object for a template, use the GetEmailTemplate,
363      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
364      * type of template that you want to retrieve the object for.</p>
365      */
AddTags(const Aws::String & key,Aws::String && value)366     inline TemplateResponse& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
367 
368     /**
369      * <p>A map of key-value pairs that identifies the tags that are associated with
370      * the message template. This object isn't included in a TemplateResponse object.
371      * To retrieve this object for a template, use the GetEmailTemplate,
372      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
373      * type of template that you want to retrieve the object for.</p>
374      */
AddTags(Aws::String && key,Aws::String && value)375     inline TemplateResponse& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; }
376 
377     /**
378      * <p>A map of key-value pairs that identifies the tags that are associated with
379      * the message template. This object isn't included in a TemplateResponse object.
380      * To retrieve this object for a template, use the GetEmailTemplate,
381      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
382      * type of template that you want to retrieve the object for.</p>
383      */
AddTags(const char * key,Aws::String && value)384     inline TemplateResponse& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; }
385 
386     /**
387      * <p>A map of key-value pairs that identifies the tags that are associated with
388      * the message template. This object isn't included in a TemplateResponse object.
389      * To retrieve this object for a template, use the GetEmailTemplate,
390      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
391      * type of template that you want to retrieve the object for.</p>
392      */
AddTags(Aws::String && key,const char * value)393     inline TemplateResponse& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; }
394 
395     /**
396      * <p>A map of key-value pairs that identifies the tags that are associated with
397      * the message template. This object isn't included in a TemplateResponse object.
398      * To retrieve this object for a template, use the GetEmailTemplate,
399      * GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the
400      * type of template that you want to retrieve the object for.</p>
401      */
AddTags(const char * key,const char * value)402     inline TemplateResponse& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; }
403 
404 
405     /**
406      * <p>The custom description of the message template. This value isn't included in
407      * a TemplateResponse object. To retrieve the description of a template, use the
408      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
409      * operation, depending on the type of template that you want to retrieve the
410      * description for.</p>
411      */
GetTemplateDescription()412     inline const Aws::String& GetTemplateDescription() const{ return m_templateDescription; }
413 
414     /**
415      * <p>The custom description of the message template. This value isn't included in
416      * a TemplateResponse object. To retrieve the description of a template, use the
417      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
418      * operation, depending on the type of template that you want to retrieve the
419      * description for.</p>
420      */
TemplateDescriptionHasBeenSet()421     inline bool TemplateDescriptionHasBeenSet() const { return m_templateDescriptionHasBeenSet; }
422 
423     /**
424      * <p>The custom description of the message template. This value isn't included in
425      * a TemplateResponse object. To retrieve the description of a template, use the
426      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
427      * operation, depending on the type of template that you want to retrieve the
428      * description for.</p>
429      */
SetTemplateDescription(const Aws::String & value)430     inline void SetTemplateDescription(const Aws::String& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = value; }
431 
432     /**
433      * <p>The custom description of the message template. This value isn't included in
434      * a TemplateResponse object. To retrieve the description of a template, use the
435      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
436      * operation, depending on the type of template that you want to retrieve the
437      * description for.</p>
438      */
SetTemplateDescription(Aws::String && value)439     inline void SetTemplateDescription(Aws::String&& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = std::move(value); }
440 
441     /**
442      * <p>The custom description of the message template. This value isn't included in
443      * a TemplateResponse object. To retrieve the description of a template, use the
444      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
445      * operation, depending on the type of template that you want to retrieve the
446      * description for.</p>
447      */
SetTemplateDescription(const char * value)448     inline void SetTemplateDescription(const char* value) { m_templateDescriptionHasBeenSet = true; m_templateDescription.assign(value); }
449 
450     /**
451      * <p>The custom description of the message template. This value isn't included in
452      * a TemplateResponse object. To retrieve the description of a template, use the
453      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
454      * operation, depending on the type of template that you want to retrieve the
455      * description for.</p>
456      */
WithTemplateDescription(const Aws::String & value)457     inline TemplateResponse& WithTemplateDescription(const Aws::String& value) { SetTemplateDescription(value); return *this;}
458 
459     /**
460      * <p>The custom description of the message template. This value isn't included in
461      * a TemplateResponse object. To retrieve the description of a template, use the
462      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
463      * operation, depending on the type of template that you want to retrieve the
464      * description for.</p>
465      */
WithTemplateDescription(Aws::String && value)466     inline TemplateResponse& WithTemplateDescription(Aws::String&& value) { SetTemplateDescription(std::move(value)); return *this;}
467 
468     /**
469      * <p>The custom description of the message template. This value isn't included in
470      * a TemplateResponse object. To retrieve the description of a template, use the
471      * GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate
472      * operation, depending on the type of template that you want to retrieve the
473      * description for.</p>
474      */
WithTemplateDescription(const char * value)475     inline TemplateResponse& WithTemplateDescription(const char* value) { SetTemplateDescription(value); return *this;}
476 
477 
478     /**
479      * <p>The name of the message template.</p>
480      */
GetTemplateName()481     inline const Aws::String& GetTemplateName() const{ return m_templateName; }
482 
483     /**
484      * <p>The name of the message template.</p>
485      */
TemplateNameHasBeenSet()486     inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; }
487 
488     /**
489      * <p>The name of the message template.</p>
490      */
SetTemplateName(const Aws::String & value)491     inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; }
492 
493     /**
494      * <p>The name of the message template.</p>
495      */
SetTemplateName(Aws::String && value)496     inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); }
497 
498     /**
499      * <p>The name of the message template.</p>
500      */
SetTemplateName(const char * value)501     inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); }
502 
503     /**
504      * <p>The name of the message template.</p>
505      */
WithTemplateName(const Aws::String & value)506     inline TemplateResponse& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;}
507 
508     /**
509      * <p>The name of the message template.</p>
510      */
WithTemplateName(Aws::String && value)511     inline TemplateResponse& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;}
512 
513     /**
514      * <p>The name of the message template.</p>
515      */
WithTemplateName(const char * value)516     inline TemplateResponse& WithTemplateName(const char* value) { SetTemplateName(value); return *this;}
517 
518 
519     /**
520      * <p>The type of channel that the message template is designed for. Possible
521      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
522      */
GetTemplateType()523     inline const TemplateType& GetTemplateType() const{ return m_templateType; }
524 
525     /**
526      * <p>The type of channel that the message template is designed for. Possible
527      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
528      */
TemplateTypeHasBeenSet()529     inline bool TemplateTypeHasBeenSet() const { return m_templateTypeHasBeenSet; }
530 
531     /**
532      * <p>The type of channel that the message template is designed for. Possible
533      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
534      */
SetTemplateType(const TemplateType & value)535     inline void SetTemplateType(const TemplateType& value) { m_templateTypeHasBeenSet = true; m_templateType = value; }
536 
537     /**
538      * <p>The type of channel that the message template is designed for. Possible
539      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
540      */
SetTemplateType(TemplateType && value)541     inline void SetTemplateType(TemplateType&& value) { m_templateTypeHasBeenSet = true; m_templateType = std::move(value); }
542 
543     /**
544      * <p>The type of channel that the message template is designed for. Possible
545      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
546      */
WithTemplateType(const TemplateType & value)547     inline TemplateResponse& WithTemplateType(const TemplateType& value) { SetTemplateType(value); return *this;}
548 
549     /**
550      * <p>The type of channel that the message template is designed for. Possible
551      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
552      */
WithTemplateType(TemplateType && value)553     inline TemplateResponse& WithTemplateType(TemplateType&& value) { SetTemplateType(std::move(value)); return *this;}
554 
555 
556     /**
557      * <p>The unique identifier, as an integer, for the active version of the message
558      * template.</p>
559      */
GetVersion()560     inline const Aws::String& GetVersion() const{ return m_version; }
561 
562     /**
563      * <p>The unique identifier, as an integer, for the active version of the message
564      * template.</p>
565      */
VersionHasBeenSet()566     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
567 
568     /**
569      * <p>The unique identifier, as an integer, for the active version of the message
570      * template.</p>
571      */
SetVersion(const Aws::String & value)572     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
573 
574     /**
575      * <p>The unique identifier, as an integer, for the active version of the message
576      * template.</p>
577      */
SetVersion(Aws::String && value)578     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
579 
580     /**
581      * <p>The unique identifier, as an integer, for the active version of the message
582      * template.</p>
583      */
SetVersion(const char * value)584     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
585 
586     /**
587      * <p>The unique identifier, as an integer, for the active version of the message
588      * template.</p>
589      */
WithVersion(const Aws::String & value)590     inline TemplateResponse& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
591 
592     /**
593      * <p>The unique identifier, as an integer, for the active version of the message
594      * template.</p>
595      */
WithVersion(Aws::String && value)596     inline TemplateResponse& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
597 
598     /**
599      * <p>The unique identifier, as an integer, for the active version of the message
600      * template.</p>
601      */
WithVersion(const char * value)602     inline TemplateResponse& WithVersion(const char* value) { SetVersion(value); return *this;}
603 
604   private:
605 
606     Aws::String m_arn;
607     bool m_arnHasBeenSet;
608 
609     Aws::String m_creationDate;
610     bool m_creationDateHasBeenSet;
611 
612     Aws::String m_defaultSubstitutions;
613     bool m_defaultSubstitutionsHasBeenSet;
614 
615     Aws::String m_lastModifiedDate;
616     bool m_lastModifiedDateHasBeenSet;
617 
618     Aws::Map<Aws::String, Aws::String> m_tags;
619     bool m_tagsHasBeenSet;
620 
621     Aws::String m_templateDescription;
622     bool m_templateDescriptionHasBeenSet;
623 
624     Aws::String m_templateName;
625     bool m_templateNameHasBeenSet;
626 
627     TemplateType m_templateType;
628     bool m_templateTypeHasBeenSet;
629 
630     Aws::String m_version;
631     bool m_versionHasBeenSet;
632   };
633 
634 } // namespace Model
635 } // namespace Pinpoint
636 } // namespace Aws
637