AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
RateBasedStatement.h
1
6#pragma once
7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/wafv2/model/RateBasedStatementAggregateKeyType.h>
9#include <aws/wafv2/model/ForwardedIPConfig.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/wafv2/model/RateBasedStatementCustomKey.h>
12#include <utility>
13#include <memory>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace WAFV2
26{
27namespace Model
28{
29 class Statement;
30
96 {
97 public:
98 AWS_WAFV2_API RateBasedStatement();
102
103
105
115 inline long long GetLimit() const{ return m_limit; }
116 inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
117 inline void SetLimit(long long value) { m_limitHasBeenSet = true; m_limit = value; }
118 inline RateBasedStatement& WithLimit(long long value) { SetLimit(value); return *this;}
120
122
131 inline long long GetEvaluationWindowSec() const{ return m_evaluationWindowSec; }
132 inline bool EvaluationWindowSecHasBeenSet() const { return m_evaluationWindowSecHasBeenSet; }
133 inline void SetEvaluationWindowSec(long long value) { m_evaluationWindowSecHasBeenSet = true; m_evaluationWindowSec = value; }
134 inline RateBasedStatement& WithEvaluationWindowSec(long long value) { SetEvaluationWindowSec(value); return *this;}
136
138
164 inline const RateBasedStatementAggregateKeyType& GetAggregateKeyType() const{ return m_aggregateKeyType; }
165 inline bool AggregateKeyTypeHasBeenSet() const { return m_aggregateKeyTypeHasBeenSet; }
166 inline void SetAggregateKeyType(const RateBasedStatementAggregateKeyType& value) { m_aggregateKeyTypeHasBeenSet = true; m_aggregateKeyType = value; }
167 inline void SetAggregateKeyType(RateBasedStatementAggregateKeyType&& value) { m_aggregateKeyTypeHasBeenSet = true; m_aggregateKeyType = std::move(value); }
171
173
181 AWS_WAFV2_API const Statement& GetScopeDownStatement() const;
182 AWS_WAFV2_API bool ScopeDownStatementHasBeenSet() const;
183 AWS_WAFV2_API void SetScopeDownStatement(const Statement& value);
184 AWS_WAFV2_API void SetScopeDownStatement(Statement&& value);
188
190
199 inline const ForwardedIPConfig& GetForwardedIPConfig() const{ return m_forwardedIPConfig; }
200 inline bool ForwardedIPConfigHasBeenSet() const { return m_forwardedIPConfigHasBeenSet; }
201 inline void SetForwardedIPConfig(const ForwardedIPConfig& value) { m_forwardedIPConfigHasBeenSet = true; m_forwardedIPConfig = value; }
202 inline void SetForwardedIPConfig(ForwardedIPConfig&& value) { m_forwardedIPConfigHasBeenSet = true; m_forwardedIPConfig = std::move(value); }
204 inline RateBasedStatement& WithForwardedIPConfig(ForwardedIPConfig&& value) { SetForwardedIPConfig(std::move(value)); return *this;}
206
208
211 inline const Aws::Vector<RateBasedStatementCustomKey>& GetCustomKeys() const{ return m_customKeys; }
212 inline bool CustomKeysHasBeenSet() const { return m_customKeysHasBeenSet; }
213 inline void SetCustomKeys(const Aws::Vector<RateBasedStatementCustomKey>& value) { m_customKeysHasBeenSet = true; m_customKeys = value; }
214 inline void SetCustomKeys(Aws::Vector<RateBasedStatementCustomKey>&& value) { m_customKeysHasBeenSet = true; m_customKeys = std::move(value); }
217 inline RateBasedStatement& AddCustomKeys(const RateBasedStatementCustomKey& value) { m_customKeysHasBeenSet = true; m_customKeys.push_back(value); return *this; }
218 inline RateBasedStatement& AddCustomKeys(RateBasedStatementCustomKey&& value) { m_customKeysHasBeenSet = true; m_customKeys.push_back(std::move(value)); return *this; }
220 private:
221
222 long long m_limit;
223 bool m_limitHasBeenSet = false;
224
225 long long m_evaluationWindowSec;
226 bool m_evaluationWindowSecHasBeenSet = false;
227
228 RateBasedStatementAggregateKeyType m_aggregateKeyType;
229 bool m_aggregateKeyTypeHasBeenSet = false;
230
231 std::shared_ptr<Statement> m_scopeDownStatement;
232 bool m_scopeDownStatementHasBeenSet = false;
233
234 ForwardedIPConfig m_forwardedIPConfig;
235 bool m_forwardedIPConfigHasBeenSet = false;
236
238 bool m_customKeysHasBeenSet = false;
239 };
240
241} // namespace Model
242} // namespace WAFV2
243} // namespace Aws
void SetAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
const ForwardedIPConfig & GetForwardedIPConfig() const
const Aws::Vector< RateBasedStatementCustomKey > & GetCustomKeys() const
RateBasedStatement & AddCustomKeys(RateBasedStatementCustomKey &&value)
RateBasedStatement & AddCustomKeys(const RateBasedStatementCustomKey &value)
RateBasedStatement & WithEvaluationWindowSec(long long value)
RateBasedStatement & WithCustomKeys(const Aws::Vector< RateBasedStatementCustomKey > &value)
AWS_WAFV2_API RateBasedStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
const RateBasedStatementAggregateKeyType & GetAggregateKeyType() const
void SetForwardedIPConfig(ForwardedIPConfig &&value)
AWS_WAFV2_API const Statement & GetScopeDownStatement() const
void SetAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
RateBasedStatement & WithLimit(long long value)
AWS_WAFV2_API void SetScopeDownStatement(Statement &&value)
RateBasedStatement & WithCustomKeys(Aws::Vector< RateBasedStatementCustomKey > &&value)
void SetCustomKeys(Aws::Vector< RateBasedStatementCustomKey > &&value)
void SetForwardedIPConfig(const ForwardedIPConfig &value)
AWS_WAFV2_API RateBasedStatement & WithScopeDownStatement(const Statement &value)
AWS_WAFV2_API void SetScopeDownStatement(const Statement &value)
RateBasedStatement & WithForwardedIPConfig(const ForwardedIPConfig &value)
AWS_WAFV2_API RateBasedStatement(Aws::Utils::Json::JsonView jsonValue)
void SetCustomKeys(const Aws::Vector< RateBasedStatementCustomKey > &value)
AWS_WAFV2_API RateBasedStatement & WithScopeDownStatement(Statement &&value)
AWS_WAFV2_API bool ScopeDownStatementHasBeenSet() const
RateBasedStatement & WithForwardedIPConfig(ForwardedIPConfig &&value)
RateBasedStatement & WithAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
RateBasedStatement & WithAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue