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/wafv2/WAFV2_EXPORTS.h>
8 #include <aws/wafv2/WAFV2Request.h>
9 #include <aws/wafv2/model/Scope.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace WAFV2
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_WAFV2_API ListWebACLsRequest : public WAFV2Request
23   {
24   public:
25     ListWebACLsRequest();
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 "ListWebACLs"; }
32 
33     Aws::String SerializePayload() const override;
34 
35     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
36 
37 
38     /**
39      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
40      * regional application. A regional application can be an Application Load Balancer
41      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
42      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
43      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
44      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
45      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
46      * </ul>
47      */
GetScope()48     inline const Scope& GetScope() const{ return m_scope; }
49 
50     /**
51      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
52      * regional application. A regional application can be an Application Load Balancer
53      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
54      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
55      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
56      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
57      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
58      * </ul>
59      */
ScopeHasBeenSet()60     inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
61 
62     /**
63      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
64      * regional application. A regional application can be an Application Load Balancer
65      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
66      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
67      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
68      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
69      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
70      * </ul>
71      */
SetScope(const Scope & value)72     inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; }
73 
74     /**
75      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
76      * regional application. A regional application can be an Application Load Balancer
77      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
78      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
79      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
80      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
81      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
82      * </ul>
83      */
SetScope(Scope && value)84     inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); }
85 
86     /**
87      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
88      * regional application. A regional application can be an Application Load Balancer
89      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
90      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
91      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
92      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
93      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
94      * </ul>
95      */
WithScope(const Scope & value)96     inline ListWebACLsRequest& WithScope(const Scope& value) { SetScope(value); return *this;}
97 
98     /**
99      * <p>Specifies whether this is for an Amazon CloudFront distribution or for a
100      * regional application. A regional application can be an Application Load Balancer
101      * (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API. </p> <p>To
102      * work with CloudFront, you must also specify the Region US East (N. Virginia) as
103      * follows: </p> <ul> <li> <p>CLI - Specify the Region when you use the CloudFront
104      * scope: <code>--scope=CLOUDFRONT --region=us-east-1</code>. </p> </li> <li>
105      * <p>API and SDKs - For all calls, use the Region endpoint us-east-1. </p> </li>
106      * </ul>
107      */
WithScope(Scope && value)108     inline ListWebACLsRequest& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;}
109 
110 
111     /**
112      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
113      * number of objects that are still available for retrieval exceeds the limit, WAF
114      * returns a <code>NextMarker</code> value in the response. To retrieve the next
115      * batch of objects, provide the marker from the prior call in your next
116      * request.</p>
117      */
GetNextMarker()118     inline const Aws::String& GetNextMarker() const{ return m_nextMarker; }
119 
120     /**
121      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
122      * number of objects that are still available for retrieval exceeds the limit, WAF
123      * returns a <code>NextMarker</code> value in the response. To retrieve the next
124      * batch of objects, provide the marker from the prior call in your next
125      * request.</p>
126      */
NextMarkerHasBeenSet()127     inline bool NextMarkerHasBeenSet() const { return m_nextMarkerHasBeenSet; }
128 
129     /**
130      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
131      * number of objects that are still available for retrieval exceeds the limit, WAF
132      * returns a <code>NextMarker</code> value in the response. To retrieve the next
133      * batch of objects, provide the marker from the prior call in your next
134      * request.</p>
135      */
SetNextMarker(const Aws::String & value)136     inline void SetNextMarker(const Aws::String& value) { m_nextMarkerHasBeenSet = true; m_nextMarker = value; }
137 
138     /**
139      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
140      * number of objects that are still available for retrieval exceeds the limit, WAF
141      * returns a <code>NextMarker</code> value in the response. To retrieve the next
142      * batch of objects, provide the marker from the prior call in your next
143      * request.</p>
144      */
SetNextMarker(Aws::String && value)145     inline void SetNextMarker(Aws::String&& value) { m_nextMarkerHasBeenSet = true; m_nextMarker = std::move(value); }
146 
147     /**
148      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
149      * number of objects that are still available for retrieval exceeds the limit, WAF
150      * returns a <code>NextMarker</code> value in the response. To retrieve the next
151      * batch of objects, provide the marker from the prior call in your next
152      * request.</p>
153      */
SetNextMarker(const char * value)154     inline void SetNextMarker(const char* value) { m_nextMarkerHasBeenSet = true; m_nextMarker.assign(value); }
155 
156     /**
157      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
158      * number of objects that are still available for retrieval exceeds the limit, WAF
159      * returns a <code>NextMarker</code> value in the response. To retrieve the next
160      * batch of objects, provide the marker from the prior call in your next
161      * request.</p>
162      */
WithNextMarker(const Aws::String & value)163     inline ListWebACLsRequest& WithNextMarker(const Aws::String& value) { SetNextMarker(value); return *this;}
164 
165     /**
166      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
167      * number of objects that are still available for retrieval exceeds the limit, WAF
168      * returns a <code>NextMarker</code> value in the response. To retrieve the next
169      * batch of objects, provide the marker from the prior call in your next
170      * request.</p>
171      */
WithNextMarker(Aws::String && value)172     inline ListWebACLsRequest& WithNextMarker(Aws::String&& value) { SetNextMarker(std::move(value)); return *this;}
173 
174     /**
175      * <p>When you request a list of objects with a <code>Limit</code> setting, if the
176      * number of objects that are still available for retrieval exceeds the limit, WAF
177      * returns a <code>NextMarker</code> value in the response. To retrieve the next
178      * batch of objects, provide the marker from the prior call in your next
179      * request.</p>
180      */
WithNextMarker(const char * value)181     inline ListWebACLsRequest& WithNextMarker(const char* value) { SetNextMarker(value); return *this;}
182 
183 
184     /**
185      * <p>The maximum number of objects that you want WAF to return for this request.
186      * If more objects are available, in the response, WAF provides a
187      * <code>NextMarker</code> value that you can use in a subsequent call to get the
188      * next batch of objects.</p>
189      */
GetLimit()190     inline int GetLimit() const{ return m_limit; }
191 
192     /**
193      * <p>The maximum number of objects that you want WAF to return for this request.
194      * If more objects are available, in the response, WAF provides a
195      * <code>NextMarker</code> value that you can use in a subsequent call to get the
196      * next batch of objects.</p>
197      */
LimitHasBeenSet()198     inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
199 
200     /**
201      * <p>The maximum number of objects that you want WAF to return for this request.
202      * If more objects are available, in the response, WAF provides a
203      * <code>NextMarker</code> value that you can use in a subsequent call to get the
204      * next batch of objects.</p>
205      */
SetLimit(int value)206     inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; }
207 
208     /**
209      * <p>The maximum number of objects that you want WAF to return for this request.
210      * If more objects are available, in the response, WAF provides a
211      * <code>NextMarker</code> value that you can use in a subsequent call to get the
212      * next batch of objects.</p>
213      */
WithLimit(int value)214     inline ListWebACLsRequest& WithLimit(int value) { SetLimit(value); return *this;}
215 
216   private:
217 
218     Scope m_scope;
219     bool m_scopeHasBeenSet;
220 
221     Aws::String m_nextMarker;
222     bool m_nextMarkerHasBeenSet;
223 
224     int m_limit;
225     bool m_limitHasBeenSet;
226   };
227 
228 } // namespace Model
229 } // namespace WAFV2
230 } // namespace Aws
231