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

com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfig.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.integrationconnectors.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property additionalVariables List containing additional auth configs.
 * Structure is documented below.
 * @property authKey The type of authentication configured.
 * @property authType authType of the Connection
 * Possible values are: `USER_PASSWORD`.
 * @property oauth2AuthCodeFlow Parameters to support Oauth 2.0 Auth Code Grant Authentication.
 * Structure is documented below.
 * @property oauth2ClientCredentials OAuth3 Client Credentials for Authentication.
 * Structure is documented below.
 * @property oauth2JwtBearer OAuth2 JWT Bearer for Authentication.
 * Structure is documented below.
 * @property sshPublicKey SSH Public Key for Authentication.
 * Structure is documented below.
 * @property userPassword User password for Authentication.
 * Structure is documented below.
 */
public data class ConnectionAuthConfig(
    public val additionalVariables: List? = null,
    public val authKey: String? = null,
    public val authType: String,
    public val oauth2AuthCodeFlow: ConnectionAuthConfigOauth2AuthCodeFlow? = null,
    public val oauth2ClientCredentials: ConnectionAuthConfigOauth2ClientCredentials? = null,
    public val oauth2JwtBearer: ConnectionAuthConfigOauth2JwtBearer? = null,
    public val sshPublicKey: ConnectionAuthConfigSshPublicKey? = null,
    public val userPassword: ConnectionAuthConfigUserPassword? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.integrationconnectors.outputs.ConnectionAuthConfig): ConnectionAuthConfig = ConnectionAuthConfig(
            additionalVariables = javaType.additionalVariables().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigAdditionalVariable.Companion.toKotlin(args0)
                })
            }),
            authKey = javaType.authKey().map({ args0 -> args0 }).orElse(null),
            authType = javaType.authType(),
            oauth2AuthCodeFlow = javaType.oauth2AuthCodeFlow().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigOauth2AuthCodeFlow.Companion.toKotlin(args0)
                })
            }).orElse(null),
            oauth2ClientCredentials = javaType.oauth2ClientCredentials().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigOauth2ClientCredentials.Companion.toKotlin(args0)
                })
            }).orElse(null),
            oauth2JwtBearer = javaType.oauth2JwtBearer().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigOauth2JwtBearer.Companion.toKotlin(args0)
                })
            }).orElse(null),
            sshPublicKey = javaType.sshPublicKey().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigSshPublicKey.Companion.toKotlin(args0)
                })
            }).orElse(null),
            userPassword = javaType.userPassword().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.integrationconnectors.kotlin.outputs.ConnectionAuthConfigUserPassword.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy