Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.datafactory.kotlin.inputs.MongoDbLinkedServiceArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.datafactory.kotlin.inputs
import com.pulumi.azurenative.datafactory.inputs.MongoDbLinkedServiceArgs.builder
import com.pulumi.azurenative.datafactory.kotlin.enums.MongoDbAuthenticationType
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Any
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Linked service for MongoDb data source.
* @property allowSelfSignedServerCert Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
* @property annotations List of tags that can be used for describing the linked service.
* @property authSource Database to verify the username and password. Type: string (or Expression with resultType string).
* @property authenticationType The authentication type to be used to connect to the MongoDB database.
* @property connectVia The integration runtime reference.
* @property databaseName The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
* @property description Linked service description.
* @property enableSsl Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
* @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
* @property parameters Parameters for linked service.
* @property password Password for authentication.
* @property port The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
* @property server The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
* @property type Type of linked service.
* Expected value is 'MongoDb'.
* @property username Username for authentication. Type: string (or Expression with resultType string).
* @property version Version of the linked service.
*/
public data class MongoDbLinkedServiceArgs(
public val allowSelfSignedServerCert: Output? = null,
public val annotations: Output>? = null,
public val authSource: Output? = null,
public val authenticationType: Output>? = null,
public val connectVia: Output? = null,
public val databaseName: Output,
public val description: Output? = null,
public val enableSsl: Output? = null,
public val encryptedCredential: Output? = null,
public val parameters: Output>? = null,
public val password: Output>? = null,
public val port: Output? = null,
public val server: Output,
public val type: Output,
public val username: Output? = null,
public val version: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.datafactory.inputs.MongoDbLinkedServiceArgs =
com.pulumi.azurenative.datafactory.inputs.MongoDbLinkedServiceArgs.builder()
.allowSelfSignedServerCert(allowSelfSignedServerCert?.applyValue({ args0 -> args0 }))
.annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.authSource(authSource?.applyValue({ args0 -> args0 }))
.authenticationType(
authenticationType?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
)
.connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.databaseName(databaseName.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.enableSsl(enableSsl?.applyValue({ args0 -> args0 }))
.encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
.parameters(
parameters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value.let({ args0 -> args0.toJava() }))
}).toMap()
}),
)
.password(
password?.applyValue({ args0 ->
args0.transform({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.port(port?.applyValue({ args0 -> args0 }))
.server(server.applyValue({ args0 -> args0 }))
.type(type.applyValue({ args0 -> args0 }))
.username(username?.applyValue({ args0 -> args0 }))
.version(version?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [MongoDbLinkedServiceArgs].
*/
@PulumiTagMarker
public class MongoDbLinkedServiceArgsBuilder internal constructor() {
private var allowSelfSignedServerCert: Output? = null
private var annotations: Output>? = null
private var authSource: Output? = null
private var authenticationType: Output>? = null
private var connectVia: Output? = null
private var databaseName: Output? = null
private var description: Output? = null
private var enableSsl: Output? = null
private var encryptedCredential: Output? = null
private var parameters: Output>? = null
private var password: Output>? = null
private var port: Output? = null
private var server: Output? = null
private var type: Output? = null
private var username: Output? = null
private var version: Output? = null
/**
* @param value Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
*/
@JvmName("gbdtpygvwylwgpnb")
public suspend fun allowSelfSignedServerCert(`value`: Output) {
this.allowSelfSignedServerCert = value
}
/**
* @param value List of tags that can be used for describing the linked service.
*/
@JvmName("vjblkoqhcobqgghb")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
@JvmName("acckhbwihhhfioei")
public suspend fun annotations(vararg values: Output) {
this.annotations = Output.all(values.asList())
}
/**
* @param values List of tags that can be used for describing the linked service.
*/
@JvmName("unlnriltsnegudnv")
public suspend fun annotations(values: List>) {
this.annotations = Output.all(values)
}
/**
* @param value Database to verify the username and password. Type: string (or Expression with resultType string).
*/
@JvmName("efjxqlelvpvbesaw")
public suspend fun authSource(`value`: Output) {
this.authSource = value
}
/**
* @param value The authentication type to be used to connect to the MongoDB database.
*/
@JvmName("lcmpdompjldsryvw")
public suspend fun authenticationType(`value`: Output>) {
this.authenticationType = value
}
/**
* @param value The integration runtime reference.
*/
@JvmName("hylrgqpsxipudsgb")
public suspend fun connectVia(`value`: Output) {
this.connectVia = value
}
/**
* @param value The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
*/
@JvmName("lutfjjptajqgojtn")
public suspend fun databaseName(`value`: Output) {
this.databaseName = value
}
/**
* @param value Linked service description.
*/
@JvmName("yatdwbnxbyltjfln")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
*/
@JvmName("acodvdqwptqjuhju")
public suspend fun enableSsl(`value`: Output) {
this.enableSsl = value
}
/**
* @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
*/
@JvmName("lglcmunnjwarikoj")
public suspend fun encryptedCredential(`value`: Output) {
this.encryptedCredential = value
}
/**
* @param value Parameters for linked service.
*/
@JvmName("splbphmmsakcevrj")
public suspend fun parameters(`value`: Output>) {
this.parameters = value
}
/**
* @param value Password for authentication.
*/
@JvmName("frdqrsyhhuvuwouq")
public suspend fun password(`value`: Output>) {
this.password = value
}
/**
* @param value The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
*/
@JvmName("pkcaiginpkobvktg")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
*/
@JvmName("vekjbvwhkxdyossg")
public suspend fun server(`value`: Output) {
this.server = value
}
/**
* @param value Type of linked service.
* Expected value is 'MongoDb'.
*/
@JvmName("qmbfswjelfytrfke")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value Username for authentication. Type: string (or Expression with resultType string).
*/
@JvmName("dbjlptfdsvdgahrm")
public suspend fun username(`value`: Output) {
this.username = value
}
/**
* @param value Version of the linked service.
*/
@JvmName("uhmqehqvhihdjruu")
public suspend fun version(`value`: Output) {
this.version = value
}
/**
* @param value Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
*/
@JvmName("onrbxiyjnisgvtbx")
public suspend fun allowSelfSignedServerCert(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.allowSelfSignedServerCert = mapped
}
/**
* @param value List of tags that can be used for describing the linked service.
*/
@JvmName("btrogmuydwoprmci")
public suspend fun annotations(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values List of tags that can be used for describing the linked service.
*/
@JvmName("dwjpgttryobcviti")
public suspend fun annotations(vararg values: Any) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value Database to verify the username and password. Type: string (or Expression with resultType string).
*/
@JvmName("vhbcwyyyxeohmbax")
public suspend fun authSource(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authSource = mapped
}
/**
* @param value The authentication type to be used to connect to the MongoDB database.
*/
@JvmName("ctstveooddikoklp")
public suspend fun authenticationType(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The authentication type to be used to connect to the MongoDB database.
*/
@JvmName("wjbiiyxpgnkhadme")
public fun authenticationType(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The authentication type to be used to connect to the MongoDB database.
*/
@JvmName("ywkmjlltxlkwggku")
public fun authenticationType(`value`: MongoDbAuthenticationType) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.authenticationType = mapped
}
/**
* @param value The integration runtime reference.
*/
@JvmName("rpwmmgvrespaemsj")
public suspend fun connectVia(`value`: IntegrationRuntimeReferenceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectVia = mapped
}
/**
* @param argument The integration runtime reference.
*/
@JvmName("npsgxoaisivtnxbw")
public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.connectVia = mapped
}
/**
* @param value The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
*/
@JvmName("mxhafliuqbqoeqah")
public suspend fun databaseName(`value`: Any) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.databaseName = mapped
}
/**
* @param value Linked service description.
*/
@JvmName("pqikxhxhwcihomho")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
*/
@JvmName("iugldlqxxpiputyl")
public suspend fun enableSsl(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableSsl = mapped
}
/**
* @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
*/
@JvmName("dxwdmekiypotcioi")
public suspend fun encryptedCredential(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptedCredential = mapped
}
/**
* @param value Parameters for linked service.
*/
@JvmName("bukrtggolfwihaby")
public suspend fun parameters(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param argument Parameters for linked service.
*/
@JvmName("docfwmyisnrmxdwu")
public suspend fun parameters(vararg argument: Pair Unit>) {
val toBeMapped = argument.toList().map { (left, right) ->
left to
ParameterSpecificationArgsBuilder().applySuspend { right() }.build()
}.toMap()
val mapped = of(toBeMapped)
this.parameters = mapped
}
/**
* @param values Parameters for linked service.
*/
@JvmName("vpyusrokgqixbfbu")
public fun parameters(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param value Password for authentication.
*/
@JvmName("vkocivifynredlfd")
public suspend fun password(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param value Password for authentication.
*/
@JvmName("nqsqrbnheoggxpuk")
public fun password(`value`: AzureKeyVaultSecretReferenceArgs) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param value Password for authentication.
*/
@JvmName("tsaaqvnvkvocifun")
public fun password(`value`: SecureStringArgs) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.password = mapped
}
/**
* @param value The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
*/
@JvmName("sofdvcjuppwdoeqr")
public suspend fun port(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
/**
* @param value The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
*/
@JvmName("ygmkvfukucawsemd")
public suspend fun server(`value`: Any) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.server = mapped
}
/**
* @param value Type of linked service.
* Expected value is 'MongoDb'.
*/
@JvmName("vrabgqxwqfujeakb")
public suspend fun type(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.type = mapped
}
/**
* @param value Username for authentication. Type: string (or Expression with resultType string).
*/
@JvmName("vqqbmoybnagpgtis")
public suspend fun username(`value`: Any?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.username = mapped
}
/**
* @param value Version of the linked service.
*/
@JvmName("aexjbifdloyswgkb")
public suspend fun version(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.version = mapped
}
internal fun build(): MongoDbLinkedServiceArgs = MongoDbLinkedServiceArgs(
allowSelfSignedServerCert = allowSelfSignedServerCert,
annotations = annotations,
authSource = authSource,
authenticationType = authenticationType,
connectVia = connectVia,
databaseName = databaseName ?: throw PulumiNullFieldException("databaseName"),
description = description,
enableSsl = enableSsl,
encryptedCredential = encryptedCredential,
parameters = parameters,
password = password,
port = port,
server = server ?: throw PulumiNullFieldException("server"),
type = type ?: throw PulumiNullFieldException("type"),
username = username,
version = version,
)
}