waf

cloudposse/waf/aws

Terraform Module HCL AWS
Install
module "waf" {
source = "cloudposse/waf/aws"
version = "1.17.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform module to create and manage AWS WAFv2 rules. > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Usage For a complete example, see examples/complete. For automated tests of the complete example using bats and Terratest (which tests and deploys the example on AWS), see test. ```hcl module "label" { source = "cloudposse/label/null" # Cloud Posse recommends pinning every module to a specific version # version = "x.x.x" namespace = "eg" stage = "prod" name = "waf" delimiter = "-" tags = { "BusinessUnit" = "XYZ", } } module "

Inputs (43)
NameTypeDescriptionDefault
visibility_configobject({ cloudwatch_metricDefines and enables Amazon CloudWatch metrics and web request sample collection. required
contextanySingle object for setting entire context at once. See description of individual { "additional_tag_map": {}, "attribu
label_orderlist(string)The order in which the labels (ID elements) appear in the `id`. Defaults to ["nanull
default_actionstringSpecifies that AWS WAF should allow requests by default. Possible values: `allow"block"
byte_match_statement_ruleslist(object({ name = sA rule statement that defines a string match search for AWS WAF to apply to web null
managed_rule_group_statement_ruleslist(object({ name A rule statement used to run the rules that are defined in a managed rule group.null
regex_match_statement_ruleslist(object({ name = sA rule statement used to search web request components for a match against a sinnull
log_destination_configslist(string)The Amazon Kinesis Data Firehose, CloudWatch Log log group, or S3 bucket Amazon []
namespacestringID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp'null
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
custom_response_bodymap(object({ content Defines custom response bodies that can be referenced by custom_response actions{}
token_domainslist(string)Specifies the domains that AWS WAF should accept in a web request token. This ennull
geo_match_statement_ruleslist(object({ name = sA rule statement used to identify web requests based on country of origin. actinull
default_block_custom_response_body_keystringReferences the default response body that you want AWS WAF to return to the web null
stagestringID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bunull
delimiterstringDelimiter to be used between ID elements. Defaults to `-` (hyphen). Set to `""` null
label_key_casestringControls the letter case of the `tags` keys (label names) for tags generated by null
descriptionstringA friendly description of the WebACL."Managed by Terraform"
regex_pattern_set_reference_statement_ruleslist(object({ name = sA rule statement used to search web request components for matches with regular null
association_resource_arnslist(string)A list of ARNs of the resources to associate with the web ACL. This must be an A[]
default_block_responsestringA HTTP response code that is sent when default block action is used. Only takes null
… and 3 more inputs
Outputs (4)
id — The ID of the WAF WebACL.
arn — The ARN of the WAF WebACL.
capacity — The web ACL capacity units (WCUs) currently being used by this web ACL.
logging_config_id — The ARN of the WAFv2 Web ACL logging configuration.
Resources (4)
aws_wafv2_ip_setaws_wafv2_web_aclaws_wafv2_web_acl_associationaws_wafv2_web_acl_logging_configuration
Topics & Tags
securitycompliance
Details
FrameworkTerraform Module
LanguageHCL
Version1.17.0
Cloud AWS
★ Stars52
Forks79
Total downloads1.1M
Inputs43
Outputs4
Resources4
Examples1
LicenseApache-2.0
Namespacecloudposse
Updated