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