com.pulumi.azure.frontdoor.outputs.FirewallPolicyManagedRule 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.azure.frontdoor.outputs;
import com.pulumi.azure.frontdoor.outputs.FirewallPolicyManagedRuleExclusion;
import com.pulumi.azure.frontdoor.outputs.FirewallPolicyManagedRuleOverride;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;
@CustomType
public final class FirewallPolicyManagedRule {
/**
* @return One or more `exclusion` blocks as defined below.
*
*/
private @Nullable List exclusions;
/**
* @return One or more `override` blocks as defined below.
*
*/
private @Nullable List overrides;
/**
* @return The name of the managed rule to use with this resource.
*
*/
private String type;
/**
* @return The version on the managed rule to use with this resource.
*
*/
private String version;
private FirewallPolicyManagedRule() {}
/**
* @return One or more `exclusion` blocks as defined below.
*
*/
public List exclusions() {
return this.exclusions == null ? List.of() : this.exclusions;
}
/**
* @return One or more `override` blocks as defined below.
*
*/
public List overrides() {
return this.overrides == null ? List.of() : this.overrides;
}
/**
* @return The name of the managed rule to use with this resource.
*
*/
public String type() {
return this.type;
}
/**
* @return The version on the managed rule to use with this resource.
*
*/
public String version() {
return this.version;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FirewallPolicyManagedRule defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List exclusions;
private @Nullable List overrides;
private String type;
private String version;
public Builder() {}
public Builder(FirewallPolicyManagedRule defaults) {
Objects.requireNonNull(defaults);
this.exclusions = defaults.exclusions;
this.overrides = defaults.overrides;
this.type = defaults.type;
this.version = defaults.version;
}
@CustomType.Setter
public Builder exclusions(@Nullable List exclusions) {
this.exclusions = exclusions;
return this;
}
public Builder exclusions(FirewallPolicyManagedRuleExclusion... exclusions) {
return exclusions(List.of(exclusions));
}
@CustomType.Setter
public Builder overrides(@Nullable List overrides) {
this.overrides = overrides;
return this;
}
public Builder overrides(FirewallPolicyManagedRuleOverride... overrides) {
return overrides(List.of(overrides));
}
@CustomType.Setter
public Builder type(String type) {
if (type == null) {
throw new MissingRequiredPropertyException("FirewallPolicyManagedRule", "type");
}
this.type = type;
return this;
}
@CustomType.Setter
public Builder version(String version) {
if (version == null) {
throw new MissingRequiredPropertyException("FirewallPolicyManagedRule", "version");
}
this.version = version;
return this;
}
public FirewallPolicyManagedRule build() {
final var _resultValue = new FirewallPolicyManagedRule();
_resultValue.exclusions = exclusions;
_resultValue.overrides = overrides;
_resultValue.type = type;
_resultValue.version = version;
return _resultValue;
}
}
}