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

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

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 java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Pool of backend IP addresses.
 * 
 */
public final class BackendAddressPoolArgs extends com.pulumi.resources.ResourceArgs {

    public static final BackendAddressPoolArgs Empty = new BackendAddressPoolArgs();

    /**
     * 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 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);
    }

    /**
     * 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 BackendAddressPoolArgs() {}

    private BackendAddressPoolArgs(BackendAddressPoolArgs $) {
        this.drainPeriodInSeconds = $.drainPeriodInSeconds;
        this.id = $.id;
        this.loadBalancerBackendAddresses = $.loadBalancerBackendAddresses;
        this.location = $.location;
        this.name = $.name;
        this.tunnelInterfaces = $.tunnelInterfaces;
        this.virtualNetwork = $.virtualNetwork;
    }

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

    public static final class Builder {
        private BackendAddressPoolArgs $;

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

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

        /**
         * @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 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 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 BackendAddressPoolArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy