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

com.pulumi.vault.database.kotlin.outputs.SecretsMountMysqlLegacy.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.4.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.vault.database.kotlin.outputs

import kotlin.Any
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map

/**
 *
 * @property allowedRoles A list of roles that are allowed to use this
 * connection.
 * @property authType Specify alternative authorization type. (Only 'gcp_iam' is valid currently)
 * @property connectionUrl Connection string to use to connect to the database.
 * @property data 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:
 * @property maxConnectionLifetime Maximum number of seconds a connection may be reused.
 * @property maxIdleConnections Maximum number of idle connections to the database.
 * @property maxOpenConnections Maximum number of open connections to the database.
 * @property name Name of the database connection.
 * @property password The root credential password used in the connection URL
 * @property pluginName Specifies the name of the plugin to use.
 * @property rootRotationStatements A list of database statements to be executed to rotate the root user's credentials.
 * @property serviceAccountJson A JSON encoded credential for use with IAM authorization
 * @property tlsCa x509 CA file for validating the certificate presented by the MySQL server. Must be PEM encoded.
 * @property tlsCertificateKey x509 certificate for connecting to the database. This must be a PEM encoded version of the private key and the certificate combined.
 * @property username The root credential username used in the connection URL
 * @property usernameTemplate Username generation template.
 * @property verifyConnection Whether the connection should be verified on
 * initial configuration or not.
 */
public data class SecretsMountMysqlLegacy(
    public val allowedRoles: List? = null,
    public val authType: String? = null,
    public val connectionUrl: String? = null,
    public val `data`: Map? = null,
    public val maxConnectionLifetime: Int? = null,
    public val maxIdleConnections: Int? = null,
    public val maxOpenConnections: Int? = null,
    public val name: String,
    public val password: String? = null,
    public val pluginName: String? = null,
    public val rootRotationStatements: List? = null,
    public val serviceAccountJson: String? = null,
    public val tlsCa: String? = null,
    public val tlsCertificateKey: String? = null,
    public val username: String? = null,
    public val usernameTemplate: String? = null,
    public val verifyConnection: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.vault.database.outputs.SecretsMountMysqlLegacy): SecretsMountMysqlLegacy = SecretsMountMysqlLegacy(
            allowedRoles = javaType.allowedRoles().map({ args0 -> args0 }),
            authType = javaType.authType().map({ args0 -> args0 }).orElse(null),
            connectionUrl = javaType.connectionUrl().map({ args0 -> args0 }).orElse(null),
            `data` = javaType.`data`().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            maxConnectionLifetime = javaType.maxConnectionLifetime().map({ args0 -> args0 }).orElse(null),
            maxIdleConnections = javaType.maxIdleConnections().map({ args0 -> args0 }).orElse(null),
            maxOpenConnections = javaType.maxOpenConnections().map({ args0 -> args0 }).orElse(null),
            name = javaType.name(),
            password = javaType.password().map({ args0 -> args0 }).orElse(null),
            pluginName = javaType.pluginName().map({ args0 -> args0 }).orElse(null),
            rootRotationStatements = javaType.rootRotationStatements().map({ args0 -> args0 }),
            serviceAccountJson = javaType.serviceAccountJson().map({ args0 -> args0 }).orElse(null),
            tlsCa = javaType.tlsCa().map({ args0 -> args0 }).orElse(null),
            tlsCertificateKey = javaType.tlsCertificateKey().map({ args0 -> args0 }).orElse(null),
            username = javaType.username().map({ args0 -> args0 }).orElse(null),
            usernameTemplate = javaType.usernameTemplate().map({ args0 -> args0 }).orElse(null),
            verifyConnection = javaType.verifyConnection().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy