All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.cloudngfw.PostRuleArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.azurenative.cloudngfw;

import com.pulumi.azurenative.cloudngfw.enums.ActionEnum;
import com.pulumi.azurenative.cloudngfw.enums.BooleanEnum;
import com.pulumi.azurenative.cloudngfw.enums.DecryptionRuleTypeEnum;
import com.pulumi.azurenative.cloudngfw.enums.StateEnum;
import com.pulumi.azurenative.cloudngfw.inputs.CategoryArgs;
import com.pulumi.azurenative.cloudngfw.inputs.DestinationAddrArgs;
import com.pulumi.azurenative.cloudngfw.inputs.SourceAddrArgs;
import com.pulumi.azurenative.cloudngfw.inputs.TagInfoArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class PostRuleArgs extends com.pulumi.resources.ResourceArgs {

    public static final PostRuleArgs Empty = new PostRuleArgs();

    /**
     * rule action
     * 
     */
    @Import(name="actionType")
    private @Nullable Output> actionType;

    /**
     * @return rule action
     * 
     */
    public Optional>> actionType() {
        return Optional.ofNullable(this.actionType);
    }

    /**
     * array of rule applications
     * 
     */
    @Import(name="applications")
    private @Nullable Output> applications;

    /**
     * @return array of rule applications
     * 
     */
    public Optional>> applications() {
        return Optional.ofNullable(this.applications);
    }

    /**
     * rule comment
     * 
     */
    @Import(name="auditComment")
    private @Nullable Output auditComment;

    /**
     * @return rule comment
     * 
     */
    public Optional> auditComment() {
        return Optional.ofNullable(this.auditComment);
    }

    /**
     * rule category
     * 
     */
    @Import(name="category")
    private @Nullable Output category;

    /**
     * @return rule category
     * 
     */
    public Optional> category() {
        return Optional.ofNullable(this.category);
    }

    /**
     * enable or disable decryption
     * 
     */
    @Import(name="decryptionRuleType")
    private @Nullable Output> decryptionRuleType;

    /**
     * @return enable or disable decryption
     * 
     */
    public Optional>> decryptionRuleType() {
        return Optional.ofNullable(this.decryptionRuleType);
    }

    /**
     * rule description
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return rule description
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * destination address
     * 
     */
    @Import(name="destination")
    private @Nullable Output destination;

    /**
     * @return destination address
     * 
     */
    public Optional> destination() {
        return Optional.ofNullable(this.destination);
    }

    /**
     * enable or disable logging
     * 
     */
    @Import(name="enableLogging")
    private @Nullable Output> enableLogging;

    /**
     * @return enable or disable logging
     * 
     */
    public Optional>> enableLogging() {
        return Optional.ofNullable(this.enableLogging);
    }

    /**
     * GlobalRulestack resource name
     * 
     */
    @Import(name="globalRulestackName", required=true)
    private Output globalRulestackName;

    /**
     * @return GlobalRulestack resource name
     * 
     */
    public Output globalRulestackName() {
        return this.globalRulestackName;
    }

    /**
     * inbound Inspection Certificate
     * 
     */
    @Import(name="inboundInspectionCertificate")
    private @Nullable Output inboundInspectionCertificate;

    /**
     * @return inbound Inspection Certificate
     * 
     */
    public Optional> inboundInspectionCertificate() {
        return Optional.ofNullable(this.inboundInspectionCertificate);
    }

    /**
     * cidr should not be 'any'
     * 
     */
    @Import(name="negateDestination")
    private @Nullable Output> negateDestination;

    /**
     * @return cidr should not be 'any'
     * 
     */
    public Optional>> negateDestination() {
        return Optional.ofNullable(this.negateDestination);
    }

    /**
     * cidr should not be 'any'
     * 
     */
    @Import(name="negateSource")
    private @Nullable Output> negateSource;

    /**
     * @return cidr should not be 'any'
     * 
     */
    public Optional>> negateSource() {
        return Optional.ofNullable(this.negateSource);
    }

    /**
     * Post Rule priority
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return Post Rule priority
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * any, application-default, TCP:number, UDP:number
     * 
     */
    @Import(name="protocol")
    private @Nullable Output protocol;

    /**
     * @return any, application-default, TCP:number, UDP:number
     * 
     */
    public Optional> protocol() {
        return Optional.ofNullable(this.protocol);
    }

    /**
     * prot port list
     * 
     */
    @Import(name="protocolPortList")
    private @Nullable Output> protocolPortList;

    /**
     * @return prot port list
     * 
     */
    public Optional>> protocolPortList() {
        return Optional.ofNullable(this.protocolPortList);
    }

    /**
     * rule name
     * 
     */
    @Import(name="ruleName", required=true)
    private Output ruleName;

    /**
     * @return rule name
     * 
     */
    public Output ruleName() {
        return this.ruleName;
    }

    /**
     * state of this rule
     * 
     */
    @Import(name="ruleState")
    private @Nullable Output> ruleState;

    /**
     * @return state of this rule
     * 
     */
    public Optional>> ruleState() {
        return Optional.ofNullable(this.ruleState);
    }

    /**
     * source address
     * 
     */
    @Import(name="source")
    private @Nullable Output source;

    /**
     * @return source address
     * 
     */
    public Optional> source() {
        return Optional.ofNullable(this.source);
    }

    /**
     * tag for rule
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return tag for rule
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private PostRuleArgs() {}

    private PostRuleArgs(PostRuleArgs $) {
        this.actionType = $.actionType;
        this.applications = $.applications;
        this.auditComment = $.auditComment;
        this.category = $.category;
        this.decryptionRuleType = $.decryptionRuleType;
        this.description = $.description;
        this.destination = $.destination;
        this.enableLogging = $.enableLogging;
        this.globalRulestackName = $.globalRulestackName;
        this.inboundInspectionCertificate = $.inboundInspectionCertificate;
        this.negateDestination = $.negateDestination;
        this.negateSource = $.negateSource;
        this.priority = $.priority;
        this.protocol = $.protocol;
        this.protocolPortList = $.protocolPortList;
        this.ruleName = $.ruleName;
        this.ruleState = $.ruleState;
        this.source = $.source;
        this.tags = $.tags;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(PostRuleArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private PostRuleArgs $;

        public Builder() {
            $ = new PostRuleArgs();
        }

        public Builder(PostRuleArgs defaults) {
            $ = new PostRuleArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param actionType rule action
         * 
         * @return builder
         * 
         */
        public Builder actionType(@Nullable Output> actionType) {
            $.actionType = actionType;
            return this;
        }

        /**
         * @param actionType rule action
         * 
         * @return builder
         * 
         */
        public Builder actionType(Either actionType) {
            return actionType(Output.of(actionType));
        }

        /**
         * @param actionType rule action
         * 
         * @return builder
         * 
         */
        public Builder actionType(String actionType) {
            return actionType(Either.ofLeft(actionType));
        }

        /**
         * @param actionType rule action
         * 
         * @return builder
         * 
         */
        public Builder actionType(ActionEnum actionType) {
            return actionType(Either.ofRight(actionType));
        }

        /**
         * @param applications array of rule applications
         * 
         * @return builder
         * 
         */
        public Builder applications(@Nullable Output> applications) {
            $.applications = applications;
            return this;
        }

        /**
         * @param applications array of rule applications
         * 
         * @return builder
         * 
         */
        public Builder applications(List applications) {
            return applications(Output.of(applications));
        }

        /**
         * @param applications array of rule applications
         * 
         * @return builder
         * 
         */
        public Builder applications(String... applications) {
            return applications(List.of(applications));
        }

        /**
         * @param auditComment rule comment
         * 
         * @return builder
         * 
         */
        public Builder auditComment(@Nullable Output auditComment) {
            $.auditComment = auditComment;
            return this;
        }

        /**
         * @param auditComment rule comment
         * 
         * @return builder
         * 
         */
        public Builder auditComment(String auditComment) {
            return auditComment(Output.of(auditComment));
        }

        /**
         * @param category rule category
         * 
         * @return builder
         * 
         */
        public Builder category(@Nullable Output category) {
            $.category = category;
            return this;
        }

        /**
         * @param category rule category
         * 
         * @return builder
         * 
         */
        public Builder category(CategoryArgs category) {
            return category(Output.of(category));
        }

        /**
         * @param decryptionRuleType enable or disable decryption
         * 
         * @return builder
         * 
         */
        public Builder decryptionRuleType(@Nullable Output> decryptionRuleType) {
            $.decryptionRuleType = decryptionRuleType;
            return this;
        }

        /**
         * @param decryptionRuleType enable or disable decryption
         * 
         * @return builder
         * 
         */
        public Builder decryptionRuleType(Either decryptionRuleType) {
            return decryptionRuleType(Output.of(decryptionRuleType));
        }

        /**
         * @param decryptionRuleType enable or disable decryption
         * 
         * @return builder
         * 
         */
        public Builder decryptionRuleType(String decryptionRuleType) {
            return decryptionRuleType(Either.ofLeft(decryptionRuleType));
        }

        /**
         * @param decryptionRuleType enable or disable decryption
         * 
         * @return builder
         * 
         */
        public Builder decryptionRuleType(DecryptionRuleTypeEnum decryptionRuleType) {
            return decryptionRuleType(Either.ofRight(decryptionRuleType));
        }

        /**
         * @param description rule description
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description rule description
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param destination destination address
         * 
         * @return builder
         * 
         */
        public Builder destination(@Nullable Output destination) {
            $.destination = destination;
            return this;
        }

        /**
         * @param destination destination address
         * 
         * @return builder
         * 
         */
        public Builder destination(DestinationAddrArgs destination) {
            return destination(Output.of(destination));
        }

        /**
         * @param enableLogging enable or disable logging
         * 
         * @return builder
         * 
         */
        public Builder enableLogging(@Nullable Output> enableLogging) {
            $.enableLogging = enableLogging;
            return this;
        }

        /**
         * @param enableLogging enable or disable logging
         * 
         * @return builder
         * 
         */
        public Builder enableLogging(Either enableLogging) {
            return enableLogging(Output.of(enableLogging));
        }

        /**
         * @param enableLogging enable or disable logging
         * 
         * @return builder
         * 
         */
        public Builder enableLogging(String enableLogging) {
            return enableLogging(Either.ofLeft(enableLogging));
        }

        /**
         * @param enableLogging enable or disable logging
         * 
         * @return builder
         * 
         */
        public Builder enableLogging(StateEnum enableLogging) {
            return enableLogging(Either.ofRight(enableLogging));
        }

        /**
         * @param globalRulestackName GlobalRulestack resource name
         * 
         * @return builder
         * 
         */
        public Builder globalRulestackName(Output globalRulestackName) {
            $.globalRulestackName = globalRulestackName;
            return this;
        }

        /**
         * @param globalRulestackName GlobalRulestack resource name
         * 
         * @return builder
         * 
         */
        public Builder globalRulestackName(String globalRulestackName) {
            return globalRulestackName(Output.of(globalRulestackName));
        }

        /**
         * @param inboundInspectionCertificate inbound Inspection Certificate
         * 
         * @return builder
         * 
         */
        public Builder inboundInspectionCertificate(@Nullable Output inboundInspectionCertificate) {
            $.inboundInspectionCertificate = inboundInspectionCertificate;
            return this;
        }

        /**
         * @param inboundInspectionCertificate inbound Inspection Certificate
         * 
         * @return builder
         * 
         */
        public Builder inboundInspectionCertificate(String inboundInspectionCertificate) {
            return inboundInspectionCertificate(Output.of(inboundInspectionCertificate));
        }

        /**
         * @param negateDestination cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateDestination(@Nullable Output> negateDestination) {
            $.negateDestination = negateDestination;
            return this;
        }

        /**
         * @param negateDestination cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateDestination(Either negateDestination) {
            return negateDestination(Output.of(negateDestination));
        }

        /**
         * @param negateDestination cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateDestination(String negateDestination) {
            return negateDestination(Either.ofLeft(negateDestination));
        }

        /**
         * @param negateDestination cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateDestination(BooleanEnum negateDestination) {
            return negateDestination(Either.ofRight(negateDestination));
        }

        /**
         * @param negateSource cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateSource(@Nullable Output> negateSource) {
            $.negateSource = negateSource;
            return this;
        }

        /**
         * @param negateSource cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateSource(Either negateSource) {
            return negateSource(Output.of(negateSource));
        }

        /**
         * @param negateSource cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateSource(String negateSource) {
            return negateSource(Either.ofLeft(negateSource));
        }

        /**
         * @param negateSource cidr should not be 'any'
         * 
         * @return builder
         * 
         */
        public Builder negateSource(BooleanEnum negateSource) {
            return negateSource(Either.ofRight(negateSource));
        }

        /**
         * @param priority Post Rule priority
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority Post Rule priority
         * 
         * @return builder
         * 
         */
        public Builder priority(String priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param protocol any, application-default, TCP:number, UDP:number
         * 
         * @return builder
         * 
         */
        public Builder protocol(@Nullable Output protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol any, application-default, TCP:number, UDP:number
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param protocolPortList prot port list
         * 
         * @return builder
         * 
         */
        public Builder protocolPortList(@Nullable Output> protocolPortList) {
            $.protocolPortList = protocolPortList;
            return this;
        }

        /**
         * @param protocolPortList prot port list
         * 
         * @return builder
         * 
         */
        public Builder protocolPortList(List protocolPortList) {
            return protocolPortList(Output.of(protocolPortList));
        }

        /**
         * @param protocolPortList prot port list
         * 
         * @return builder
         * 
         */
        public Builder protocolPortList(String... protocolPortList) {
            return protocolPortList(List.of(protocolPortList));
        }

        /**
         * @param ruleName rule name
         * 
         * @return builder
         * 
         */
        public Builder ruleName(Output ruleName) {
            $.ruleName = ruleName;
            return this;
        }

        /**
         * @param ruleName rule name
         * 
         * @return builder
         * 
         */
        public Builder ruleName(String ruleName) {
            return ruleName(Output.of(ruleName));
        }

        /**
         * @param ruleState state of this rule
         * 
         * @return builder
         * 
         */
        public Builder ruleState(@Nullable Output> ruleState) {
            $.ruleState = ruleState;
            return this;
        }

        /**
         * @param ruleState state of this rule
         * 
         * @return builder
         * 
         */
        public Builder ruleState(Either ruleState) {
            return ruleState(Output.of(ruleState));
        }

        /**
         * @param ruleState state of this rule
         * 
         * @return builder
         * 
         */
        public Builder ruleState(String ruleState) {
            return ruleState(Either.ofLeft(ruleState));
        }

        /**
         * @param ruleState state of this rule
         * 
         * @return builder
         * 
         */
        public Builder ruleState(StateEnum ruleState) {
            return ruleState(Either.ofRight(ruleState));
        }

        /**
         * @param source source address
         * 
         * @return builder
         * 
         */
        public Builder source(@Nullable Output source) {
            $.source = source;
            return this;
        }

        /**
         * @param source source address
         * 
         * @return builder
         * 
         */
        public Builder source(SourceAddrArgs source) {
            return source(Output.of(source));
        }

        /**
         * @param tags tag for rule
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags tag for rule
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags tag for rule
         * 
         * @return builder
         * 
         */
        public Builder tags(TagInfoArgs... tags) {
            return tags(List.of(tags));
        }

        public PostRuleArgs build() {
            if ($.globalRulestackName == null) {
                throw new MissingRequiredPropertyException("PostRuleArgs", "globalRulestackName");
            }
            $.protocol = Codegen.stringProp("protocol").output().arg($.protocol).def("application-default").getNullable();
            if ($.ruleName == null) {
                throw new MissingRequiredPropertyException("PostRuleArgs", "ruleName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy