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

com.pulumi.azurenative.iotoperations.kotlin.inputs.DataFlowEndpointAuthenticationArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.iotoperations.kotlin.inputs

import com.pulumi.azurenative.iotoperations.inputs.DataFlowEndpointAuthenticationArgs.builder
import com.pulumi.azurenative.iotoperations.kotlin.enums.AuthenticationMethod
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Azure Data Explorer Authentication properties. NOTE - only authentication property is allowed per entry.
 * @property accessTokenSecretRef SAS token authentication.
 * @property method Mode of Authentication.
 * @property saslSettings SASL authentication.
 * @property serviceAccountTokenSettings Service Account Token authentication.
 * @property systemAssignedManagedIdentitySettings System-assigned managed identity authentication.
 * @property userAssignedManagedIdentitySettings User-assigned managed identity authentication.
 * @property x509CredentialsSettings X.509 certificate authentication.
 */
public data class DataFlowEndpointAuthenticationArgs(
    public val accessTokenSecretRef: Output? = null,
    public val method: Output>,
    public val saslSettings: Output? = null,
    public val serviceAccountTokenSettings: Output? = null,
    public val systemAssignedManagedIdentitySettings: Output? = null,
    public val userAssignedManagedIdentitySettings: Output? = null,
    public val x509CredentialsSettings: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.iotoperations.inputs.DataFlowEndpointAuthenticationArgs =
        com.pulumi.azurenative.iotoperations.inputs.DataFlowEndpointAuthenticationArgs.builder()
            .accessTokenSecretRef(accessTokenSecretRef?.applyValue({ args0 -> args0 }))
            .method(
                method.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .saslSettings(saslSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .serviceAccountTokenSettings(
                serviceAccountTokenSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .systemAssignedManagedIdentitySettings(
                systemAssignedManagedIdentitySettings?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .userAssignedManagedIdentitySettings(
                userAssignedManagedIdentitySettings?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .x509CredentialsSettings(
                x509CredentialsSettings?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [DataFlowEndpointAuthenticationArgs].
 */
@PulumiTagMarker
public class DataFlowEndpointAuthenticationArgsBuilder internal constructor() {
    private var accessTokenSecretRef: Output? = null

    private var method: Output>? = null

    private var saslSettings: Output? = null

    private var serviceAccountTokenSettings:
        Output? = null

    private var systemAssignedManagedIdentitySettings:
        Output? = null

    private var userAssignedManagedIdentitySettings:
        Output? = null

    private var x509CredentialsSettings: Output? = null

    /**
     * @param value SAS token authentication.
     */
    @JvmName("jxqllmeutepcgsxl")
    public suspend fun accessTokenSecretRef(`value`: Output) {
        this.accessTokenSecretRef = value
    }

    /**
     * @param value Mode of Authentication.
     */
    @JvmName("hevcewmpfjvbntwe")
    public suspend fun method(`value`: Output>) {
        this.method = value
    }

    /**
     * @param value SASL authentication.
     */
    @JvmName("pluvxtarhvvgnkkq")
    public suspend fun saslSettings(`value`: Output) {
        this.saslSettings = value
    }

    /**
     * @param value Service Account Token authentication.
     */
    @JvmName("ktgubtoflbwrqnyk")
    public suspend fun serviceAccountTokenSettings(`value`: Output) {
        this.serviceAccountTokenSettings = value
    }

    /**
     * @param value System-assigned managed identity authentication.
     */
    @JvmName("lilsokpgayhctbcd")
    public suspend fun systemAssignedManagedIdentitySettings(`value`: Output) {
        this.systemAssignedManagedIdentitySettings = value
    }

    /**
     * @param value User-assigned managed identity authentication.
     */
    @JvmName("wnqkpnweoulhxwae")
    public suspend fun userAssignedManagedIdentitySettings(`value`: Output) {
        this.userAssignedManagedIdentitySettings = value
    }

    /**
     * @param value X.509 certificate authentication.
     */
    @JvmName("doddbwxjvtadajkv")
    public suspend fun x509CredentialsSettings(`value`: Output) {
        this.x509CredentialsSettings = value
    }

    /**
     * @param value SAS token authentication.
     */
    @JvmName("mkbxhbyneloigcoy")
    public suspend fun accessTokenSecretRef(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.accessTokenSecretRef = mapped
    }

    /**
     * @param value Mode of Authentication.
     */
    @JvmName("iddkcxynjxsathdt")
    public suspend fun method(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value Mode of Authentication.
     */
    @JvmName("cyfsmnykdxvpuclm")
    public fun method(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value Mode of Authentication.
     */
    @JvmName("ndwyhoxterkbjvsk")
    public fun method(`value`: AuthenticationMethod) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.method = mapped
    }

    /**
     * @param value SASL authentication.
     */
    @JvmName("jyuphtybtpluuqvw")
    public suspend fun saslSettings(`value`: DataFlowEndpointAuthenticationSaslArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.saslSettings = mapped
    }

    /**
     * @param argument SASL authentication.
     */
    @JvmName("tqdbuqnkudfisijd")
    public suspend fun saslSettings(argument: suspend DataFlowEndpointAuthenticationSaslArgsBuilder.() -> Unit) {
        val toBeMapped = DataFlowEndpointAuthenticationSaslArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.saslSettings = mapped
    }

    /**
     * @param value Service Account Token authentication.
     */
    @JvmName("xluieljjdidliurf")
    public suspend fun serviceAccountTokenSettings(`value`: DataFlowEndpointAuthenticationServiceAccountTokenArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serviceAccountTokenSettings = mapped
    }

    /**
     * @param argument Service Account Token authentication.
     */
    @JvmName("qyphmmsovirfdqck")
    public suspend fun serviceAccountTokenSettings(argument: suspend DataFlowEndpointAuthenticationServiceAccountTokenArgsBuilder.() -> Unit) {
        val toBeMapped = DataFlowEndpointAuthenticationServiceAccountTokenArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.serviceAccountTokenSettings = mapped
    }

    /**
     * @param value System-assigned managed identity authentication.
     */
    @JvmName("yuncrlkbdkvclsdl")
    public suspend fun systemAssignedManagedIdentitySettings(`value`: DataFlowEndpointAuthenticationSystemAssignedManagedIdentityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.systemAssignedManagedIdentitySettings = mapped
    }

    /**
     * @param argument System-assigned managed identity authentication.
     */
    @JvmName("iitdsghhdvsaknmt")
    public suspend fun systemAssignedManagedIdentitySettings(argument: suspend DataFlowEndpointAuthenticationSystemAssignedManagedIdentityArgsBuilder.() -> Unit) {
        val toBeMapped =
            DataFlowEndpointAuthenticationSystemAssignedManagedIdentityArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.systemAssignedManagedIdentitySettings = mapped
    }

    /**
     * @param value User-assigned managed identity authentication.
     */
    @JvmName("eynumhbykhxmyoyi")
    public suspend fun userAssignedManagedIdentitySettings(`value`: DataFlowEndpointAuthenticationUserAssignedManagedIdentityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userAssignedManagedIdentitySettings = mapped
    }

    /**
     * @param argument User-assigned managed identity authentication.
     */
    @JvmName("wnhxvfudsurykpur")
    public suspend fun userAssignedManagedIdentitySettings(argument: suspend DataFlowEndpointAuthenticationUserAssignedManagedIdentityArgsBuilder.() -> Unit) {
        val toBeMapped =
            DataFlowEndpointAuthenticationUserAssignedManagedIdentityArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.userAssignedManagedIdentitySettings = mapped
    }

    /**
     * @param value X.509 certificate authentication.
     */
    @JvmName("fsypgepnsbihcbah")
    public suspend fun x509CredentialsSettings(`value`: DataFlowEndpointAuthenticationX509Args?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.x509CredentialsSettings = mapped
    }

    /**
     * @param argument X.509 certificate authentication.
     */
    @JvmName("suwtbdknweuqqoke")
    public suspend fun x509CredentialsSettings(argument: suspend DataFlowEndpointAuthenticationX509ArgsBuilder.() -> Unit) {
        val toBeMapped = DataFlowEndpointAuthenticationX509ArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.x509CredentialsSettings = mapped
    }

    internal fun build(): DataFlowEndpointAuthenticationArgs = DataFlowEndpointAuthenticationArgs(
        accessTokenSecretRef = accessTokenSecretRef,
        method = method ?: throw PulumiNullFieldException("method"),
        saslSettings = saslSettings,
        serviceAccountTokenSettings = serviceAccountTokenSettings,
        systemAssignedManagedIdentitySettings = systemAssignedManagedIdentitySettings,
        userAssignedManagedIdentitySettings = userAssignedManagedIdentitySettings,
        x509CredentialsSettings = x509CredentialsSettings,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy