Class WebAclState.Builder

  • Enclosing class:
    WebAclState

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

      • Builder

        public Builder()
    • Method Detail

      • applicationIntegrationUrl

        public WebAclState.Builder applicationIntegrationUrl​(@Nullable
                                                             com.pulumi.core.Output<java.lang.String> applicationIntegrationUrl)
        Parameters:
        applicationIntegrationUrl - URL to use in SDK integrations with managed rule groups.
        Returns:
        builder
      • applicationIntegrationUrl

        public WebAclState.Builder applicationIntegrationUrl​(java.lang.String applicationIntegrationUrl)
        Parameters:
        applicationIntegrationUrl - URL to use in SDK integrations with managed rule groups.
        Returns:
        builder
      • arn

        public WebAclState.Builder arn​(@Nullable
                                       com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the WAF WebACL.
        Returns:
        builder
      • arn

        public WebAclState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the WAF WebACL.
        Returns:
        builder
      • associationConfig

        public WebAclState.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 WebAclState.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
      • capacity

        public WebAclState.Builder capacity​(@Nullable
                                            com.pulumi.core.Output<java.lang.Integer> capacity)
        Parameters:
        capacity - Web ACL capacity units (WCUs) currently being used by this web ACL.
        Returns:
        builder
      • capacity

        public WebAclState.Builder capacity​(java.lang.Integer capacity)
        Parameters:
        capacity - Web ACL capacity units (WCUs) currently being used by this web ACL.
        Returns:
        builder
      • captchaConfig

        public WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.Builder defaultAction​(@Nullable
                                                 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 WebAclState.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 WebAclState.Builder description​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Friendly description of the WebACL.
        Returns:
        builder
      • description

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

        public WebAclState.Builder lockToken​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> lockToken)
      • monetizationConfig

        public WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • region

        public WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.Builder scope​(@Nullable
                                         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 WebAclState.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 WebAclState.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 WebAclState.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
      • tagsAll

        public WebAclState.Builder tagsAll​(@Nullable
                                           com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public WebAclState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tokenDomains

        public WebAclState.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 WebAclState.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 WebAclState.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 WebAclState.Builder visibilityConfig​(@Nullable
                                                    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 WebAclState.Builder visibilityConfig​(WebAclVisibilityConfigArgs visibilityConfig)
        Parameters:
        visibilityConfig - Amazon CloudWatch metrics and web request sample collection configuration. See `visibilityConfig` below for details.
        Returns:
        builder