AWS SDK for C++

AWS SDK for C++ Version 1.11.440

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();
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 inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
52 inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); }
53 inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
54 inline AwsWafRateBasedRuleDetails& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
55 inline AwsWafRateBasedRuleDetails& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;}
56 inline AwsWafRateBasedRuleDetails& WithMetricName(const char* value) { SetMetricName(value); return *this;}
58
60
63 inline const Aws::String& GetName() const{ return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
66 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
67 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
68 inline AwsWafRateBasedRuleDetails& WithName(const Aws::String& value) { SetName(value); return *this;}
69 inline AwsWafRateBasedRuleDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
70 inline AwsWafRateBasedRuleDetails& WithName(const char* value) { SetName(value); return *this;}
72
74
78 inline const Aws::String& GetRateKey() const{ return m_rateKey; }
79 inline bool RateKeyHasBeenSet() const { return m_rateKeyHasBeenSet; }
80 inline void SetRateKey(const Aws::String& value) { m_rateKeyHasBeenSet = true; m_rateKey = value; }
81 inline void SetRateKey(Aws::String&& value) { m_rateKeyHasBeenSet = true; m_rateKey = std::move(value); }
82 inline void SetRateKey(const char* value) { m_rateKeyHasBeenSet = true; m_rateKey.assign(value); }
83 inline AwsWafRateBasedRuleDetails& WithRateKey(const Aws::String& value) { SetRateKey(value); return *this;}
84 inline AwsWafRateBasedRuleDetails& WithRateKey(Aws::String&& value) { SetRateKey(std::move(value)); return *this;}
85 inline AwsWafRateBasedRuleDetails& WithRateKey(const char* value) { SetRateKey(value); return *this;}
87
89
96 inline long long GetRateLimit() const{ return m_rateLimit; }
97 inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; }
98 inline void SetRateLimit(long long value) { m_rateLimitHasBeenSet = true; m_rateLimit = value; }
99 inline AwsWafRateBasedRuleDetails& WithRateLimit(long long value) { SetRateLimit(value); return *this;}
101
103
106 inline const Aws::String& GetRuleId() const{ return m_ruleId; }
107 inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; }
108 inline void SetRuleId(const Aws::String& value) { m_ruleIdHasBeenSet = true; m_ruleId = value; }
109 inline void SetRuleId(Aws::String&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::move(value); }
110 inline void SetRuleId(const char* value) { m_ruleIdHasBeenSet = true; m_ruleId.assign(value); }
111 inline AwsWafRateBasedRuleDetails& WithRuleId(const Aws::String& value) { SetRuleId(value); return *this;}
112 inline AwsWafRateBasedRuleDetails& WithRuleId(Aws::String&& value) { SetRuleId(std::move(value)); return *this;}
113 inline AwsWafRateBasedRuleDetails& WithRuleId(const char* value) { SetRuleId(value); return *this;}
115
117
120 inline const Aws::Vector<AwsWafRateBasedRuleMatchPredicate>& GetMatchPredicates() const{ return m_matchPredicates; }
121 inline bool MatchPredicatesHasBeenSet() const { return m_matchPredicatesHasBeenSet; }
122 inline void SetMatchPredicates(const Aws::Vector<AwsWafRateBasedRuleMatchPredicate>& value) { m_matchPredicatesHasBeenSet = true; m_matchPredicates = value; }
123 inline void SetMatchPredicates(Aws::Vector<AwsWafRateBasedRuleMatchPredicate>&& value) { m_matchPredicatesHasBeenSet = true; m_matchPredicates = std::move(value); }
126 inline AwsWafRateBasedRuleDetails& AddMatchPredicates(const AwsWafRateBasedRuleMatchPredicate& value) { m_matchPredicatesHasBeenSet = true; m_matchPredicates.push_back(value); return *this; }
127 inline AwsWafRateBasedRuleDetails& AddMatchPredicates(AwsWafRateBasedRuleMatchPredicate&& value) { m_matchPredicatesHasBeenSet = true; m_matchPredicates.push_back(std::move(value)); return *this; }
129 private:
130
131 Aws::String m_metricName;
132 bool m_metricNameHasBeenSet = false;
133
134 Aws::String m_name;
135 bool m_nameHasBeenSet = false;
136
137 Aws::String m_rateKey;
138 bool m_rateKeyHasBeenSet = false;
139
140 long long m_rateLimit;
141 bool m_rateLimitHasBeenSet = false;
142
143 Aws::String m_ruleId;
144 bool m_ruleIdHasBeenSet = false;
145
147 bool m_matchPredicatesHasBeenSet = false;
148 };
149
150} // namespace Model
151} // namespace SecurityHub
152} // namespace Aws
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
AwsWafRateBasedRuleDetails & WithRuleId(Aws::String &&value)
AwsWafRateBasedRuleDetails & WithMetricName(Aws::String &&value)
AwsWafRateBasedRuleDetails & WithMetricName(const char *value)
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
AwsWafRateBasedRuleDetails & WithRuleId(const Aws::String &value)
AwsWafRateBasedRuleDetails & AddMatchPredicates(AwsWafRateBasedRuleMatchPredicate &&value)
const Aws::Vector< AwsWafRateBasedRuleMatchPredicate > & GetMatchPredicates() const
AwsWafRateBasedRuleDetails & WithName(const Aws::String &value)
AwsWafRateBasedRuleDetails & WithName(Aws::String &&value)
void SetMatchPredicates(Aws::Vector< AwsWafRateBasedRuleMatchPredicate > &&value)
AwsWafRateBasedRuleDetails & WithRuleId(const char *value)
AwsWafRateBasedRuleDetails & WithMatchPredicates(const Aws::Vector< AwsWafRateBasedRuleMatchPredicate > &value)
AwsWafRateBasedRuleDetails & AddMatchPredicates(const AwsWafRateBasedRuleMatchPredicate &value)
AwsWafRateBasedRuleDetails & WithRateLimit(long long value)
void SetMatchPredicates(const Aws::Vector< AwsWafRateBasedRuleMatchPredicate > &value)
AwsWafRateBasedRuleDetails & WithMetricName(const Aws::String &value)
AwsWafRateBasedRuleDetails & WithName(const char *value)
AwsWafRateBasedRuleDetails & WithRateKey(const Aws::String &value)
AwsWafRateBasedRuleDetails & WithRateKey(Aws::String &&value)
AwsWafRateBasedRuleDetails & WithMatchPredicates(Aws::Vector< AwsWafRateBasedRuleMatchPredicate > &&value)
AWS_SECURITYHUB_API AwsWafRateBasedRuleDetails(Aws::Utils::Json::JsonView jsonValue)
AwsWafRateBasedRuleDetails & WithRateKey(const char *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