AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
AwsWafRateBasedRuleDetails.h
1
6#pragma once
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>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace SecurityHub
24{
25namespace Model
26{
27
37 {
38 public:
39 AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails() = default;
42 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Aws::String& GetMetricName() const { return m_metricName; }
50 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
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>
54 AwsWafRateBasedRuleDetails& WithMetricName(MetricNameT&& value) { SetMetricName(std::forward<MetricNameT>(value)); return *this;}
56
58
61 inline const Aws::String& GetName() const { return m_name; }
62 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
66 AwsWafRateBasedRuleDetails& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
68
70
74 inline const Aws::String& GetRateKey() const { return m_rateKey; }
75 inline bool RateKeyHasBeenSet() const { return m_rateKeyHasBeenSet; }
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>
79 AwsWafRateBasedRuleDetails& WithRateKey(RateKeyT&& value) { SetRateKey(std::forward<RateKeyT>(value)); return *this;}
81
83
90 inline long long GetRateLimit() const { return m_rateLimit; }
91 inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; }
92 inline void SetRateLimit(long long value) { m_rateLimitHasBeenSet = true; m_rateLimit = value; }
93 inline AwsWafRateBasedRuleDetails& WithRateLimit(long long value) { SetRateLimit(value); return *this;}
95
97
100 inline const Aws::String& GetRuleId() const { return m_ruleId; }
101 inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; }
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>
105 AwsWafRateBasedRuleDetails& WithRuleId(RuleIdT&& value) { SetRuleId(std::forward<RuleIdT>(value)); return *this;}
107
109
112 inline const Aws::Vector<AwsWafRateBasedRuleMatchPredicate>& GetMatchPredicates() const { return m_matchPredicates; }
113 inline bool MatchPredicatesHasBeenSet() const { return m_matchPredicatesHasBeenSet; }
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>>
117 AwsWafRateBasedRuleDetails& WithMatchPredicates(MatchPredicatesT&& value) { SetMatchPredicates(std::forward<MatchPredicatesT>(value)); return *this;}
118 template<typename MatchPredicatesT = AwsWafRateBasedRuleMatchPredicate>
119 AwsWafRateBasedRuleDetails& AddMatchPredicates(MatchPredicatesT&& value) { m_matchPredicatesHasBeenSet = true; m_matchPredicates.emplace_back(std::forward<MatchPredicatesT>(value)); return *this; }
121 private:
122
123 Aws::String m_metricName;
124 bool m_metricNameHasBeenSet = false;
125
126 Aws::String m_name;
127 bool m_nameHasBeenSet = false;
128
129 Aws::String m_rateKey;
130 bool m_rateKeyHasBeenSet = false;
131
132 long long m_rateLimit{0};
133 bool m_rateLimitHasBeenSet = false;
134
135 Aws::String m_ruleId;
136 bool m_ruleIdHasBeenSet = false;
137
139 bool m_matchPredicatesHasBeenSet = false;
140 };
141
142} // namespace Model
143} // namespace SecurityHub
144} // namespace Aws
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< AwsWafRateBasedRuleMatchPredicate > & GetMatchPredicates() const
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails()=default
AwsWafRateBasedRuleDetails & WithMetricName(MetricNameT &&value)
AwsWafRateBasedRuleDetails & WithRateLimit(long long value)
AwsWafRateBasedRuleDetails & WithName(NameT &&value)
AwsWafRateBasedRuleDetails & WithRateKey(RateKeyT &&value)
AwsWafRateBasedRuleDetails & WithMatchPredicates(MatchPredicatesT &&value)
AwsWafRateBasedRuleDetails & AddMatchPredicates(MatchPredicatesT &&value)
AwsWafRateBasedRuleDetails & WithRuleId(RuleIdT &&value)
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue