com.pulumi.azure.network.outputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule 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.network.outputs;
import com.pulumi.azure.network.outputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader;
import com.pulumi.azure.network.outputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule {
private @Nullable String description;
private @Nullable List destinationAddresses;
/**
* @return Specifies a list of destination FQDN tags.
*
*/
private @Nullable List destinationFqdnTags;
private @Nullable List destinationFqdns;
/**
* @return Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with `destination_fqdns`.
*
*/
private @Nullable List destinationUrls;
/**
* @return Specifies a list of HTTP/HTTPS headers to insert. One or more `http_headers` blocks as defined below.
*
*/
private @Nullable List httpHeaders;
/**
* @return The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
*
*/
private String name;
private @Nullable List protocols;
private @Nullable List sourceAddresses;
private @Nullable List sourceIpGroups;
/**
* @return Boolean specifying if TLS shall be terminated (true) or not (false). Must be `true` when using `destination_urls`. Needs Premium SKU for Firewall Policy.
*
*/
private @Nullable Boolean terminateTls;
/**
* @return Specifies a list of web categories to which access is denied or allowed depending on the value of `action` above. Needs Premium SKU for Firewall Policy.
*
*/
private @Nullable List webCategories;
private FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule() {}
public Optional description() {
return Optional.ofNullable(this.description);
}
public List destinationAddresses() {
return this.destinationAddresses == null ? List.of() : this.destinationAddresses;
}
/**
* @return Specifies a list of destination FQDN tags.
*
*/
public List destinationFqdnTags() {
return this.destinationFqdnTags == null ? List.of() : this.destinationFqdnTags;
}
public List destinationFqdns() {
return this.destinationFqdns == null ? List.of() : this.destinationFqdns;
}
/**
* @return Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with `destination_fqdns`.
*
*/
public List destinationUrls() {
return this.destinationUrls == null ? List.of() : this.destinationUrls;
}
/**
* @return Specifies a list of HTTP/HTTPS headers to insert. One or more `http_headers` blocks as defined below.
*
*/
public List httpHeaders() {
return this.httpHeaders == null ? List.of() : this.httpHeaders;
}
/**
* @return The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
*
*/
public String name() {
return this.name;
}
public List protocols() {
return this.protocols == null ? List.of() : this.protocols;
}
public List sourceAddresses() {
return this.sourceAddresses == null ? List.of() : this.sourceAddresses;
}
public List sourceIpGroups() {
return this.sourceIpGroups == null ? List.of() : this.sourceIpGroups;
}
/**
* @return Boolean specifying if TLS shall be terminated (true) or not (false). Must be `true` when using `destination_urls`. Needs Premium SKU for Firewall Policy.
*
*/
public Optional terminateTls() {
return Optional.ofNullable(this.terminateTls);
}
/**
* @return Specifies a list of web categories to which access is denied or allowed depending on the value of `action` above. Needs Premium SKU for Firewall Policy.
*
*/
public List webCategories() {
return this.webCategories == null ? List.of() : this.webCategories;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String description;
private @Nullable List destinationAddresses;
private @Nullable List destinationFqdnTags;
private @Nullable List destinationFqdns;
private @Nullable List destinationUrls;
private @Nullable List httpHeaders;
private String name;
private @Nullable List protocols;
private @Nullable List sourceAddresses;
private @Nullable List sourceIpGroups;
private @Nullable Boolean terminateTls;
private @Nullable List webCategories;
public Builder() {}
public Builder(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule defaults) {
Objects.requireNonNull(defaults);
this.description = defaults.description;
this.destinationAddresses = defaults.destinationAddresses;
this.destinationFqdnTags = defaults.destinationFqdnTags;
this.destinationFqdns = defaults.destinationFqdns;
this.destinationUrls = defaults.destinationUrls;
this.httpHeaders = defaults.httpHeaders;
this.name = defaults.name;
this.protocols = defaults.protocols;
this.sourceAddresses = defaults.sourceAddresses;
this.sourceIpGroups = defaults.sourceIpGroups;
this.terminateTls = defaults.terminateTls;
this.webCategories = defaults.webCategories;
}
@CustomType.Setter
public Builder description(@Nullable String description) {
this.description = description;
return this;
}
@CustomType.Setter
public Builder destinationAddresses(@Nullable List destinationAddresses) {
this.destinationAddresses = destinationAddresses;
return this;
}
public Builder destinationAddresses(String... destinationAddresses) {
return destinationAddresses(List.of(destinationAddresses));
}
@CustomType.Setter
public Builder destinationFqdnTags(@Nullable List destinationFqdnTags) {
this.destinationFqdnTags = destinationFqdnTags;
return this;
}
public Builder destinationFqdnTags(String... destinationFqdnTags) {
return destinationFqdnTags(List.of(destinationFqdnTags));
}
@CustomType.Setter
public Builder destinationFqdns(@Nullable List destinationFqdns) {
this.destinationFqdns = destinationFqdns;
return this;
}
public Builder destinationFqdns(String... destinationFqdns) {
return destinationFqdns(List.of(destinationFqdns));
}
@CustomType.Setter
public Builder destinationUrls(@Nullable List destinationUrls) {
this.destinationUrls = destinationUrls;
return this;
}
public Builder destinationUrls(String... destinationUrls) {
return destinationUrls(List.of(destinationUrls));
}
@CustomType.Setter
public Builder httpHeaders(@Nullable List httpHeaders) {
this.httpHeaders = httpHeaders;
return this;
}
public Builder httpHeaders(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader... httpHeaders) {
return httpHeaders(List.of(httpHeaders));
}
@CustomType.Setter
public Builder name(String name) {
if (name == null) {
throw new MissingRequiredPropertyException("FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule", "name");
}
this.name = name;
return this;
}
@CustomType.Setter
public Builder protocols(@Nullable List protocols) {
this.protocols = protocols;
return this;
}
public Builder protocols(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol... protocols) {
return protocols(List.of(protocols));
}
@CustomType.Setter
public Builder sourceAddresses(@Nullable List sourceAddresses) {
this.sourceAddresses = sourceAddresses;
return this;
}
public Builder sourceAddresses(String... sourceAddresses) {
return sourceAddresses(List.of(sourceAddresses));
}
@CustomType.Setter
public Builder sourceIpGroups(@Nullable List sourceIpGroups) {
this.sourceIpGroups = sourceIpGroups;
return this;
}
public Builder sourceIpGroups(String... sourceIpGroups) {
return sourceIpGroups(List.of(sourceIpGroups));
}
@CustomType.Setter
public Builder terminateTls(@Nullable Boolean terminateTls) {
this.terminateTls = terminateTls;
return this;
}
@CustomType.Setter
public Builder webCategories(@Nullable List webCategories) {
this.webCategories = webCategories;
return this;
}
public Builder webCategories(String... webCategories) {
return webCategories(List.of(webCategories));
}
public FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule build() {
final var _resultValue = new FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule();
_resultValue.description = description;
_resultValue.destinationAddresses = destinationAddresses;
_resultValue.destinationFqdnTags = destinationFqdnTags;
_resultValue.destinationFqdns = destinationFqdns;
_resultValue.destinationUrls = destinationUrls;
_resultValue.httpHeaders = httpHeaders;
_resultValue.name = name;
_resultValue.protocols = protocols;
_resultValue.sourceAddresses = sourceAddresses;
_resultValue.sourceIpGroups = sourceIpGroups;
_resultValue.terminateTls = terminateTls;
_resultValue.webCategories = webCategories;
return _resultValue;
}
}
}