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

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

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

import com.pulumi.azurenative.network.enums.GatewayLoadBalancerTunnelInterfaceType;
import com.pulumi.azurenative.network.enums.GatewayLoadBalancerTunnelProtocol;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Gateway load balancer tunnel interface of a load balancer backend address pool.
 * 
 */
public final class GatewayLoadBalancerTunnelInterfaceArgs extends com.pulumi.resources.ResourceArgs {

    public static final GatewayLoadBalancerTunnelInterfaceArgs Empty = new GatewayLoadBalancerTunnelInterfaceArgs();

    /**
     * Identifier of gateway load balancer tunnel interface.
     * 
     */
    @Import(name="identifier")
    private @Nullable Output identifier;

    /**
     * @return Identifier of gateway load balancer tunnel interface.
     * 
     */
    public Optional> identifier() {
        return Optional.ofNullable(this.identifier);
    }

    /**
     * Port of gateway load balancer tunnel interface.
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return Port of gateway load balancer tunnel interface.
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * Protocol of gateway load balancer tunnel interface.
     * 
     */
    @Import(name="protocol")
    private @Nullable Output> protocol;

    /**
     * @return Protocol of gateway load balancer tunnel interface.
     * 
     */
    public Optional>> protocol() {
        return Optional.ofNullable(this.protocol);
    }

    /**
     * Traffic type of gateway load balancer tunnel interface.
     * 
     */
    @Import(name="type")
    private @Nullable Output> type;

    /**
     * @return Traffic type of gateway load balancer tunnel interface.
     * 
     */
    public Optional>> type() {
        return Optional.ofNullable(this.type);
    }

    private GatewayLoadBalancerTunnelInterfaceArgs() {}

    private GatewayLoadBalancerTunnelInterfaceArgs(GatewayLoadBalancerTunnelInterfaceArgs $) {
        this.identifier = $.identifier;
        this.port = $.port;
        this.protocol = $.protocol;
        this.type = $.type;
    }

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

    public static final class Builder {
        private GatewayLoadBalancerTunnelInterfaceArgs $;

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

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

        /**
         * @param identifier Identifier of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder identifier(@Nullable Output identifier) {
            $.identifier = identifier;
            return this;
        }

        /**
         * @param identifier Identifier of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder identifier(Integer identifier) {
            return identifier(Output.of(identifier));
        }

        /**
         * @param port Port of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port Port of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param protocol Protocol of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder protocol(@Nullable Output> protocol) {
            $.protocol = protocol;
            return this;
        }

        /**
         * @param protocol Protocol of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder protocol(Either protocol) {
            return protocol(Output.of(protocol));
        }

        /**
         * @param protocol Protocol of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder protocol(String protocol) {
            return protocol(Either.ofLeft(protocol));
        }

        /**
         * @param protocol Protocol of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder protocol(GatewayLoadBalancerTunnelProtocol protocol) {
            return protocol(Either.ofRight(protocol));
        }

        /**
         * @param type Traffic type of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Traffic type of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type Traffic type of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type Traffic type of gateway load balancer tunnel interface.
         * 
         * @return builder
         * 
         */
        public Builder type(GatewayLoadBalancerTunnelInterfaceType type) {
            return type(Either.ofRight(type));
        }

        public GatewayLoadBalancerTunnelInterfaceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy