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

com.pulumi.azurenative.datafactory.kotlin.inputs.HDInsightLinkedServiceArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.datafactory.kotlin.inputs

import com.pulumi.azurenative.datafactory.inputs.HDInsightLinkedServiceArgs.builder
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

/**
 * HDInsight linked service.
 * @property annotations List of tags that can be used for describing the linked service.
 * @property clusterUri HDInsight cluster URI. Type: string (or Expression with resultType string).
 * @property connectVia The integration runtime reference.
 * @property description Linked service description.
 * @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
 * @property fileSystem Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string).
 * @property hcatalogLinkedServiceName A reference to the Azure SQL linked service that points to the HCatalog database.
 * @property isEspEnabled Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean.
 * @property linkedServiceName The Azure Storage linked service reference.
 * @property parameters Parameters for linked service.
 * @property password HDInsight cluster password.
 * @property type Type of linked service.
 * Expected value is 'HDInsight'.
 * @property userName HDInsight cluster user name. Type: string (or Expression with resultType string).
 * @property version Version of the linked service.
 */
public data class HDInsightLinkedServiceArgs(
    public val annotations: Output>? = null,
    public val clusterUri: Output,
    public val connectVia: Output? = null,
    public val description: Output? = null,
    public val encryptedCredential: Output? = null,
    public val fileSystem: Output? = null,
    public val hcatalogLinkedServiceName: Output? = null,
    public val isEspEnabled: Output? = null,
    public val linkedServiceName: Output? = null,
    public val parameters: Output>? = null,
    public val password: Output>? = null,
    public val type: Output,
    public val userName: Output? = null,
    public val version: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.datafactory.inputs.HDInsightLinkedServiceArgs =
        com.pulumi.azurenative.datafactory.inputs.HDInsightLinkedServiceArgs.builder()
            .annotations(annotations?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .clusterUri(clusterUri.applyValue({ args0 -> args0 }))
            .connectVia(connectVia?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
            .fileSystem(fileSystem?.applyValue({ args0 -> args0 }))
            .hcatalogLinkedServiceName(
                hcatalogLinkedServiceName?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .isEspEnabled(isEspEnabled?.applyValue({ args0 -> args0 }))
            .linkedServiceName(linkedServiceName?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .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() }) })
                }),
            )
            .type(type.applyValue({ args0 -> args0 }))
            .userName(userName?.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [HDInsightLinkedServiceArgs].
 */
@PulumiTagMarker
public class HDInsightLinkedServiceArgsBuilder internal constructor() {
    private var annotations: Output>? = null

    private var clusterUri: Output? = null

    private var connectVia: Output? = null

    private var description: Output? = null

    private var encryptedCredential: Output? = null

    private var fileSystem: Output? = null

    private var hcatalogLinkedServiceName: Output? = null

    private var isEspEnabled: Output? = null

    private var linkedServiceName: Output? = null

    private var parameters: Output>? = null

    private var password: Output>? = null

    private var type: Output? = null

    private var userName: Output? = null

    private var version: Output? = null

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("ommtntmgpqdbdjvp")
    public suspend fun annotations(`value`: Output>) {
        this.annotations = value
    }

    @JvmName("qgdiqgimabwxbhxu")
    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("oilpbeiwtpcgxhvn")
    public suspend fun annotations(values: List>) {
        this.annotations = Output.all(values)
    }

    /**
     * @param value HDInsight cluster URI. Type: string (or Expression with resultType string).
     */
    @JvmName("pxxjxjoajotfjbdt")
    public suspend fun clusterUri(`value`: Output) {
        this.clusterUri = value
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("ceckakwcmysnwbkf")
    public suspend fun connectVia(`value`: Output) {
        this.connectVia = value
    }

    /**
     * @param value Linked service description.
     */
    @JvmName("lqplfpnmstofwvum")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("sjgukardapugckpi")
    public suspend fun encryptedCredential(`value`: Output) {
        this.encryptedCredential = value
    }

    /**
     * @param value Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string).
     */
    @JvmName("jsfjdktdupydktux")
    public suspend fun fileSystem(`value`: Output) {
        this.fileSystem = value
    }

    /**
     * @param value A reference to the Azure SQL linked service that points to the HCatalog database.
     */
    @JvmName("rngqpsrgvdvyxgag")
    public suspend fun hcatalogLinkedServiceName(`value`: Output) {
        this.hcatalogLinkedServiceName = value
    }

    /**
     * @param value Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean.
     */
    @JvmName("ievfivwalkslqefo")
    public suspend fun isEspEnabled(`value`: Output) {
        this.isEspEnabled = value
    }

    /**
     * @param value The Azure Storage linked service reference.
     */
    @JvmName("icdlfvsvovvxupkq")
    public suspend fun linkedServiceName(`value`: Output) {
        this.linkedServiceName = value
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("fiuqyyhvtojfswqg")
    public suspend fun parameters(`value`: Output>) {
        this.parameters = value
    }

    /**
     * @param value HDInsight cluster password.
     */
    @JvmName("cpdmadwroaugrmue")
    public suspend fun password(`value`: Output>) {
        this.password = value
    }

    /**
     * @param value Type of linked service.
     * Expected value is 'HDInsight'.
     */
    @JvmName("qcftotjfgphnmhss")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value HDInsight cluster user name. Type: string (or Expression with resultType string).
     */
    @JvmName("atadihmyfhkklrjp")
    public suspend fun userName(`value`: Output) {
        this.userName = value
    }

    /**
     * @param value Version of the linked service.
     */
    @JvmName("wrfcgaikcloqvswh")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value List of tags that can be used for describing the linked service.
     */
    @JvmName("lenffgbufeiexhce")
    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("cvolrymipiwlwdgq")
    public suspend fun annotations(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value HDInsight cluster URI. Type: string (or Expression with resultType string).
     */
    @JvmName("xghnhnkrrwpgvsil")
    public suspend fun clusterUri(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.clusterUri = mapped
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("drnygdwdbfboqyto")
    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("qfuvcaohenmwblkq")
    public suspend fun connectVia(argument: suspend IntegrationRuntimeReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = IntegrationRuntimeReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.connectVia = mapped
    }

    /**
     * @param value Linked service description.
     */
    @JvmName("eumiwuymbpprdfim")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
     */
    @JvmName("pgwidsktcabwliml")
    public suspend fun encryptedCredential(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptedCredential = mapped
    }

    /**
     * @param value Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string).
     */
    @JvmName("vyqeroamkltfqicq")
    public suspend fun fileSystem(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.fileSystem = mapped
    }

    /**
     * @param value A reference to the Azure SQL linked service that points to the HCatalog database.
     */
    @JvmName("xajdjsiqtcsjmcoq")
    public suspend fun hcatalogLinkedServiceName(`value`: LinkedServiceReferenceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hcatalogLinkedServiceName = mapped
    }

    /**
     * @param argument A reference to the Azure SQL linked service that points to the HCatalog database.
     */
    @JvmName("jjjkmubufeatdahp")
    public suspend fun hcatalogLinkedServiceName(argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = LinkedServiceReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.hcatalogLinkedServiceName = mapped
    }

    /**
     * @param value Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean.
     */
    @JvmName("ifttgqdpfeyqstxe")
    public suspend fun isEspEnabled(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isEspEnabled = mapped
    }

    /**
     * @param value The Azure Storage linked service reference.
     */
    @JvmName("hykiensgkcikachf")
    public suspend fun linkedServiceName(`value`: LinkedServiceReferenceArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.linkedServiceName = mapped
    }

    /**
     * @param argument The Azure Storage linked service reference.
     */
    @JvmName("wvoxorquljcvbmqp")
    public suspend fun linkedServiceName(argument: suspend LinkedServiceReferenceArgsBuilder.() -> Unit) {
        val toBeMapped = LinkedServiceReferenceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.linkedServiceName = mapped
    }

    /**
     * @param value Parameters for linked service.
     */
    @JvmName("lhdslefvdgqogvhu")
    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("vfyaecxnvldjynpm")
    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("epryyopktllijmxl")
    public fun parameters(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.parameters = mapped
    }

    /**
     * @param value HDInsight cluster password.
     */
    @JvmName("ntuofwwtrwallrqj")
    public suspend fun password(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value HDInsight cluster password.
     */
    @JvmName("knebaryikfueyudc")
    public fun password(`value`: AzureKeyVaultSecretReferenceArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value HDInsight cluster password.
     */
    @JvmName("kvxyfgqthjnmwiyy")
    public fun password(`value`: SecureStringArgs) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value Type of linked service.
     * Expected value is 'HDInsight'.
     */
    @JvmName("aniecckahrtkqpym")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value HDInsight cluster user name. Type: string (or Expression with resultType string).
     */
    @JvmName("pgwtwimmorwfkppp")
    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("dmddajqfdvtwfvyj")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    internal fun build(): HDInsightLinkedServiceArgs = HDInsightLinkedServiceArgs(
        annotations = annotations,
        clusterUri = clusterUri ?: throw PulumiNullFieldException("clusterUri"),
        connectVia = connectVia,
        description = description,
        encryptedCredential = encryptedCredential,
        fileSystem = fileSystem,
        hcatalogLinkedServiceName = hcatalogLinkedServiceName,
        isEspEnabled = isEspEnabled,
        linkedServiceName = linkedServiceName,
        parameters = parameters,
        password = password,
        type = type ?: throw PulumiNullFieldException("type"),
        userName = userName,
        version = version,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy