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/elasticache/ElastiCache_EXPORTS.h>
8 #include <aws/elasticache/ElastiCacheRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/elasticache/model/Filter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace ElastiCache
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_ELASTICACHE_API DescribeUsersRequest : public ElastiCacheRequest
24   {
25   public:
26     DescribeUsersRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "DescribeUsers"; }
33 
34     Aws::String SerializePayload() const override;
35 
36   protected:
37     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
38 
39   public:
40 
41     /**
42      * <p>The Redis engine. </p>
43      */
GetEngine()44     inline const Aws::String& GetEngine() const{ return m_engine; }
45 
46     /**
47      * <p>The Redis engine. </p>
48      */
EngineHasBeenSet()49     inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; }
50 
51     /**
52      * <p>The Redis engine. </p>
53      */
SetEngine(const Aws::String & value)54     inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; }
55 
56     /**
57      * <p>The Redis engine. </p>
58      */
SetEngine(Aws::String && value)59     inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); }
60 
61     /**
62      * <p>The Redis engine. </p>
63      */
SetEngine(const char * value)64     inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); }
65 
66     /**
67      * <p>The Redis engine. </p>
68      */
WithEngine(const Aws::String & value)69     inline DescribeUsersRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;}
70 
71     /**
72      * <p>The Redis engine. </p>
73      */
WithEngine(Aws::String && value)74     inline DescribeUsersRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;}
75 
76     /**
77      * <p>The Redis engine. </p>
78      */
WithEngine(const char * value)79     inline DescribeUsersRequest& WithEngine(const char* value) { SetEngine(value); return *this;}
80 
81 
82     /**
83      * <p>The ID of the user.</p>
84      */
GetUserId()85     inline const Aws::String& GetUserId() const{ return m_userId; }
86 
87     /**
88      * <p>The ID of the user.</p>
89      */
UserIdHasBeenSet()90     inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
91 
92     /**
93      * <p>The ID of the user.</p>
94      */
SetUserId(const Aws::String & value)95     inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; }
96 
97     /**
98      * <p>The ID of the user.</p>
99      */
SetUserId(Aws::String && value)100     inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); }
101 
102     /**
103      * <p>The ID of the user.</p>
104      */
SetUserId(const char * value)105     inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); }
106 
107     /**
108      * <p>The ID of the user.</p>
109      */
WithUserId(const Aws::String & value)110     inline DescribeUsersRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;}
111 
112     /**
113      * <p>The ID of the user.</p>
114      */
WithUserId(Aws::String && value)115     inline DescribeUsersRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;}
116 
117     /**
118      * <p>The ID of the user.</p>
119      */
WithUserId(const char * value)120     inline DescribeUsersRequest& WithUserId(const char* value) { SetUserId(value); return *this;}
121 
122 
123     /**
124      * <p>Filter to determine the list of User IDs to return.</p>
125      */
GetFilters()126     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
127 
128     /**
129      * <p>Filter to determine the list of User IDs to return.</p>
130      */
FiltersHasBeenSet()131     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
132 
133     /**
134      * <p>Filter to determine the list of User IDs to return.</p>
135      */
SetFilters(const Aws::Vector<Filter> & value)136     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
137 
138     /**
139      * <p>Filter to determine the list of User IDs to return.</p>
140      */
SetFilters(Aws::Vector<Filter> && value)141     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
142 
143     /**
144      * <p>Filter to determine the list of User IDs to return.</p>
145      */
WithFilters(const Aws::Vector<Filter> & value)146     inline DescribeUsersRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
147 
148     /**
149      * <p>Filter to determine the list of User IDs to return.</p>
150      */
WithFilters(Aws::Vector<Filter> && value)151     inline DescribeUsersRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
152 
153     /**
154      * <p>Filter to determine the list of User IDs to return.</p>
155      */
AddFilters(const Filter & value)156     inline DescribeUsersRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
157 
158     /**
159      * <p>Filter to determine the list of User IDs to return.</p>
160      */
AddFilters(Filter && value)161     inline DescribeUsersRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
162 
163 
164     /**
165      * <p>The maximum number of records to include in the response. If more records
166      * exist than the specified MaxRecords value, a marker is included in the response
167      * so that the remaining results can be retrieved. </p>
168      */
GetMaxRecords()169     inline int GetMaxRecords() const{ return m_maxRecords; }
170 
171     /**
172      * <p>The maximum number of records to include in the response. If more records
173      * exist than the specified MaxRecords value, a marker is included in the response
174      * so that the remaining results can be retrieved. </p>
175      */
MaxRecordsHasBeenSet()176     inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
177 
178     /**
179      * <p>The maximum number of records to include in the response. If more records
180      * exist than the specified MaxRecords value, a marker is included in the response
181      * so that the remaining results can be retrieved. </p>
182      */
SetMaxRecords(int value)183     inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
184 
185     /**
186      * <p>The maximum number of records to include in the response. If more records
187      * exist than the specified MaxRecords value, a marker is included in the response
188      * so that the remaining results can be retrieved. </p>
189      */
WithMaxRecords(int value)190     inline DescribeUsersRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
191 
192 
193     /**
194      * <p>An optional marker returned from a prior request. Use this marker for
195      * pagination of results from this operation. If this parameter is specified, the
196      * response includes only records beyond the marker, up to the value specified by
197      * MaxRecords. &gt;</p>
198      */
GetMarker()199     inline const Aws::String& GetMarker() const{ return m_marker; }
200 
201     /**
202      * <p>An optional marker returned from a prior request. Use this marker for
203      * pagination of results from this operation. If this parameter is specified, the
204      * response includes only records beyond the marker, up to the value specified by
205      * MaxRecords. &gt;</p>
206      */
MarkerHasBeenSet()207     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
208 
209     /**
210      * <p>An optional marker returned from a prior request. Use this marker for
211      * pagination of results from this operation. If this parameter is specified, the
212      * response includes only records beyond the marker, up to the value specified by
213      * MaxRecords. &gt;</p>
214      */
SetMarker(const Aws::String & value)215     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
216 
217     /**
218      * <p>An optional marker returned from a prior request. Use this marker for
219      * pagination of results from this operation. If this parameter is specified, the
220      * response includes only records beyond the marker, up to the value specified by
221      * MaxRecords. &gt;</p>
222      */
SetMarker(Aws::String && value)223     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
224 
225     /**
226      * <p>An optional marker returned from a prior request. Use this marker for
227      * pagination of results from this operation. If this parameter is specified, the
228      * response includes only records beyond the marker, up to the value specified by
229      * MaxRecords. &gt;</p>
230      */
SetMarker(const char * value)231     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
232 
233     /**
234      * <p>An optional marker returned from a prior request. Use this marker for
235      * pagination of results from this operation. If this parameter is specified, the
236      * response includes only records beyond the marker, up to the value specified by
237      * MaxRecords. &gt;</p>
238      */
WithMarker(const Aws::String & value)239     inline DescribeUsersRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
240 
241     /**
242      * <p>An optional marker returned from a prior request. Use this marker for
243      * pagination of results from this operation. If this parameter is specified, the
244      * response includes only records beyond the marker, up to the value specified by
245      * MaxRecords. &gt;</p>
246      */
WithMarker(Aws::String && value)247     inline DescribeUsersRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
248 
249     /**
250      * <p>An optional marker returned from a prior request. Use this marker for
251      * pagination of results from this operation. If this parameter is specified, the
252      * response includes only records beyond the marker, up to the value specified by
253      * MaxRecords. &gt;</p>
254      */
WithMarker(const char * value)255     inline DescribeUsersRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
256 
257   private:
258 
259     Aws::String m_engine;
260     bool m_engineHasBeenSet;
261 
262     Aws::String m_userId;
263     bool m_userIdHasBeenSet;
264 
265     Aws::Vector<Filter> m_filters;
266     bool m_filtersHasBeenSet;
267 
268     int m_maxRecords;
269     bool m_maxRecordsHasBeenSet;
270 
271     Aws::String m_marker;
272     bool m_markerHasBeenSet;
273   };
274 
275 } // namespace Model
276 } // namespace ElastiCache
277 } // namespace Aws
278