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

com.pulumi.vault.database.outputs.SecretsMountOracle Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing HashiCorp Vault cloud resources.

There is a newer version: 6.5.0-alpha.1732775348
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.vault.database.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class SecretsMountOracle {
    /**
     * @return A list of roles that are allowed to use this
     * connection.
     * 
     */
    private @Nullable List allowedRoles;
    /**
     * @return Connection string to use to connect to the database.
     * 
     */
    private @Nullable String connectionUrl;
    /**
     * @return A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
     * 
     * Supported list of database secrets engines that can be configured:
     * 
     */
    private @Nullable Map data;
    /**
     * @return Set to true to disconnect any open sessions prior to running the revocation statements.
     * 
     */
    private @Nullable Boolean disconnectSessions;
    /**
     * @return Maximum number of seconds a connection may be reused.
     * 
     */
    private @Nullable Integer maxConnectionLifetime;
    /**
     * @return Maximum number of idle connections to the database.
     * 
     */
    private @Nullable Integer maxIdleConnections;
    /**
     * @return Maximum number of open connections to the database.
     * 
     */
    private @Nullable Integer maxOpenConnections;
    /**
     * @return Name of the database connection.
     * 
     */
    private String name;
    /**
     * @return The root credential password used in the connection URL
     * 
     */
    private @Nullable String password;
    /**
     * @return Specifies the name of the plugin to use.
     * 
     */
    private @Nullable String pluginName;
    /**
     * @return A list of database statements to be executed to rotate the root user's credentials.
     * 
     */
    private @Nullable List rootRotationStatements;
    /**
     * @return Set to true in order to split statements after semi-colons.
     * 
     */
    private @Nullable Boolean splitStatements;
    /**
     * @return The root credential username used in the connection URL
     * 
     */
    private @Nullable String username;
    /**
     * @return Username generation template.
     * 
     */
    private @Nullable String usernameTemplate;
    /**
     * @return Whether the connection should be verified on
     * initial configuration or not.
     * 
     */
    private @Nullable Boolean verifyConnection;

    private SecretsMountOracle() {}
    /**
     * @return A list of roles that are allowed to use this
     * connection.
     * 
     */
    public List allowedRoles() {
        return this.allowedRoles == null ? List.of() : this.allowedRoles;
    }
    /**
     * @return Connection string to use to connect to the database.
     * 
     */
    public Optional connectionUrl() {
        return Optional.ofNullable(this.connectionUrl);
    }
    /**
     * @return A map of sensitive data to pass to the endpoint. Useful for templated connection strings.
     * 
     * Supported list of database secrets engines that can be configured:
     * 
     */
    public Map data() {
        return this.data == null ? Map.of() : this.data;
    }
    /**
     * @return Set to true to disconnect any open sessions prior to running the revocation statements.
     * 
     */
    public Optional disconnectSessions() {
        return Optional.ofNullable(this.disconnectSessions);
    }
    /**
     * @return Maximum number of seconds a connection may be reused.
     * 
     */
    public Optional maxConnectionLifetime() {
        return Optional.ofNullable(this.maxConnectionLifetime);
    }
    /**
     * @return Maximum number of idle connections to the database.
     * 
     */
    public Optional maxIdleConnections() {
        return Optional.ofNullable(this.maxIdleConnections);
    }
    /**
     * @return Maximum number of open connections to the database.
     * 
     */
    public Optional maxOpenConnections() {
        return Optional.ofNullable(this.maxOpenConnections);
    }
    /**
     * @return Name of the database connection.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return The root credential password used in the connection URL
     * 
     */
    public Optional password() {
        return Optional.ofNullable(this.password);
    }
    /**
     * @return Specifies the name of the plugin to use.
     * 
     */
    public Optional pluginName() {
        return Optional.ofNullable(this.pluginName);
    }
    /**
     * @return A list of database statements to be executed to rotate the root user's credentials.
     * 
     */
    public List rootRotationStatements() {
        return this.rootRotationStatements == null ? List.of() : this.rootRotationStatements;
    }
    /**
     * @return Set to true in order to split statements after semi-colons.
     * 
     */
    public Optional splitStatements() {
        return Optional.ofNullable(this.splitStatements);
    }
    /**
     * @return The root credential username used in the connection URL
     * 
     */
    public Optional username() {
        return Optional.ofNullable(this.username);
    }
    /**
     * @return Username generation template.
     * 
     */
    public Optional usernameTemplate() {
        return Optional.ofNullable(this.usernameTemplate);
    }
    /**
     * @return Whether the connection should be verified on
     * initial configuration or not.
     * 
     */
    public Optional verifyConnection() {
        return Optional.ofNullable(this.verifyConnection);
    }

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

    public static Builder builder(SecretsMountOracle defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List allowedRoles;
        private @Nullable String connectionUrl;
        private @Nullable Map data;
        private @Nullable Boolean disconnectSessions;
        private @Nullable Integer maxConnectionLifetime;
        private @Nullable Integer maxIdleConnections;
        private @Nullable Integer maxOpenConnections;
        private String name;
        private @Nullable String password;
        private @Nullable String pluginName;
        private @Nullable List rootRotationStatements;
        private @Nullable Boolean splitStatements;
        private @Nullable String username;
        private @Nullable String usernameTemplate;
        private @Nullable Boolean verifyConnection;
        public Builder() {}
        public Builder(SecretsMountOracle defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.allowedRoles = defaults.allowedRoles;
    	      this.connectionUrl = defaults.connectionUrl;
    	      this.data = defaults.data;
    	      this.disconnectSessions = defaults.disconnectSessions;
    	      this.maxConnectionLifetime = defaults.maxConnectionLifetime;
    	      this.maxIdleConnections = defaults.maxIdleConnections;
    	      this.maxOpenConnections = defaults.maxOpenConnections;
    	      this.name = defaults.name;
    	      this.password = defaults.password;
    	      this.pluginName = defaults.pluginName;
    	      this.rootRotationStatements = defaults.rootRotationStatements;
    	      this.splitStatements = defaults.splitStatements;
    	      this.username = defaults.username;
    	      this.usernameTemplate = defaults.usernameTemplate;
    	      this.verifyConnection = defaults.verifyConnection;
        }

        @CustomType.Setter
        public Builder allowedRoles(@Nullable List allowedRoles) {

            this.allowedRoles = allowedRoles;
            return this;
        }
        public Builder allowedRoles(String... allowedRoles) {
            return allowedRoles(List.of(allowedRoles));
        }
        @CustomType.Setter
        public Builder connectionUrl(@Nullable String connectionUrl) {

            this.connectionUrl = connectionUrl;
            return this;
        }
        @CustomType.Setter
        public Builder data(@Nullable Map data) {

            this.data = data;
            return this;
        }
        @CustomType.Setter
        public Builder disconnectSessions(@Nullable Boolean disconnectSessions) {

            this.disconnectSessions = disconnectSessions;
            return this;
        }
        @CustomType.Setter
        public Builder maxConnectionLifetime(@Nullable Integer maxConnectionLifetime) {

            this.maxConnectionLifetime = maxConnectionLifetime;
            return this;
        }
        @CustomType.Setter
        public Builder maxIdleConnections(@Nullable Integer maxIdleConnections) {

            this.maxIdleConnections = maxIdleConnections;
            return this;
        }
        @CustomType.Setter
        public Builder maxOpenConnections(@Nullable Integer maxOpenConnections) {

            this.maxOpenConnections = maxOpenConnections;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("SecretsMountOracle", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder password(@Nullable String password) {

            this.password = password;
            return this;
        }
        @CustomType.Setter
        public Builder pluginName(@Nullable String pluginName) {

            this.pluginName = pluginName;
            return this;
        }
        @CustomType.Setter
        public Builder rootRotationStatements(@Nullable List rootRotationStatements) {

            this.rootRotationStatements = rootRotationStatements;
            return this;
        }
        public Builder rootRotationStatements(String... rootRotationStatements) {
            return rootRotationStatements(List.of(rootRotationStatements));
        }
        @CustomType.Setter
        public Builder splitStatements(@Nullable Boolean splitStatements) {

            this.splitStatements = splitStatements;
            return this;
        }
        @CustomType.Setter
        public Builder username(@Nullable String username) {

            this.username = username;
            return this;
        }
        @CustomType.Setter
        public Builder usernameTemplate(@Nullable String usernameTemplate) {

            this.usernameTemplate = usernameTemplate;
            return this;
        }
        @CustomType.Setter
        public Builder verifyConnection(@Nullable Boolean verifyConnection) {

            this.verifyConnection = verifyConnection;
            return this;
        }
        public SecretsMountOracle build() {
            final var _resultValue = new SecretsMountOracle();
            _resultValue.allowedRoles = allowedRoles;
            _resultValue.connectionUrl = connectionUrl;
            _resultValue.data = data;
            _resultValue.disconnectSessions = disconnectSessions;
            _resultValue.maxConnectionLifetime = maxConnectionLifetime;
            _resultValue.maxIdleConnections = maxIdleConnections;
            _resultValue.maxOpenConnections = maxOpenConnections;
            _resultValue.name = name;
            _resultValue.password = password;
            _resultValue.pluginName = pluginName;
            _resultValue.rootRotationStatements = rootRotationStatements;
            _resultValue.splitStatements = splitStatements;
            _resultValue.username = username;
            _resultValue.usernameTemplate = usernameTemplate;
            _resultValue.verifyConnection = verifyConnection;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy