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/chime/Chime_EXPORTS.h>
8 #include <aws/chime/ChimeRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/chime/model/SortOrder.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Http
17 {
18     class URI;
19 } //namespace Http
20 namespace Chime
21 {
22 namespace Model
23 {
24 
25   /**
26    */
27   class AWS_CHIME_API ListChannelMessagesRequest : public ChimeRequest
28   {
29   public:
30     ListChannelMessagesRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "ListChannelMessages"; }
37 
38     Aws::String SerializePayload() const override;
39 
40     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41 
42     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
43 
44 
45     /**
46      * <p>The ARN of the channel.</p>
47      */
GetChannelArn()48     inline const Aws::String& GetChannelArn() const{ return m_channelArn; }
49 
50     /**
51      * <p>The ARN of the channel.</p>
52      */
ChannelArnHasBeenSet()53     inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; }
54 
55     /**
56      * <p>The ARN of the channel.</p>
57      */
SetChannelArn(const Aws::String & value)58     inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; }
59 
60     /**
61      * <p>The ARN of the channel.</p>
62      */
SetChannelArn(Aws::String && value)63     inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); }
64 
65     /**
66      * <p>The ARN of the channel.</p>
67      */
SetChannelArn(const char * value)68     inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); }
69 
70     /**
71      * <p>The ARN of the channel.</p>
72      */
WithChannelArn(const Aws::String & value)73     inline ListChannelMessagesRequest& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;}
74 
75     /**
76      * <p>The ARN of the channel.</p>
77      */
WithChannelArn(Aws::String && value)78     inline ListChannelMessagesRequest& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;}
79 
80     /**
81      * <p>The ARN of the channel.</p>
82      */
WithChannelArn(const char * value)83     inline ListChannelMessagesRequest& WithChannelArn(const char* value) { SetChannelArn(value); return *this;}
84 
85 
86     /**
87      * <p>The order in which you want messages sorted. Default is Descending, based on
88      * time created.</p>
89      */
GetSortOrder()90     inline const SortOrder& GetSortOrder() const{ return m_sortOrder; }
91 
92     /**
93      * <p>The order in which you want messages sorted. Default is Descending, based on
94      * time created.</p>
95      */
SortOrderHasBeenSet()96     inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; }
97 
98     /**
99      * <p>The order in which you want messages sorted. Default is Descending, based on
100      * time created.</p>
101      */
SetSortOrder(const SortOrder & value)102     inline void SetSortOrder(const SortOrder& value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; }
103 
104     /**
105      * <p>The order in which you want messages sorted. Default is Descending, based on
106      * time created.</p>
107      */
SetSortOrder(SortOrder && value)108     inline void SetSortOrder(SortOrder&& value) { m_sortOrderHasBeenSet = true; m_sortOrder = std::move(value); }
109 
110     /**
111      * <p>The order in which you want messages sorted. Default is Descending, based on
112      * time created.</p>
113      */
WithSortOrder(const SortOrder & value)114     inline ListChannelMessagesRequest& WithSortOrder(const SortOrder& value) { SetSortOrder(value); return *this;}
115 
116     /**
117      * <p>The order in which you want messages sorted. Default is Descending, based on
118      * time created.</p>
119      */
WithSortOrder(SortOrder && value)120     inline ListChannelMessagesRequest& WithSortOrder(SortOrder&& value) { SetSortOrder(std::move(value)); return *this;}
121 
122 
123     /**
124      * <p>The initial or starting time stamp for your requested messages.</p>
125      */
GetNotBefore()126     inline const Aws::Utils::DateTime& GetNotBefore() const{ return m_notBefore; }
127 
128     /**
129      * <p>The initial or starting time stamp for your requested messages.</p>
130      */
NotBeforeHasBeenSet()131     inline bool NotBeforeHasBeenSet() const { return m_notBeforeHasBeenSet; }
132 
133     /**
134      * <p>The initial or starting time stamp for your requested messages.</p>
135      */
SetNotBefore(const Aws::Utils::DateTime & value)136     inline void SetNotBefore(const Aws::Utils::DateTime& value) { m_notBeforeHasBeenSet = true; m_notBefore = value; }
137 
138     /**
139      * <p>The initial or starting time stamp for your requested messages.</p>
140      */
SetNotBefore(Aws::Utils::DateTime && value)141     inline void SetNotBefore(Aws::Utils::DateTime&& value) { m_notBeforeHasBeenSet = true; m_notBefore = std::move(value); }
142 
143     /**
144      * <p>The initial or starting time stamp for your requested messages.</p>
145      */
WithNotBefore(const Aws::Utils::DateTime & value)146     inline ListChannelMessagesRequest& WithNotBefore(const Aws::Utils::DateTime& value) { SetNotBefore(value); return *this;}
147 
148     /**
149      * <p>The initial or starting time stamp for your requested messages.</p>
150      */
WithNotBefore(Aws::Utils::DateTime && value)151     inline ListChannelMessagesRequest& WithNotBefore(Aws::Utils::DateTime&& value) { SetNotBefore(std::move(value)); return *this;}
152 
153 
154     /**
155      * <p>The final or ending time stamp for your requested messages.</p>
156      */
GetNotAfter()157     inline const Aws::Utils::DateTime& GetNotAfter() const{ return m_notAfter; }
158 
159     /**
160      * <p>The final or ending time stamp for your requested messages.</p>
161      */
NotAfterHasBeenSet()162     inline bool NotAfterHasBeenSet() const { return m_notAfterHasBeenSet; }
163 
164     /**
165      * <p>The final or ending time stamp for your requested messages.</p>
166      */
SetNotAfter(const Aws::Utils::DateTime & value)167     inline void SetNotAfter(const Aws::Utils::DateTime& value) { m_notAfterHasBeenSet = true; m_notAfter = value; }
168 
169     /**
170      * <p>The final or ending time stamp for your requested messages.</p>
171      */
SetNotAfter(Aws::Utils::DateTime && value)172     inline void SetNotAfter(Aws::Utils::DateTime&& value) { m_notAfterHasBeenSet = true; m_notAfter = std::move(value); }
173 
174     /**
175      * <p>The final or ending time stamp for your requested messages.</p>
176      */
WithNotAfter(const Aws::Utils::DateTime & value)177     inline ListChannelMessagesRequest& WithNotAfter(const Aws::Utils::DateTime& value) { SetNotAfter(value); return *this;}
178 
179     /**
180      * <p>The final or ending time stamp for your requested messages.</p>
181      */
WithNotAfter(Aws::Utils::DateTime && value)182     inline ListChannelMessagesRequest& WithNotAfter(Aws::Utils::DateTime&& value) { SetNotAfter(std::move(value)); return *this;}
183 
184 
185     /**
186      * <p>The maximum number of messages that you want returned.</p>
187      */
GetMaxResults()188     inline int GetMaxResults() const{ return m_maxResults; }
189 
190     /**
191      * <p>The maximum number of messages that you want returned.</p>
192      */
MaxResultsHasBeenSet()193     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
194 
195     /**
196      * <p>The maximum number of messages that you want returned.</p>
197      */
SetMaxResults(int value)198     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
199 
200     /**
201      * <p>The maximum number of messages that you want returned.</p>
202      */
WithMaxResults(int value)203     inline ListChannelMessagesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
204 
205 
206     /**
207      * <p>The token passed by previous API calls until all requested messages are
208      * returned.</p>
209      */
GetNextToken()210     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
211 
212     /**
213      * <p>The token passed by previous API calls until all requested messages are
214      * returned.</p>
215      */
NextTokenHasBeenSet()216     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
217 
218     /**
219      * <p>The token passed by previous API calls until all requested messages are
220      * returned.</p>
221      */
SetNextToken(const Aws::String & value)222     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
223 
224     /**
225      * <p>The token passed by previous API calls until all requested messages are
226      * returned.</p>
227      */
SetNextToken(Aws::String && value)228     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
229 
230     /**
231      * <p>The token passed by previous API calls until all requested messages are
232      * returned.</p>
233      */
SetNextToken(const char * value)234     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
235 
236     /**
237      * <p>The token passed by previous API calls until all requested messages are
238      * returned.</p>
239      */
WithNextToken(const Aws::String & value)240     inline ListChannelMessagesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
241 
242     /**
243      * <p>The token passed by previous API calls until all requested messages are
244      * returned.</p>
245      */
WithNextToken(Aws::String && value)246     inline ListChannelMessagesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
247 
248     /**
249      * <p>The token passed by previous API calls until all requested messages are
250      * returned.</p>
251      */
WithNextToken(const char * value)252     inline ListChannelMessagesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
253 
254 
255     /**
256      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
257      */
GetChimeBearer()258     inline const Aws::String& GetChimeBearer() const{ return m_chimeBearer; }
259 
260     /**
261      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
262      */
ChimeBearerHasBeenSet()263     inline bool ChimeBearerHasBeenSet() const { return m_chimeBearerHasBeenSet; }
264 
265     /**
266      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
267      */
SetChimeBearer(const Aws::String & value)268     inline void SetChimeBearer(const Aws::String& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = value; }
269 
270     /**
271      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
272      */
SetChimeBearer(Aws::String && value)273     inline void SetChimeBearer(Aws::String&& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = std::move(value); }
274 
275     /**
276      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
277      */
SetChimeBearer(const char * value)278     inline void SetChimeBearer(const char* value) { m_chimeBearerHasBeenSet = true; m_chimeBearer.assign(value); }
279 
280     /**
281      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
282      */
WithChimeBearer(const Aws::String & value)283     inline ListChannelMessagesRequest& WithChimeBearer(const Aws::String& value) { SetChimeBearer(value); return *this;}
284 
285     /**
286      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
287      */
WithChimeBearer(Aws::String && value)288     inline ListChannelMessagesRequest& WithChimeBearer(Aws::String&& value) { SetChimeBearer(std::move(value)); return *this;}
289 
290     /**
291      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
292      */
WithChimeBearer(const char * value)293     inline ListChannelMessagesRequest& WithChimeBearer(const char* value) { SetChimeBearer(value); return *this;}
294 
295   private:
296 
297     Aws::String m_channelArn;
298     bool m_channelArnHasBeenSet;
299 
300     SortOrder m_sortOrder;
301     bool m_sortOrderHasBeenSet;
302 
303     Aws::Utils::DateTime m_notBefore;
304     bool m_notBeforeHasBeenSet;
305 
306     Aws::Utils::DateTime m_notAfter;
307     bool m_notAfterHasBeenSet;
308 
309     int m_maxResults;
310     bool m_maxResultsHasBeenSet;
311 
312     Aws::String m_nextToken;
313     bool m_nextTokenHasBeenSet;
314 
315     Aws::String m_chimeBearer;
316     bool m_chimeBearerHasBeenSet;
317   };
318 
319 } // namespace Model
320 } // namespace Chime
321 } // namespace Aws
322