Package com.pulumi.aws.wafv2
Class WebAclArgs.Builder
- java.lang.Object
-
- com.pulumi.aws.wafv2.WebAclArgs.Builder
-
- Enclosing class:
- WebAclArgs
public static final class WebAclArgs.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()Builder(WebAclArgs defaults)
-
Method Summary
-
-
-
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
-
build
public WebAclArgs build()
-
-