Rule
The Rule resource lets you manage AWS WAFRegional Rules to control and filter web traffic to your applications.
Minimal Example
Section titled “Minimal Example”Create a basic WAFRegional Rule with required properties, including a metric name and a name.
import AWS from "alchemy/aws/control";
const basicRule = await AWS.WAFRegional.Rule("basicRule", { Name: "BasicRule", MetricName: "BasicRuleMetric", Predicates: [] // No predicates defined});
Advanced Configuration
Section titled “Advanced Configuration”Configure a WAFRegional Rule with predicates to filter specific traffic patterns.
import AWS from "alchemy/aws/control";
const advancedRule = await AWS.WAFRegional.Rule("advancedRule", { Name: "AdvancedRule", MetricName: "AdvancedRuleMetric", Predicates: [ { DataId: "exampleDataId", Negated: false, Type: "IPMatch" }, { DataId: "anotherDataId", Negated: true, Type: "RegexMatch" } ]});
Adoption of Existing Resources
Section titled “Adoption of Existing Resources”Create a WAFRegional Rule that adopts an existing resource instead of failing if it already exists.
import AWS from "alchemy/aws/control";
const existingRule = await AWS.WAFRegional.Rule("existingRule", { Name: "ExistingRule", MetricName: "ExistingRuleMetric", adopt: true // Adopt existing resource});
Rule with Multiple Predicates
Section titled “Rule with Multiple Predicates”Define a WAFRegional Rule with multiple predicates to enforce complex filtering logic.
import AWS from "alchemy/aws/control";
const complexRule = await AWS.WAFRegional.Rule("complexRule", { Name: "ComplexRule", MetricName: "ComplexRuleMetric", Predicates: [ { DataId: "ipSetDataId", Negated: false, Type: "IPMatch" }, { DataId: "sqlInjectionMatchSetId", Negated: false, Type: "SqlInjectionMatch" }, { DataId: "xssMatchSetId", Negated: true, Type: "XssMatch" } ]});