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/sso-admin/SSOAdmin_EXPORTS.h>
8 #include <aws/sso-admin/SSOAdminRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/sso-admin/model/ProvisioningStatus.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace SSOAdmin
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_SSOADMIN_API ListAccountsForProvisionedPermissionSetRequest : public SSOAdminRequest
23   {
24   public:
25     ListAccountsForProvisionedPermissionSetRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "ListAccountsForProvisionedPermissionSet"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>The ARN of the SSO instance under which the operation will be executed. For
40      * more information about ARNs, see <a
41      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
42      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
43      * Services General Reference</i>.</p>
44      */
GetInstanceArn()45     inline const Aws::String& GetInstanceArn() const{ return m_instanceArn; }
46 
47     /**
48      * <p>The ARN of the SSO instance under which the operation will be executed. For
49      * more information about ARNs, see <a
50      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
51      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
52      * Services General Reference</i>.</p>
53      */
InstanceArnHasBeenSet()54     inline bool InstanceArnHasBeenSet() const { return m_instanceArnHasBeenSet; }
55 
56     /**
57      * <p>The ARN of the SSO instance under which the operation will be executed. For
58      * more information about ARNs, see <a
59      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
60      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
61      * Services General Reference</i>.</p>
62      */
SetInstanceArn(const Aws::String & value)63     inline void SetInstanceArn(const Aws::String& value) { m_instanceArnHasBeenSet = true; m_instanceArn = value; }
64 
65     /**
66      * <p>The ARN of the SSO instance under which the operation will be executed. For
67      * more information about ARNs, see <a
68      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
69      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
70      * Services General Reference</i>.</p>
71      */
SetInstanceArn(Aws::String && value)72     inline void SetInstanceArn(Aws::String&& value) { m_instanceArnHasBeenSet = true; m_instanceArn = std::move(value); }
73 
74     /**
75      * <p>The ARN of the SSO instance under which the operation will be executed. For
76      * more information about ARNs, see <a
77      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
78      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
79      * Services General Reference</i>.</p>
80      */
SetInstanceArn(const char * value)81     inline void SetInstanceArn(const char* value) { m_instanceArnHasBeenSet = true; m_instanceArn.assign(value); }
82 
83     /**
84      * <p>The ARN of the SSO instance under which the operation will be executed. For
85      * more information about ARNs, see <a
86      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
87      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
88      * Services General Reference</i>.</p>
89      */
WithInstanceArn(const Aws::String & value)90     inline ListAccountsForProvisionedPermissionSetRequest& WithInstanceArn(const Aws::String& value) { SetInstanceArn(value); return *this;}
91 
92     /**
93      * <p>The ARN of the SSO instance under which the operation will be executed. For
94      * more information about ARNs, see <a
95      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
96      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
97      * Services General Reference</i>.</p>
98      */
WithInstanceArn(Aws::String && value)99     inline ListAccountsForProvisionedPermissionSetRequest& WithInstanceArn(Aws::String&& value) { SetInstanceArn(std::move(value)); return *this;}
100 
101     /**
102      * <p>The ARN of the SSO instance under which the operation will be executed. For
103      * more information about ARNs, see <a
104      * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names
105      * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web
106      * Services General Reference</i>.</p>
107      */
WithInstanceArn(const char * value)108     inline ListAccountsForProvisionedPermissionSetRequest& WithInstanceArn(const char* value) { SetInstanceArn(value); return *this;}
109 
110 
111     /**
112      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
113      * Services accounts will be listed.</p>
114      */
GetPermissionSetArn()115     inline const Aws::String& GetPermissionSetArn() const{ return m_permissionSetArn; }
116 
117     /**
118      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
119      * Services accounts will be listed.</p>
120      */
PermissionSetArnHasBeenSet()121     inline bool PermissionSetArnHasBeenSet() const { return m_permissionSetArnHasBeenSet; }
122 
123     /**
124      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
125      * Services accounts will be listed.</p>
126      */
SetPermissionSetArn(const Aws::String & value)127     inline void SetPermissionSetArn(const Aws::String& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = value; }
128 
129     /**
130      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
131      * Services accounts will be listed.</p>
132      */
SetPermissionSetArn(Aws::String && value)133     inline void SetPermissionSetArn(Aws::String&& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = std::move(value); }
134 
135     /**
136      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
137      * Services accounts will be listed.</p>
138      */
SetPermissionSetArn(const char * value)139     inline void SetPermissionSetArn(const char* value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn.assign(value); }
140 
141     /**
142      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
143      * Services accounts will be listed.</p>
144      */
WithPermissionSetArn(const Aws::String & value)145     inline ListAccountsForProvisionedPermissionSetRequest& WithPermissionSetArn(const Aws::String& value) { SetPermissionSetArn(value); return *this;}
146 
147     /**
148      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
149      * Services accounts will be listed.</p>
150      */
WithPermissionSetArn(Aws::String && value)151     inline ListAccountsForProvisionedPermissionSetRequest& WithPermissionSetArn(Aws::String&& value) { SetPermissionSetArn(std::move(value)); return *this;}
152 
153     /**
154      * <p>The ARN of the <a>PermissionSet</a> from which the associated Amazon Web
155      * Services accounts will be listed.</p>
156      */
WithPermissionSetArn(const char * value)157     inline ListAccountsForProvisionedPermissionSetRequest& WithPermissionSetArn(const char* value) { SetPermissionSetArn(value); return *this;}
158 
159 
160     /**
161      * <p>The permission set provisioning status for an Amazon Web Services
162      * account.</p>
163      */
GetProvisioningStatus()164     inline const ProvisioningStatus& GetProvisioningStatus() const{ return m_provisioningStatus; }
165 
166     /**
167      * <p>The permission set provisioning status for an Amazon Web Services
168      * account.</p>
169      */
ProvisioningStatusHasBeenSet()170     inline bool ProvisioningStatusHasBeenSet() const { return m_provisioningStatusHasBeenSet; }
171 
172     /**
173      * <p>The permission set provisioning status for an Amazon Web Services
174      * account.</p>
175      */
SetProvisioningStatus(const ProvisioningStatus & value)176     inline void SetProvisioningStatus(const ProvisioningStatus& value) { m_provisioningStatusHasBeenSet = true; m_provisioningStatus = value; }
177 
178     /**
179      * <p>The permission set provisioning status for an Amazon Web Services
180      * account.</p>
181      */
SetProvisioningStatus(ProvisioningStatus && value)182     inline void SetProvisioningStatus(ProvisioningStatus&& value) { m_provisioningStatusHasBeenSet = true; m_provisioningStatus = std::move(value); }
183 
184     /**
185      * <p>The permission set provisioning status for an Amazon Web Services
186      * account.</p>
187      */
WithProvisioningStatus(const ProvisioningStatus & value)188     inline ListAccountsForProvisionedPermissionSetRequest& WithProvisioningStatus(const ProvisioningStatus& value) { SetProvisioningStatus(value); return *this;}
189 
190     /**
191      * <p>The permission set provisioning status for an Amazon Web Services
192      * account.</p>
193      */
WithProvisioningStatus(ProvisioningStatus && value)194     inline ListAccountsForProvisionedPermissionSetRequest& WithProvisioningStatus(ProvisioningStatus&& value) { SetProvisioningStatus(std::move(value)); return *this;}
195 
196 
197     /**
198      * <p>The maximum number of results to display for the <a>PermissionSet</a>.</p>
199      */
GetMaxResults()200     inline int GetMaxResults() const{ return m_maxResults; }
201 
202     /**
203      * <p>The maximum number of results to display for the <a>PermissionSet</a>.</p>
204      */
MaxResultsHasBeenSet()205     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
206 
207     /**
208      * <p>The maximum number of results to display for the <a>PermissionSet</a>.</p>
209      */
SetMaxResults(int value)210     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
211 
212     /**
213      * <p>The maximum number of results to display for the <a>PermissionSet</a>.</p>
214      */
WithMaxResults(int value)215     inline ListAccountsForProvisionedPermissionSetRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
216 
217 
218     /**
219      * <p>The pagination token for the list API. Initially the value is null. Use the
220      * output of previous API calls to make subsequent calls.</p>
221      */
GetNextToken()222     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
223 
224     /**
225      * <p>The pagination token for the list API. Initially the value is null. Use the
226      * output of previous API calls to make subsequent calls.</p>
227      */
NextTokenHasBeenSet()228     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
229 
230     /**
231      * <p>The pagination token for the list API. Initially the value is null. Use the
232      * output of previous API calls to make subsequent calls.</p>
233      */
SetNextToken(const Aws::String & value)234     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
235 
236     /**
237      * <p>The pagination token for the list API. Initially the value is null. Use the
238      * output of previous API calls to make subsequent calls.</p>
239      */
SetNextToken(Aws::String && value)240     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
241 
242     /**
243      * <p>The pagination token for the list API. Initially the value is null. Use the
244      * output of previous API calls to make subsequent calls.</p>
245      */
SetNextToken(const char * value)246     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
247 
248     /**
249      * <p>The pagination token for the list API. Initially the value is null. Use the
250      * output of previous API calls to make subsequent calls.</p>
251      */
WithNextToken(const Aws::String & value)252     inline ListAccountsForProvisionedPermissionSetRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
253 
254     /**
255      * <p>The pagination token for the list API. Initially the value is null. Use the
256      * output of previous API calls to make subsequent calls.</p>
257      */
WithNextToken(Aws::String && value)258     inline ListAccountsForProvisionedPermissionSetRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
259 
260     /**
261      * <p>The pagination token for the list API. Initially the value is null. Use the
262      * output of previous API calls to make subsequent calls.</p>
263      */
WithNextToken(const char * value)264     inline ListAccountsForProvisionedPermissionSetRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
265 
266   private:
267 
268     Aws::String m_instanceArn;
269     bool m_instanceArnHasBeenSet;
270 
271     Aws::String m_permissionSetArn;
272     bool m_permissionSetArnHasBeenSet;
273 
274     ProvisioningStatus m_provisioningStatus;
275     bool m_provisioningStatusHasBeenSet;
276 
277     int m_maxResults;
278     bool m_maxResultsHasBeenSet;
279 
280     Aws::String m_nextToken;
281     bool m_nextTokenHasBeenSet;
282   };
283 
284 } // namespace Model
285 } // namespace SSOAdmin
286 } // namespace Aws
287