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/PinpointRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Http
15 {
16     class URI;
17 } //namespace Http
18 namespace Pinpoint
19 {
20 namespace Model
21 {
22 
23   /**
24    */
25   class AWS_PINPOINT_API ListTemplateVersionsRequest : public PinpointRequest
26   {
27   public:
28     ListTemplateVersionsRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "ListTemplateVersions"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
39 
40 
41     /**
42      * <p>The  string that specifies which page of results to return in a paginated
43      * response. This parameter is not supported for application, campaign, and journey
44      * metrics.</p>
45      */
GetNextToken()46     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
47 
48     /**
49      * <p>The  string that specifies which page of results to return in a paginated
50      * response. This parameter is not supported for application, campaign, and journey
51      * metrics.</p>
52      */
NextTokenHasBeenSet()53     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
54 
55     /**
56      * <p>The  string that specifies which page of results to return in a paginated
57      * response. This parameter is not supported for application, campaign, and journey
58      * metrics.</p>
59      */
SetNextToken(const Aws::String & value)60     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
61 
62     /**
63      * <p>The  string that specifies which page of results to return in a paginated
64      * response. This parameter is not supported for application, campaign, and journey
65      * metrics.</p>
66      */
SetNextToken(Aws::String && value)67     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
68 
69     /**
70      * <p>The  string that specifies which page of results to return in a paginated
71      * response. This parameter is not supported for application, campaign, and journey
72      * metrics.</p>
73      */
SetNextToken(const char * value)74     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
75 
76     /**
77      * <p>The  string that specifies which page of results to return in a paginated
78      * response. This parameter is not supported for application, campaign, and journey
79      * metrics.</p>
80      */
WithNextToken(const Aws::String & value)81     inline ListTemplateVersionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
82 
83     /**
84      * <p>The  string that specifies which page of results to return in a paginated
85      * response. This parameter is not supported for application, campaign, and journey
86      * metrics.</p>
87      */
WithNextToken(Aws::String && value)88     inline ListTemplateVersionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
89 
90     /**
91      * <p>The  string that specifies which page of results to return in a paginated
92      * response. This parameter is not supported for application, campaign, and journey
93      * metrics.</p>
94      */
WithNextToken(const char * value)95     inline ListTemplateVersionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
96 
97 
98     /**
99      * <p>The maximum number of items to include in each page of a paginated response.
100      * This parameter is not supported for application, campaign, and journey
101      * metrics.</p>
102      */
GetPageSize()103     inline const Aws::String& GetPageSize() const{ return m_pageSize; }
104 
105     /**
106      * <p>The maximum number of items to include in each page of a paginated response.
107      * This parameter is not supported for application, campaign, and journey
108      * metrics.</p>
109      */
PageSizeHasBeenSet()110     inline bool PageSizeHasBeenSet() const { return m_pageSizeHasBeenSet; }
111 
112     /**
113      * <p>The maximum number of items to include in each page of a paginated response.
114      * This parameter is not supported for application, campaign, and journey
115      * metrics.</p>
116      */
SetPageSize(const Aws::String & value)117     inline void SetPageSize(const Aws::String& value) { m_pageSizeHasBeenSet = true; m_pageSize = value; }
118 
119     /**
120      * <p>The maximum number of items to include in each page of a paginated response.
121      * This parameter is not supported for application, campaign, and journey
122      * metrics.</p>
123      */
SetPageSize(Aws::String && value)124     inline void SetPageSize(Aws::String&& value) { m_pageSizeHasBeenSet = true; m_pageSize = std::move(value); }
125 
126     /**
127      * <p>The maximum number of items to include in each page of a paginated response.
128      * This parameter is not supported for application, campaign, and journey
129      * metrics.</p>
130      */
SetPageSize(const char * value)131     inline void SetPageSize(const char* value) { m_pageSizeHasBeenSet = true; m_pageSize.assign(value); }
132 
133     /**
134      * <p>The maximum number of items to include in each page of a paginated response.
135      * This parameter is not supported for application, campaign, and journey
136      * metrics.</p>
137      */
WithPageSize(const Aws::String & value)138     inline ListTemplateVersionsRequest& WithPageSize(const Aws::String& value) { SetPageSize(value); return *this;}
139 
140     /**
141      * <p>The maximum number of items to include in each page of a paginated response.
142      * This parameter is not supported for application, campaign, and journey
143      * metrics.</p>
144      */
WithPageSize(Aws::String && value)145     inline ListTemplateVersionsRequest& WithPageSize(Aws::String&& value) { SetPageSize(std::move(value)); return *this;}
146 
147     /**
148      * <p>The maximum number of items to include in each page of a paginated response.
149      * This parameter is not supported for application, campaign, and journey
150      * metrics.</p>
151      */
WithPageSize(const char * value)152     inline ListTemplateVersionsRequest& WithPageSize(const char* value) { SetPageSize(value); return *this;}
153 
154 
155     /**
156      * <p>The name of the message template. A template name must start with an
157      * alphanumeric character and can contain a maximum of 128 characters. The
158      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
159      * Template names are case sensitive.</p>
160      */
GetTemplateName()161     inline const Aws::String& GetTemplateName() const{ return m_templateName; }
162 
163     /**
164      * <p>The name of the message template. A template name must start with an
165      * alphanumeric character and can contain a maximum of 128 characters. The
166      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
167      * Template names are case sensitive.</p>
168      */
TemplateNameHasBeenSet()169     inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; }
170 
171     /**
172      * <p>The name of the message template. A template name must start with an
173      * alphanumeric character and can contain a maximum of 128 characters. The
174      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
175      * Template names are case sensitive.</p>
176      */
SetTemplateName(const Aws::String & value)177     inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; }
178 
179     /**
180      * <p>The name of the message template. A template name must start with an
181      * alphanumeric character and can contain a maximum of 128 characters. The
182      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
183      * Template names are case sensitive.</p>
184      */
SetTemplateName(Aws::String && value)185     inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); }
186 
187     /**
188      * <p>The name of the message template. A template name must start with an
189      * alphanumeric character and can contain a maximum of 128 characters. The
190      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
191      * Template names are case sensitive.</p>
192      */
SetTemplateName(const char * value)193     inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); }
194 
195     /**
196      * <p>The name of the message template. A template name must start with an
197      * alphanumeric character and can contain a maximum of 128 characters. The
198      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
199      * Template names are case sensitive.</p>
200      */
WithTemplateName(const Aws::String & value)201     inline ListTemplateVersionsRequest& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;}
202 
203     /**
204      * <p>The name of the message template. A template name must start with an
205      * alphanumeric character and can contain a maximum of 128 characters. The
206      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
207      * Template names are case sensitive.</p>
208      */
WithTemplateName(Aws::String && value)209     inline ListTemplateVersionsRequest& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;}
210 
211     /**
212      * <p>The name of the message template. A template name must start with an
213      * alphanumeric character and can contain a maximum of 128 characters. The
214      * characters can be alphanumeric characters, underscores (_), or hyphens (-).
215      * Template names are case sensitive.</p>
216      */
WithTemplateName(const char * value)217     inline ListTemplateVersionsRequest& WithTemplateName(const char* value) { SetTemplateName(value); return *this;}
218 
219 
220     /**
221      * <p>The type of channel that the message template is designed for. Valid values
222      * are: EMAIL, PUSH, SMS, and VOICE.</p>
223      */
GetTemplateType()224     inline const Aws::String& GetTemplateType() const{ return m_templateType; }
225 
226     /**
227      * <p>The type of channel that the message template is designed for. Valid values
228      * are: EMAIL, PUSH, SMS, and VOICE.</p>
229      */
TemplateTypeHasBeenSet()230     inline bool TemplateTypeHasBeenSet() const { return m_templateTypeHasBeenSet; }
231 
232     /**
233      * <p>The type of channel that the message template is designed for. Valid values
234      * are: EMAIL, PUSH, SMS, and VOICE.</p>
235      */
SetTemplateType(const Aws::String & value)236     inline void SetTemplateType(const Aws::String& value) { m_templateTypeHasBeenSet = true; m_templateType = value; }
237 
238     /**
239      * <p>The type of channel that the message template is designed for. Valid values
240      * are: EMAIL, PUSH, SMS, and VOICE.</p>
241      */
SetTemplateType(Aws::String && value)242     inline void SetTemplateType(Aws::String&& value) { m_templateTypeHasBeenSet = true; m_templateType = std::move(value); }
243 
244     /**
245      * <p>The type of channel that the message template is designed for. Valid values
246      * are: EMAIL, PUSH, SMS, and VOICE.</p>
247      */
SetTemplateType(const char * value)248     inline void SetTemplateType(const char* value) { m_templateTypeHasBeenSet = true; m_templateType.assign(value); }
249 
250     /**
251      * <p>The type of channel that the message template is designed for. Valid values
252      * are: EMAIL, PUSH, SMS, and VOICE.</p>
253      */
WithTemplateType(const Aws::String & value)254     inline ListTemplateVersionsRequest& WithTemplateType(const Aws::String& value) { SetTemplateType(value); return *this;}
255 
256     /**
257      * <p>The type of channel that the message template is designed for. Valid values
258      * are: EMAIL, PUSH, SMS, and VOICE.</p>
259      */
WithTemplateType(Aws::String && value)260     inline ListTemplateVersionsRequest& WithTemplateType(Aws::String&& value) { SetTemplateType(std::move(value)); return *this;}
261 
262     /**
263      * <p>The type of channel that the message template is designed for. Valid values
264      * are: EMAIL, PUSH, SMS, and VOICE.</p>
265      */
WithTemplateType(const char * value)266     inline ListTemplateVersionsRequest& WithTemplateType(const char* value) { SetTemplateType(value); return *this;}
267 
268   private:
269 
270     Aws::String m_nextToken;
271     bool m_nextTokenHasBeenSet;
272 
273     Aws::String m_pageSize;
274     bool m_pageSizeHasBeenSet;
275 
276     Aws::String m_templateName;
277     bool m_templateNameHasBeenSet;
278 
279     Aws::String m_templateType;
280     bool m_templateTypeHasBeenSet;
281   };
282 
283 } // namespace Model
284 } // namespace Pinpoint
285 } // namespace Aws
286