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

com.pulumi.azurenative.managednetworkfabric.inputs.IpPrefixPropertiesIpPrefixRulesArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.managednetworkfabric.inputs;

import com.pulumi.azurenative.managednetworkfabric.enums.CommunityActionTypes;
import com.pulumi.azurenative.managednetworkfabric.enums.Condition;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final IpPrefixPropertiesIpPrefixRulesArgs Empty = new IpPrefixPropertiesIpPrefixRulesArgs();

    /**
     * Action to be taken on the configuration. Example: Permit | Deny.
     * 
     */
    @Import(name="action", required=true)
    private Output> action;

    /**
     * @return Action to be taken on the configuration. Example: Permit | Deny.
     * 
     */
    public Output> action() {
        return this.action;
    }

    /**
     * Specify prefix-list bounds.
     * 
     */
    @Import(name="condition")
    private @Nullable Output> condition;

    /**
     * @return Specify prefix-list bounds.
     * 
     */
    public Optional>> condition() {
        return Optional.ofNullable(this.condition);
    }

    /**
     * Network Prefix specifying IPv4/IPv6 packets to be permitted or denied. Example: 1.1.1.0/24 | 3FFE:FFFF:0:CD30::/126
     * 
     */
    @Import(name="networkPrefix", required=true)
    private Output networkPrefix;

    /**
     * @return Network Prefix specifying IPv4/IPv6 packets to be permitted or denied. Example: 1.1.1.0/24 | 3FFE:FFFF:0:CD30::/126
     * 
     */
    public Output networkPrefix() {
        return this.networkPrefix;
    }

    /**
     * Sequence to insert to/delete from existing route. Prefix lists are evaluated starting with the lowest sequence number and continue down the list until a match is made. Once a match is made, the permit or deny statement is applied to that network and the rest of the list is ignored.
     * 
     */
    @Import(name="sequenceNumber", required=true)
    private Output sequenceNumber;

    /**
     * @return Sequence to insert to/delete from existing route. Prefix lists are evaluated starting with the lowest sequence number and continue down the list until a match is made. Once a match is made, the permit or deny statement is applied to that network and the rest of the list is ignored.
     * 
     */
    public Output sequenceNumber() {
        return this.sequenceNumber;
    }

    /**
     * SubnetMaskLength gives the minimum NetworkPrefix length to be matched.Possible values for IPv4 are 1 - 32. Possible values of IPv6 are 1 - 128.
     * 
     */
    @Import(name="subnetMaskLength")
    private @Nullable Output subnetMaskLength;

    /**
     * @return SubnetMaskLength gives the minimum NetworkPrefix length to be matched.Possible values for IPv4 are 1 - 32. Possible values of IPv6 are 1 - 128.
     * 
     */
    public Optional> subnetMaskLength() {
        return Optional.ofNullable(this.subnetMaskLength);
    }

    private IpPrefixPropertiesIpPrefixRulesArgs() {}

    private IpPrefixPropertiesIpPrefixRulesArgs(IpPrefixPropertiesIpPrefixRulesArgs $) {
        this.action = $.action;
        this.condition = $.condition;
        this.networkPrefix = $.networkPrefix;
        this.sequenceNumber = $.sequenceNumber;
        this.subnetMaskLength = $.subnetMaskLength;
    }

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

    public static final class Builder {
        private IpPrefixPropertiesIpPrefixRulesArgs $;

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

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

        /**
         * @param action Action to be taken on the configuration. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder action(Output> action) {
            $.action = action;
            return this;
        }

        /**
         * @param action Action to be taken on the configuration. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder action(Either action) {
            return action(Output.of(action));
        }

        /**
         * @param action Action to be taken on the configuration. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder action(String action) {
            return action(Either.ofLeft(action));
        }

        /**
         * @param action Action to be taken on the configuration. Example: Permit | Deny.
         * 
         * @return builder
         * 
         */
        public Builder action(CommunityActionTypes action) {
            return action(Either.ofRight(action));
        }

        /**
         * @param condition Specify prefix-list bounds.
         * 
         * @return builder
         * 
         */
        public Builder condition(@Nullable Output> condition) {
            $.condition = condition;
            return this;
        }

        /**
         * @param condition Specify prefix-list bounds.
         * 
         * @return builder
         * 
         */
        public Builder condition(Either condition) {
            return condition(Output.of(condition));
        }

        /**
         * @param condition Specify prefix-list bounds.
         * 
         * @return builder
         * 
         */
        public Builder condition(String condition) {
            return condition(Either.ofLeft(condition));
        }

        /**
         * @param condition Specify prefix-list bounds.
         * 
         * @return builder
         * 
         */
        public Builder condition(Condition condition) {
            return condition(Either.ofRight(condition));
        }

        /**
         * @param networkPrefix Network Prefix specifying IPv4/IPv6 packets to be permitted or denied. Example: 1.1.1.0/24 | 3FFE:FFFF:0:CD30::/126
         * 
         * @return builder
         * 
         */
        public Builder networkPrefix(Output networkPrefix) {
            $.networkPrefix = networkPrefix;
            return this;
        }

        /**
         * @param networkPrefix Network Prefix specifying IPv4/IPv6 packets to be permitted or denied. Example: 1.1.1.0/24 | 3FFE:FFFF:0:CD30::/126
         * 
         * @return builder
         * 
         */
        public Builder networkPrefix(String networkPrefix) {
            return networkPrefix(Output.of(networkPrefix));
        }

        /**
         * @param sequenceNumber Sequence to insert to/delete from existing route. Prefix lists are evaluated starting with the lowest sequence number and continue down the list until a match is made. Once a match is made, the permit or deny statement is applied to that network and the rest of the list is ignored.
         * 
         * @return builder
         * 
         */
        public Builder sequenceNumber(Output sequenceNumber) {
            $.sequenceNumber = sequenceNumber;
            return this;
        }

        /**
         * @param sequenceNumber Sequence to insert to/delete from existing route. Prefix lists are evaluated starting with the lowest sequence number and continue down the list until a match is made. Once a match is made, the permit or deny statement is applied to that network and the rest of the list is ignored.
         * 
         * @return builder
         * 
         */
        public Builder sequenceNumber(Double sequenceNumber) {
            return sequenceNumber(Output.of(sequenceNumber));
        }

        /**
         * @param subnetMaskLength SubnetMaskLength gives the minimum NetworkPrefix length to be matched.Possible values for IPv4 are 1 - 32. Possible values of IPv6 are 1 - 128.
         * 
         * @return builder
         * 
         */
        public Builder subnetMaskLength(@Nullable Output subnetMaskLength) {
            $.subnetMaskLength = subnetMaskLength;
            return this;
        }

        /**
         * @param subnetMaskLength SubnetMaskLength gives the minimum NetworkPrefix length to be matched.Possible values for IPv4 are 1 - 32. Possible values of IPv6 are 1 - 128.
         * 
         * @return builder
         * 
         */
        public Builder subnetMaskLength(Integer subnetMaskLength) {
            return subnetMaskLength(Output.of(subnetMaskLength));
        }

        public IpPrefixPropertiesIpPrefixRulesArgs build() {
            if ($.action == null) {
                throw new MissingRequiredPropertyException("IpPrefixPropertiesIpPrefixRulesArgs", "action");
            }
            if ($.networkPrefix == null) {
                throw new MissingRequiredPropertyException("IpPrefixPropertiesIpPrefixRulesArgs", "networkPrefix");
            }
            if ($.sequenceNumber == null) {
                throw new MissingRequiredPropertyException("IpPrefixPropertiesIpPrefixRulesArgs", "sequenceNumber");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy