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

com.pulumi.azurenative.network.inputs.IPTrafficArgs Maven / Gradle / Ivy

// *** 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.network.inputs;

import com.pulumi.azurenative.network.enums.NetworkProtocol;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;


/**
 * IP traffic information.
 * 
 */
public final class IPTrafficArgs extends com.pulumi.resources.ResourceArgs {

    public static final IPTrafficArgs Empty = new IPTrafficArgs();

    /**
     * List of destination IP addresses of the traffic..
     * 
     */
    @Import(name="destinationIps", required=true)
    private Output> destinationIps;

    /**
     * @return List of destination IP addresses of the traffic..
     * 
     */
    public Output> destinationIps() {
        return this.destinationIps;
    }

    /**
     * The destination ports of the traffic.
     * 
     */
    @Import(name="destinationPorts", required=true)
    private Output> destinationPorts;

    /**
     * @return The destination ports of the traffic.
     * 
     */
    public Output> destinationPorts() {
        return this.destinationPorts;
    }

    @Import(name="protocols", required=true)
    private Output>> protocols;

    public Output>> protocols() {
        return this.protocols;
    }

    /**
     * List of source IP addresses of the traffic..
     * 
     */
    @Import(name="sourceIps", required=true)
    private Output> sourceIps;

    /**
     * @return List of source IP addresses of the traffic..
     * 
     */
    public Output> sourceIps() {
        return this.sourceIps;
    }

    /**
     * The source ports of the traffic.
     * 
     */
    @Import(name="sourcePorts", required=true)
    private Output> sourcePorts;

    /**
     * @return The source ports of the traffic.
     * 
     */
    public Output> sourcePorts() {
        return this.sourcePorts;
    }

    private IPTrafficArgs() {}

    private IPTrafficArgs(IPTrafficArgs $) {
        this.destinationIps = $.destinationIps;
        this.destinationPorts = $.destinationPorts;
        this.protocols = $.protocols;
        this.sourceIps = $.sourceIps;
        this.sourcePorts = $.sourcePorts;
    }

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

    public static final class Builder {
        private IPTrafficArgs $;

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

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

        /**
         * @param destinationIps List of destination IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder destinationIps(Output> destinationIps) {
            $.destinationIps = destinationIps;
            return this;
        }

        /**
         * @param destinationIps List of destination IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder destinationIps(List destinationIps) {
            return destinationIps(Output.of(destinationIps));
        }

        /**
         * @param destinationIps List of destination IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder destinationIps(String... destinationIps) {
            return destinationIps(List.of(destinationIps));
        }

        /**
         * @param destinationPorts The destination ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder destinationPorts(Output> destinationPorts) {
            $.destinationPorts = destinationPorts;
            return this;
        }

        /**
         * @param destinationPorts The destination ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder destinationPorts(List destinationPorts) {
            return destinationPorts(Output.of(destinationPorts));
        }

        /**
         * @param destinationPorts The destination ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder destinationPorts(String... destinationPorts) {
            return destinationPorts(List.of(destinationPorts));
        }

        public Builder protocols(Output>> protocols) {
            $.protocols = protocols;
            return this;
        }

        public Builder protocols(List> protocols) {
            return protocols(Output.of(protocols));
        }

        public Builder protocols(Either... protocols) {
            return protocols(List.of(protocols));
        }

        /**
         * @param sourceIps List of source IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder sourceIps(Output> sourceIps) {
            $.sourceIps = sourceIps;
            return this;
        }

        /**
         * @param sourceIps List of source IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder sourceIps(List sourceIps) {
            return sourceIps(Output.of(sourceIps));
        }

        /**
         * @param sourceIps List of source IP addresses of the traffic..
         * 
         * @return builder
         * 
         */
        public Builder sourceIps(String... sourceIps) {
            return sourceIps(List.of(sourceIps));
        }

        /**
         * @param sourcePorts The source ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder sourcePorts(Output> sourcePorts) {
            $.sourcePorts = sourcePorts;
            return this;
        }

        /**
         * @param sourcePorts The source ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder sourcePorts(List sourcePorts) {
            return sourcePorts(Output.of(sourcePorts));
        }

        /**
         * @param sourcePorts The source ports of the traffic.
         * 
         * @return builder
         * 
         */
        public Builder sourcePorts(String... sourcePorts) {
            return sourcePorts(List.of(sourcePorts));
        }

        public IPTrafficArgs build() {
            if ($.destinationIps == null) {
                throw new MissingRequiredPropertyException("IPTrafficArgs", "destinationIps");
            }
            if ($.destinationPorts == null) {
                throw new MissingRequiredPropertyException("IPTrafficArgs", "destinationPorts");
            }
            if ($.protocols == null) {
                throw new MissingRequiredPropertyException("IPTrafficArgs", "protocols");
            }
            if ($.sourceIps == null) {
                throw new MissingRequiredPropertyException("IPTrafficArgs", "sourceIps");
            }
            if ($.sourcePorts == null) {
                throw new MissingRequiredPropertyException("IPTrafficArgs", "sourcePorts");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy