7#include <aws/securityhub/SecurityHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/model/AwsWafRateBasedRuleMatchPredicate.h>
51 template<
typename MetricNameT = Aws::String>
52 void SetMetricName(MetricNameT&& value) { m_metricNameHasBeenSet =
true; m_metricName = std::forward<MetricNameT>(value); }
53 template<
typename MetricNameT = Aws::String>
63 template<
typename NameT = Aws::String>
64 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
65 template<
typename NameT = Aws::String>
76 template<
typename RateKeyT = Aws::String>
77 void SetRateKey(RateKeyT&& value) { m_rateKeyHasBeenSet =
true; m_rateKey = std::forward<RateKeyT>(value); }
78 template<
typename RateKeyT = Aws::String>
92 inline void SetRateLimit(
long long value) { m_rateLimitHasBeenSet =
true; m_rateLimit = value; }
102 template<
typename RuleIdT = Aws::String>
103 void SetRuleId(RuleIdT&& value) { m_ruleIdHasBeenSet =
true; m_ruleId = std::forward<RuleIdT>(value); }
104 template<
typename RuleIdT = Aws::String>
114 template<
typename MatchPredicatesT = Aws::Vector<AwsWafRateBasedRuleMatchPredicate>>
115 void SetMatchPredicates(MatchPredicatesT&& value) { m_matchPredicatesHasBeenSet =
true; m_matchPredicates = std::forward<MatchPredicatesT>(value); }
116 template<
typename MatchPredicatesT = Aws::Vector<AwsWafRateBasedRuleMatchPredicate>>
118 template<
typename MatchPredicatesT = AwsWafRateBasedRuleMatchPredicate>
124 bool m_metricNameHasBeenSet =
false;
127 bool m_nameHasBeenSet =
false;
130 bool m_rateKeyHasBeenSet =
false;
132 long long m_rateLimit{0};
133 bool m_rateLimitHasBeenSet =
false;
136 bool m_ruleIdHasBeenSet =
false;
139 bool m_matchPredicatesHasBeenSet =
false;
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
bool RateLimitHasBeenSet() const
void SetRateLimit(long long value)
const Aws::Vector< AwsWafRateBasedRuleMatchPredicate > & GetMatchPredicates() const
bool MetricNameHasBeenSet() const
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails()=default
bool RuleIdHasBeenSet() const
const Aws::String & GetRateKey() const
void SetRateKey(RateKeyT &&value)
AwsWafRateBasedRuleDetails & WithMetricName(MetricNameT &&value)
const Aws::String & GetRuleId() const
AwsWafRateBasedRuleDetails & WithRateLimit(long long value)
AwsWafRateBasedRuleDetails & WithName(NameT &&value)
bool MatchPredicatesHasBeenSet() const
void SetMatchPredicates(MatchPredicatesT &&value)
void SetName(NameT &&value)
AwsWafRateBasedRuleDetails & WithRateKey(RateKeyT &&value)
bool NameHasBeenSet() const
const Aws::String & GetName() const
const Aws::String & GetMetricName() const
void SetMetricName(MetricNameT &&value)
bool RateKeyHasBeenSet() const
AwsWafRateBasedRuleDetails & WithMatchPredicates(MatchPredicatesT &&value)
void SetRuleId(RuleIdT &&value)
AwsWafRateBasedRuleDetails & AddMatchPredicates(MatchPredicatesT &&value)
AwsWafRateBasedRuleDetails & WithRuleId(RuleIdT &&value)
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails(Aws::Utils::Json::JsonView jsonValue)
long long GetRateLimit() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue