com.pulumi.meraki.networks.outputs.GroupPoliciesFirewallAndTrafficShaping Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of meraki Show documentation
Show all versions of meraki Show documentation
A Pulumi package for creating and managing Cisco Meraki resources
// *** 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.meraki.networks.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.meraki.networks.outputs.GroupPoliciesFirewallAndTrafficShapingL3FirewallRule;
import com.pulumi.meraki.networks.outputs.GroupPoliciesFirewallAndTrafficShapingL7FirewallRule;
import com.pulumi.meraki.networks.outputs.GroupPoliciesFirewallAndTrafficShapingTrafficShapingRule;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class GroupPoliciesFirewallAndTrafficShaping {
/**
* @return An ordered array of the L3 firewall rules
*
*/
private @Nullable List l3FirewallRules;
/**
* @return An ordered array of L7 firewall rules
*
*/
private @Nullable List l7FirewallRules;
/**
* @return How firewall and traffic shaping rules are enforced. Can be 'network default', 'ignore' or 'custom'.
*
*/
private @Nullable String settings;
/**
* @return An array of traffic shaping rules. Rules are applied in the order that
* they are specified in. An empty list (or null) means no rules. Note that
* you are allowed a maximum of 8 rules.
*
*/
private @Nullable List trafficShapingRules;
private GroupPoliciesFirewallAndTrafficShaping() {}
/**
* @return An ordered array of the L3 firewall rules
*
*/
public List l3FirewallRules() {
return this.l3FirewallRules == null ? List.of() : this.l3FirewallRules;
}
/**
* @return An ordered array of L7 firewall rules
*
*/
public List l7FirewallRules() {
return this.l7FirewallRules == null ? List.of() : this.l7FirewallRules;
}
/**
* @return How firewall and traffic shaping rules are enforced. Can be 'network default', 'ignore' or 'custom'.
*
*/
public Optional settings() {
return Optional.ofNullable(this.settings);
}
/**
* @return An array of traffic shaping rules. Rules are applied in the order that
* they are specified in. An empty list (or null) means no rules. Note that
* you are allowed a maximum of 8 rules.
*
*/
public List trafficShapingRules() {
return this.trafficShapingRules == null ? List.of() : this.trafficShapingRules;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(GroupPoliciesFirewallAndTrafficShaping defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List l3FirewallRules;
private @Nullable List l7FirewallRules;
private @Nullable String settings;
private @Nullable List trafficShapingRules;
public Builder() {}
public Builder(GroupPoliciesFirewallAndTrafficShaping defaults) {
Objects.requireNonNull(defaults);
this.l3FirewallRules = defaults.l3FirewallRules;
this.l7FirewallRules = defaults.l7FirewallRules;
this.settings = defaults.settings;
this.trafficShapingRules = defaults.trafficShapingRules;
}
@CustomType.Setter
public Builder l3FirewallRules(@Nullable List l3FirewallRules) {
this.l3FirewallRules = l3FirewallRules;
return this;
}
public Builder l3FirewallRules(GroupPoliciesFirewallAndTrafficShapingL3FirewallRule... l3FirewallRules) {
return l3FirewallRules(List.of(l3FirewallRules));
}
@CustomType.Setter
public Builder l7FirewallRules(@Nullable List l7FirewallRules) {
this.l7FirewallRules = l7FirewallRules;
return this;
}
public Builder l7FirewallRules(GroupPoliciesFirewallAndTrafficShapingL7FirewallRule... l7FirewallRules) {
return l7FirewallRules(List.of(l7FirewallRules));
}
@CustomType.Setter
public Builder settings(@Nullable String settings) {
this.settings = settings;
return this;
}
@CustomType.Setter
public Builder trafficShapingRules(@Nullable List trafficShapingRules) {
this.trafficShapingRules = trafficShapingRules;
return this;
}
public Builder trafficShapingRules(GroupPoliciesFirewallAndTrafficShapingTrafficShapingRule... trafficShapingRules) {
return trafficShapingRules(List.of(trafficShapingRules));
}
public GroupPoliciesFirewallAndTrafficShaping build() {
final var _resultValue = new GroupPoliciesFirewallAndTrafficShaping();
_resultValue.l3FirewallRules = l3FirewallRules;
_resultValue.l7FirewallRules = l7FirewallRules;
_resultValue.settings = settings;
_resultValue.trafficShapingRules = trafficShapingRules;
return _resultValue;
}
}
}