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 ListTemplatesRequest : public PinpointRequest
26   {
27   public:
28     ListTemplatesRequest();
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 "ListTemplates"; }
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 ListTemplatesRequest& 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 ListTemplatesRequest& 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 ListTemplatesRequest& 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 ListTemplatesRequest& 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 ListTemplatesRequest& 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 ListTemplatesRequest& WithPageSize(const char* value) { SetPageSize(value); return *this;}
153 
154 
155     /**
156      * <p>The substring to match in the names of the message templates to include in
157      * the results. If you specify this value, Amazon Pinpoint returns only those
158      * templates whose names begin with the value that you specify.</p>
159      */
GetPrefix()160     inline const Aws::String& GetPrefix() const{ return m_prefix; }
161 
162     /**
163      * <p>The substring to match in the names of the message templates to include in
164      * the results. If you specify this value, Amazon Pinpoint returns only those
165      * templates whose names begin with the value that you specify.</p>
166      */
PrefixHasBeenSet()167     inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
168 
169     /**
170      * <p>The substring to match in the names of the message templates to include in
171      * the results. If you specify this value, Amazon Pinpoint returns only those
172      * templates whose names begin with the value that you specify.</p>
173      */
SetPrefix(const Aws::String & value)174     inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; }
175 
176     /**
177      * <p>The substring to match in the names of the message templates to include in
178      * the results. If you specify this value, Amazon Pinpoint returns only those
179      * templates whose names begin with the value that you specify.</p>
180      */
SetPrefix(Aws::String && value)181     inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); }
182 
183     /**
184      * <p>The substring to match in the names of the message templates to include in
185      * the results. If you specify this value, Amazon Pinpoint returns only those
186      * templates whose names begin with the value that you specify.</p>
187      */
SetPrefix(const char * value)188     inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); }
189 
190     /**
191      * <p>The substring to match in the names of the message templates to include in
192      * the results. If you specify this value, Amazon Pinpoint returns only those
193      * templates whose names begin with the value that you specify.</p>
194      */
WithPrefix(const Aws::String & value)195     inline ListTemplatesRequest& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;}
196 
197     /**
198      * <p>The substring to match in the names of the message templates to include in
199      * the results. If you specify this value, Amazon Pinpoint returns only those
200      * templates whose names begin with the value that you specify.</p>
201      */
WithPrefix(Aws::String && value)202     inline ListTemplatesRequest& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;}
203 
204     /**
205      * <p>The substring to match in the names of the message templates to include in
206      * the results. If you specify this value, Amazon Pinpoint returns only those
207      * templates whose names begin with the value that you specify.</p>
208      */
WithPrefix(const char * value)209     inline ListTemplatesRequest& WithPrefix(const char* value) { SetPrefix(value); return *this;}
210 
211 
212     /**
213      * <p>The type of message template to include in the results. Valid values are:
214      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
215      * don't include this parameter in your request.</p>
216      */
GetTemplateType()217     inline const Aws::String& GetTemplateType() const{ return m_templateType; }
218 
219     /**
220      * <p>The type of message template to include in the results. Valid values are:
221      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
222      * don't include this parameter in your request.</p>
223      */
TemplateTypeHasBeenSet()224     inline bool TemplateTypeHasBeenSet() const { return m_templateTypeHasBeenSet; }
225 
226     /**
227      * <p>The type of message template to include in the results. Valid values are:
228      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
229      * don't include this parameter in your request.</p>
230      */
SetTemplateType(const Aws::String & value)231     inline void SetTemplateType(const Aws::String& value) { m_templateTypeHasBeenSet = true; m_templateType = value; }
232 
233     /**
234      * <p>The type of message template to include in the results. Valid values are:
235      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
236      * don't include this parameter in your request.</p>
237      */
SetTemplateType(Aws::String && value)238     inline void SetTemplateType(Aws::String&& value) { m_templateTypeHasBeenSet = true; m_templateType = std::move(value); }
239 
240     /**
241      * <p>The type of message template to include in the results. Valid values are:
242      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
243      * don't include this parameter in your request.</p>
244      */
SetTemplateType(const char * value)245     inline void SetTemplateType(const char* value) { m_templateTypeHasBeenSet = true; m_templateType.assign(value); }
246 
247     /**
248      * <p>The type of message template to include in the results. Valid values are:
249      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
250      * don't include this parameter in your request.</p>
251      */
WithTemplateType(const Aws::String & value)252     inline ListTemplatesRequest& WithTemplateType(const Aws::String& value) { SetTemplateType(value); return *this;}
253 
254     /**
255      * <p>The type of message template to include in the results. Valid values are:
256      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
257      * don't include this parameter in your request.</p>
258      */
WithTemplateType(Aws::String && value)259     inline ListTemplatesRequest& WithTemplateType(Aws::String&& value) { SetTemplateType(std::move(value)); return *this;}
260 
261     /**
262      * <p>The type of message template to include in the results. Valid values are:
263      * EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results,
264      * don't include this parameter in your request.</p>
265      */
WithTemplateType(const char * value)266     inline ListTemplatesRequest& 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_prefix;
277     bool m_prefixHasBeenSet;
278 
279     Aws::String m_templateType;
280     bool m_templateTypeHasBeenSet;
281   };
282 
283 } // namespace Model
284 } // namespace Pinpoint
285 } // namespace Aws
286