AWS SDK for C++  1.9.105
AWS SDK for C++
RateBasedStatement.h
Go to the documentation of this file.
1 
6 #pragma once
10 #include <utility>
11 #include <memory>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19  class JsonValue;
20  class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace WAFV2
24 {
25 namespace Model
26 {
27  class Statement;
28 
63  {
64  public:
69 
70 
76  inline long long GetLimit() const{ return m_limit; }
77 
83  inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; }
84 
90  inline void SetLimit(long long value) { m_limitHasBeenSet = true; m_limit = value; }
91 
97  inline RateBasedStatement& WithLimit(long long value) { SetLimit(value); return *this;}
98 
99 
108  inline const RateBasedStatementAggregateKeyType& GetAggregateKeyType() const{ return m_aggregateKeyType; }
109 
118  inline bool AggregateKeyTypeHasBeenSet() const { return m_aggregateKeyTypeHasBeenSet; }
119 
128  inline void SetAggregateKeyType(const RateBasedStatementAggregateKeyType& value) { m_aggregateKeyTypeHasBeenSet = true; m_aggregateKeyType = value; }
129 
138  inline void SetAggregateKeyType(RateBasedStatementAggregateKeyType&& value) { m_aggregateKeyTypeHasBeenSet = true; m_aggregateKeyType = std::move(value); }
139 
148  inline RateBasedStatement& WithAggregateKeyType(const RateBasedStatementAggregateKeyType& value) { SetAggregateKeyType(value); return *this;}
149 
158  inline RateBasedStatement& WithAggregateKeyType(RateBasedStatementAggregateKeyType&& value) { SetAggregateKeyType(std::move(value)); return *this;}
159 
160 
169 
178 
186  void SetScopeDownStatement(const Statement& value);
187 
196 
205 
214 
215 
225  inline const ForwardedIPConfig& GetForwardedIPConfig() const{ return m_forwardedIPConfig; }
226 
236  inline bool ForwardedIPConfigHasBeenSet() const { return m_forwardedIPConfigHasBeenSet; }
237 
247  inline void SetForwardedIPConfig(const ForwardedIPConfig& value) { m_forwardedIPConfigHasBeenSet = true; m_forwardedIPConfig = value; }
248 
258  inline void SetForwardedIPConfig(ForwardedIPConfig&& value) { m_forwardedIPConfigHasBeenSet = true; m_forwardedIPConfig = std::move(value); }
259 
269  inline RateBasedStatement& WithForwardedIPConfig(const ForwardedIPConfig& value) { SetForwardedIPConfig(value); return *this;}
270 
280  inline RateBasedStatement& WithForwardedIPConfig(ForwardedIPConfig&& value) { SetForwardedIPConfig(std::move(value)); return *this;}
281 
282  private:
283 
284  long long m_limit;
285  bool m_limitHasBeenSet;
286 
287  RateBasedStatementAggregateKeyType m_aggregateKeyType;
288  bool m_aggregateKeyTypeHasBeenSet;
289 
290  std::shared_ptr<Statement> m_scopeDownStatement;
291  bool m_scopeDownStatementHasBeenSet;
292 
293  ForwardedIPConfig m_forwardedIPConfig;
294  bool m_forwardedIPConfigHasBeenSet;
295  };
296 
297 } // namespace Model
298 } // namespace WAFV2
299 } // namespace Aws
Aws::WAFV2::Model::RateBasedStatement::WithLimit
RateBasedStatement & WithLimit(long long value)
Definition: RateBasedStatement.h:97
Aws::WAFV2::Model::RateBasedStatement::RateBasedStatement
RateBasedStatement(Aws::Utils::Json::JsonView jsonValue)
Aws::WAFV2::Model::RateBasedStatement::WithAggregateKeyType
RateBasedStatement & WithAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
Definition: RateBasedStatement.h:148
Aws::WAFV2::Model::RateBasedStatement::AggregateKeyTypeHasBeenSet
bool AggregateKeyTypeHasBeenSet() const
Definition: RateBasedStatement.h:118
Aws::WAFV2::Model::RateBasedStatement
Definition: RateBasedStatement.h:63
Aws::WAFV2::Model::RateBasedStatement::ScopeDownStatementHasBeenSet
bool ScopeDownStatementHasBeenSet() const
Aws::WAFV2::Model::RateBasedStatement::WithForwardedIPConfig
RateBasedStatement & WithForwardedIPConfig(ForwardedIPConfig &&value)
Definition: RateBasedStatement.h:280
Aws::WAFV2::Model::RateBasedStatement::GetAggregateKeyType
const RateBasedStatementAggregateKeyType & GetAggregateKeyType() const
Definition: RateBasedStatement.h:108
ForwardedIPConfig.h
AWS_WAFV2_API
#define AWS_WAFV2_API
Definition: WAFV2_EXPORTS.h:28
Aws::WAFV2::Model::RateBasedStatement::LimitHasBeenSet
bool LimitHasBeenSet() const
Definition: RateBasedStatement.h:83
Aws::WAFV2::Model::RateBasedStatement::operator=
RateBasedStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
WAFV2_EXPORTS.h
Aws::WAFV2::Model::ForwardedIPConfig
Definition: ForwardedIPConfig.h:41
Aws::WAFV2::Model::RateBasedStatement::SetForwardedIPConfig
void SetForwardedIPConfig(const ForwardedIPConfig &value)
Definition: RateBasedStatement.h:247
Aws::WAFV2::Model::RateBasedStatement::SetAggregateKeyType
void SetAggregateKeyType(const RateBasedStatementAggregateKeyType &value)
Definition: RateBasedStatement.h:128
Aws::WAFV2::Model::RateBasedStatement::ForwardedIPConfigHasBeenSet
bool ForwardedIPConfigHasBeenSet() const
Definition: RateBasedStatement.h:236
Aws::WAFV2::Model::RateBasedStatement::SetLimit
void SetLimit(long long value)
Definition: RateBasedStatement.h:90
Aws::WAFV2::Model::RateBasedStatement::GetLimit
long long GetLimit() const
Definition: RateBasedStatement.h:76
Aws::WAFV2::Model::RateBasedStatement::WithScopeDownStatement
RateBasedStatement & WithScopeDownStatement(Statement &&value)
Aws::Utils::Json::JsonView
Definition: JsonSerializer.h:235
Aws::WAFV2::Model::RateBasedStatement::GetScopeDownStatement
const Statement & GetScopeDownStatement() const
Aws::Utils::Json::JsonValue
Definition: JsonSerializer.h:33
RateBasedStatementAggregateKeyType.h
Aws::WAFV2::Model::Statement
Definition: Statement.h:47
Aws::WAFV2::Model::RateBasedStatement::SetScopeDownStatement
void SetScopeDownStatement(const Statement &value)
Aws::WAFV2::Model::RateBasedStatement::SetScopeDownStatement
void SetScopeDownStatement(Statement &&value)
Aws
Definition: AccessManagementClient.h:15
Aws::WAFV2::Model::RateBasedStatement::SetAggregateKeyType
void SetAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
Definition: RateBasedStatement.h:138
Aws::WAFV2::Model::RateBasedStatement::WithScopeDownStatement
RateBasedStatement & WithScopeDownStatement(const Statement &value)
Aws::WAFV2::Model::RateBasedStatement::WithForwardedIPConfig
RateBasedStatement & WithForwardedIPConfig(const ForwardedIPConfig &value)
Definition: RateBasedStatement.h:269
Aws::WAFV2::Model::RateBasedStatementAggregateKeyType
RateBasedStatementAggregateKeyType
Definition: RateBasedStatementAggregateKeyType.h:17
Aws::WAFV2::Model::RateBasedStatement::SetForwardedIPConfig
void SetForwardedIPConfig(ForwardedIPConfig &&value)
Definition: RateBasedStatement.h:258
Aws::WAFV2::Model::RateBasedStatement::Jsonize
Aws::Utils::Json::JsonValue Jsonize() const
Aws::WAFV2::Model::RateBasedStatement::GetForwardedIPConfig
const ForwardedIPConfig & GetForwardedIPConfig() const
Definition: RateBasedStatement.h:225
Aws::WAFV2::Model::RateBasedStatement::WithAggregateKeyType
RateBasedStatement & WithAggregateKeyType(RateBasedStatementAggregateKeyType &&value)
Definition: RateBasedStatement.h:158
Aws::WAFV2::Model::RateBasedStatement::RateBasedStatement
RateBasedStatement()