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>
115 inline long long GetLimit()
const{
return m_limit; }
117 inline void SetLimit(
long long value) { m_limitHasBeenSet =
true; m_limit = value; }
133 inline void SetEvaluationWindowSec(
long long value) { m_evaluationWindowSecHasBeenSet =
true; m_evaluationWindowSec = value; }
223 bool m_limitHasBeenSet =
false;
225 long long m_evaluationWindowSec;
226 bool m_evaluationWindowSecHasBeenSet =
false;
229 bool m_aggregateKeyTypeHasBeenSet =
false;
231 std::shared_ptr<Statement> m_scopeDownStatement;
232 bool m_scopeDownStatementHasBeenSet =
false;
235 bool m_forwardedIPConfigHasBeenSet =
false;
238 bool m_customKeysHasBeenSet =
false;
void SetAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
const ForwardedIPConfig & GetForwardedIPConfig() const
const Aws::Vector< RateBasedStatementCustomKey > & GetCustomKeys() const
bool EvaluationWindowSecHasBeenSet() const
bool LimitHasBeenSet() const
RateBasedStatement & AddCustomKeys(RateBasedStatementCustomKey &&value)
RateBasedStatement & AddCustomKeys(const RateBasedStatementCustomKey &value)
bool AggregateKeyTypeHasBeenSet() const
RateBasedStatement & WithEvaluationWindowSec(long long value)
RateBasedStatement & WithCustomKeys(const Aws::Vector< RateBasedStatementCustomKey > &value)
AWS_WAFV2_API RateBasedStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
long long GetLimit() const
const RateBasedStatementAggregateKeyType & GetAggregateKeyType() const
void SetForwardedIPConfig(ForwardedIPConfig &&value)
AWS_WAFV2_API const Statement & GetScopeDownStatement() const
void SetAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
long long GetEvaluationWindowSec() const
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
bool ForwardedIPConfigHasBeenSet() 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)
void SetEvaluationWindowSec(long long value)
void SetLimit(long long 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
bool CustomKeysHasBeenSet() const
RateBasedStatement & WithForwardedIPConfig(ForwardedIPConfig &&value)
AWS_WAFV2_API RateBasedStatement()
RateBasedStatement & WithAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
RateBasedStatement & WithAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
RateBasedStatementAggregateKeyType
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue