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

com.pulumi.azurenative.network.LoadBalancerBackendAddressPoolArgs 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.network;

import com.pulumi.azurenative.network.inputs.GatewayLoadBalancerTunnelInterfaceArgs;
import com.pulumi.azurenative.network.inputs.LoadBalancerBackendAddressArgs;
import com.pulumi.azurenative.network.inputs.SubResourceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LoadBalancerBackendAddressPoolArgs Empty = new LoadBalancerBackendAddressPoolArgs();

    /**
     * The name of the backend address pool.
     * 
     */
    @Import(name="backendAddressPoolName")
    private @Nullable Output backendAddressPoolName;

    /**
     * @return The name of the backend address pool.
     * 
     */
    public Optional> backendAddressPoolName() {
        return Optional.ofNullable(this.backendAddressPoolName);
    }

    /**
     * Amount of seconds Load Balancer waits for before sending RESET to client and backend address.
     * 
     */
    @Import(name="drainPeriodInSeconds")
    private @Nullable Output drainPeriodInSeconds;

    /**
     * @return Amount of seconds Load Balancer waits for before sending RESET to client and backend address.
     * 
     */
    public Optional> drainPeriodInSeconds() {
        return Optional.ofNullable(this.drainPeriodInSeconds);
    }

    /**
     * Resource ID.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return Resource ID.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * An array of backend addresses.
     * 
     */
    @Import(name="loadBalancerBackendAddresses")
    private @Nullable Output> loadBalancerBackendAddresses;

    /**
     * @return An array of backend addresses.
     * 
     */
    public Optional>> loadBalancerBackendAddresses() {
        return Optional.ofNullable(this.loadBalancerBackendAddresses);
    }

    /**
     * The name of the load balancer.
     * 
     */
    @Import(name="loadBalancerName", required=true)
    private Output loadBalancerName;

    /**
     * @return The name of the load balancer.
     * 
     */
    public Output loadBalancerName() {
        return this.loadBalancerName;
    }

    /**
     * The location of the backend address pool.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The location of the backend address pool.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * An array of gateway load balancer tunnel interfaces.
     * 
     */
    @Import(name="tunnelInterfaces")
    private @Nullable Output> tunnelInterfaces;

    /**
     * @return An array of gateway load balancer tunnel interfaces.
     * 
     */
    public Optional>> tunnelInterfaces() {
        return Optional.ofNullable(this.tunnelInterfaces);
    }

    /**
     * A reference to a virtual network.
     * 
     */
    @Import(name="virtualNetwork")
    private @Nullable Output virtualNetwork;

    /**
     * @return A reference to a virtual network.
     * 
     */
    public Optional> virtualNetwork() {
        return Optional.ofNullable(this.virtualNetwork);
    }

    private LoadBalancerBackendAddressPoolArgs() {}

    private LoadBalancerBackendAddressPoolArgs(LoadBalancerBackendAddressPoolArgs $) {
        this.backendAddressPoolName = $.backendAddressPoolName;
        this.drainPeriodInSeconds = $.drainPeriodInSeconds;
        this.id = $.id;
        this.loadBalancerBackendAddresses = $.loadBalancerBackendAddresses;
        this.loadBalancerName = $.loadBalancerName;
        this.location = $.location;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.tunnelInterfaces = $.tunnelInterfaces;
        this.virtualNetwork = $.virtualNetwork;
    }

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

    public static final class Builder {
        private LoadBalancerBackendAddressPoolArgs $;

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

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

        /**
         * @param backendAddressPoolName The name of the backend address pool.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolName(@Nullable Output backendAddressPoolName) {
            $.backendAddressPoolName = backendAddressPoolName;
            return this;
        }

        /**
         * @param backendAddressPoolName The name of the backend address pool.
         * 
         * @return builder
         * 
         */
        public Builder backendAddressPoolName(String backendAddressPoolName) {
            return backendAddressPoolName(Output.of(backendAddressPoolName));
        }

        /**
         * @param drainPeriodInSeconds Amount of seconds Load Balancer waits for before sending RESET to client and backend address.
         * 
         * @return builder
         * 
         */
        public Builder drainPeriodInSeconds(@Nullable Output drainPeriodInSeconds) {
            $.drainPeriodInSeconds = drainPeriodInSeconds;
            return this;
        }

        /**
         * @param drainPeriodInSeconds Amount of seconds Load Balancer waits for before sending RESET to client and backend address.
         * 
         * @return builder
         * 
         */
        public Builder drainPeriodInSeconds(Integer drainPeriodInSeconds) {
            return drainPeriodInSeconds(Output.of(drainPeriodInSeconds));
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id Resource ID.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param loadBalancerBackendAddresses An array of backend addresses.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerBackendAddresses(@Nullable Output> loadBalancerBackendAddresses) {
            $.loadBalancerBackendAddresses = loadBalancerBackendAddresses;
            return this;
        }

        /**
         * @param loadBalancerBackendAddresses An array of backend addresses.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerBackendAddresses(List loadBalancerBackendAddresses) {
            return loadBalancerBackendAddresses(Output.of(loadBalancerBackendAddresses));
        }

        /**
         * @param loadBalancerBackendAddresses An array of backend addresses.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerBackendAddresses(LoadBalancerBackendAddressArgs... loadBalancerBackendAddresses) {
            return loadBalancerBackendAddresses(List.of(loadBalancerBackendAddresses));
        }

        /**
         * @param loadBalancerName The name of the load balancer.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerName(Output loadBalancerName) {
            $.loadBalancerName = loadBalancerName;
            return this;
        }

        /**
         * @param loadBalancerName The name of the load balancer.
         * 
         * @return builder
         * 
         */
        public Builder loadBalancerName(String loadBalancerName) {
            return loadBalancerName(Output.of(loadBalancerName));
        }

        /**
         * @param location The location of the backend address pool.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The location of the backend address pool.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param name The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tunnelInterfaces An array of gateway load balancer tunnel interfaces.
         * 
         * @return builder
         * 
         */
        public Builder tunnelInterfaces(@Nullable Output> tunnelInterfaces) {
            $.tunnelInterfaces = tunnelInterfaces;
            return this;
        }

        /**
         * @param tunnelInterfaces An array of gateway load balancer tunnel interfaces.
         * 
         * @return builder
         * 
         */
        public Builder tunnelInterfaces(List tunnelInterfaces) {
            return tunnelInterfaces(Output.of(tunnelInterfaces));
        }

        /**
         * @param tunnelInterfaces An array of gateway load balancer tunnel interfaces.
         * 
         * @return builder
         * 
         */
        public Builder tunnelInterfaces(GatewayLoadBalancerTunnelInterfaceArgs... tunnelInterfaces) {
            return tunnelInterfaces(List.of(tunnelInterfaces));
        }

        /**
         * @param virtualNetwork A reference to a virtual network.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetwork(@Nullable Output virtualNetwork) {
            $.virtualNetwork = virtualNetwork;
            return this;
        }

        /**
         * @param virtualNetwork A reference to a virtual network.
         * 
         * @return builder
         * 
         */
        public Builder virtualNetwork(SubResourceArgs virtualNetwork) {
            return virtualNetwork(Output.of(virtualNetwork));
        }

        public LoadBalancerBackendAddressPoolArgs build() {
            if ($.loadBalancerName == null) {
                throw new MissingRequiredPropertyException("LoadBalancerBackendAddressPoolArgs", "loadBalancerName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("LoadBalancerBackendAddressPoolArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy