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 <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Pinpoint
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Provides information about a specific version of a message
28    * template.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/TemplateVersionResponse">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API TemplateVersionResponse
33   {
34   public:
35     TemplateVersionResponse();
36     TemplateVersionResponse(Aws::Utils::Json::JsonView jsonValue);
37     TemplateVersionResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The date, in ISO 8601 format, when the version of the message template was
43      * created.</p>
44      */
GetCreationDate()45     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
46 
47     /**
48      * <p>The date, in ISO 8601 format, when the version of the message template was
49      * created.</p>
50      */
CreationDateHasBeenSet()51     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
52 
53     /**
54      * <p>The date, in ISO 8601 format, when the version of the message template was
55      * created.</p>
56      */
SetCreationDate(const Aws::String & value)57     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
58 
59     /**
60      * <p>The date, in ISO 8601 format, when the version of the message template was
61      * created.</p>
62      */
SetCreationDate(Aws::String && value)63     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
64 
65     /**
66      * <p>The date, in ISO 8601 format, when the version of the message template was
67      * created.</p>
68      */
SetCreationDate(const char * value)69     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
70 
71     /**
72      * <p>The date, in ISO 8601 format, when the version of the message template was
73      * created.</p>
74      */
WithCreationDate(const Aws::String & value)75     inline TemplateVersionResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
76 
77     /**
78      * <p>The date, in ISO 8601 format, when the version of the message template was
79      * created.</p>
80      */
WithCreationDate(Aws::String && value)81     inline TemplateVersionResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
82 
83     /**
84      * <p>The date, in ISO 8601 format, when the version of the message template was
85      * created.</p>
86      */
WithCreationDate(const char * value)87     inline TemplateVersionResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
88 
89 
90     /**
91      * <p>A JSON object that specifies the default values that are used for message
92      * variables in the version of the message template. This object is a set of
93      * key-value pairs. Each key defines a message variable in the template. The
94      * corresponding value defines the default value for that variable.</p>
95      */
GetDefaultSubstitutions()96     inline const Aws::String& GetDefaultSubstitutions() const{ return m_defaultSubstitutions; }
97 
98     /**
99      * <p>A JSON object that specifies the default values that are used for message
100      * variables in the version of the message template. This object is a set of
101      * key-value pairs. Each key defines a message variable in the template. The
102      * corresponding value defines the default value for that variable.</p>
103      */
DefaultSubstitutionsHasBeenSet()104     inline bool DefaultSubstitutionsHasBeenSet() const { return m_defaultSubstitutionsHasBeenSet; }
105 
106     /**
107      * <p>A JSON object that specifies the default values that are used for message
108      * variables in the version of the message template. This object is a set of
109      * key-value pairs. Each key defines a message variable in the template. The
110      * corresponding value defines the default value for that variable.</p>
111      */
SetDefaultSubstitutions(const Aws::String & value)112     inline void SetDefaultSubstitutions(const Aws::String& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = value; }
113 
114     /**
115      * <p>A JSON object that specifies the default values that are used for message
116      * variables in the version of the message template. This object is a set of
117      * key-value pairs. Each key defines a message variable in the template. The
118      * corresponding value defines the default value for that variable.</p>
119      */
SetDefaultSubstitutions(Aws::String && value)120     inline void SetDefaultSubstitutions(Aws::String&& value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions = std::move(value); }
121 
122     /**
123      * <p>A JSON object that specifies the default values that are used for message
124      * variables in the version of the message template. This object is a set of
125      * key-value pairs. Each key defines a message variable in the template. The
126      * corresponding value defines the default value for that variable.</p>
127      */
SetDefaultSubstitutions(const char * value)128     inline void SetDefaultSubstitutions(const char* value) { m_defaultSubstitutionsHasBeenSet = true; m_defaultSubstitutions.assign(value); }
129 
130     /**
131      * <p>A JSON object that specifies the default values that are used for message
132      * variables in the version of the message template. This object is a set of
133      * key-value pairs. Each key defines a message variable in the template. The
134      * corresponding value defines the default value for that variable.</p>
135      */
WithDefaultSubstitutions(const Aws::String & value)136     inline TemplateVersionResponse& WithDefaultSubstitutions(const Aws::String& value) { SetDefaultSubstitutions(value); return *this;}
137 
138     /**
139      * <p>A JSON object that specifies the default values that are used for message
140      * variables in the version of the message template. This object is a set of
141      * key-value pairs. Each key defines a message variable in the template. The
142      * corresponding value defines the default value for that variable.</p>
143      */
WithDefaultSubstitutions(Aws::String && value)144     inline TemplateVersionResponse& WithDefaultSubstitutions(Aws::String&& value) { SetDefaultSubstitutions(std::move(value)); return *this;}
145 
146     /**
147      * <p>A JSON object that specifies the default values that are used for message
148      * variables in the version of the message template. This object is a set of
149      * key-value pairs. Each key defines a message variable in the template. The
150      * corresponding value defines the default value for that variable.</p>
151      */
WithDefaultSubstitutions(const char * value)152     inline TemplateVersionResponse& WithDefaultSubstitutions(const char* value) { SetDefaultSubstitutions(value); return *this;}
153 
154 
155     /**
156      * <p>The date, in ISO 8601 format, when the version of the message template was
157      * last modified.</p>
158      */
GetLastModifiedDate()159     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
160 
161     /**
162      * <p>The date, in ISO 8601 format, when the version of the message template was
163      * last modified.</p>
164      */
LastModifiedDateHasBeenSet()165     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
166 
167     /**
168      * <p>The date, in ISO 8601 format, when the version of the message template was
169      * last modified.</p>
170      */
SetLastModifiedDate(const Aws::String & value)171     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
172 
173     /**
174      * <p>The date, in ISO 8601 format, when the version of the message template was
175      * last modified.</p>
176      */
SetLastModifiedDate(Aws::String && value)177     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
178 
179     /**
180      * <p>The date, in ISO 8601 format, when the version of the message template was
181      * last modified.</p>
182      */
SetLastModifiedDate(const char * value)183     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
184 
185     /**
186      * <p>The date, in ISO 8601 format, when the version of the message template was
187      * last modified.</p>
188      */
WithLastModifiedDate(const Aws::String & value)189     inline TemplateVersionResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
190 
191     /**
192      * <p>The date, in ISO 8601 format, when the version of the message template was
193      * last modified.</p>
194      */
WithLastModifiedDate(Aws::String && value)195     inline TemplateVersionResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
196 
197     /**
198      * <p>The date, in ISO 8601 format, when the version of the message template was
199      * last modified.</p>
200      */
WithLastModifiedDate(const char * value)201     inline TemplateVersionResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
202 
203 
204     /**
205      * <p>The custom description of the version of the message template.</p>
206      */
GetTemplateDescription()207     inline const Aws::String& GetTemplateDescription() const{ return m_templateDescription; }
208 
209     /**
210      * <p>The custom description of the version of the message template.</p>
211      */
TemplateDescriptionHasBeenSet()212     inline bool TemplateDescriptionHasBeenSet() const { return m_templateDescriptionHasBeenSet; }
213 
214     /**
215      * <p>The custom description of the version of the message template.</p>
216      */
SetTemplateDescription(const Aws::String & value)217     inline void SetTemplateDescription(const Aws::String& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = value; }
218 
219     /**
220      * <p>The custom description of the version of the message template.</p>
221      */
SetTemplateDescription(Aws::String && value)222     inline void SetTemplateDescription(Aws::String&& value) { m_templateDescriptionHasBeenSet = true; m_templateDescription = std::move(value); }
223 
224     /**
225      * <p>The custom description of the version of the message template.</p>
226      */
SetTemplateDescription(const char * value)227     inline void SetTemplateDescription(const char* value) { m_templateDescriptionHasBeenSet = true; m_templateDescription.assign(value); }
228 
229     /**
230      * <p>The custom description of the version of the message template.</p>
231      */
WithTemplateDescription(const Aws::String & value)232     inline TemplateVersionResponse& WithTemplateDescription(const Aws::String& value) { SetTemplateDescription(value); return *this;}
233 
234     /**
235      * <p>The custom description of the version of the message template.</p>
236      */
WithTemplateDescription(Aws::String && value)237     inline TemplateVersionResponse& WithTemplateDescription(Aws::String&& value) { SetTemplateDescription(std::move(value)); return *this;}
238 
239     /**
240      * <p>The custom description of the version of the message template.</p>
241      */
WithTemplateDescription(const char * value)242     inline TemplateVersionResponse& WithTemplateDescription(const char* value) { SetTemplateDescription(value); return *this;}
243 
244 
245     /**
246      * <p>The name of the message template.</p>
247      */
GetTemplateName()248     inline const Aws::String& GetTemplateName() const{ return m_templateName; }
249 
250     /**
251      * <p>The name of the message template.</p>
252      */
TemplateNameHasBeenSet()253     inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; }
254 
255     /**
256      * <p>The name of the message template.</p>
257      */
SetTemplateName(const Aws::String & value)258     inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; }
259 
260     /**
261      * <p>The name of the message template.</p>
262      */
SetTemplateName(Aws::String && value)263     inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); }
264 
265     /**
266      * <p>The name of the message template.</p>
267      */
SetTemplateName(const char * value)268     inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); }
269 
270     /**
271      * <p>The name of the message template.</p>
272      */
WithTemplateName(const Aws::String & value)273     inline TemplateVersionResponse& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;}
274 
275     /**
276      * <p>The name of the message template.</p>
277      */
WithTemplateName(Aws::String && value)278     inline TemplateVersionResponse& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;}
279 
280     /**
281      * <p>The name of the message template.</p>
282      */
WithTemplateName(const char * value)283     inline TemplateVersionResponse& WithTemplateName(const char* value) { SetTemplateName(value); return *this;}
284 
285 
286     /**
287      * <p>The type of channel that the message template is designed for. Possible
288      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
289      */
GetTemplateType()290     inline const Aws::String& GetTemplateType() const{ return m_templateType; }
291 
292     /**
293      * <p>The type of channel that the message template is designed for. Possible
294      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
295      */
TemplateTypeHasBeenSet()296     inline bool TemplateTypeHasBeenSet() const { return m_templateTypeHasBeenSet; }
297 
298     /**
299      * <p>The type of channel that the message template is designed for. Possible
300      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
301      */
SetTemplateType(const Aws::String & value)302     inline void SetTemplateType(const Aws::String& value) { m_templateTypeHasBeenSet = true; m_templateType = value; }
303 
304     /**
305      * <p>The type of channel that the message template is designed for. Possible
306      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
307      */
SetTemplateType(Aws::String && value)308     inline void SetTemplateType(Aws::String&& value) { m_templateTypeHasBeenSet = true; m_templateType = std::move(value); }
309 
310     /**
311      * <p>The type of channel that the message template is designed for. Possible
312      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
313      */
SetTemplateType(const char * value)314     inline void SetTemplateType(const char* value) { m_templateTypeHasBeenSet = true; m_templateType.assign(value); }
315 
316     /**
317      * <p>The type of channel that the message template is designed for. Possible
318      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
319      */
WithTemplateType(const Aws::String & value)320     inline TemplateVersionResponse& WithTemplateType(const Aws::String& value) { SetTemplateType(value); return *this;}
321 
322     /**
323      * <p>The type of channel that the message template is designed for. Possible
324      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
325      */
WithTemplateType(Aws::String && value)326     inline TemplateVersionResponse& WithTemplateType(Aws::String&& value) { SetTemplateType(std::move(value)); return *this;}
327 
328     /**
329      * <p>The type of channel that the message template is designed for. Possible
330      * values are: EMAIL, PUSH, SMS, and VOICE.</p>
331      */
WithTemplateType(const char * value)332     inline TemplateVersionResponse& WithTemplateType(const char* value) { SetTemplateType(value); return *this;}
333 
334 
335     /**
336      * <p>The unique identifier for the version of the message template. This value is
337      * an integer that Amazon Pinpoint automatically increments and assigns to each new
338      * version of a template.</p>
339      */
GetVersion()340     inline const Aws::String& GetVersion() const{ return m_version; }
341 
342     /**
343      * <p>The unique identifier for the version of the message template. This value is
344      * an integer that Amazon Pinpoint automatically increments and assigns to each new
345      * version of a template.</p>
346      */
VersionHasBeenSet()347     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
348 
349     /**
350      * <p>The unique identifier for the version of the message template. This value is
351      * an integer that Amazon Pinpoint automatically increments and assigns to each new
352      * version of a template.</p>
353      */
SetVersion(const Aws::String & value)354     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
355 
356     /**
357      * <p>The unique identifier for the version of the message template. This value is
358      * an integer that Amazon Pinpoint automatically increments and assigns to each new
359      * version of a template.</p>
360      */
SetVersion(Aws::String && value)361     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
362 
363     /**
364      * <p>The unique identifier for the version of the message template. This value is
365      * an integer that Amazon Pinpoint automatically increments and assigns to each new
366      * version of a template.</p>
367      */
SetVersion(const char * value)368     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
369 
370     /**
371      * <p>The unique identifier for the version of the message template. This value is
372      * an integer that Amazon Pinpoint automatically increments and assigns to each new
373      * version of a template.</p>
374      */
WithVersion(const Aws::String & value)375     inline TemplateVersionResponse& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
376 
377     /**
378      * <p>The unique identifier for the version of the message template. This value is
379      * an integer that Amazon Pinpoint automatically increments and assigns to each new
380      * version of a template.</p>
381      */
WithVersion(Aws::String && value)382     inline TemplateVersionResponse& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
383 
384     /**
385      * <p>The unique identifier for the version of the message template. This value is
386      * an integer that Amazon Pinpoint automatically increments and assigns to each new
387      * version of a template.</p>
388      */
WithVersion(const char * value)389     inline TemplateVersionResponse& WithVersion(const char* value) { SetVersion(value); return *this;}
390 
391   private:
392 
393     Aws::String m_creationDate;
394     bool m_creationDateHasBeenSet;
395 
396     Aws::String m_defaultSubstitutions;
397     bool m_defaultSubstitutionsHasBeenSet;
398 
399     Aws::String m_lastModifiedDate;
400     bool m_lastModifiedDateHasBeenSet;
401 
402     Aws::String m_templateDescription;
403     bool m_templateDescriptionHasBeenSet;
404 
405     Aws::String m_templateName;
406     bool m_templateNameHasBeenSet;
407 
408     Aws::String m_templateType;
409     bool m_templateTypeHasBeenSet;
410 
411     Aws::String m_version;
412     bool m_versionHasBeenSet;
413   };
414 
415 } // namespace Model
416 } // namespace Pinpoint
417 } // namespace Aws
418