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/cloudformation/CloudFormation_EXPORTS.h>
8 #include <aws/cloudformation/CloudFormationRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/cloudformation/model/StackSetStatus.h>
11 #include <aws/cloudformation/model/CallAs.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace CloudFormation
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_CLOUDFORMATION_API ListStackSetsRequest : public CloudFormationRequest
24   {
25   public:
26     ListStackSetsRequest();
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 "ListStackSets"; }
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>If the previous paginated request didn't return all of the remaining results,
43      * the response object's <code>NextToken</code> parameter value is set to a token.
44      * To retrieve the next set of results, call <code>ListStackSets</code> again and
45      * assign that token to the request object's <code>NextToken</code> parameter. If
46      * there are no remaining results, the previous response object's
47      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
48      */
GetNextToken()49     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
50 
51     /**
52      * <p>If the previous paginated request didn't return all of the remaining results,
53      * the response object's <code>NextToken</code> parameter value is set to a token.
54      * To retrieve the next set of results, call <code>ListStackSets</code> again and
55      * assign that token to the request object's <code>NextToken</code> parameter. If
56      * there are no remaining results, the previous response object's
57      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
58      */
NextTokenHasBeenSet()59     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
60 
61     /**
62      * <p>If the previous paginated request didn't return all of the remaining results,
63      * the response object's <code>NextToken</code> parameter value is set to a token.
64      * To retrieve the next set of results, call <code>ListStackSets</code> again and
65      * assign that token to the request object's <code>NextToken</code> parameter. If
66      * there are no remaining results, the previous response object's
67      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
68      */
SetNextToken(const Aws::String & value)69     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
70 
71     /**
72      * <p>If the previous paginated request didn't return all of the remaining results,
73      * the response object's <code>NextToken</code> parameter value is set to a token.
74      * To retrieve the next set of results, call <code>ListStackSets</code> again and
75      * assign that token to the request object's <code>NextToken</code> parameter. If
76      * there are no remaining results, the previous response object's
77      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
78      */
SetNextToken(Aws::String && value)79     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
80 
81     /**
82      * <p>If the previous paginated request didn't return all of the remaining results,
83      * the response object's <code>NextToken</code> parameter value is set to a token.
84      * To retrieve the next set of results, call <code>ListStackSets</code> again and
85      * assign that token to the request object's <code>NextToken</code> parameter. If
86      * there are no remaining results, the previous response object's
87      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
88      */
SetNextToken(const char * value)89     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
90 
91     /**
92      * <p>If the previous paginated request didn't return all of the remaining results,
93      * the response object's <code>NextToken</code> parameter value is set to a token.
94      * To retrieve the next set of results, call <code>ListStackSets</code> again and
95      * assign that token to the request object's <code>NextToken</code> parameter. If
96      * there are no remaining results, the previous response object's
97      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
98      */
WithNextToken(const Aws::String & value)99     inline ListStackSetsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
100 
101     /**
102      * <p>If the previous paginated request didn't return all of the remaining results,
103      * the response object's <code>NextToken</code> parameter value is set to a token.
104      * To retrieve the next set of results, call <code>ListStackSets</code> again and
105      * assign that token to the request object's <code>NextToken</code> parameter. If
106      * there are no remaining results, the previous response object's
107      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
108      */
WithNextToken(Aws::String && value)109     inline ListStackSetsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
110 
111     /**
112      * <p>If the previous paginated request didn't return all of the remaining results,
113      * the response object's <code>NextToken</code> parameter value is set to a token.
114      * To retrieve the next set of results, call <code>ListStackSets</code> again and
115      * assign that token to the request object's <code>NextToken</code> parameter. If
116      * there are no remaining results, the previous response object's
117      * <code>NextToken</code> parameter is set to <code>null</code>.</p>
118      */
WithNextToken(const char * value)119     inline ListStackSetsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
120 
121 
122     /**
123      * <p>The maximum number of results to be returned with a single call. If the
124      * number of available results exceeds this maximum, the response includes a
125      * <code>NextToken</code> value that you can assign to the <code>NextToken</code>
126      * request parameter to get the next set of results.</p>
127      */
GetMaxResults()128     inline int GetMaxResults() const{ return m_maxResults; }
129 
130     /**
131      * <p>The maximum number of results to be returned with a single call. If the
132      * number of available results exceeds this maximum, the response includes a
133      * <code>NextToken</code> value that you can assign to the <code>NextToken</code>
134      * request parameter to get the next set of results.</p>
135      */
MaxResultsHasBeenSet()136     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
137 
138     /**
139      * <p>The maximum number of results to be returned with a single call. If the
140      * number of available results exceeds this maximum, the response includes a
141      * <code>NextToken</code> value that you can assign to the <code>NextToken</code>
142      * request parameter to get the next set of results.</p>
143      */
SetMaxResults(int value)144     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
145 
146     /**
147      * <p>The maximum number of results to be returned with a single call. If the
148      * number of available results exceeds this maximum, the response includes a
149      * <code>NextToken</code> value that you can assign to the <code>NextToken</code>
150      * request parameter to get the next set of results.</p>
151      */
WithMaxResults(int value)152     inline ListStackSetsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
153 
154 
155     /**
156      * <p>The status of the stack sets that you want to get summary information
157      * about.</p>
158      */
GetStatus()159     inline const StackSetStatus& GetStatus() const{ return m_status; }
160 
161     /**
162      * <p>The status of the stack sets that you want to get summary information
163      * about.</p>
164      */
StatusHasBeenSet()165     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
166 
167     /**
168      * <p>The status of the stack sets that you want to get summary information
169      * about.</p>
170      */
SetStatus(const StackSetStatus & value)171     inline void SetStatus(const StackSetStatus& value) { m_statusHasBeenSet = true; m_status = value; }
172 
173     /**
174      * <p>The status of the stack sets that you want to get summary information
175      * about.</p>
176      */
SetStatus(StackSetStatus && value)177     inline void SetStatus(StackSetStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
178 
179     /**
180      * <p>The status of the stack sets that you want to get summary information
181      * about.</p>
182      */
WithStatus(const StackSetStatus & value)183     inline ListStackSetsRequest& WithStatus(const StackSetStatus& value) { SetStatus(value); return *this;}
184 
185     /**
186      * <p>The status of the stack sets that you want to get summary information
187      * about.</p>
188      */
WithStatus(StackSetStatus && value)189     inline ListStackSetsRequest& WithStatus(StackSetStatus&& value) { SetStatus(std::move(value)); return *this;}
190 
191 
192     /**
193      * <p>[Service-managed permissions] Specifies whether you are acting as an account
194      * administrator in the management account or as a delegated administrator in a
195      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
196      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
197      * <p>If you are signed in to the management account, specify
198      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
199      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
200      * Web Services account must be registered as a delegated administrator in the
201      * management account. For more information, see <a
202      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
203      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
204      * </ul>
205      */
GetCallAs()206     inline const CallAs& GetCallAs() const{ return m_callAs; }
207 
208     /**
209      * <p>[Service-managed permissions] Specifies whether you are acting as an account
210      * administrator in the management account or as a delegated administrator in a
211      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
212      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
213      * <p>If you are signed in to the management account, specify
214      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
215      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
216      * Web Services account must be registered as a delegated administrator in the
217      * management account. For more information, see <a
218      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
219      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
220      * </ul>
221      */
CallAsHasBeenSet()222     inline bool CallAsHasBeenSet() const { return m_callAsHasBeenSet; }
223 
224     /**
225      * <p>[Service-managed permissions] Specifies whether you are acting as an account
226      * administrator in the management account or as a delegated administrator in a
227      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
228      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
229      * <p>If you are signed in to the management account, specify
230      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
231      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
232      * Web Services account must be registered as a delegated administrator in the
233      * management account. For more information, see <a
234      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
235      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
236      * </ul>
237      */
SetCallAs(const CallAs & value)238     inline void SetCallAs(const CallAs& value) { m_callAsHasBeenSet = true; m_callAs = value; }
239 
240     /**
241      * <p>[Service-managed permissions] Specifies whether you are acting as an account
242      * administrator in the management account or as a delegated administrator in a
243      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
244      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
245      * <p>If you are signed in to the management account, specify
246      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
247      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
248      * Web Services account must be registered as a delegated administrator in the
249      * management account. For more information, see <a
250      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
251      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
252      * </ul>
253      */
SetCallAs(CallAs && value)254     inline void SetCallAs(CallAs&& value) { m_callAsHasBeenSet = true; m_callAs = std::move(value); }
255 
256     /**
257      * <p>[Service-managed permissions] Specifies whether you are acting as an account
258      * administrator in the management account or as a delegated administrator in a
259      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
260      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
261      * <p>If you are signed in to the management account, specify
262      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
263      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
264      * Web Services account must be registered as a delegated administrator in the
265      * management account. For more information, see <a
266      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
267      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
268      * </ul>
269      */
WithCallAs(const CallAs & value)270     inline ListStackSetsRequest& WithCallAs(const CallAs& value) { SetCallAs(value); return *this;}
271 
272     /**
273      * <p>[Service-managed permissions] Specifies whether you are acting as an account
274      * administrator in the management account or as a delegated administrator in a
275      * member account.</p> <p>By default, <code>SELF</code> is specified. Use
276      * <code>SELF</code> for stack sets with self-managed permissions.</p> <ul> <li>
277      * <p>If you are signed in to the management account, specify
278      * <code>SELF</code>.</p> </li> <li> <p>If you are signed in to a delegated
279      * administrator account, specify <code>DELEGATED_ADMIN</code>.</p> <p>Your Amazon
280      * Web Services account must be registered as a delegated administrator in the
281      * management account. For more information, see <a
282      * href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html">Register
283      * a delegated administrator</a> in the <i>CloudFormation User Guide</i>.</p> </li>
284      * </ul>
285      */
WithCallAs(CallAs && value)286     inline ListStackSetsRequest& WithCallAs(CallAs&& value) { SetCallAs(std::move(value)); return *this;}
287 
288   private:
289 
290     Aws::String m_nextToken;
291     bool m_nextTokenHasBeenSet;
292 
293     int m_maxResults;
294     bool m_maxResultsHasBeenSet;
295 
296     StackSetStatus m_status;
297     bool m_statusHasBeenSet;
298 
299     CallAs m_callAs;
300     bool m_callAsHasBeenSet;
301   };
302 
303 } // namespace Model
304 } // namespace CloudFormation
305 } // namespace Aws
306