7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/wafv2/model/DefaultAction.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/wafv2/model/VisibilityConfig.h>
12#include <aws/wafv2/model/DataProtectionConfig.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/wafv2/model/CaptchaConfig.h>
15#include <aws/wafv2/model/ChallengeConfig.h>
16#include <aws/wafv2/model/AssociationConfig.h>
17#include <aws/wafv2/model/OnSourceDDoSProtectionConfig.h>
18#include <aws/wafv2/model/ApplicationConfig.h>
19#include <aws/wafv2/model/Rule.h>
20#include <aws/wafv2/model/FirewallManagerRuleGroup.h>
21#include <aws/wafv2/model/CustomResponseBody.h>
70 template<
typename NameT = Aws::String>
71 void SetName(
NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
72 template<
typename NameT = Aws::String>
84 template<
typename IdT = Aws::String>
85 void SetId(
IdT&& value) { m_idHasBeenSet =
true; m_id = std::forward<IdT>(value); }
86 template<
typename IdT = Aws::String>
97 template<
typename ARNT = Aws::String>
98 void SetARN(
ARNT&& value) { m_aRNHasBeenSet =
true; m_aRN = std::forward<ARNT>(value); }
99 template<
typename ARNT = Aws::String>
110 template<
typename DefaultActionT = DefaultAction>
112 template<
typename DefaultActionT = DefaultAction>
122 template<
typename DescriptionT = Aws::String>
124 template<
typename DescriptionT = Aws::String>
136 template<
typename RulesT = Aws::Vector<Rule>>
137 void SetRules(
RulesT&& value) { m_rulesHasBeenSet =
true; m_rules = std::forward<RulesT>(value); }
138 template<
typename RulesT = Aws::Vector<Rule>>
140 template<
typename RulesT = Rule>
141 WebACL&
AddRules(
RulesT&& value) { m_rulesHasBeenSet =
true; m_rules.emplace_back(std::forward<RulesT>(value));
return *
this; }
151 template<
typename VisibilityConfigT = VisibilityConfig>
153 template<
typename VisibilityConfigT = VisibilityConfig>
169 template<
typename DataProtectionConfigT = DataProtectionConfig>
171 template<
typename DataProtectionConfigT = DataProtectionConfig>
190 inline void SetCapacity(
long long value) { m_capacityHasBeenSet =
true; m_capacity = value; }
207 template<
typename PreProcessFirewallManagerRuleGroupsT = Aws::Vector<FirewallManagerRuleGroup>>
209 template<
typename PreProcessFirewallManagerRuleGroupsT = Aws::Vector<FirewallManagerRuleGroup>>
211 template<
typename PreProcessFirewallManagerRuleGroupsT = FirewallManagerRuleGroup>
228 template<
typename PostProcessFirewallManagerRuleGroupsT = Aws::Vector<FirewallManagerRuleGroup>>
230 template<
typename PostProcessFirewallManagerRuleGroupsT = Aws::Vector<FirewallManagerRuleGroup>>
232 template<
typename PostProcessFirewallManagerRuleGroupsT = FirewallManagerRuleGroup>
265 template<
typename LabelNamespaceT = Aws::String>
267 template<
typename LabelNamespaceT = Aws::String>
287 template<
typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
289 template<
typename CustomResponseBodiesT = Aws::Map<Aws::String, CustomResponseBody>>
291 template<
typename CustomResponseBodiesKeyT = Aws::String,
typename CustomResponseBodiesValueT = CustomResponseBody>
293 m_customResponseBodiesHasBeenSet =
true; m_customResponseBodies.emplace(std::forward<CustomResponseBodiesKeyT>(
key), std::forward<CustomResponseBodiesValueT>(value));
return *
this;
305 template<
typename CaptchaConfigT = CaptchaConfig>
307 template<
typename CaptchaConfigT = CaptchaConfig>
319 template<
typename ChallengeConfigT = ChallengeConfig>
321 template<
typename ChallengeConfigT = ChallengeConfig>
337 template<
typename TokenDomainsT = Aws::Vector<Aws::String>>
339 template<
typename TokenDomainsT = Aws::Vector<Aws::String>>
341 template<
typename TokenDomainsT = Aws::String>
360 template<
typename AssociationConfigT = AssociationConfig>
362 template<
typename AssociationConfigT = AssociationConfig>
389 template<
typename OnSourceDDoSProtectionConfigT = OnSourceDDoSProtectionConfig>
391 template<
typename OnSourceDDoSProtectionConfigT = OnSourceDDoSProtectionConfig>
401 template<
typename ApplicationConfigT = ApplicationConfig>
403 template<
typename ApplicationConfigT = ApplicationConfig>
409 bool m_nameHasBeenSet =
false;
412 bool m_idHasBeenSet =
false;
415 bool m_aRNHasBeenSet =
false;
418 bool m_defaultActionHasBeenSet =
false;
421 bool m_descriptionHasBeenSet =
false;
424 bool m_rulesHasBeenSet =
false;
427 bool m_visibilityConfigHasBeenSet =
false;
430 bool m_dataProtectionConfigHasBeenSet =
false;
432 long long m_capacity{0};
433 bool m_capacityHasBeenSet =
false;
436 bool m_preProcessFirewallManagerRuleGroupsHasBeenSet =
false;
439 bool m_postProcessFirewallManagerRuleGroupsHasBeenSet =
false;
441 bool m_managedByFirewallManager{
false};
442 bool m_managedByFirewallManagerHasBeenSet =
false;
445 bool m_labelNamespaceHasBeenSet =
false;
448 bool m_customResponseBodiesHasBeenSet =
false;
450 CaptchaConfig m_captchaConfig;
451 bool m_captchaConfigHasBeenSet =
false;
453 ChallengeConfig m_challengeConfig;
454 bool m_challengeConfigHasBeenSet =
false;
457 bool m_tokenDomainsHasBeenSet =
false;
459 AssociationConfig m_associationConfig;
460 bool m_associationConfigHasBeenSet =
false;
462 bool m_retrofittedByFirewallManager{
false};
463 bool m_retrofittedByFirewallManagerHasBeenSet =
false;
465 OnSourceDDoSProtectionConfig m_onSourceDDoSProtectionConfig;
466 bool m_onSourceDDoSProtectionConfigHasBeenSet =
false;
468 ApplicationConfig m_applicationConfig;
469 bool m_applicationConfigHasBeenSet =
false;
bool DefaultActionHasBeenSet() const
WebACL & WithManagedByFirewallManager(bool value)
WebACL & WithLabelNamespace(LabelNamespaceT &&value)
const CaptchaConfig & GetCaptchaConfig() const
bool IdHasBeenSet() const
AWS_WAFV2_API WebACL()=default
WebACL & WithName(NameT &&value)
bool CaptchaConfigHasBeenSet() const
const OnSourceDDoSProtectionConfig & GetOnSourceDDoSProtectionConfig() const
bool AssociationConfigHasBeenSet() const
const Aws::Map< Aws::String, CustomResponseBody > & GetCustomResponseBodies() const
AWS_WAFV2_API WebACL(Aws::Utils::Json::JsonView jsonValue)
void SetVisibilityConfig(VisibilityConfigT &&value)
void SetLabelNamespace(LabelNamespaceT &&value)
bool NameHasBeenSet() const
bool VisibilityConfigHasBeenSet() const
WebACL & WithVisibilityConfig(VisibilityConfigT &&value)
const Aws::String & GetName() const
WebACL & WithOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT &&value)
bool ARNHasBeenSet() const
WebACL & AddPreProcessFirewallManagerRuleGroups(PreProcessFirewallManagerRuleGroupsT &&value)
bool OnSourceDDoSProtectionConfigHasBeenSet() const
void SetPreProcessFirewallManagerRuleGroups(PreProcessFirewallManagerRuleGroupsT &&value)
WebACL & WithChallengeConfig(ChallengeConfigT &&value)
const Aws::Vector< Rule > & GetRules() const
WebACL & AddPostProcessFirewallManagerRuleGroups(PostProcessFirewallManagerRuleGroupsT &&value)
void SetOnSourceDDoSProtectionConfig(OnSourceDDoSProtectionConfigT &&value)
WebACL & WithPreProcessFirewallManagerRuleGroups(PreProcessFirewallManagerRuleGroupsT &&value)
void SetDataProtectionConfig(DataProtectionConfigT &&value)
const Aws::String & GetLabelNamespace() const
const Aws::Vector< FirewallManagerRuleGroup > & GetPostProcessFirewallManagerRuleGroups() const
bool PreProcessFirewallManagerRuleGroupsHasBeenSet() const
AWS_WAFV2_API WebACL & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetManagedByFirewallManager(bool value)
const Aws::Vector< FirewallManagerRuleGroup > & GetPreProcessFirewallManagerRuleGroups() const
const Aws::String & GetDescription() const
long long GetCapacity() const
void SetTokenDomains(TokenDomainsT &&value)
bool RetrofittedByFirewallManagerHasBeenSet() const
WebACL & WithRules(RulesT &&value)
void SetAssociationConfig(AssociationConfigT &&value)
void SetDescription(DescriptionT &&value)
WebACL & WithCaptchaConfig(CaptchaConfigT &&value)
WebACL & AddRules(RulesT &&value)
WebACL & WithCapacity(long long value)
WebACL & AddCustomResponseBodies(CustomResponseBodiesKeyT &&key, CustomResponseBodiesValueT &&value)
WebACL & WithDefaultAction(DefaultActionT &&value)
WebACL & WithRetrofittedByFirewallManager(bool value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
void SetARN(ARNT &&value)
WebACL & WithId(IdT &&value)
const Aws::Vector< Aws::String > & GetTokenDomains() const
WebACL & WithApplicationConfig(ApplicationConfigT &&value)
WebACL & WithARN(ARNT &&value)
void SetCaptchaConfig(CaptchaConfigT &&value)
void SetRetrofittedByFirewallManager(bool value)
void SetApplicationConfig(ApplicationConfigT &&value)
const DataProtectionConfig & GetDataProtectionConfig() const
const VisibilityConfig & GetVisibilityConfig() const
void SetPostProcessFirewallManagerRuleGroups(PostProcessFirewallManagerRuleGroupsT &&value)
bool DescriptionHasBeenSet() const
bool TokenDomainsHasBeenSet() const
bool GetManagedByFirewallManager() const
WebACL & AddTokenDomains(TokenDomainsT &&value)
WebACL & WithTokenDomains(TokenDomainsT &&value)
void SetCapacity(long long value)
WebACL & WithDataProtectionConfig(DataProtectionConfigT &&value)
bool PostProcessFirewallManagerRuleGroupsHasBeenSet() const
bool RulesHasBeenSet() const
bool LabelNamespaceHasBeenSet() const
WebACL & WithAssociationConfig(AssociationConfigT &&value)
bool ApplicationConfigHasBeenSet() const
const Aws::String & GetId() const
void SetName(NameT &&value)
bool CapacityHasBeenSet() const
bool GetRetrofittedByFirewallManager() const
WebACL & WithDescription(DescriptionT &&value)
void SetRules(RulesT &&value)
void SetCustomResponseBodies(CustomResponseBodiesT &&value)
bool ManagedByFirewallManagerHasBeenSet() const
const Aws::String & GetARN() const
WebACL & WithPostProcessFirewallManagerRuleGroups(PostProcessFirewallManagerRuleGroupsT &&value)
const AssociationConfig & GetAssociationConfig() const
void SetChallengeConfig(ChallengeConfigT &&value)
bool CustomResponseBodiesHasBeenSet() const
void SetDefaultAction(DefaultActionT &&value)
const ApplicationConfig & GetApplicationConfig() const
bool DataProtectionConfigHasBeenSet() const
const DefaultAction & GetDefaultAction() const
const ChallengeConfig & GetChallengeConfig() const
bool ChallengeConfigHasBeenSet() const
WebACL & WithCustomResponseBodies(CustomResponseBodiesT &&value)
std::shared_ptr< T > MakeShared(const char *allocationTag, ArgTypes &&... args)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue