AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
RateBasedStatementCustomKey.h
1
6#pragma once
7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/wafv2/model/RateLimitHeader.h>
9#include <aws/wafv2/model/RateLimitCookie.h>
10#include <aws/wafv2/model/RateLimitQueryArgument.h>
11#include <aws/wafv2/model/RateLimitQueryString.h>
12#include <aws/wafv2/model/RateLimitHTTPMethod.h>
13#include <aws/wafv2/model/RateLimitForwardedIP.h>
14#include <aws/wafv2/model/RateLimitIP.h>
15#include <aws/wafv2/model/RateLimitLabelNamespace.h>
16#include <aws/wafv2/model/RateLimitUriPath.h>
17#include <aws/wafv2/model/RateLimitJA3Fingerprint.h>
18#include <aws/wafv2/model/RateLimitJA4Fingerprint.h>
19#include <aws/wafv2/model/RateLimitAsn.h>
20#include <utility>
21
22namespace Aws
23{
24namespace Utils
25{
26namespace Json
27{
28 class JsonValue;
29 class JsonView;
30} // namespace Json
31} // namespace Utils
32namespace WAFV2
33{
34namespace Model
35{
36
46 {
47 public:
48 AWS_WAFV2_API RateBasedStatementCustomKey() = default;
51 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
52
53
55
61 inline const RateLimitHeader& GetHeader() const { return m_header; }
62 inline bool HeaderHasBeenSet() const { return m_headerHasBeenSet; }
63 template<typename HeaderT = RateLimitHeader>
64 void SetHeader(HeaderT&& value) { m_headerHasBeenSet = true; m_header = std::forward<HeaderT>(value); }
65 template<typename HeaderT = RateLimitHeader>
66 RateBasedStatementCustomKey& WithHeader(HeaderT&& value) { SetHeader(std::forward<HeaderT>(value)); return *this;}
68
70
76 inline const RateLimitCookie& GetCookie() const { return m_cookie; }
77 inline bool CookieHasBeenSet() const { return m_cookieHasBeenSet; }
78 template<typename CookieT = RateLimitCookie>
79 void SetCookie(CookieT&& value) { m_cookieHasBeenSet = true; m_cookie = std::forward<CookieT>(value); }
80 template<typename CookieT = RateLimitCookie>
81 RateBasedStatementCustomKey& WithCookie(CookieT&& value) { SetCookie(std::forward<CookieT>(value)); return *this;}
83
85
91 inline const RateLimitQueryArgument& GetQueryArgument() const { return m_queryArgument; }
92 inline bool QueryArgumentHasBeenSet() const { return m_queryArgumentHasBeenSet; }
93 template<typename QueryArgumentT = RateLimitQueryArgument>
94 void SetQueryArgument(QueryArgumentT&& value) { m_queryArgumentHasBeenSet = true; m_queryArgument = std::forward<QueryArgumentT>(value); }
95 template<typename QueryArgumentT = RateLimitQueryArgument>
96 RateBasedStatementCustomKey& WithQueryArgument(QueryArgumentT&& value) { SetQueryArgument(std::forward<QueryArgumentT>(value)); return *this;}
98
100
105 inline const RateLimitQueryString& GetQueryString() const { return m_queryString; }
106 inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; }
107 template<typename QueryStringT = RateLimitQueryString>
108 void SetQueryString(QueryStringT&& value) { m_queryStringHasBeenSet = true; m_queryString = std::forward<QueryStringT>(value); }
109 template<typename QueryStringT = RateLimitQueryString>
110 RateBasedStatementCustomKey& WithQueryString(QueryStringT&& value) { SetQueryString(std::forward<QueryStringT>(value)); return *this;}
112
114
119 inline const RateLimitHTTPMethod& GetHTTPMethod() const { return m_hTTPMethod; }
120 inline bool HTTPMethodHasBeenSet() const { return m_hTTPMethodHasBeenSet; }
121 template<typename HTTPMethodT = RateLimitHTTPMethod>
122 void SetHTTPMethod(HTTPMethodT&& value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod = std::forward<HTTPMethodT>(value); }
123 template<typename HTTPMethodT = RateLimitHTTPMethod>
124 RateBasedStatementCustomKey& WithHTTPMethod(HTTPMethodT&& value) { SetHTTPMethod(std::forward<HTTPMethodT>(value)); return *this;}
126
128
138 inline const RateLimitForwardedIP& GetForwardedIP() const { return m_forwardedIP; }
139 inline bool ForwardedIPHasBeenSet() const { return m_forwardedIPHasBeenSet; }
140 template<typename ForwardedIPT = RateLimitForwardedIP>
141 void SetForwardedIP(ForwardedIPT&& value) { m_forwardedIPHasBeenSet = true; m_forwardedIP = std::forward<ForwardedIPT>(value); }
142 template<typename ForwardedIPT = RateLimitForwardedIP>
143 RateBasedStatementCustomKey& WithForwardedIP(ForwardedIPT&& value) { SetForwardedIP(std::forward<ForwardedIPT>(value)); return *this;}
145
147
155 inline const RateLimitIP& GetIP() const { return m_iP; }
156 inline bool IPHasBeenSet() const { return m_iPHasBeenSet; }
157 template<typename IPT = RateLimitIP>
158 void SetIP(IPT&& value) { m_iPHasBeenSet = true; m_iP = std::forward<IPT>(value); }
159 template<typename IPT = RateLimitIP>
160 RateBasedStatementCustomKey& WithIP(IPT&& value) { SetIP(std::forward<IPT>(value)); return *this;}
162
164
175 inline const RateLimitLabelNamespace& GetLabelNamespace() const { return m_labelNamespace; }
176 inline bool LabelNamespaceHasBeenSet() const { return m_labelNamespaceHasBeenSet; }
177 template<typename LabelNamespaceT = RateLimitLabelNamespace>
178 void SetLabelNamespace(LabelNamespaceT&& value) { m_labelNamespaceHasBeenSet = true; m_labelNamespace = std::forward<LabelNamespaceT>(value); }
179 template<typename LabelNamespaceT = RateLimitLabelNamespace>
180 RateBasedStatementCustomKey& WithLabelNamespace(LabelNamespaceT&& value) { SetLabelNamespace(std::forward<LabelNamespaceT>(value)); return *this;}
182
184
189 inline const RateLimitUriPath& GetUriPath() const { return m_uriPath; }
190 inline bool UriPathHasBeenSet() const { return m_uriPathHasBeenSet; }
191 template<typename UriPathT = RateLimitUriPath>
192 void SetUriPath(UriPathT&& value) { m_uriPathHasBeenSet = true; m_uriPath = std::forward<UriPathT>(value); }
193 template<typename UriPathT = RateLimitUriPath>
194 RateBasedStatementCustomKey& WithUriPath(UriPathT&& value) { SetUriPath(std::forward<UriPathT>(value)); return *this;}
196
198
203 inline const RateLimitJA3Fingerprint& GetJA3Fingerprint() const { return m_jA3Fingerprint; }
204 inline bool JA3FingerprintHasBeenSet() const { return m_jA3FingerprintHasBeenSet; }
205 template<typename JA3FingerprintT = RateLimitJA3Fingerprint>
206 void SetJA3Fingerprint(JA3FingerprintT&& value) { m_jA3FingerprintHasBeenSet = true; m_jA3Fingerprint = std::forward<JA3FingerprintT>(value); }
207 template<typename JA3FingerprintT = RateLimitJA3Fingerprint>
208 RateBasedStatementCustomKey& WithJA3Fingerprint(JA3FingerprintT&& value) { SetJA3Fingerprint(std::forward<JA3FingerprintT>(value)); return *this;}
210
212
217 inline const RateLimitJA4Fingerprint& GetJA4Fingerprint() const { return m_jA4Fingerprint; }
218 inline bool JA4FingerprintHasBeenSet() const { return m_jA4FingerprintHasBeenSet; }
219 template<typename JA4FingerprintT = RateLimitJA4Fingerprint>
220 void SetJA4Fingerprint(JA4FingerprintT&& value) { m_jA4FingerprintHasBeenSet = true; m_jA4Fingerprint = std::forward<JA4FingerprintT>(value); }
221 template<typename JA4FingerprintT = RateLimitJA4Fingerprint>
222 RateBasedStatementCustomKey& WithJA4Fingerprint(JA4FingerprintT&& value) { SetJA4Fingerprint(std::forward<JA4FingerprintT>(value)); return *this;}
224
226
231 inline const RateLimitAsn& GetASN() const { return m_aSN; }
232 inline bool ASNHasBeenSet() const { return m_aSNHasBeenSet; }
233 template<typename ASNT = RateLimitAsn>
234 void SetASN(ASNT&& value) { m_aSNHasBeenSet = true; m_aSN = std::forward<ASNT>(value); }
235 template<typename ASNT = RateLimitAsn>
236 RateBasedStatementCustomKey& WithASN(ASNT&& value) { SetASN(std::forward<ASNT>(value)); return *this;}
238 private:
239
240 RateLimitHeader m_header;
241 bool m_headerHasBeenSet = false;
242
243 RateLimitCookie m_cookie;
244 bool m_cookieHasBeenSet = false;
245
246 RateLimitQueryArgument m_queryArgument;
247 bool m_queryArgumentHasBeenSet = false;
248
249 RateLimitQueryString m_queryString;
250 bool m_queryStringHasBeenSet = false;
251
252 RateLimitHTTPMethod m_hTTPMethod;
253 bool m_hTTPMethodHasBeenSet = false;
254
255 RateLimitForwardedIP m_forwardedIP;
256 bool m_forwardedIPHasBeenSet = false;
257
258 RateLimitIP m_iP;
259 bool m_iPHasBeenSet = false;
260
261 RateLimitLabelNamespace m_labelNamespace;
262 bool m_labelNamespaceHasBeenSet = false;
263
264 RateLimitUriPath m_uriPath;
265 bool m_uriPathHasBeenSet = false;
266
267 RateLimitJA3Fingerprint m_jA3Fingerprint;
268 bool m_jA3FingerprintHasBeenSet = false;
269
270 RateLimitJA4Fingerprint m_jA4Fingerprint;
271 bool m_jA4FingerprintHasBeenSet = false;
272
273 RateLimitAsn m_aSN;
274 bool m_aSNHasBeenSet = false;
275 };
276
277} // namespace Model
278} // namespace WAFV2
279} // namespace Aws
RateBasedStatementCustomKey & WithASN(ASNT &&value)
AWS_WAFV2_API RateBasedStatementCustomKey & operator=(Aws::Utils::Json::JsonView jsonValue)
const RateLimitJA3Fingerprint & GetJA3Fingerprint() const
AWS_WAFV2_API RateBasedStatementCustomKey()=default
RateBasedStatementCustomKey & WithJA3Fingerprint(JA3FingerprintT &&value)
AWS_WAFV2_API RateBasedStatementCustomKey(Aws::Utils::Json::JsonView jsonValue)
RateBasedStatementCustomKey & WithUriPath(UriPathT &&value)
RateBasedStatementCustomKey & WithHeader(HeaderT &&value)
RateBasedStatementCustomKey & WithQueryArgument(QueryArgumentT &&value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
RateBasedStatementCustomKey & WithForwardedIP(ForwardedIPT &&value)
const RateLimitQueryArgument & GetQueryArgument() const
const RateLimitLabelNamespace & GetLabelNamespace() const
RateBasedStatementCustomKey & WithHTTPMethod(HTTPMethodT &&value)
const RateLimitJA4Fingerprint & GetJA4Fingerprint() const
RateBasedStatementCustomKey & WithCookie(CookieT &&value)
RateBasedStatementCustomKey & WithQueryString(QueryStringT &&value)
RateBasedStatementCustomKey & WithLabelNamespace(LabelNamespaceT &&value)
RateBasedStatementCustomKey & WithJA4Fingerprint(JA4FingerprintT &&value)
RateBasedStatementCustomKey & WithIP(IPT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
Aws::Utils::Json::JsonValue JsonValue