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

com.pulumi.azurenative.managednetworkfabric.inputs.NetworkTapRuleMatchConfigurationArgs 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.IPAddressType;
import com.pulumi.azurenative.managednetworkfabric.inputs.NetworkTapRuleActionArgs;
import com.pulumi.azurenative.managednetworkfabric.inputs.NetworkTapRuleMatchConditionArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Double;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Defines the match configuration that are supported to filter the traffic.
 * 
 */
public final class NetworkTapRuleMatchConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final NetworkTapRuleMatchConfigurationArgs Empty = new NetworkTapRuleMatchConfigurationArgs();

    /**
     * List of actions that need to be performed for the matched conditions.
     * 
     */
    @Import(name="actions")
    private @Nullable Output> actions;

    /**
     * @return List of actions that need to be performed for the matched conditions.
     * 
     */
    public Optional>> actions() {
        return Optional.ofNullable(this.actions);
    }

    /**
     * Type of IP Address. IPv4 or IPv6
     * 
     */
    @Import(name="ipAddressType")
    private @Nullable Output> ipAddressType;

    /**
     * @return Type of IP Address. IPv4 or IPv6
     * 
     */
    public Optional>> ipAddressType() {
        return Optional.ofNullable(this.ipAddressType);
    }

    /**
     * List of the match conditions.
     * 
     */
    @Import(name="matchConditions")
    private @Nullable Output> matchConditions;

    /**
     * @return List of the match conditions.
     * 
     */
    public Optional>> matchConditions() {
        return Optional.ofNullable(this.matchConditions);
    }

    /**
     * The name of the match configuration.
     * 
     */
    @Import(name="matchConfigurationName")
    private @Nullable Output matchConfigurationName;

    /**
     * @return The name of the match configuration.
     * 
     */
    public Optional> matchConfigurationName() {
        return Optional.ofNullable(this.matchConfigurationName);
    }

    /**
     * Sequence Number of the match configuration..
     * 
     */
    @Import(name="sequenceNumber")
    private @Nullable Output sequenceNumber;

    /**
     * @return Sequence Number of the match configuration..
     * 
     */
    public Optional> sequenceNumber() {
        return Optional.ofNullable(this.sequenceNumber);
    }

    private NetworkTapRuleMatchConfigurationArgs() {}

    private NetworkTapRuleMatchConfigurationArgs(NetworkTapRuleMatchConfigurationArgs $) {
        this.actions = $.actions;
        this.ipAddressType = $.ipAddressType;
        this.matchConditions = $.matchConditions;
        this.matchConfigurationName = $.matchConfigurationName;
        this.sequenceNumber = $.sequenceNumber;
    }

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

    public static final class Builder {
        private NetworkTapRuleMatchConfigurationArgs $;

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

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

        /**
         * @param actions List of actions that need to be performed for the matched conditions.
         * 
         * @return builder
         * 
         */
        public Builder actions(@Nullable Output> actions) {
            $.actions = actions;
            return this;
        }

        /**
         * @param actions List of actions that need to be performed for the matched conditions.
         * 
         * @return builder
         * 
         */
        public Builder actions(List actions) {
            return actions(Output.of(actions));
        }

        /**
         * @param actions List of actions that need to be performed for the matched conditions.
         * 
         * @return builder
         * 
         */
        public Builder actions(NetworkTapRuleActionArgs... actions) {
            return actions(List.of(actions));
        }

        /**
         * @param ipAddressType Type of IP Address. IPv4 or IPv6
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(@Nullable Output> ipAddressType) {
            $.ipAddressType = ipAddressType;
            return this;
        }

        /**
         * @param ipAddressType Type of IP Address. IPv4 or IPv6
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(Either ipAddressType) {
            return ipAddressType(Output.of(ipAddressType));
        }

        /**
         * @param ipAddressType Type of IP Address. IPv4 or IPv6
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(String ipAddressType) {
            return ipAddressType(Either.ofLeft(ipAddressType));
        }

        /**
         * @param ipAddressType Type of IP Address. IPv4 or IPv6
         * 
         * @return builder
         * 
         */
        public Builder ipAddressType(IPAddressType ipAddressType) {
            return ipAddressType(Either.ofRight(ipAddressType));
        }

        /**
         * @param matchConditions List of the match conditions.
         * 
         * @return builder
         * 
         */
        public Builder matchConditions(@Nullable Output> matchConditions) {
            $.matchConditions = matchConditions;
            return this;
        }

        /**
         * @param matchConditions List of the match conditions.
         * 
         * @return builder
         * 
         */
        public Builder matchConditions(List matchConditions) {
            return matchConditions(Output.of(matchConditions));
        }

        /**
         * @param matchConditions List of the match conditions.
         * 
         * @return builder
         * 
         */
        public Builder matchConditions(NetworkTapRuleMatchConditionArgs... matchConditions) {
            return matchConditions(List.of(matchConditions));
        }

        /**
         * @param matchConfigurationName The name of the match configuration.
         * 
         * @return builder
         * 
         */
        public Builder matchConfigurationName(@Nullable Output matchConfigurationName) {
            $.matchConfigurationName = matchConfigurationName;
            return this;
        }

        /**
         * @param matchConfigurationName The name of the match configuration.
         * 
         * @return builder
         * 
         */
        public Builder matchConfigurationName(String matchConfigurationName) {
            return matchConfigurationName(Output.of(matchConfigurationName));
        }

        /**
         * @param sequenceNumber Sequence Number of the match configuration..
         * 
         * @return builder
         * 
         */
        public Builder sequenceNumber(@Nullable Output sequenceNumber) {
            $.sequenceNumber = sequenceNumber;
            return this;
        }

        /**
         * @param sequenceNumber Sequence Number of the match configuration..
         * 
         * @return builder
         * 
         */
        public Builder sequenceNumber(Double sequenceNumber) {
            return sequenceNumber(Output.of(sequenceNumber));
        }

        public NetworkTapRuleMatchConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy