Class WebAclArgs.Builder

  • Enclosing class:
    WebAclArgs

    public static final class WebAclArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(WebAclArgs defaults)
    • Method Detail

      • associationConfig

        public WebAclArgs.Builder associationConfig​(@Nullable
                                                    com.pulumi.core.Output<WebAclAssociationConfigArgs> associationConfig)
        Parameters:
        associationConfig - Custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details.
        Returns:
        builder
      • associationConfig

        public WebAclArgs.Builder associationConfig​(WebAclAssociationConfigArgs associationConfig)
        Parameters:
        associationConfig - Custom configurations for the associations between the web ACL and protected resources. See `associationConfig` below for details.
        Returns:
        builder
      • captchaConfig

        public WebAclArgs.Builder captchaConfig​(@Nullable
                                                com.pulumi.core.Output<WebAclCaptchaConfigArgs> captchaConfig)
        Parameters:
        captchaConfig - Configuration for how AWS WAF handles CAPTCHA evaluations at the web ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details.
        Returns:
        builder
      • captchaConfig

        public WebAclArgs.Builder captchaConfig​(WebAclCaptchaConfigArgs captchaConfig)
        Parameters:
        captchaConfig - Configuration for how AWS WAF handles CAPTCHA evaluations at the web ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `captchaConfig` below for details.
        Returns:
        builder
      • challengeConfig

        public WebAclArgs.Builder challengeConfig​(@Nullable
                                                  com.pulumi.core.Output<WebAclChallengeConfigArgs> challengeConfig)
        Parameters:
        challengeConfig - Configuration for how AWS WAF handles Challenge evaluations at the web ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details.
        Returns:
        builder
      • challengeConfig

        public WebAclArgs.Builder challengeConfig​(WebAclChallengeConfigArgs challengeConfig)
        Parameters:
        challengeConfig - Configuration for how AWS WAF handles Challenge evaluations at the web ACL level (used by [AWS Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html)). See `challengeConfig` below for details.
        Returns:
        builder
      • customResponseBodies

        public WebAclArgs.Builder customResponseBodies​(@Nullable
                                                       com.pulumi.core.Output<java.util.List<WebAclCustomResponseBodyArgs>> customResponseBodies)
        Parameters:
        customResponseBodies - Custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details.
        Returns:
        builder
      • customResponseBodies

        public WebAclArgs.Builder customResponseBodies​(java.util.List<WebAclCustomResponseBodyArgs> customResponseBodies)
        Parameters:
        customResponseBodies - Custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details.
        Returns:
        builder
      • customResponseBodies

        public WebAclArgs.Builder customResponseBodies​(WebAclCustomResponseBodyArgs... customResponseBodies)
        Parameters:
        customResponseBodies - Custom response bodies that can be referenced by `customResponse` actions. See `customResponseBody` below for details.
        Returns:
        builder
      • dataProtectionConfig

        public WebAclArgs.Builder dataProtectionConfig​(@Nullable
                                                       com.pulumi.core.Output<WebAclDataProtectionConfigArgs> dataProtectionConfig)
        Parameters:
        dataProtectionConfig - Data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. See `dataProtectionConfig` below for details.
        Returns:
        builder
      • dataProtectionConfig

        public WebAclArgs.Builder dataProtectionConfig​(WebAclDataProtectionConfigArgs dataProtectionConfig)
        Parameters:
        dataProtectionConfig - Data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. See `dataProtectionConfig` below for details.
        Returns:
        builder
      • defaultAction

        public WebAclArgs.Builder defaultAction​(com.pulumi.core.Output<WebAclDefaultActionArgs> defaultAction)
        Parameters:
        defaultAction - Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details.
        Returns:
        builder
      • defaultAction

        public WebAclArgs.Builder defaultAction​(WebAclDefaultActionArgs defaultAction)
        Parameters:
        defaultAction - Action to perform if none of the `rules` contained in the WebACL match. See `defaultAction` below for details.
        Returns:
        builder
      • description

        public WebAclArgs.Builder description​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Friendly description of the WebACL.
        Returns:
        builder
      • description

        public WebAclArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Friendly description of the WebACL.
        Returns:
        builder
      • monetizationConfig

        public WebAclArgs.Builder monetizationConfig​(@Nullable
                                                     com.pulumi.core.Output<WebAclMonetizationConfigArgs> monetizationConfig)
        Parameters:
        monetizationConfig - Monetization configuration for the web ACL. Provide this when any rule in the web ACL uses the `monetize` action. See `monetizationConfig` below for details.
        Returns:
        builder
      • monetizationConfig

        public WebAclArgs.Builder monetizationConfig​(WebAclMonetizationConfigArgs monetizationConfig)
        Parameters:
        monetizationConfig - Monetization configuration for the web ACL. Provide this when any rule in the web ACL uses the `monetize` action. See `monetizationConfig` below for details.
        Returns:
        builder
      • name

        public WebAclArgs.Builder name​(@Nullable
                                       com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Friendly name of the WebACL. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
        Returns:
        builder
      • name

        public WebAclArgs.Builder name​(java.lang.String name)
        Parameters:
        name - Friendly name of the WebACL. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
        Returns:
        builder
      • namePrefix

        public WebAclArgs.Builder namePrefix​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • namePrefix

        public WebAclArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • region

        public WebAclArgs.Builder region​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - 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.
        Returns:
        builder
      • region

        public WebAclArgs.Builder region​(java.lang.String region)
        Parameters:
        region - 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.
        Returns:
        builder
      • ruleJson

        public WebAclArgs.Builder ruleJson​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> ruleJson)
        Parameters:
        ruleJson - Raw JSON string to allow more than three nested statements. Conflicts with `rule` attribute. This is for advanced use cases where more than 3 levels of nested statements are required. **There is no drift detection at this time**. If you use this attribute instead of `rule`, you will be foregoing drift detection. Additionally, importing an existing web ACL into a configuration with `ruleJson` set will result in a one time in-place update as the remote rule configuration is initially written to the `rule` attribute. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_CreateWebACL.html) for the JSON structure.
        Returns:
        builder
      • ruleJson

        public WebAclArgs.Builder ruleJson​(java.lang.String ruleJson)
        Parameters:
        ruleJson - Raw JSON string to allow more than three nested statements. Conflicts with `rule` attribute. This is for advanced use cases where more than 3 levels of nested statements are required. **There is no drift detection at this time**. If you use this attribute instead of `rule`, you will be foregoing drift detection. Additionally, importing an existing web ACL into a configuration with `ruleJson` set will result in a one time in-place update as the remote rule configuration is initially written to the `rule` attribute. See the AWS [documentation](https://docs.aws.amazon.com/waf/latest/APIReference/API_CreateWebACL.html) for the JSON structure.
        Returns:
        builder
      • rules

        public WebAclArgs.Builder rules​(@Nullable
                                        com.pulumi.core.Output<java.util.List<WebAclRuleArgs>> rules)
        Parameters:
        rules - **`rule` blocks in this resource have several known limitations.** Consider using `aws.wafv2.WebAclRule` to manage rules as separate resources instead. Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details.
        Returns:
        builder
      • rules

        public WebAclArgs.Builder rules​(java.util.List<WebAclRuleArgs> rules)
        Parameters:
        rules - **`rule` blocks in this resource have several known limitations.** Consider using `aws.wafv2.WebAclRule` to manage rules as separate resources instead. Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details.
        Returns:
        builder
      • rules

        public WebAclArgs.Builder rules​(WebAclRuleArgs... rules)
        Parameters:
        rules - **`rule` blocks in this resource have several known limitations.** Consider using `aws.wafv2.WebAclRule` to manage rules as separate resources instead. Rule blocks used to identify the web requests that you want to `allow`, `block`, or `count`. See `rule` below for details.
        Returns:
        builder
      • scope

        public WebAclArgs.Builder scope​(com.pulumi.core.Output<java.lang.String> scope)
        Parameters:
        scope - Scope of the web ACL, either an AWS CloudFront distribution or a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider.
        Returns:
        builder
      • scope

        public WebAclArgs.Builder scope​(java.lang.String scope)
        Parameters:
        scope - Scope of the web ACL, either an AWS CloudFront distribution or a regional application. Valid values are `CLOUDFRONT` or `REGIONAL`. To work with CloudFront, you must also specify the region `us-east-1` (N. Virginia) on the AWS provider.
        Returns:
        builder
      • tags

        public WebAclArgs.Builder tags​(@Nullable
                                       com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public WebAclArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of key-value pairs to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tokenDomains

        public WebAclArgs.Builder tokenDomains​(@Nullable
                                               com.pulumi.core.Output<java.util.List<java.lang.String>> tokenDomains)
        Parameters:
        tokenDomains - Domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
        Returns:
        builder
      • tokenDomains

        public WebAclArgs.Builder tokenDomains​(java.util.List<java.lang.String> tokenDomains)
        Parameters:
        tokenDomains - Domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
        Returns:
        builder
      • tokenDomains

        public WebAclArgs.Builder tokenDomains​(java.lang.String... tokenDomains)
        Parameters:
        tokenDomains - Domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
        Returns:
        builder
      • visibilityConfig

        public WebAclArgs.Builder visibilityConfig​(com.pulumi.core.Output<WebAclVisibilityConfigArgs> visibilityConfig)
        Parameters:
        visibilityConfig - Amazon CloudWatch metrics and web request sample collection configuration. See `visibilityConfig` below for details.
        Returns:
        builder
      • visibilityConfig

        public WebAclArgs.Builder visibilityConfig​(WebAclVisibilityConfigArgs visibilityConfig)
        Parameters:
        visibilityConfig - Amazon CloudWatch metrics and web request sample collection configuration. See `visibilityConfig` below for details.
        Returns:
        builder