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/identitystore/IdentityStore_EXPORTS.h>
8 #include <aws/identitystore/IdentityStoreRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/identitystore/model/Filter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace IdentityStore
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_IDENTITYSTORE_API ListGroupsRequest : public IdentityStoreRequest
24   {
25   public:
26     ListGroupsRequest();
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 "ListGroups"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The globally unique identifier for the identity store, such as
41      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
42      * and <code>1234567890</code> is a randomly generated string that contains number
43      * and lower case letters. This value is generated at the time that a new identity
44      * store is created.</p>
45      */
GetIdentityStoreId()46     inline const Aws::String& GetIdentityStoreId() const{ return m_identityStoreId; }
47 
48     /**
49      * <p>The globally unique identifier for the identity store, such as
50      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
51      * and <code>1234567890</code> is a randomly generated string that contains number
52      * and lower case letters. This value is generated at the time that a new identity
53      * store is created.</p>
54      */
IdentityStoreIdHasBeenSet()55     inline bool IdentityStoreIdHasBeenSet() const { return m_identityStoreIdHasBeenSet; }
56 
57     /**
58      * <p>The globally unique identifier for the identity store, such as
59      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
60      * and <code>1234567890</code> is a randomly generated string that contains number
61      * and lower case letters. This value is generated at the time that a new identity
62      * store is created.</p>
63      */
SetIdentityStoreId(const Aws::String & value)64     inline void SetIdentityStoreId(const Aws::String& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = value; }
65 
66     /**
67      * <p>The globally unique identifier for the identity store, such as
68      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
69      * and <code>1234567890</code> is a randomly generated string that contains number
70      * and lower case letters. This value is generated at the time that a new identity
71      * store is created.</p>
72      */
SetIdentityStoreId(Aws::String && value)73     inline void SetIdentityStoreId(Aws::String&& value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId = std::move(value); }
74 
75     /**
76      * <p>The globally unique identifier for the identity store, such as
77      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
78      * and <code>1234567890</code> is a randomly generated string that contains number
79      * and lower case letters. This value is generated at the time that a new identity
80      * store is created.</p>
81      */
SetIdentityStoreId(const char * value)82     inline void SetIdentityStoreId(const char* value) { m_identityStoreIdHasBeenSet = true; m_identityStoreId.assign(value); }
83 
84     /**
85      * <p>The globally unique identifier for the identity store, such as
86      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
87      * and <code>1234567890</code> is a randomly generated string that contains number
88      * and lower case letters. This value is generated at the time that a new identity
89      * store is created.</p>
90      */
WithIdentityStoreId(const Aws::String & value)91     inline ListGroupsRequest& WithIdentityStoreId(const Aws::String& value) { SetIdentityStoreId(value); return *this;}
92 
93     /**
94      * <p>The globally unique identifier for the identity store, such as
95      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
96      * and <code>1234567890</code> is a randomly generated string that contains number
97      * and lower case letters. This value is generated at the time that a new identity
98      * store is created.</p>
99      */
WithIdentityStoreId(Aws::String && value)100     inline ListGroupsRequest& WithIdentityStoreId(Aws::String&& value) { SetIdentityStoreId(std::move(value)); return *this;}
101 
102     /**
103      * <p>The globally unique identifier for the identity store, such as
104      * <code>d-1234567890</code>. In this example, <code>d-</code> is a fixed prefix,
105      * and <code>1234567890</code> is a randomly generated string that contains number
106      * and lower case letters. This value is generated at the time that a new identity
107      * store is created.</p>
108      */
WithIdentityStoreId(const char * value)109     inline ListGroupsRequest& WithIdentityStoreId(const char* value) { SetIdentityStoreId(value); return *this;}
110 
111 
112     /**
113      * <p>The maximum number of results to be returned per request. This parameter is
114      * used in the <code>ListUsers</code> and <code>ListGroups</code> request to
115      * specify how many results to return in one page. The length limit is 50
116      * characters.</p>
117      */
GetMaxResults()118     inline int GetMaxResults() const{ return m_maxResults; }
119 
120     /**
121      * <p>The maximum number of results to be returned per request. This parameter is
122      * used in the <code>ListUsers</code> and <code>ListGroups</code> request to
123      * specify how many results to return in one page. The length limit is 50
124      * characters.</p>
125      */
MaxResultsHasBeenSet()126     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
127 
128     /**
129      * <p>The maximum number of results to be returned per request. This parameter is
130      * used in the <code>ListUsers</code> and <code>ListGroups</code> request to
131      * specify how many results to return in one page. The length limit is 50
132      * characters.</p>
133      */
SetMaxResults(int value)134     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
135 
136     /**
137      * <p>The maximum number of results to be returned per request. This parameter is
138      * used in the <code>ListUsers</code> and <code>ListGroups</code> request to
139      * specify how many results to return in one page. The length limit is 50
140      * characters.</p>
141      */
WithMaxResults(int value)142     inline ListGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
143 
144 
145     /**
146      * <p>The pagination token used for the <code>ListUsers</code> and
147      * <code>ListGroups</code> API operations. This value is generated by the identity
148      * store service. It is returned in the API response if the total results are more
149      * than the size of one page. This token is also returned when it is used in the
150      * API request to search for the next page.</p>
151      */
GetNextToken()152     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
153 
154     /**
155      * <p>The pagination token used for the <code>ListUsers</code> and
156      * <code>ListGroups</code> API operations. This value is generated by the identity
157      * store service. It is returned in the API response if the total results are more
158      * than the size of one page. This token is also returned when it is used in the
159      * API request to search for the next page.</p>
160      */
NextTokenHasBeenSet()161     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
162 
163     /**
164      * <p>The pagination token used for the <code>ListUsers</code> and
165      * <code>ListGroups</code> API operations. This value is generated by the identity
166      * store service. It is returned in the API response if the total results are more
167      * than the size of one page. This token is also returned when it is used in the
168      * API request to search for the next page.</p>
169      */
SetNextToken(const Aws::String & value)170     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
171 
172     /**
173      * <p>The pagination token used for the <code>ListUsers</code> and
174      * <code>ListGroups</code> API operations. This value is generated by the identity
175      * store service. It is returned in the API response if the total results are more
176      * than the size of one page. This token is also returned when it is used in the
177      * API request to search for the next page.</p>
178      */
SetNextToken(Aws::String && value)179     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
180 
181     /**
182      * <p>The pagination token used for the <code>ListUsers</code> and
183      * <code>ListGroups</code> API operations. This value is generated by the identity
184      * store service. It is returned in the API response if the total results are more
185      * than the size of one page. This token is also returned when it is used in the
186      * API request to search for the next page.</p>
187      */
SetNextToken(const char * value)188     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
189 
190     /**
191      * <p>The pagination token used for the <code>ListUsers</code> and
192      * <code>ListGroups</code> API operations. This value is generated by the identity
193      * store service. It is returned in the API response if the total results are more
194      * than the size of one page. This token is also returned when it is used in the
195      * API request to search for the next page.</p>
196      */
WithNextToken(const Aws::String & value)197     inline ListGroupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
198 
199     /**
200      * <p>The pagination token used for the <code>ListUsers</code> and
201      * <code>ListGroups</code> API operations. This value is generated by the identity
202      * store service. It is returned in the API response if the total results are more
203      * than the size of one page. This token is also returned when it is used in the
204      * API request to search for the next page.</p>
205      */
WithNextToken(Aws::String && value)206     inline ListGroupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
207 
208     /**
209      * <p>The pagination token used for the <code>ListUsers</code> and
210      * <code>ListGroups</code> API operations. This value is generated by the identity
211      * store service. It is returned in the API response if the total results are more
212      * than the size of one page. This token is also returned when it is used in the
213      * API request to search for the next page.</p>
214      */
WithNextToken(const char * value)215     inline ListGroupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
216 
217 
218     /**
219      * <p>A list of <code>Filter</code> objects, which is used in the
220      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
221      */
GetFilters()222     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
223 
224     /**
225      * <p>A list of <code>Filter</code> objects, which is used in the
226      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
227      */
FiltersHasBeenSet()228     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
229 
230     /**
231      * <p>A list of <code>Filter</code> objects, which is used in the
232      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
233      */
SetFilters(const Aws::Vector<Filter> & value)234     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
235 
236     /**
237      * <p>A list of <code>Filter</code> objects, which is used in the
238      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
239      */
SetFilters(Aws::Vector<Filter> && value)240     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
241 
242     /**
243      * <p>A list of <code>Filter</code> objects, which is used in the
244      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
245      */
WithFilters(const Aws::Vector<Filter> & value)246     inline ListGroupsRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
247 
248     /**
249      * <p>A list of <code>Filter</code> objects, which is used in the
250      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
251      */
WithFilters(Aws::Vector<Filter> && value)252     inline ListGroupsRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
253 
254     /**
255      * <p>A list of <code>Filter</code> objects, which is used in the
256      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
257      */
AddFilters(const Filter & value)258     inline ListGroupsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
259 
260     /**
261      * <p>A list of <code>Filter</code> objects, which is used in the
262      * <code>ListUsers</code> and <code>ListGroups</code> request. </p>
263      */
AddFilters(Filter && value)264     inline ListGroupsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
265 
266   private:
267 
268     Aws::String m_identityStoreId;
269     bool m_identityStoreIdHasBeenSet;
270 
271     int m_maxResults;
272     bool m_maxResultsHasBeenSet;
273 
274     Aws::String m_nextToken;
275     bool m_nextTokenHasBeenSet;
276 
277     Aws::Vector<Filter> m_filters;
278     bool m_filtersHasBeenSet;
279   };
280 
281 } // namespace Model
282 } // namespace IdentityStore
283 } // namespace Aws
284