All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.cloudngfwaws.SecurityRuleArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Cloud NGFW for AWS 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.cloudngfwaws;
import com.pulumi.cloudngfwaws.inputs.SecurityRuleCategoryArgs;
import com.pulumi.cloudngfwaws.inputs.SecurityRuleDestinationArgs;
import com.pulumi.cloudngfwaws.inputs.SecurityRuleSourceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class SecurityRuleArgs extends com.pulumi.resources.ResourceArgs {
public static final SecurityRuleArgs Empty = new SecurityRuleArgs();
/**
* The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.
*
*/
@Import(name="action", required=true)
private Output action;
/**
* @return The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.
*
*/
public Output action() {
return this.action;
}
/**
* The list of applications.
*
*/
@Import(name="applications", required=true)
private Output> applications;
/**
* @return The list of applications.
*
*/
public Output> applications() {
return this.applications;
}
/**
* The audit comment.
*
*/
@Import(name="auditComment")
private @Nullable Output auditComment;
/**
* @return The audit comment.
*
*/
public Optional> auditComment() {
return Optional.ofNullable(this.auditComment);
}
/**
* The category spec.
*
*/
@Import(name="category", required=true)
private Output category;
/**
* @return The category spec.
*
*/
public Output category() {
return this.category;
}
/**
* Decryption rule type. Valid values are ``or`SSLOutboundInspection`.
*
*/
@Import(name="decryptionRuleType")
private @Nullable Output decryptionRuleType;
/**
* @return Decryption rule type. Valid values are ``or`SSLOutboundInspection`.
*
*/
public Optional> decryptionRuleType() {
return Optional.ofNullable(this.decryptionRuleType);
}
/**
* The description.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return The description.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* The destination spec.
*
*/
@Import(name="destination", required=true)
private Output destination;
/**
* @return The destination spec.
*
*/
public Output destination() {
return this.destination;
}
/**
* Set to false to disable this rule. Defaults to `true`.
*
*/
@Import(name="enabled")
private @Nullable Output enabled;
/**
* @return Set to false to disable this rule. Defaults to `true`.
*
*/
public Optional> enabled() {
return Optional.ofNullable(this.enabled);
}
/**
* Enable logging at end. Defaults to `true`.
*
*/
@Import(name="logging")
private @Nullable Output logging;
/**
* @return Enable logging at end. Defaults to `true`.
*
*/
public Optional> logging() {
return Optional.ofNullable(this.logging);
}
/**
* The name.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Negate the destination definition.
*
*/
@Import(name="negateDestination")
private @Nullable Output negateDestination;
/**
* @return Negate the destination definition.
*
*/
public Optional> negateDestination() {
return Optional.ofNullable(this.negateDestination);
}
/**
* Negate the source definition.
*
*/
@Import(name="negateSource")
private @Nullable Output negateSource;
/**
* @return Negate the source definition.
*
*/
public Optional> negateSource() {
return Optional.ofNullable(this.negateSource);
}
/**
* The rule priority.
*
*/
@Import(name="priority", required=true)
private Output priority;
/**
* @return The rule priority.
*
*/
public Output priority() {
return this.priority;
}
/**
* Protocol port list.
*
*/
@Import(name="protPortLists")
private @Nullable Output> protPortLists;
/**
* @return Protocol port list.
*
*/
public Optional>> protPortLists() {
return Optional.ofNullable(this.protPortLists);
}
/**
* The protocol.
*
*/
@Import(name="protocol")
private @Nullable Output protocol;
/**
* @return The protocol.
*
*/
public Optional> protocol() {
return Optional.ofNullable(this.protocol);
}
/**
* The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.
*
*/
@Import(name="ruleList")
private @Nullable Output ruleList;
/**
* @return The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.
*
*/
public Optional> ruleList() {
return Optional.ofNullable(this.ruleList);
}
/**
* The rulestack.
*
*/
@Import(name="rulestack", required=true)
private Output rulestack;
/**
* @return The rulestack.
*
*/
public Output rulestack() {
return this.rulestack;
}
/**
* The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.
*
*/
@Import(name="scope")
private @Nullable Output scope;
/**
* @return The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.
*
*/
public Optional> scope() {
return Optional.ofNullable(this.scope);
}
/**
* The source spec.
*
*/
@Import(name="source", required=true)
private Output source;
/**
* @return The source spec.
*
*/
public Output source() {
return this.source;
}
/**
* The tags.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return The tags.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private SecurityRuleArgs() {}
private SecurityRuleArgs(SecurityRuleArgs $) {
this.action = $.action;
this.applications = $.applications;
this.auditComment = $.auditComment;
this.category = $.category;
this.decryptionRuleType = $.decryptionRuleType;
this.description = $.description;
this.destination = $.destination;
this.enabled = $.enabled;
this.logging = $.logging;
this.name = $.name;
this.negateDestination = $.negateDestination;
this.negateSource = $.negateSource;
this.priority = $.priority;
this.protPortLists = $.protPortLists;
this.protocol = $.protocol;
this.ruleList = $.ruleList;
this.rulestack = $.rulestack;
this.scope = $.scope;
this.source = $.source;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SecurityRuleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private SecurityRuleArgs $;
public Builder() {
$ = new SecurityRuleArgs();
}
public Builder(SecurityRuleArgs defaults) {
$ = new SecurityRuleArgs(Objects.requireNonNull(defaults));
}
/**
* @param action The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.
*
* @return builder
*
*/
public Builder action(Output action) {
$.action = action;
return this;
}
/**
* @param action The action to take. Valid values are `Allow`, `DenySilent`, `DenyResetServer`, or `DenyResetBoth`.
*
* @return builder
*
*/
public Builder action(String action) {
return action(Output.of(action));
}
/**
* @param applications The list of applications.
*
* @return builder
*
*/
public Builder applications(Output> applications) {
$.applications = applications;
return this;
}
/**
* @param applications The list of applications.
*
* @return builder
*
*/
public Builder applications(List applications) {
return applications(Output.of(applications));
}
/**
* @param applications The list of applications.
*
* @return builder
*
*/
public Builder applications(String... applications) {
return applications(List.of(applications));
}
/**
* @param auditComment The audit comment.
*
* @return builder
*
*/
public Builder auditComment(@Nullable Output auditComment) {
$.auditComment = auditComment;
return this;
}
/**
* @param auditComment The audit comment.
*
* @return builder
*
*/
public Builder auditComment(String auditComment) {
return auditComment(Output.of(auditComment));
}
/**
* @param category The category spec.
*
* @return builder
*
*/
public Builder category(Output category) {
$.category = category;
return this;
}
/**
* @param category The category spec.
*
* @return builder
*
*/
public Builder category(SecurityRuleCategoryArgs category) {
return category(Output.of(category));
}
/**
* @param decryptionRuleType Decryption rule type. Valid values are ``or`SSLOutboundInspection`.
*
* @return builder
*
*/
public Builder decryptionRuleType(@Nullable Output decryptionRuleType) {
$.decryptionRuleType = decryptionRuleType;
return this;
}
/**
* @param decryptionRuleType Decryption rule type. Valid values are ``or`SSLOutboundInspection`.
*
* @return builder
*
*/
public Builder decryptionRuleType(String decryptionRuleType) {
return decryptionRuleType(Output.of(decryptionRuleType));
}
/**
* @param description The description.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description The description.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param destination The destination spec.
*
* @return builder
*
*/
public Builder destination(Output destination) {
$.destination = destination;
return this;
}
/**
* @param destination The destination spec.
*
* @return builder
*
*/
public Builder destination(SecurityRuleDestinationArgs destination) {
return destination(Output.of(destination));
}
/**
* @param enabled Set to false to disable this rule. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(@Nullable Output enabled) {
$.enabled = enabled;
return this;
}
/**
* @param enabled Set to false to disable this rule. Defaults to `true`.
*
* @return builder
*
*/
public Builder enabled(Boolean enabled) {
return enabled(Output.of(enabled));
}
/**
* @param logging Enable logging at end. Defaults to `true`.
*
* @return builder
*
*/
public Builder logging(@Nullable Output logging) {
$.logging = logging;
return this;
}
/**
* @param logging Enable logging at end. Defaults to `true`.
*
* @return builder
*
*/
public Builder logging(Boolean logging) {
return logging(Output.of(logging));
}
/**
* @param name The name.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param negateDestination Negate the destination definition.
*
* @return builder
*
*/
public Builder negateDestination(@Nullable Output negateDestination) {
$.negateDestination = negateDestination;
return this;
}
/**
* @param negateDestination Negate the destination definition.
*
* @return builder
*
*/
public Builder negateDestination(Boolean negateDestination) {
return negateDestination(Output.of(negateDestination));
}
/**
* @param negateSource Negate the source definition.
*
* @return builder
*
*/
public Builder negateSource(@Nullable Output negateSource) {
$.negateSource = negateSource;
return this;
}
/**
* @param negateSource Negate the source definition.
*
* @return builder
*
*/
public Builder negateSource(Boolean negateSource) {
return negateSource(Output.of(negateSource));
}
/**
* @param priority The rule priority.
*
* @return builder
*
*/
public Builder priority(Output priority) {
$.priority = priority;
return this;
}
/**
* @param priority The rule priority.
*
* @return builder
*
*/
public Builder priority(Integer priority) {
return priority(Output.of(priority));
}
/**
* @param protPortLists Protocol port list.
*
* @return builder
*
*/
public Builder protPortLists(@Nullable Output> protPortLists) {
$.protPortLists = protPortLists;
return this;
}
/**
* @param protPortLists Protocol port list.
*
* @return builder
*
*/
public Builder protPortLists(List protPortLists) {
return protPortLists(Output.of(protPortLists));
}
/**
* @param protPortLists Protocol port list.
*
* @return builder
*
*/
public Builder protPortLists(String... protPortLists) {
return protPortLists(List.of(protPortLists));
}
/**
* @param protocol The protocol.
*
* @return builder
*
*/
public Builder protocol(@Nullable Output protocol) {
$.protocol = protocol;
return this;
}
/**
* @param protocol The protocol.
*
* @return builder
*
*/
public Builder protocol(String protocol) {
return protocol(Output.of(protocol));
}
/**
* @param ruleList The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.
*
* @return builder
*
*/
public Builder ruleList(@Nullable Output ruleList) {
$.ruleList = ruleList;
return this;
}
/**
* @param ruleList The rulebase. Valid values are `PreRule`, `PostRule`, or `LocalRule`. Defaults to `PreRule`.
*
* @return builder
*
*/
public Builder ruleList(String ruleList) {
return ruleList(Output.of(ruleList));
}
/**
* @param rulestack The rulestack.
*
* @return builder
*
*/
public Builder rulestack(Output rulestack) {
$.rulestack = rulestack;
return this;
}
/**
* @param rulestack The rulestack.
*
* @return builder
*
*/
public Builder rulestack(String rulestack) {
return rulestack(Output.of(rulestack));
}
/**
* @param scope The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.
*
* @return builder
*
*/
public Builder scope(@Nullable Output scope) {
$.scope = scope;
return this;
}
/**
* @param scope The rulestack's scope. A local rulestack will require that you've retrieved a LRA JWT. A global rulestack will require that you've retrieved a GRA JWT. Valid values are `Local` or `Global`. Defaults to `Local`.
*
* @return builder
*
*/
public Builder scope(String scope) {
return scope(Output.of(scope));
}
/**
* @param source The source spec.
*
* @return builder
*
*/
public Builder source(Output source) {
$.source = source;
return this;
}
/**
* @param source The source spec.
*
* @return builder
*
*/
public Builder source(SecurityRuleSourceArgs source) {
return source(Output.of(source));
}
/**
* @param tags The tags.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags The tags.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public SecurityRuleArgs build() {
if ($.action == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "action");
}
if ($.applications == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "applications");
}
if ($.category == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "category");
}
if ($.destination == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "destination");
}
if ($.priority == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "priority");
}
if ($.rulestack == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "rulestack");
}
if ($.source == null) {
throw new MissingRequiredPropertyException("SecurityRuleArgs", "source");
}
return $;
}
}
}