AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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 <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace WAFV2
30{
31namespace Model
32{
33
43 {
44 public:
48 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
58 inline const RateLimitHeader& GetHeader() const{ return m_header; }
59 inline bool HeaderHasBeenSet() const { return m_headerHasBeenSet; }
60 inline void SetHeader(const RateLimitHeader& value) { m_headerHasBeenSet = true; m_header = value; }
61 inline void SetHeader(RateLimitHeader&& value) { m_headerHasBeenSet = true; m_header = std::move(value); }
62 inline RateBasedStatementCustomKey& WithHeader(const RateLimitHeader& value) { SetHeader(value); return *this;}
63 inline RateBasedStatementCustomKey& WithHeader(RateLimitHeader&& value) { SetHeader(std::move(value)); return *this;}
65
67
73 inline const RateLimitCookie& GetCookie() const{ return m_cookie; }
74 inline bool CookieHasBeenSet() const { return m_cookieHasBeenSet; }
75 inline void SetCookie(const RateLimitCookie& value) { m_cookieHasBeenSet = true; m_cookie = value; }
76 inline void SetCookie(RateLimitCookie&& value) { m_cookieHasBeenSet = true; m_cookie = std::move(value); }
77 inline RateBasedStatementCustomKey& WithCookie(const RateLimitCookie& value) { SetCookie(value); return *this;}
78 inline RateBasedStatementCustomKey& WithCookie(RateLimitCookie&& value) { SetCookie(std::move(value)); return *this;}
80
82
88 inline const RateLimitQueryArgument& GetQueryArgument() const{ return m_queryArgument; }
89 inline bool QueryArgumentHasBeenSet() const { return m_queryArgumentHasBeenSet; }
90 inline void SetQueryArgument(const RateLimitQueryArgument& value) { m_queryArgumentHasBeenSet = true; m_queryArgument = value; }
91 inline void SetQueryArgument(RateLimitQueryArgument&& value) { m_queryArgumentHasBeenSet = true; m_queryArgument = std::move(value); }
93 inline RateBasedStatementCustomKey& WithQueryArgument(RateLimitQueryArgument&& value) { SetQueryArgument(std::move(value)); return *this;}
95
97
102 inline const RateLimitQueryString& GetQueryString() const{ return m_queryString; }
103 inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; }
104 inline void SetQueryString(const RateLimitQueryString& value) { m_queryStringHasBeenSet = true; m_queryString = value; }
105 inline void SetQueryString(RateLimitQueryString&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); }
107 inline RateBasedStatementCustomKey& WithQueryString(RateLimitQueryString&& value) { SetQueryString(std::move(value)); return *this;}
109
111
116 inline const RateLimitHTTPMethod& GetHTTPMethod() const{ return m_hTTPMethod; }
117 inline bool HTTPMethodHasBeenSet() const { return m_hTTPMethodHasBeenSet; }
118 inline void SetHTTPMethod(const RateLimitHTTPMethod& value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod = value; }
119 inline void SetHTTPMethod(RateLimitHTTPMethod&& value) { m_hTTPMethodHasBeenSet = true; m_hTTPMethod = std::move(value); }
121 inline RateBasedStatementCustomKey& WithHTTPMethod(RateLimitHTTPMethod&& value) { SetHTTPMethod(std::move(value)); return *this;}
123
125
135 inline const RateLimitForwardedIP& GetForwardedIP() const{ return m_forwardedIP; }
136 inline bool ForwardedIPHasBeenSet() const { return m_forwardedIPHasBeenSet; }
137 inline void SetForwardedIP(const RateLimitForwardedIP& value) { m_forwardedIPHasBeenSet = true; m_forwardedIP = value; }
138 inline void SetForwardedIP(RateLimitForwardedIP&& value) { m_forwardedIPHasBeenSet = true; m_forwardedIP = std::move(value); }
140 inline RateBasedStatementCustomKey& WithForwardedIP(RateLimitForwardedIP&& value) { SetForwardedIP(std::move(value)); return *this;}
142
144
152 inline const RateLimitIP& GetIP() const{ return m_iP; }
153 inline bool IPHasBeenSet() const { return m_iPHasBeenSet; }
154 inline void SetIP(const RateLimitIP& value) { m_iPHasBeenSet = true; m_iP = value; }
155 inline void SetIP(RateLimitIP&& value) { m_iPHasBeenSet = true; m_iP = std::move(value); }
156 inline RateBasedStatementCustomKey& WithIP(const RateLimitIP& value) { SetIP(value); return *this;}
157 inline RateBasedStatementCustomKey& WithIP(RateLimitIP&& value) { SetIP(std::move(value)); return *this;}
159
161
172 inline const RateLimitLabelNamespace& GetLabelNamespace() const{ return m_labelNamespace; }
173 inline bool LabelNamespaceHasBeenSet() const { return m_labelNamespaceHasBeenSet; }
174 inline void SetLabelNamespace(const RateLimitLabelNamespace& value) { m_labelNamespaceHasBeenSet = true; m_labelNamespace = value; }
175 inline void SetLabelNamespace(RateLimitLabelNamespace&& value) { m_labelNamespaceHasBeenSet = true; m_labelNamespace = std::move(value); }
179
181
186 inline const RateLimitUriPath& GetUriPath() const{ return m_uriPath; }
187 inline bool UriPathHasBeenSet() const { return m_uriPathHasBeenSet; }
188 inline void SetUriPath(const RateLimitUriPath& value) { m_uriPathHasBeenSet = true; m_uriPath = value; }
189 inline void SetUriPath(RateLimitUriPath&& value) { m_uriPathHasBeenSet = true; m_uriPath = std::move(value); }
190 inline RateBasedStatementCustomKey& WithUriPath(const RateLimitUriPath& value) { SetUriPath(value); return *this;}
191 inline RateBasedStatementCustomKey& WithUriPath(RateLimitUriPath&& value) { SetUriPath(std::move(value)); return *this;}
193 private:
194
195 RateLimitHeader m_header;
196 bool m_headerHasBeenSet = false;
197
198 RateLimitCookie m_cookie;
199 bool m_cookieHasBeenSet = false;
200
201 RateLimitQueryArgument m_queryArgument;
202 bool m_queryArgumentHasBeenSet = false;
203
204 RateLimitQueryString m_queryString;
205 bool m_queryStringHasBeenSet = false;
206
207 RateLimitHTTPMethod m_hTTPMethod;
208 bool m_hTTPMethodHasBeenSet = false;
209
210 RateLimitForwardedIP m_forwardedIP;
211 bool m_forwardedIPHasBeenSet = false;
212
213 RateLimitIP m_iP;
214 bool m_iPHasBeenSet = false;
215
216 RateLimitLabelNamespace m_labelNamespace;
217 bool m_labelNamespaceHasBeenSet = false;
218
219 RateLimitUriPath m_uriPath;
220 bool m_uriPathHasBeenSet = false;
221 };
222
223} // namespace Model
224} // namespace WAFV2
225} // namespace Aws
AWS_WAFV2_API RateBasedStatementCustomKey & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetLabelNamespace(const RateLimitLabelNamespace &value)
RateBasedStatementCustomKey & WithLabelNamespace(const RateLimitLabelNamespace &value)
RateBasedStatementCustomKey & WithHTTPMethod(RateLimitHTTPMethod &&value)
RateBasedStatementCustomKey & WithQueryArgument(RateLimitQueryArgument &&value)
void SetForwardedIP(const RateLimitForwardedIP &value)
RateBasedStatementCustomKey & WithIP(const RateLimitIP &value)
AWS_WAFV2_API RateBasedStatementCustomKey(Aws::Utils::Json::JsonView jsonValue)
RateBasedStatementCustomKey & WithHeader(const RateLimitHeader &value)
RateBasedStatementCustomKey & WithForwardedIP(RateLimitForwardedIP &&value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
RateBasedStatementCustomKey & WithIP(RateLimitIP &&value)
const RateLimitQueryArgument & GetQueryArgument() const
RateBasedStatementCustomKey & WithUriPath(const RateLimitUriPath &value)
const RateLimitLabelNamespace & GetLabelNamespace() const
RateBasedStatementCustomKey & WithCookie(const RateLimitCookie &value)
void SetQueryArgument(RateLimitQueryArgument &&value)
RateBasedStatementCustomKey & WithUriPath(RateLimitUriPath &&value)
RateBasedStatementCustomKey & WithLabelNamespace(RateLimitLabelNamespace &&value)
RateBasedStatementCustomKey & WithForwardedIP(const RateLimitForwardedIP &value)
RateBasedStatementCustomKey & WithQueryString(const RateLimitQueryString &value)
void SetQueryString(const RateLimitQueryString &value)
RateBasedStatementCustomKey & WithCookie(RateLimitCookie &&value)
RateBasedStatementCustomKey & WithHTTPMethod(const RateLimitHTTPMethod &value)
RateBasedStatementCustomKey & WithQueryArgument(const RateLimitQueryArgument &value)
void SetHTTPMethod(const RateLimitHTTPMethod &value)
void SetLabelNamespace(RateLimitLabelNamespace &&value)
void SetQueryArgument(const RateLimitQueryArgument &value)
RateBasedStatementCustomKey & WithHeader(RateLimitHeader &&value)
RateBasedStatementCustomKey & WithQueryString(RateLimitQueryString &&value)
Aws::Utils::Json::JsonValue JsonValue