Class: Aws::WAFV2::Types::WebACL

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb

Overview

This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#arnString

The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource.

Returns:

  • (String)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#capacityInteger

The web ACL capacity units (WCUs) currently being used by this web ACL.

AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

Returns:

  • (Integer)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#default_actionTypes::DefaultAction

The action to perform if none of the Rules contained in the WebACL match.



9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

Returns:

  • (String)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#idString

A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

Returns:

  • (String)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#managed_by_firewall_managerBoolean

Indicates whether this web ACL is managed by AWS Firewall Manager. If true, then only AWS Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

Returns:

  • (Boolean)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#nameString

The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

Returns:

  • (String)


9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#post_process_firewall_manager_rule_groupsArray<Types::FirewallManagerRuleGroup>

The last set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized before these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.



9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#pre_process_firewall_manager_rule_groupsArray<Types::FirewallManagerRuleGroup>

The first set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized after these.

In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.



9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#rulesArray<Types::Rule>

The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

Returns:



9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end

#visibility_configTypes::VisibilityConfig

Defines and enables Amazon CloudWatch metrics and web request sample collection.



9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
# File 'gems/aws-sdk-wafv2/lib/aws-sdk-wafv2/types.rb', line 9141

class WebACL < Struct.new(
  :name,
  :id,
  :arn,
  :default_action,
  :description,
  :rules,
  :visibility_config,
  :capacity,
  :pre_process_firewall_manager_rule_groups,
  :post_process_firewall_manager_rule_groups,
  :managed_by_firewall_manager)
  SENSITIVE = []
  include Aws::Structure
end