Class WebAclRuleGroupAssociation


  • public class WebAclRuleGroupAssociation
    extends com.pulumi.resources.CustomResource
    Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions. This resource supports both: - **Custom Rule Groups**: User-created rule groups that you manage within your AWS account - **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors > **Warning:** Verify the rule names in your `ruleActionOverride`s carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. > **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignoreChanges = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management. > **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAcl;
     import com.pulumi.aws.wafv2.WebAclArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclDefaultActionArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclDefaultActionAllowArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclVisibilityConfigArgs;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceArgs;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             // Web ACL must use lifecycle.ignore_changes to prevent drift from this resource
             var example = new WebAcl("example", WebAclArgs.builder()
                 .defaultAction(WebAclDefaultActionArgs.builder()
                     .allow(WebAclDefaultActionAllowArgs.builder()
                         .build())
                     .build())
                 .visibilityConfig(WebAclVisibilityConfigArgs.builder()
                     .cloudwatchMetricsEnabled(true)
                     .metricName("example-web-acl")
                     .sampledRequestsEnabled(true)
                     .build())
                 .name("example-web-acl")
                 .scope("REGIONAL")
                 .build(), CustomResourceOptions.builder()
                     .ignoreChanges("rules")
                     .build());
     
             // Associate a custom rule group
             var exampleWebAclRuleGroupAssociation = new WebAclRuleGroupAssociation("exampleWebAclRuleGroupAssociation", WebAclRuleGroupAssociationArgs.builder()
                 .ruleGroupReference(WebAclRuleGroupAssociationRuleGroupReferenceArgs.builder()
                     .arn(exampleAwsWafv2RuleGroup.arn())
                     .build())
                 .ruleName("example-rule-group-rule")
                 .priority(100)
                 .webAclArn(example.arn())
                 .build());
     
         }
     }
     
     
    ### Managed Rule Group
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .managedRuleGroup(WebAclRuleGroupAssociationManagedRuleGroupArgs.builder()
                     .name("AWSManagedRulesCommonRuleSet")
                     .vendorName("AWS")
                     .build())
                 .ruleName("aws-common-rule-set")
                 .priority(50)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ### Managed Rule Group With Version
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .managedRuleGroup(WebAclRuleGroupAssociationManagedRuleGroupArgs.builder()
                     .name("AWSManagedRulesCommonRuleSet")
                     .vendorName("AWS")
                     .version("Version_1.0")
                     .build())
                 .ruleName("aws-common-rule-set-versioned")
                 .priority(60)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ### Managed Rule Group With Rule Action Overrides
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandlingArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeaderArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCaptchaArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .managedRuleGroup(WebAclRuleGroupAssociationManagedRuleGroupArgs.builder()
                     .ruleActionOverrides(                
                         WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideArgs.builder()
                             .actionToUse(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseArgs.builder()
                                 .count(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountArgs.builder()
                                     .customRequestHandling(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandlingArgs.builder()
                                         .insertHeaders(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeaderArgs.builder()
                                             .name("X-RFI-Override")
                                             .value("counted")
                                             .build())
                                         .build())
                                     .build())
                                 .build())
                             .name("GenericRFI_BODY")
                             .build(),
                         WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideArgs.builder()
                             .actionToUse(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseArgs.builder()
                                 .captcha(WebAclRuleGroupAssociationManagedRuleGroupRuleActionOverrideActionToUseCaptchaArgs.builder()
                                     .build())
                                 .build())
                             .name("SizeRestrictions_BODY")
                             .build())
                     .name("AWSManagedRulesCommonRuleSet")
                     .vendorName("AWS")
                     .build())
                 .ruleName("aws-common-rule-set-with-overrides")
                 .priority(70)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ### Managed Rule Group With Managed Rule Group Configs
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionEmailFieldArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionPasswordFieldArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionPhoneNumberFieldsArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionAddressFieldsArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionUsernameFieldArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationVisibilityConfigArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .managedRuleGroup(WebAclRuleGroupAssociationManagedRuleGroupArgs.builder()
                     .managedRuleGroupConfigs(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsArgs.builder()
                         .awsManagedRulesAcfpRuleSet(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetArgs.builder()
                             .requestInspection(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionArgs.builder()
                                 .emailField(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionEmailFieldArgs.builder()
                                     .identifier("/email")
                                     .build())
                                 .passwordField(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionPasswordFieldArgs.builder()
                                     .identifier("/password")
                                     .build())
                                 .phoneNumberFields(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionPhoneNumberFieldsArgs.builder()
                                     .identifiers(                                
                                         "/phone1",
                                         "/phone2")
                                     .build())
                                 .addressFields(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionAddressFieldsArgs.builder()
                                     .identifiers(                                
                                         "home",
                                         "work")
                                     .build())
                                 .usernameField(WebAclRuleGroupAssociationManagedRuleGroupManagedRuleGroupConfigsAwsManagedRulesAcfpRuleSetRequestInspectionUsernameFieldArgs.builder()
                                     .identifier("/username")
                                     .build())
                                 .payloadType("JSON")
                                 .build())
                             .creationPath("/creation")
                             .registrationPagePath("/registration")
                             .build())
                         .build())
                     .name("AWSManagedRulesACFPRuleSet")
                     .vendorName("AWS")
                     .build())
                 .visibilityConfig(WebAclRuleGroupAssociationVisibilityConfigArgs.builder()
                     .cloudwatchMetricsEnabled(true)
                     .metricName("friendly-metric-name")
                     .sampledRequestsEnabled(true)
                     .build())
                 .ruleName("acfp-ruleset-with-rule-config")
                 .priority(70)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ### Custom Rule Group With Override Action
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .ruleGroupReference(WebAclRuleGroupAssociationRuleGroupReferenceArgs.builder()
                     .arn(exampleAwsWafv2RuleGroup.arn())
                     .build())
                 .ruleName("example-rule-group-rule")
                 .priority(100)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .overrideAction("count")
                 .build());
     
         }
     }
     
     
    ### Custom Rule Group With Rule Action Overrides
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandlingArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeaderArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandlingArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandlingInsertHeaderArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .ruleGroupReference(WebAclRuleGroupAssociationRuleGroupReferenceArgs.builder()
                     .ruleActionOverrides(                
                         WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideArgs.builder()
                             .actionToUse(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseArgs.builder()
                                 .count(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountArgs.builder()
                                     .customRequestHandling(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandlingArgs.builder()
                                         .insertHeaders(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCountCustomRequestHandlingInsertHeaderArgs.builder()
                                             .name("X-Geo-Block-Override")
                                             .value("counted")
                                             .build())
                                         .build())
                                     .build())
                                 .build())
                             .name("geo-block-rule")
                             .build(),
                         WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideArgs.builder()
                             .actionToUse(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseArgs.builder()
                                 .captcha(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaArgs.builder()
                                     .customRequestHandling(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandlingArgs.builder()
                                         .insertHeaders(WebAclRuleGroupAssociationRuleGroupReferenceRuleActionOverrideActionToUseCaptchaCustomRequestHandlingInsertHeaderArgs.builder()
                                             .name("X-Rate-Limit-Override")
                                             .value("captcha-required")
                                             .build())
                                         .build())
                                     .build())
                                 .build())
                             .name("rate-limit-rule")
                             .build())
                     .arn(exampleAwsWafv2RuleGroup.arn())
                     .build())
                 .ruleName("example-rule-group-rule")
                 .priority(100)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ### CloudFront Web ACL
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociation;
     import com.pulumi.aws.wafv2.WebAclRuleGroupAssociationArgs;
     import com.pulumi.aws.wafv2.inputs.WebAclRuleGroupAssociationRuleGroupReferenceArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new WebAclRuleGroupAssociation("example", WebAclRuleGroupAssociationArgs.builder()
                 .ruleGroupReference(WebAclRuleGroupAssociationRuleGroupReferenceArgs.builder()
                     .arn(exampleAwsWafv2RuleGroup.arn())
                     .build())
                 .ruleName("cloudfront-rule-group-rule")
                 .priority(50)
                 .webAclArn(exampleAwsWafv2WebAcl.arn())
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleName,RuleGroupType,RuleGroupARN`, where `RuleGroupType` is `custom`. For example: ```sh $ pulumi import aws:wafv2/webAclRuleGroupAssociation:WebAclRuleGroupAssociation example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,example-rule-group-rule,custom,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321" ``` Using `pulumi import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,RuleName,RuleGroupType,VendorName:RuleGroupName[:Version]`, where `RuleGroupType` is `managed`. For example: ```sh $ pulumi import aws:wafv2/webAclRuleGroupAssociation:WebAclRuleGroupAssociation managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,aws-common-rule-set,managed,AWS:AWSManagedRulesCommonRuleSet" ```
    • Constructor Detail

      • WebAclRuleGroupAssociation

        public WebAclRuleGroupAssociation​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • WebAclRuleGroupAssociation

        public WebAclRuleGroupAssociation​(java.lang.String name,
                                          WebAclRuleGroupAssociationArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • WebAclRuleGroupAssociation

        public WebAclRuleGroupAssociation​(java.lang.String name,
                                          WebAclRuleGroupAssociationArgs args,
                                          @Nullable
                                          com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • managedRuleGroup

        public com.pulumi.core.Output<java.util.Optional<WebAclRuleGroupAssociationManagedRuleGroup>> managedRuleGroup()
        Returns:
        Managed Rule Group configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `ruleGroupReference`. See below.
      • overrideAction

        public com.pulumi.core.Output<java.lang.String> overrideAction()
        Returns:
        Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests.
      • priority

        public com.pulumi.core.Output<java.lang.Integer> priority()
        Returns:
        Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • ruleGroupReference

        public com.pulumi.core.Output<java.util.Optional<WebAclRuleGroupAssociationRuleGroupReference>> ruleGroupReference()
        Returns:
        Custom Rule Group reference configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `managedRuleGroup`. See below.
      • ruleName

        public com.pulumi.core.Output<java.lang.String> ruleName()
        Returns:
        Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters.
      • visibilityConfig

        public com.pulumi.core.Output<java.util.Optional<WebAclRuleGroupAssociationVisibilityConfig>> visibilityConfig()
        Returns:
        Defines and enables Amazon CloudWatch metrics and web request sample collection. See below.
      • webAclArn

        public com.pulumi.core.Output<java.lang.String> webAclArn()
        Returns:
        ARN of the Web ACL to associate the Rule Group with. The following arguments are optional:
      • get

        public static WebAclRuleGroupAssociation get​(java.lang.String name,
                                                     com.pulumi.core.Output<java.lang.String> id,
                                                     @Nullable
                                                     WebAclRuleGroupAssociationState state,
                                                     @Nullable
                                                     com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.