7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/wafv2/model/Statement.h>
10#include <aws/wafv2/model/RuleAction.h>
11#include <aws/wafv2/model/OverrideAction.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/wafv2/model/VisibilityConfig.h>
14#include <aws/wafv2/model/CaptchaConfig.h>
15#include <aws/wafv2/model/ChallengeConfig.h>
16#include <aws/wafv2/model/Label.h>
45 AWS_WAFV2_API
Rule() =
default;
60 template<
typename NameT = Aws::String>
61 void SetName(
NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
62 template<
typename NameT = Aws::String>
75 inline void SetPriority(
int value) { m_priorityHasBeenSet =
true; m_priority = value; }
86 template<
typename StatementT = Statement>
87 void SetStatement(
StatementT&& value) { m_statementHasBeenSet =
true; m_statement = std::forward<StatementT>(value); }
88 template<
typename StatementT = Statement>
108 template<
typename ActionT = RuleAction>
109 void SetAction(
ActionT&& value) { m_actionHasBeenSet =
true; m_action = std::forward<ActionT>(value); }
110 template<
typename ActionT = RuleAction>
129 template<
typename Overr
ideActionT = Overr
ideAction>
131 template<
typename Overr
ideActionT = Overr
ideAction>
157 template<
typename RuleLabelsT = Aws::Vector<Label>>
159 template<
typename RuleLabelsT = Aws::Vector<Label>>
161 template<
typename RuleLabelsT = Label>
174 template<
typename VisibilityConfigT = VisibilityConfig>
176 template<
typename VisibilityConfigT = VisibilityConfig>
188 template<
typename CaptchaConfigT = CaptchaConfig>
190 template<
typename CaptchaConfigT = CaptchaConfig>
202 template<
typename ChallengeConfigT = ChallengeConfig>
204 template<
typename ChallengeConfigT = ChallengeConfig>
210 bool m_nameHasBeenSet =
false;
213 bool m_priorityHasBeenSet =
false;
215 Statement m_statement;
216 bool m_statementHasBeenSet =
false;
219 bool m_actionHasBeenSet =
false;
221 OverrideAction m_overrideAction;
222 bool m_overrideActionHasBeenSet =
false;
225 bool m_ruleLabelsHasBeenSet =
false;
227 VisibilityConfig m_visibilityConfig;
228 bool m_visibilityConfigHasBeenSet =
false;
230 CaptchaConfig m_captchaConfig;
231 bool m_captchaConfigHasBeenSet =
false;
233 ChallengeConfig m_challengeConfig;
234 bool m_challengeConfigHasBeenSet =
false;
AWS_WAFV2_API Rule()=default
Rule & WithName(NameT &&value)
void SetAction(ActionT &&value)
Rule & WithStatement(StatementT &&value)
const Aws::String & GetName() const
bool NameHasBeenSet() const
const Aws::Vector< Label > & GetRuleLabels() const
Rule & WithCaptchaConfig(CaptchaConfigT &&value)
const ChallengeConfig & GetChallengeConfig() const
bool RuleLabelsHasBeenSet() const
AWS_WAFV2_API Rule(Aws::Utils::Json::JsonView jsonValue)
Rule & WithChallengeConfig(ChallengeConfigT &&value)
const OverrideAction & GetOverrideAction() const
const Statement & GetStatement() const
Rule & WithAction(ActionT &&value)
Rule & WithPriority(int value)
void SetChallengeConfig(ChallengeConfigT &&value)
bool StatementHasBeenSet() const
Rule & WithOverrideAction(OverrideActionT &&value)
Rule & WithRuleLabels(RuleLabelsT &&value)
bool VisibilityConfigHasBeenSet() const
bool CaptchaConfigHasBeenSet() const
bool PriorityHasBeenSet() const
AWS_WAFV2_API Rule & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPriority(int value)
void SetStatement(StatementT &&value)
const VisibilityConfig & GetVisibilityConfig() const
void SetVisibilityConfig(VisibilityConfigT &&value)
void SetName(NameT &&value)
void SetCaptchaConfig(CaptchaConfigT &&value)
const RuleAction & GetAction() const
void SetRuleLabels(RuleLabelsT &&value)
const CaptchaConfig & GetCaptchaConfig() const
bool ActionHasBeenSet() const
bool OverrideActionHasBeenSet() const
Rule & WithVisibilityConfig(VisibilityConfigT &&value)
void SetOverrideAction(OverrideActionT &&value)
bool ChallengeConfigHasBeenSet() const
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
Rule & AddRuleLabels(RuleLabelsT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue