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

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

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

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

import com.pulumi.azurenative.datafactory.inputs.HBaseLinkedServiceArgs.builder
import com.pulumi.azurenative.datafactory.kotlin.enums.HBaseAuthenticationType
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

/**
 * HBase server linked service.
 * @property allowHostNameCNMismatch Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
 * @property allowSelfSignedServerCert Specifies whether to allow self-signed certificates from the server. The default value is false.
 * @property annotations List of tags that can be used for describing the linked service.
 * @property authenticationType The authentication mechanism to use to connect to the HBase server.
 * @property connectVia The integration runtime reference.
 * @property description Linked service description.
 * @property enableSsl Specifies whether the connections to the server are encrypted using SSL. The default value is false.
 * @property encryptedCredential The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string.
 * @property host The IP address or host name of the HBase server. (i.e. 192.168.222.160)
 * @property httpPath The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
 * @property parameters Parameters for linked service.
 * @property password The password corresponding to the user name.
 * @property port The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
 * @property trustedCertPath The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
 * @property type Type of linked service.
 * Expected value is 'HBase'.
 * @property username The user name used to connect to the HBase instance.
 * @property version Version of the linked service.
 */
public data class HBaseLinkedServiceArgs(
    public val allowHostNameCNMismatch: Output? = null,
    public val allowSelfSignedServerCert: Output? = null,
    public val annotations: Output>? = null,
    public val authenticationType: Output>,
    public val connectVia: Output? = null,
    public val description: Output? = null,
    public val enableSsl: Output? = null,
    public val encryptedCredential: Output? = null,
    public val host: Output,
    public val httpPath: Output? = null,
    public val parameters: Output>? = null,
    public val password: Output>? = null,
    public val port: Output? = null,
    public val trustedCertPath: 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.HBaseLinkedServiceArgs =
        com.pulumi.azurenative.datafactory.inputs.HBaseLinkedServiceArgs.builder()
            .allowHostNameCNMismatch(allowHostNameCNMismatch?.applyValue({ args0 -> args0 }))
            .allowSelfSignedServerCert(allowSelfSignedServerCert?.applyValue({ args0 -> args0 }))
            .annotations(annotations?.applyValue({ args0 -> args0.map({ 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() }) }))
            .description(description?.applyValue({ args0 -> args0 }))
            .enableSsl(enableSsl?.applyValue({ args0 -> args0 }))
            .encryptedCredential(encryptedCredential?.applyValue({ args0 -> args0 }))
            .host(host.applyValue({ args0 -> args0 }))
            .httpPath(httpPath?.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 }))
            .trustedCertPath(trustedCertPath?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 }))
            .username(username?.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [HBaseLinkedServiceArgs].
 */
@PulumiTagMarker
public class HBaseLinkedServiceArgsBuilder internal constructor() {
    private var allowHostNameCNMismatch: Output? = null

    private var allowSelfSignedServerCert: Output? = null

    private var annotations: Output>? = null

    private var authenticationType: Output>? = null

    private var connectVia: Output? = null

    private var description: Output? = null

    private var enableSsl: Output? = null

    private var encryptedCredential: Output? = null

    private var host: Output? = null

    private var httpPath: Output? = null

    private var parameters: Output>? = null

    private var password: Output>? = null

    private var port: Output? = null

    private var trustedCertPath: Output? = null

    private var type: Output? = null

    private var username: Output? = null

    private var version: Output? = null

    /**
     * @param value Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
     */
    @JvmName("jsmvwvgxnmnsfiwx")
    public suspend fun allowHostNameCNMismatch(`value`: Output) {
        this.allowHostNameCNMismatch = value
    }

    /**
     * @param value Specifies whether to allow self-signed certificates from the server. The default value is false.
     */
    @JvmName("flwoddafmiijowru")
    public suspend fun allowSelfSignedServerCert(`value`: Output) {
        this.allowSelfSignedServerCert = value
    }

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

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

    /**
     * @param value The authentication mechanism to use to connect to the HBase server.
     */
    @JvmName("dxfgnxamwbrsfeku")
    public suspend fun authenticationType(`value`: Output>) {
        this.authenticationType = value
    }

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

    /**
     * @param value Linked service description.
     */
    @JvmName("qtyeqjbwammpwuha")
    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.
     */
    @JvmName("lcqcfjcqtqwnlyuk")
    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("mmtkxlvxlfqxaula")
    public suspend fun encryptedCredential(`value`: Output) {
        this.encryptedCredential = value
    }

    /**
     * @param value The IP address or host name of the HBase server. (i.e. 192.168.222.160)
     */
    @JvmName("pleeogmfjjubmahs")
    public suspend fun host(`value`: Output) {
        this.host = value
    }

    /**
     * @param value The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
     */
    @JvmName("nijdljtedswwgadm")
    public suspend fun httpPath(`value`: Output) {
        this.httpPath = value
    }

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

    /**
     * @param value The password corresponding to the user name.
     */
    @JvmName("wglyeneuibbyfqqh")
    public suspend fun password(`value`: Output>) {
        this.password = value
    }

    /**
     * @param value The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
     */
    @JvmName("xrxrtwktgjyaqcps")
    public suspend fun port(`value`: Output) {
        this.port = value
    }

    /**
     * @param value The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
     */
    @JvmName("cegojelovckywitg")
    public suspend fun trustedCertPath(`value`: Output) {
        this.trustedCertPath = value
    }

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

    /**
     * @param value The user name used to connect to the HBase instance.
     */
    @JvmName("vyiilrvfmydnrxby")
    public suspend fun username(`value`: Output) {
        this.username = value
    }

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

    /**
     * @param value Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false.
     */
    @JvmName("fuhqyfgihnrtctoa")
    public suspend fun allowHostNameCNMismatch(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowHostNameCNMismatch = mapped
    }

    /**
     * @param value Specifies whether to allow self-signed certificates from the server. The default value is false.
     */
    @JvmName("rhwwxwtexjeiimhg")
    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("bgrhqmlkvvtgsyyf")
    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("pmvrstfvpqvpeiyj")
    public suspend fun annotations(vararg values: Any) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.annotations = mapped
    }

    /**
     * @param value The authentication mechanism to use to connect to the HBase server.
     */
    @JvmName("nagvuxfwklyesnip")
    public suspend fun authenticationType(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value The authentication mechanism to use to connect to the HBase server.
     */
    @JvmName("twjuovpysgueiqbp")
    public fun authenticationType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value The authentication mechanism to use to connect to the HBase server.
     */
    @JvmName("bjvuroexrassuekb")
    public fun authenticationType(`value`: HBaseAuthenticationType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationType = mapped
    }

    /**
     * @param value The integration runtime reference.
     */
    @JvmName("isajpucueknnuqus")
    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("fcsaetxaxntcdipb")
    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("tatlrlrbapqhvgih")
    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.
     */
    @JvmName("gbagmiwplfdpkwke")
    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("wvvgcnocicpvtyos")
    public suspend fun encryptedCredential(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptedCredential = mapped
    }

    /**
     * @param value The IP address or host name of the HBase server. (i.e. 192.168.222.160)
     */
    @JvmName("oxudyxbcfvilgaqi")
    public suspend fun host(`value`: Any) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.host = mapped
    }

    /**
     * @param value The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
     */
    @JvmName("qwknjtckvnuqldcl")
    public suspend fun httpPath(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.httpPath = mapped
    }

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

    /**
     * @param value The password corresponding to the user name.
     */
    @JvmName("undimlnyghsomuxw")
    public suspend fun password(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value The password corresponding to the user name.
     */
    @JvmName("oqssijaukrsdbofp")
    public fun password(`value`: AzureKeyVaultSecretReferenceArgs) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value The password corresponding to the user name.
     */
    @JvmName("saunscdhpoovnmfh")
    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 that the HBase instance uses to listen for client connections. The default value is 9090.
     */
    @JvmName("xdohxqqqfnvpxbot")
    public suspend fun port(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.port = mapped
    }

    /**
     * @param value The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.
     */
    @JvmName("pideejsfkerijuhj")
    public suspend fun trustedCertPath(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.trustedCertPath = mapped
    }

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

    /**
     * @param value The user name used to connect to the HBase instance.
     */
    @JvmName("ftpbohhtiowmsfgt")
    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("xicaunhfjbnwepvo")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    internal fun build(): HBaseLinkedServiceArgs = HBaseLinkedServiceArgs(
        allowHostNameCNMismatch = allowHostNameCNMismatch,
        allowSelfSignedServerCert = allowSelfSignedServerCert,
        annotations = annotations,
        authenticationType = authenticationType ?: throw PulumiNullFieldException("authenticationType"),
        connectVia = connectVia,
        description = description,
        enableSsl = enableSsl,
        encryptedCredential = encryptedCredential,
        host = host ?: throw PulumiNullFieldException("host"),
        httpPath = httpPath,
        parameters = parameters,
        password = password,
        port = port,
        trustedCertPath = trustedCertPath,
        type = type ?: throw PulumiNullFieldException("type"),
        username = username,
        version = version,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy