com.pulumi.azure.cdn.inputs.FrontdoorFirewallPolicyManagedRuleExclusionArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.cdn.inputs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class FrontdoorFirewallPolicyManagedRuleExclusionArgs extends com.pulumi.resources.ResourceArgs {
public static final FrontdoorFirewallPolicyManagedRuleExclusionArgs Empty = new FrontdoorFirewallPolicyManagedRuleExclusionArgs();
/**
* The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`
*
* > **NOTE:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later
*
*/
@Import(name="matchVariable", required=true)
private Output matchVariable;
/**
* @return The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`
*
* > **NOTE:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later
*
*/
public Output matchVariable() {
return this.matchVariable;
}
/**
* Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.
*
*/
@Import(name="operator", required=true)
private Output operator;
/**
* @return Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.
*
*/
public Output operator() {
return this.operator;
}
/**
* Selector for the value in the `match_variable` attribute this exclusion applies to.
*
* > **NOTE:** `selector` must be set to `*` if `operator` is set to `EqualsAny`.
*
*/
@Import(name="selector", required=true)
private Output selector;
/**
* @return Selector for the value in the `match_variable` attribute this exclusion applies to.
*
* > **NOTE:** `selector` must be set to `*` if `operator` is set to `EqualsAny`.
*
*/
public Output selector() {
return this.selector;
}
private FrontdoorFirewallPolicyManagedRuleExclusionArgs() {}
private FrontdoorFirewallPolicyManagedRuleExclusionArgs(FrontdoorFirewallPolicyManagedRuleExclusionArgs $) {
this.matchVariable = $.matchVariable;
this.operator = $.operator;
this.selector = $.selector;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FrontdoorFirewallPolicyManagedRuleExclusionArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private FrontdoorFirewallPolicyManagedRuleExclusionArgs $;
public Builder() {
$ = new FrontdoorFirewallPolicyManagedRuleExclusionArgs();
}
public Builder(FrontdoorFirewallPolicyManagedRuleExclusionArgs defaults) {
$ = new FrontdoorFirewallPolicyManagedRuleExclusionArgs(Objects.requireNonNull(defaults));
}
/**
* @param matchVariable The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`
*
* > **NOTE:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later
*
* @return builder
*
*/
public Builder matchVariable(Output matchVariable) {
$.matchVariable = matchVariable;
return this;
}
/**
* @param matchVariable The variable type to be excluded. Possible values are `QueryStringArgNames`, `RequestBodyPostArgNames`, `RequestCookieNames`, `RequestHeaderNames`, `RequestBodyJsonArgNames`
*
* > **NOTE:** `RequestBodyJsonArgNames` is only available on Default Rule Set (DRS) 2.0 or later
*
* @return builder
*
*/
public Builder matchVariable(String matchVariable) {
return matchVariable(Output.of(matchVariable));
}
/**
* @param operator Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.
*
* @return builder
*
*/
public Builder operator(Output operator) {
$.operator = operator;
return this;
}
/**
* @param operator Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to. Possible values are: `Equals`, `Contains`, `StartsWith`, `EndsWith`, `EqualsAny`.
*
* @return builder
*
*/
public Builder operator(String operator) {
return operator(Output.of(operator));
}
/**
* @param selector Selector for the value in the `match_variable` attribute this exclusion applies to.
*
* > **NOTE:** `selector` must be set to `*` if `operator` is set to `EqualsAny`.
*
* @return builder
*
*/
public Builder selector(Output selector) {
$.selector = selector;
return this;
}
/**
* @param selector Selector for the value in the `match_variable` attribute this exclusion applies to.
*
* > **NOTE:** `selector` must be set to `*` if `operator` is set to `EqualsAny`.
*
* @return builder
*
*/
public Builder selector(String selector) {
return selector(Output.of(selector));
}
public FrontdoorFirewallPolicyManagedRuleExclusionArgs build() {
if ($.matchVariable == null) {
throw new MissingRequiredPropertyException("FrontdoorFirewallPolicyManagedRuleExclusionArgs", "matchVariable");
}
if ($.operator == null) {
throw new MissingRequiredPropertyException("FrontdoorFirewallPolicyManagedRuleExclusionArgs", "operator");
}
if ($.selector == null) {
throw new MissingRequiredPropertyException("FrontdoorFirewallPolicyManagedRuleExclusionArgs", "selector");
}
return $;
}
}
}