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

com.ovhcloud.pulumi.ovh.IpLoadBalancing.inputs.TcpFarmServerState Maven / Gradle / Ivy

There is a newer version: 1.1.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.ovhcloud.pulumi.ovh.IpLoadBalancing.inputs;

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


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

    public static final TcpFarmServerState Empty = new TcpFarmServerState();

    /**
     * Address of the backend server (IP from either internal or OVHcloud network)
     * 
     */
    @Import(name="address")
    private @Nullable Output address;

    /**
     * @return Address of the backend server (IP from either internal or OVHcloud network)
     * 
     */
    public Optional> address() {
        return Optional.ofNullable(this.address);
    }

    /**
     * is it a backup server used in case of failure of all the non-backup backends
     * 
     */
    @Import(name="backup")
    private @Nullable Output backup;

    /**
     * @return is it a backup server used in case of failure of all the non-backup backends
     * 
     */
    public Optional> backup() {
        return Optional.ofNullable(this.backup);
    }

    @Import(name="chain")
    private @Nullable Output chain;

    public Optional> chain() {
        return Optional.ofNullable(this.chain);
    }

    /**
     * Label for the server
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return Label for the server
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * ID of the farm this server is attached to
     * 
     */
    @Import(name="farmId")
    private @Nullable Output farmId;

    /**
     * @return ID of the farm this server is attached to
     * 
     */
    public Optional> farmId() {
        return Optional.ofNullable(this.farmId);
    }

    /**
     * enable action when backend marked down. (`shutdown-sessions`)
     * 
     */
    @Import(name="onMarkedDown")
    private @Nullable Output onMarkedDown;

    /**
     * @return enable action when backend marked down. (`shutdown-sessions`)
     * 
     */
    public Optional> onMarkedDown() {
        return Optional.ofNullable(this.onMarkedDown);
    }

    /**
     * Port that backend will respond on
     * 
     */
    @Import(name="port")
    private @Nullable Output port;

    /**
     * @return Port that backend will respond on
     * 
     */
    public Optional> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * defines if backend will be probed to determine health and keep as active in farm if healthy
     * 
     */
    @Import(name="probe")
    private @Nullable Output probe;

    /**
     * @return defines if backend will be probed to determine health and keep as active in farm if healthy
     * 
     */
    public Optional> probe() {
        return Optional.ofNullable(this.probe);
    }

    /**
     * version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (`v1`, `v2`, `v2-ssl`, `v2-ssl-cn`)
     * 
     */
    @Import(name="proxyProtocolVersion")
    private @Nullable Output proxyProtocolVersion;

    /**
     * @return version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (`v1`, `v2`, `v2-ssl`, `v2-ssl-cn`)
     * 
     */
    public Optional> proxyProtocolVersion() {
        return Optional.ofNullable(this.proxyProtocolVersion);
    }

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

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

    /**
     * is the connection ciphered with SSL (TLS)
     * 
     */
    @Import(name="ssl")
    private @Nullable Output ssl;

    /**
     * @return is the connection ciphered with SSL (TLS)
     * 
     */
    public Optional> ssl() {
        return Optional.ofNullable(this.ssl);
    }

    /**
     * backend status - `active` or `inactive`
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return backend status - `active` or `inactive`
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * used in loadbalancing algorithm
     * 
     */
    @Import(name="weight")
    private @Nullable Output weight;

    /**
     * @return used in loadbalancing algorithm
     * 
     */
    public Optional> weight() {
        return Optional.ofNullable(this.weight);
    }

    private TcpFarmServerState() {}

    private TcpFarmServerState(TcpFarmServerState $) {
        this.address = $.address;
        this.backup = $.backup;
        this.chain = $.chain;
        this.displayName = $.displayName;
        this.farmId = $.farmId;
        this.onMarkedDown = $.onMarkedDown;
        this.port = $.port;
        this.probe = $.probe;
        this.proxyProtocolVersion = $.proxyProtocolVersion;
        this.serviceName = $.serviceName;
        this.ssl = $.ssl;
        this.status = $.status;
        this.weight = $.weight;
    }

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

    public static final class Builder {
        private TcpFarmServerState $;

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

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

        /**
         * @param address Address of the backend server (IP from either internal or OVHcloud network)
         * 
         * @return builder
         * 
         */
        public Builder address(@Nullable Output address) {
            $.address = address;
            return this;
        }

        /**
         * @param address Address of the backend server (IP from either internal or OVHcloud network)
         * 
         * @return builder
         * 
         */
        public Builder address(String address) {
            return address(Output.of(address));
        }

        /**
         * @param backup is it a backup server used in case of failure of all the non-backup backends
         * 
         * @return builder
         * 
         */
        public Builder backup(@Nullable Output backup) {
            $.backup = backup;
            return this;
        }

        /**
         * @param backup is it a backup server used in case of failure of all the non-backup backends
         * 
         * @return builder
         * 
         */
        public Builder backup(Boolean backup) {
            return backup(Output.of(backup));
        }

        public Builder chain(@Nullable Output chain) {
            $.chain = chain;
            return this;
        }

        public Builder chain(String chain) {
            return chain(Output.of(chain));
        }

        /**
         * @param displayName Label for the server
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName Label for the server
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param farmId ID of the farm this server is attached to
         * 
         * @return builder
         * 
         */
        public Builder farmId(@Nullable Output farmId) {
            $.farmId = farmId;
            return this;
        }

        /**
         * @param farmId ID of the farm this server is attached to
         * 
         * @return builder
         * 
         */
        public Builder farmId(Integer farmId) {
            return farmId(Output.of(farmId));
        }

        /**
         * @param onMarkedDown enable action when backend marked down. (`shutdown-sessions`)
         * 
         * @return builder
         * 
         */
        public Builder onMarkedDown(@Nullable Output onMarkedDown) {
            $.onMarkedDown = onMarkedDown;
            return this;
        }

        /**
         * @param onMarkedDown enable action when backend marked down. (`shutdown-sessions`)
         * 
         * @return builder
         * 
         */
        public Builder onMarkedDown(String onMarkedDown) {
            return onMarkedDown(Output.of(onMarkedDown));
        }

        /**
         * @param port Port that backend will respond on
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output port) {
            $.port = port;
            return this;
        }

        /**
         * @param port Port that backend will respond on
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param probe defines if backend will be probed to determine health and keep as active in farm if healthy
         * 
         * @return builder
         * 
         */
        public Builder probe(@Nullable Output probe) {
            $.probe = probe;
            return this;
        }

        /**
         * @param probe defines if backend will be probed to determine health and keep as active in farm if healthy
         * 
         * @return builder
         * 
         */
        public Builder probe(Boolean probe) {
            return probe(Output.of(probe));
        }

        /**
         * @param proxyProtocolVersion version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (`v1`, `v2`, `v2-ssl`, `v2-ssl-cn`)
         * 
         * @return builder
         * 
         */
        public Builder proxyProtocolVersion(@Nullable Output proxyProtocolVersion) {
            $.proxyProtocolVersion = proxyProtocolVersion;
            return this;
        }

        /**
         * @param proxyProtocolVersion version of the PROXY protocol used to pass origin connection information from loadbalancer to receiving service (`v1`, `v2`, `v2-ssl`, `v2-ssl-cn`)
         * 
         * @return builder
         * 
         */
        public Builder proxyProtocolVersion(String proxyProtocolVersion) {
            return proxyProtocolVersion(Output.of(proxyProtocolVersion));
        }

        /**
         * @param serviceName The internal name of your IP load balancing
         * 
         * @return builder
         * 
         */
        public Builder serviceName(@Nullable Output 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 ssl is the connection ciphered with SSL (TLS)
         * 
         * @return builder
         * 
         */
        public Builder ssl(@Nullable Output ssl) {
            $.ssl = ssl;
            return this;
        }

        /**
         * @param ssl is the connection ciphered with SSL (TLS)
         * 
         * @return builder
         * 
         */
        public Builder ssl(Boolean ssl) {
            return ssl(Output.of(ssl));
        }

        /**
         * @param status backend status - `active` or `inactive`
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status backend status - `active` or `inactive`
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param weight used in loadbalancing algorithm
         * 
         * @return builder
         * 
         */
        public Builder weight(@Nullable Output weight) {
            $.weight = weight;
            return this;
        }

        /**
         * @param weight used in loadbalancing algorithm
         * 
         * @return builder
         * 
         */
        public Builder weight(Integer weight) {
            return weight(Output.of(weight));
        }

        public TcpFarmServerState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy