sdk/java/src/main/java/com/pulumi/ovh/IpLoadBalancing/inputs/GetIpLoadBalancingArgs.java
<reponame>lbrlabs/pulumi-ovh<gh_stars>0// *** 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.ovh.IpLoadBalancing.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetIpLoadBalancingArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetIpLoadBalancingArgs Empty = new GetIpLoadBalancingArgs();

    /**
     * the name displayed in ManagerV6 for your iplb (max 50 chars)
     * 
     */
    @Import(name="displayName")
    private @Nullable Output<String> displayName;

    /**
     * @return the name displayed in ManagerV6 for your iplb (max 50 chars)
     * 
     */
    public Optional<Output<String>> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * Your IP load balancing
     * 
     */
    @Import(name="ipLoadbalancing")
    private @Nullable Output<String> ipLoadbalancing;

    /**
     * @return Your IP load balancing
     * 
     */
    public Optional<Output<String>> ipLoadbalancing() {
        return Optional.ofNullable(this.ipLoadbalancing);
    }

    /**
     * The IPV4 associated to your IP load balancing
     * 
     */
    @Import(name="ipv4")
    private @Nullable Output<String> ipv4;

    /**
     * @return The IPV4 associated to your IP load balancing
     * 
     */
    public Optional<Output<String>> ipv4() {
        return Optional.ofNullable(this.ipv4);
    }

    /**
     * The IPV6 associated to your IP load balancing
     * 
     */
    @Import(name="ipv6")
    private @Nullable Output<String> ipv6;

    /**
     * @return The IPV6 associated to your IP load balancing
     * 
     */
    public Optional<Output<String>> ipv6() {
        return Optional.ofNullable(this.ipv6);
    }

    /**
     * The offer of your IP load balancing
     * 
     */
    @Import(name="offer")
    private @Nullable Output<String> offer;

    /**
     * @return The offer of your IP load balancing
     * 
     */
    public Optional<Output<String>> offer() {
        return Optional.ofNullable(this.offer);
    }

    /**
     * The internal name of your IP load balancing
     * 
     */
    @Import(name="serviceName")
    private @Nullable Output<String> serviceName;

    /**
     * @return The internal name of your IP load balancing
     * 
     */
    public Optional<Output<String>> serviceName() {
        return Optional.ofNullable(this.serviceName);
    }

    /**
     * Modern oldest compatible clients : Firefox 27, Chrome 30,
     * IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8.
     * Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5,
     * Safari 1, Windows XP IE8, Android 2.3, Java 7.
     * Can take any of the following value: &#34;intermediate&#34;, &#34;modern&#34;
     * 
     */
    @Import(name="sslConfiguration")
    private @Nullable Output<String> sslConfiguration;

    /**
     * @return Modern oldest compatible clients : Firefox 27, Chrome 30,
     * IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8.
     * Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5,
     * Safari 1, Windows XP IE8, Android 2.3, Java 7.
     * Can take any of the following value: &#34;intermediate&#34;, &#34;modern&#34;
     * 
     */
    public Optional<Output<String>> sslConfiguration() {
        return Optional.ofNullable(this.sslConfiguration);
    }

    /**
     * Current state of your IP. Can take any of the following value:
     * &#34;blacklisted&#34;, &#34;deleted&#34;, &#34;free&#34;, &#34;ok&#34;, &#34;quarantined&#34;, &#34;suspended&#34;
     * 
     */
    @Import(name="state")
    private @Nullable Output<String> state;

    /**
     * @return Current state of your IP. Can take any of the following value:
     * &#34;blacklisted&#34;, &#34;deleted&#34;, &#34;free&#34;, &#34;ok&#34;, &#34;quarantined&#34;, &#34;suspended&#34;
     * 
     */
    public Optional<Output<String>> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * Vrack eligibility. Takes a boolean value.
     * 
     */
    @Import(name="vrackEligibility")
    private @Nullable Output<Boolean> vrackEligibility;

    /**
     * @return Vrack eligibility. Takes a boolean value.
     * 
     */
    public Optional<Output<Boolean>> vrackEligibility() {
        return Optional.ofNullable(this.vrackEligibility);
    }

    /**
     * Name of the vRack on which the current Load Balancer is
     * attached to, as it is named on vRack product
     * 
     */
    @Import(name="vrackName")
    private @Nullable Output<String> vrackName;

    /**
     * @return Name of the vRack on which the current Load Balancer is
     * attached to, as it is named on vRack product
     * 
     */
    public Optional<Output<String>> vrackName() {
        return Optional.ofNullable(this.vrackName);
    }

    /**
     * Location where your service is. This takes an array of values.
     * 
     */
    @Import(name="zones")
    private @Nullable Output<List<String>> zones;

    /**
     * @return Location where your service is. This takes an array of values.
     * 
     */
    public Optional<Output<List<String>>> zones() {
        return Optional.ofNullable(this.zones);
    }

    private GetIpLoadBalancingArgs() {}

    private GetIpLoadBalancingArgs(GetIpLoadBalancingArgs $) {
        this.displayName = $.displayName;
        this.ipLoadbalancing = $.ipLoadbalancing;
        this.ipv4 = $.ipv4;
        this.ipv6 = $.ipv6;
        this.offer = $.offer;
        this.serviceName = $.serviceName;
        this.sslConfiguration = $.sslConfiguration;
        this.state = $.state;
        this.vrackEligibility = $.vrackEligibility;
        this.vrackName = $.vrackName;
        this.zones = $.zones;
    }

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

    public static final class Builder {
        private GetIpLoadBalancingArgs $;

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

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

        /**
         * @param displayName the name displayed in ManagerV6 for your iplb (max 50 chars)
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output<String> displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName the name displayed in ManagerV6 for your iplb (max 50 chars)
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param ipLoadbalancing Your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipLoadbalancing(@Nullable Output<String> ipLoadbalancing) {
            $.ipLoadbalancing = ipLoadbalancing;
            return this;
        }

        /**
         * @param ipLoadbalancing Your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipLoadbalancing(String ipLoadbalancing) {
            return ipLoadbalancing(Output.of(ipLoadbalancing));
        }

        /**
         * @param ipv4 The IPV4 associated to your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipv4(@Nullable Output<String> ipv4) {
            $.ipv4 = ipv4;
            return this;
        }

        /**
         * @param ipv4 The IPV4 associated to your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipv4(String ipv4) {
            return ipv4(Output.of(ipv4));
        }

        /**
         * @param ipv6 The IPV6 associated to your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipv6(@Nullable Output<String> ipv6) {
            $.ipv6 = ipv6;
            return this;
        }

        /**
         * @param ipv6 The IPV6 associated to your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder ipv6(String ipv6) {
            return ipv6(Output.of(ipv6));
        }

        /**
         * @param offer The offer of your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder offer(@Nullable Output<String> offer) {
            $.offer = offer;
            return this;
        }

        /**
         * @param offer The offer of your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder offer(String offer) {
            return offer(Output.of(offer));
        }

        /**
         * @param serviceName The internal name of your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder serviceName(@Nullable Output<String> serviceName) {
            $.serviceName = serviceName;
            return this;
        }

        /**
         * @param serviceName The internal name of your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder serviceName(String serviceName) {
            return serviceName(Output.of(serviceName));
        }

        /**
         * @param sslConfiguration Modern oldest compatible clients : Firefox 27, Chrome 30,
         * IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8.
         * Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5,
         * Safari 1, Windows XP IE8, Android 2.3, Java 7.
         * Can take any of the following value: &#34;intermediate&#34;, &#34;modern&#34;
         * 
         * @return builder
         * 
         */
        public Builder sslConfiguration(@Nullable Output<String> sslConfiguration) {
            $.sslConfiguration = sslConfiguration;
            return this;
        }

        /**
         * @param sslConfiguration Modern oldest compatible clients : Firefox 27, Chrome 30,
         * IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8.
         * Intermediate oldest compatible clients : Firefox 1, Chrome 1, IE 7, Opera 5,
         * Safari 1, Windows XP IE8, Android 2.3, Java 7.
         * Can take any of the following value: &#34;intermediate&#34;, &#34;modern&#34;
         * 
         * @return builder
         * 
         */
        public Builder sslConfiguration(String sslConfiguration) {
            return sslConfiguration(Output.of(sslConfiguration));
        }

        /**
         * @param state Current state of your IP. Can take any of the following value:
         * &#34;blacklisted&#34;, &#34;deleted&#34;, &#34;free&#34;, &#34;ok&#34;, &#34;quarantined&#34;, &#34;suspended&#34;
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output<String> state) {
            $.state = state;
            return this;
        }

        /**
         * @param state Current state of your IP. Can take any of the following value:
         * &#34;blacklisted&#34;, &#34;deleted&#34;, &#34;free&#34;, &#34;ok&#34;, &#34;quarantined&#34;, &#34;suspended&#34;
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param vrackEligibility Vrack eligibility. Takes a boolean value.
         * 
         * @return builder
         * 
         */
        public Builder vrackEligibility(@Nullable Output<Boolean> vrackEligibility) {
            $.vrackEligibility = vrackEligibility;
            return this;
        }

        /**
         * @param vrackEligibility Vrack eligibility. Takes a boolean value.
         * 
         * @return builder
         * 
         */
        public Builder vrackEligibility(Boolean vrackEligibility) {
            return vrackEligibility(Output.of(vrackEligibility));
        }

        /**
         * @param vrackName Name of the vRack on which the current Load Balancer is
         * attached to, as it is named on vRack product
         * 
         * @return builder
         * 
         */
        public Builder vrackName(@Nullable Output<String> vrackName) {
            $.vrackName = vrackName;
            return this;
        }

        /**
         * @param vrackName Name of the vRack on which the current Load Balancer is
         * attached to, as it is named on vRack product
         * 
         * @return builder
         * 
         */
        public Builder vrackName(String vrackName) {
            return vrackName(Output.of(vrackName));
        }

        /**
         * @param zones Location where your service is. This takes an array of values.
         * 
         * @return builder
         * 
         */
        public Builder zones(@Nullable Output<List<String>> zones) {
            $.zones = zones;
            return this;
        }

        /**
         * @param zones Location where your service is. This takes an array of values.
         * 
         * @return builder
         * 
         */
        public Builder zones(List<String> zones) {
            return zones(Output.of(zones));
        }

        /**
         * @param zones Location where your service is. This takes an array of values.
         * 
         * @return builder
         * 
         */
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }

        public GetIpLoadBalancingArgs build() {
            return $;
        }
    }

}
