
com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.wafv2.outputs;
import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch;
import com.pulumi.aws.wafv2.outputs.RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementTextTransformation;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement {
/**
* @return The operator to use to compare the request part to the size setting. Valid values include: `EQ`, `NE`, `LE`, `LT`, `GE`, or `GT`.
*
*/
private String comparisonOperator;
/**
* @return The part of a web request that you want AWS WAF to inspect. See Field to Match below for details.
*
*/
private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch fieldToMatch;
/**
* @return The size, in bytes, to compare to the request part, after any transformations. Valid values are integers between 0 and 21474836480, inclusive.
*
*/
private Integer size;
/**
* @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
* At least one required.
* See Text Transformation below for details.
*
*/
private List textTransformations;
private RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement() {}
/**
* @return The operator to use to compare the request part to the size setting. Valid values include: `EQ`, `NE`, `LE`, `LT`, `GE`, or `GT`.
*
*/
public String comparisonOperator() {
return this.comparisonOperator;
}
/**
* @return The part of a web request that you want AWS WAF to inspect. See Field to Match below for details.
*
*/
public Optional fieldToMatch() {
return Optional.ofNullable(this.fieldToMatch);
}
/**
* @return The size, in bytes, to compare to the request part, after any transformations. Valid values are integers between 0 and 21474836480, inclusive.
*
*/
public Integer size() {
return this.size;
}
/**
* @return Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
* At least one required.
* See Text Transformation below for details.
*
*/
public List textTransformations() {
return this.textTransformations;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String comparisonOperator;
private @Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch fieldToMatch;
private Integer size;
private List textTransformations;
public Builder() {}
public Builder(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement defaults) {
Objects.requireNonNull(defaults);
this.comparisonOperator = defaults.comparisonOperator;
this.fieldToMatch = defaults.fieldToMatch;
this.size = defaults.size;
this.textTransformations = defaults.textTransformations;
}
@CustomType.Setter
public Builder comparisonOperator(String comparisonOperator) {
if (comparisonOperator == null) {
throw new MissingRequiredPropertyException("RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement", "comparisonOperator");
}
this.comparisonOperator = comparisonOperator;
return this;
}
@CustomType.Setter
public Builder fieldToMatch(@Nullable RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementFieldToMatch fieldToMatch) {
this.fieldToMatch = fieldToMatch;
return this;
}
@CustomType.Setter
public Builder size(Integer size) {
if (size == null) {
throw new MissingRequiredPropertyException("RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement", "size");
}
this.size = size;
return this;
}
@CustomType.Setter
public Builder textTransformations(List textTransformations) {
if (textTransformations == null) {
throw new MissingRequiredPropertyException("RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement", "textTransformations");
}
this.textTransformations = textTransformations;
return this;
}
public Builder textTransformations(RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatementTextTransformation... textTransformations) {
return textTransformations(List.of(textTransformations));
}
public RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement build() {
final var _resultValue = new RuleGroupRuleStatementRateBasedStatementScopeDownStatementSizeConstraintStatement();
_resultValue.comparisonOperator = comparisonOperator;
_resultValue.fieldToMatch = fieldToMatch;
_resultValue.size = size;
_resultValue.textTransformations = textTransformations;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy