sdk/java/src/main/java/com/pulumi/ovh/CloudProject/inputs/DatabaseEndpointArgs.java
<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.CloudProject.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 DatabaseEndpointArgs extends com.pulumi.resources.ResourceArgs {

    public static final DatabaseEndpointArgs Empty = new DatabaseEndpointArgs();

    /**
     * Type of component the URI relates to.
     * 
     */
    @Import(name="component")
    private @Nullable Output<String> component;

    /**
     * @return Type of component the URI relates to.
     * 
     */
    public Optional<Output<String>> component() {
        return Optional.ofNullable(this.component);
    }

    /**
     * Domain of the cluster.
     * 
     */
    @Import(name="domain")
    private @Nullable Output<String> domain;

    /**
     * @return Domain of the cluster.
     * 
     */
    public Optional<Output<String>> domain() {
        return Optional.ofNullable(this.domain);
    }

    /**
     * Path of the endpoint.
     * 
     */
    @Import(name="path")
    private @Nullable Output<String> path;

    /**
     * @return Path of the endpoint.
     * 
     */
    public Optional<Output<String>> path() {
        return Optional.ofNullable(this.path);
    }

    /**
     * Connection port for the endpoint.
     * 
     */
    @Import(name="port")
    private @Nullable Output<Integer> port;

    /**
     * @return Connection port for the endpoint.
     * 
     */
    public Optional<Output<Integer>> port() {
        return Optional.ofNullable(this.port);
    }

    /**
     * Scheme used to generate the URI.
     * 
     */
    @Import(name="scheme")
    private @Nullable Output<String> scheme;

    /**
     * @return Scheme used to generate the URI.
     * 
     */
    public Optional<Output<String>> scheme() {
        return Optional.ofNullable(this.scheme);
    }

    /**
     * Defines whether the endpoint uses SSL.
     * 
     */
    @Import(name="ssl")
    private @Nullable Output<Boolean> ssl;

    /**
     * @return Defines whether the endpoint uses SSL.
     * 
     */
    public Optional<Output<Boolean>> ssl() {
        return Optional.ofNullable(this.ssl);
    }

    /**
     * SSL mode used to connect to the service if the SSL is enabled.
     * 
     */
    @Import(name="sslMode")
    private @Nullable Output<String> sslMode;

    /**
     * @return SSL mode used to connect to the service if the SSL is enabled.
     * 
     */
    public Optional<Output<String>> sslMode() {
        return Optional.ofNullable(this.sslMode);
    }

    /**
     * URI of the endpoint.
     * 
     */
    @Import(name="uri")
    private @Nullable Output<String> uri;

    /**
     * @return URI of the endpoint.
     * 
     */
    public Optional<Output<String>> uri() {
        return Optional.ofNullable(this.uri);
    }

    private DatabaseEndpointArgs() {}

    private DatabaseEndpointArgs(DatabaseEndpointArgs $) {
        this.component = $.component;
        this.domain = $.domain;
        this.path = $.path;
        this.port = $.port;
        this.scheme = $.scheme;
        this.ssl = $.ssl;
        this.sslMode = $.sslMode;
        this.uri = $.uri;
    }

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

    public static final class Builder {
        private DatabaseEndpointArgs $;

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

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

        /**
         * @param component Type of component the URI relates to.
         * 
         * @return builder
         * 
         */
        public Builder component(@Nullable Output<String> component) {
            $.component = component;
            return this;
        }

        /**
         * @param component Type of component the URI relates to.
         * 
         * @return builder
         * 
         */
        public Builder component(String component) {
            return component(Output.of(component));
        }

        /**
         * @param domain Domain of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder domain(@Nullable Output<String> domain) {
            $.domain = domain;
            return this;
        }

        /**
         * @param domain Domain of the cluster.
         * 
         * @return builder
         * 
         */
        public Builder domain(String domain) {
            return domain(Output.of(domain));
        }

        /**
         * @param path Path of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder path(@Nullable Output<String> path) {
            $.path = path;
            return this;
        }

        /**
         * @param path Path of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder path(String path) {
            return path(Output.of(path));
        }

        /**
         * @param port Connection port for the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder port(@Nullable Output<Integer> port) {
            $.port = port;
            return this;
        }

        /**
         * @param port Connection port for the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder port(Integer port) {
            return port(Output.of(port));
        }

        /**
         * @param scheme Scheme used to generate the URI.
         * 
         * @return builder
         * 
         */
        public Builder scheme(@Nullable Output<String> scheme) {
            $.scheme = scheme;
            return this;
        }

        /**
         * @param scheme Scheme used to generate the URI.
         * 
         * @return builder
         * 
         */
        public Builder scheme(String scheme) {
            return scheme(Output.of(scheme));
        }

        /**
         * @param ssl Defines whether the endpoint uses SSL.
         * 
         * @return builder
         * 
         */
        public Builder ssl(@Nullable Output<Boolean> ssl) {
            $.ssl = ssl;
            return this;
        }

        /**
         * @param ssl Defines whether the endpoint uses SSL.
         * 
         * @return builder
         * 
         */
        public Builder ssl(Boolean ssl) {
            return ssl(Output.of(ssl));
        }

        /**
         * @param sslMode SSL mode used to connect to the service if the SSL is enabled.
         * 
         * @return builder
         * 
         */
        public Builder sslMode(@Nullable Output<String> sslMode) {
            $.sslMode = sslMode;
            return this;
        }

        /**
         * @param sslMode SSL mode used to connect to the service if the SSL is enabled.
         * 
         * @return builder
         * 
         */
        public Builder sslMode(String sslMode) {
            return sslMode(Output.of(sslMode));
        }

        /**
         * @param uri URI of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder uri(@Nullable Output<String> uri) {
            $.uri = uri;
            return this;
        }

        /**
         * @param uri URI of the endpoint.
         * 
         * @return builder
         * 
         */
        public Builder uri(String uri) {
            return uri(Output.of(uri));
        }

        public DatabaseEndpointArgs build() {
            return $;
        }
    }

}
