7#include <aws/waf/WAF_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/waf/model/RateKey.h>
11#include <aws/waf/model/Predicate.h>
73 template<
typename RuleIdT = Aws::String>
74 void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet =
true; m_ruleId = std::forward<RuleIdT>(value); }
75 template<
typename RuleIdT = Aws::String>
86 template<
typename NameT = Aws::String>
87 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
88 template<
typename NameT = Aws::String>
103 template<
typename MetricNameT = Aws::String>
104 void SetMetricName(MetricNameT&& value) { m_metricNameHasBeenSet =
true; m_metricName = std::forward<MetricNameT>(value); }
105 template<
typename MetricNameT = Aws::String>
118 template<
typename MatchPredicatesT = Aws::Vector<Predicate>>
119 void SetMatchPredicates(MatchPredicatesT&& value) { m_matchPredicatesHasBeenSet =
true; m_matchPredicates = std::forward<MatchPredicatesT>(value); }
120 template<
typename MatchPredicatesT = Aws::Vector<Predicate>>
122 template<
typename MatchPredicatesT = Predicate>
123 RateBasedRule&
AddMatchPredicates(MatchPredicatesT&& value) { m_matchPredicatesHasBeenSet =
true; m_matchPredicates.emplace_back(std::forward<MatchPredicatesT>(value));
return *
this; }
150 inline void SetRateLimit(
long long value) { m_rateLimitHasBeenSet =
true; m_rateLimit = value; }
156 bool m_ruleIdHasBeenSet =
false;
159 bool m_nameHasBeenSet =
false;
162 bool m_metricNameHasBeenSet =
false;
165 bool m_matchPredicatesHasBeenSet =
false;
168 bool m_rateKeyHasBeenSet =
false;
170 long long m_rateLimit{0};
171 bool m_rateLimitHasBeenSet =
false;
long long GetRateLimit() const
void SetRateKey(RateKey value)
RateBasedRule & WithRateKey(RateKey value)
RateBasedRule & WithName(NameT &&value)
RateBasedRule & WithMetricName(MetricNameT &&value)
RateKey GetRateKey() const
const Aws::String & GetName() const
AWS_WAF_API RateBasedRule(Aws::Utils::Json::JsonView jsonValue)
AWS_WAF_API RateBasedRule()=default
RateBasedRule & AddMatchPredicates(MatchPredicatesT &&value)
bool MetricNameHasBeenSet() const
void SetName(NameT &&value)
void SetRuleId(RuleIdT &&value)
AWS_WAF_API RateBasedRule & operator=(Aws::Utils::Json::JsonView jsonValue)
bool RuleIdHasBeenSet() const
const Aws::Vector< Predicate > & GetMatchPredicates() const
void SetMatchPredicates(MatchPredicatesT &&value)
const Aws::String & GetRuleId() const
bool NameHasBeenSet() const
void SetMetricName(MetricNameT &&value)
bool RateLimitHasBeenSet() const
RateBasedRule & WithRuleId(RuleIdT &&value)
RateBasedRule & WithMatchPredicates(MatchPredicatesT &&value)
RateBasedRule & WithRateLimit(long long value)
const Aws::String & GetMetricName() const
AWS_WAF_API Aws::Utils::Json::JsonValue Jsonize() const
bool MatchPredicatesHasBeenSet() const
bool RateKeyHasBeenSet() const
void SetRateLimit(long long value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue