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/ChannelMembershipType.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Http
16 {
17     class URI;
18 } //namespace Http
19 namespace Chime
20 {
21 namespace Model
22 {
23 
24   /**
25    */
26   class AWS_CHIME_API ListChannelMembershipsRequest : public ChimeRequest
27   {
28   public:
29     ListChannelMembershipsRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "ListChannelMemberships"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
40 
41     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
42 
43 
44     /**
45      * <p>The maximum number of channel memberships that you want returned.</p>
46      */
GetChannelArn()47     inline const Aws::String& GetChannelArn() const{ return m_channelArn; }
48 
49     /**
50      * <p>The maximum number of channel memberships that you want returned.</p>
51      */
ChannelArnHasBeenSet()52     inline bool ChannelArnHasBeenSet() const { return m_channelArnHasBeenSet; }
53 
54     /**
55      * <p>The maximum number of channel memberships that you want returned.</p>
56      */
SetChannelArn(const Aws::String & value)57     inline void SetChannelArn(const Aws::String& value) { m_channelArnHasBeenSet = true; m_channelArn = value; }
58 
59     /**
60      * <p>The maximum number of channel memberships that you want returned.</p>
61      */
SetChannelArn(Aws::String && value)62     inline void SetChannelArn(Aws::String&& value) { m_channelArnHasBeenSet = true; m_channelArn = std::move(value); }
63 
64     /**
65      * <p>The maximum number of channel memberships that you want returned.</p>
66      */
SetChannelArn(const char * value)67     inline void SetChannelArn(const char* value) { m_channelArnHasBeenSet = true; m_channelArn.assign(value); }
68 
69     /**
70      * <p>The maximum number of channel memberships that you want returned.</p>
71      */
WithChannelArn(const Aws::String & value)72     inline ListChannelMembershipsRequest& WithChannelArn(const Aws::String& value) { SetChannelArn(value); return *this;}
73 
74     /**
75      * <p>The maximum number of channel memberships that you want returned.</p>
76      */
WithChannelArn(Aws::String && value)77     inline ListChannelMembershipsRequest& WithChannelArn(Aws::String&& value) { SetChannelArn(std::move(value)); return *this;}
78 
79     /**
80      * <p>The maximum number of channel memberships that you want returned.</p>
81      */
WithChannelArn(const char * value)82     inline ListChannelMembershipsRequest& WithChannelArn(const char* value) { SetChannelArn(value); return *this;}
83 
84 
85     /**
86      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
87      * Default members are always returned as part of
88      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
89      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
90      * Otherwise hidden members are not returned.</p>
91      */
GetType()92     inline const ChannelMembershipType& GetType() const{ return m_type; }
93 
94     /**
95      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
96      * Default members are always returned as part of
97      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
98      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
99      * Otherwise hidden members are not returned.</p>
100      */
TypeHasBeenSet()101     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
102 
103     /**
104      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
105      * Default members are always returned as part of
106      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
107      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
108      * Otherwise hidden members are not returned.</p>
109      */
SetType(const ChannelMembershipType & value)110     inline void SetType(const ChannelMembershipType& value) { m_typeHasBeenSet = true; m_type = value; }
111 
112     /**
113      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
114      * Default members are always returned as part of
115      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
116      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
117      * Otherwise hidden members are not returned.</p>
118      */
SetType(ChannelMembershipType && value)119     inline void SetType(ChannelMembershipType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
120 
121     /**
122      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
123      * Default members are always returned as part of
124      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
125      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
126      * Otherwise hidden members are not returned.</p>
127      */
WithType(const ChannelMembershipType & value)128     inline ListChannelMembershipsRequest& WithType(const ChannelMembershipType& value) { SetType(value); return *this;}
129 
130     /**
131      * <p>The membership type of a user, <code>DEFAULT</code> or <code>HIDDEN</code>.
132      * Default members are always returned as part of
133      * <code>ListChannelMemberships</code>. Hidden members are only returned if the
134      * type filter in <code>ListChannelMemberships</code> equals <code>HIDDEN</code>.
135      * Otherwise hidden members are not returned.</p>
136      */
WithType(ChannelMembershipType && value)137     inline ListChannelMembershipsRequest& WithType(ChannelMembershipType&& value) { SetType(std::move(value)); return *this;}
138 
139 
140     /**
141      * <p>The maximum number of channel memberships that you want returned.</p>
142      */
GetMaxResults()143     inline int GetMaxResults() const{ return m_maxResults; }
144 
145     /**
146      * <p>The maximum number of channel memberships that you want returned.</p>
147      */
MaxResultsHasBeenSet()148     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
149 
150     /**
151      * <p>The maximum number of channel memberships that you want returned.</p>
152      */
SetMaxResults(int value)153     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
154 
155     /**
156      * <p>The maximum number of channel memberships that you want returned.</p>
157      */
WithMaxResults(int value)158     inline ListChannelMembershipsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
159 
160 
161     /**
162      * <p>The token passed by previous API calls until all requested channel
163      * memberships are returned.</p>
164      */
GetNextToken()165     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
166 
167     /**
168      * <p>The token passed by previous API calls until all requested channel
169      * memberships are returned.</p>
170      */
NextTokenHasBeenSet()171     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
172 
173     /**
174      * <p>The token passed by previous API calls until all requested channel
175      * memberships are returned.</p>
176      */
SetNextToken(const Aws::String & value)177     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
178 
179     /**
180      * <p>The token passed by previous API calls until all requested channel
181      * memberships are returned.</p>
182      */
SetNextToken(Aws::String && value)183     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
184 
185     /**
186      * <p>The token passed by previous API calls until all requested channel
187      * memberships are returned.</p>
188      */
SetNextToken(const char * value)189     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
190 
191     /**
192      * <p>The token passed by previous API calls until all requested channel
193      * memberships are returned.</p>
194      */
WithNextToken(const Aws::String & value)195     inline ListChannelMembershipsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
196 
197     /**
198      * <p>The token passed by previous API calls until all requested channel
199      * memberships are returned.</p>
200      */
WithNextToken(Aws::String && value)201     inline ListChannelMembershipsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
202 
203     /**
204      * <p>The token passed by previous API calls until all requested channel
205      * memberships are returned.</p>
206      */
WithNextToken(const char * value)207     inline ListChannelMembershipsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
208 
209 
210     /**
211      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
212      */
GetChimeBearer()213     inline const Aws::String& GetChimeBearer() const{ return m_chimeBearer; }
214 
215     /**
216      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
217      */
ChimeBearerHasBeenSet()218     inline bool ChimeBearerHasBeenSet() const { return m_chimeBearerHasBeenSet; }
219 
220     /**
221      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
222      */
SetChimeBearer(const Aws::String & value)223     inline void SetChimeBearer(const Aws::String& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = value; }
224 
225     /**
226      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
227      */
SetChimeBearer(Aws::String && value)228     inline void SetChimeBearer(Aws::String&& value) { m_chimeBearerHasBeenSet = true; m_chimeBearer = std::move(value); }
229 
230     /**
231      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
232      */
SetChimeBearer(const char * value)233     inline void SetChimeBearer(const char* value) { m_chimeBearerHasBeenSet = true; m_chimeBearer.assign(value); }
234 
235     /**
236      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
237      */
WithChimeBearer(const Aws::String & value)238     inline ListChannelMembershipsRequest& WithChimeBearer(const Aws::String& value) { SetChimeBearer(value); return *this;}
239 
240     /**
241      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
242      */
WithChimeBearer(Aws::String && value)243     inline ListChannelMembershipsRequest& WithChimeBearer(Aws::String&& value) { SetChimeBearer(std::move(value)); return *this;}
244 
245     /**
246      * <p>The <code>AppInstanceUserArn</code> of the user that makes the API call.</p>
247      */
WithChimeBearer(const char * value)248     inline ListChannelMembershipsRequest& WithChimeBearer(const char* value) { SetChimeBearer(value); return *this;}
249 
250   private:
251 
252     Aws::String m_channelArn;
253     bool m_channelArnHasBeenSet;
254 
255     ChannelMembershipType m_type;
256     bool m_typeHasBeenSet;
257 
258     int m_maxResults;
259     bool m_maxResultsHasBeenSet;
260 
261     Aws::String m_nextToken;
262     bool m_nextTokenHasBeenSet;
263 
264     Aws::String m_chimeBearer;
265     bool m_chimeBearerHasBeenSet;
266   };
267 
268 } // namespace Model
269 } // namespace Chime
270 } // namespace Aws
271