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

com.pulumi.azurenative.streamanalytics.kotlin.inputs.PowerBIOutputDataSourceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.streamanalytics.kotlin.inputs

import com.pulumi.azurenative.streamanalytics.inputs.PowerBIOutputDataSourceArgs.builder
import com.pulumi.azurenative.streamanalytics.kotlin.enums.AuthenticationMode
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Describes a Power BI output data source.
 * @property authenticationMode Authentication Mode.
 * @property dataset The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
 * @property groupId The ID of the Power BI group.
 * @property groupName The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
 * @property refreshToken A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
 * @property table The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
 * @property tokenUserDisplayName The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
 * @property tokenUserPrincipalName The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
 * @property type Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
 * Expected value is 'PowerBI'.
 */
public data class PowerBIOutputDataSourceArgs(
    public val authenticationMode: Output>? = null,
    public val dataset: Output? = null,
    public val groupId: Output? = null,
    public val groupName: Output? = null,
    public val refreshToken: Output? = null,
    public val table: Output? = null,
    public val tokenUserDisplayName: Output? = null,
    public val tokenUserPrincipalName: Output? = null,
    public val type: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.streamanalytics.inputs.PowerBIOutputDataSourceArgs =
        com.pulumi.azurenative.streamanalytics.inputs.PowerBIOutputDataSourceArgs.builder()
            .authenticationMode(
                authenticationMode?.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .dataset(dataset?.applyValue({ args0 -> args0 }))
            .groupId(groupId?.applyValue({ args0 -> args0 }))
            .groupName(groupName?.applyValue({ args0 -> args0 }))
            .refreshToken(refreshToken?.applyValue({ args0 -> args0 }))
            .table(table?.applyValue({ args0 -> args0 }))
            .tokenUserDisplayName(tokenUserDisplayName?.applyValue({ args0 -> args0 }))
            .tokenUserPrincipalName(tokenUserPrincipalName?.applyValue({ args0 -> args0 }))
            .type(type.applyValue({ args0 -> args0 })).build()
}

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

    private var dataset: Output? = null

    private var groupId: Output? = null

    private var groupName: Output? = null

    private var refreshToken: Output? = null

    private var table: Output? = null

    private var tokenUserDisplayName: Output? = null

    private var tokenUserPrincipalName: Output? = null

    private var type: Output? = null

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

    /**
     * @param value The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("xtlcrafwfpmxbedl")
    public suspend fun dataset(`value`: Output) {
        this.dataset = value
    }

    /**
     * @param value The ID of the Power BI group.
     */
    @JvmName("csifsmqdfuehagxq")
    public suspend fun groupId(`value`: Output) {
        this.groupId = value
    }

    /**
     * @param value The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
     */
    @JvmName("ptyvtsfvorndimtp")
    public suspend fun groupName(`value`: Output) {
        this.groupName = value
    }

    /**
     * @param value A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("svbjgeeeqyfuivlu")
    public suspend fun refreshToken(`value`: Output) {
        this.refreshToken = value
    }

    /**
     * @param value The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("gkelyoxohtiqklaq")
    public suspend fun table(`value`: Output) {
        this.table = value
    }

    /**
     * @param value The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     */
    @JvmName("bealheednbsyuhgw")
    public suspend fun tokenUserDisplayName(`value`: Output) {
        this.tokenUserDisplayName = value
    }

    /**
     * @param value The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     */
    @JvmName("forwbqmrxktqlbaw")
    public suspend fun tokenUserPrincipalName(`value`: Output) {
        this.tokenUserPrincipalName = value
    }

    /**
     * @param value Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'PowerBI'.
     */
    @JvmName("mepbwsatxmoiqbrg")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

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

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

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

    /**
     * @param value The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("nxjnvgrqahkwbybm")
    public suspend fun dataset(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dataset = mapped
    }

    /**
     * @param value The ID of the Power BI group.
     */
    @JvmName("nfowwuukohcmjhac")
    public suspend fun groupId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.groupId = mapped
    }

    /**
     * @param value The name of the Power BI group. Use this property to help remember which specific Power BI group id was used.
     */
    @JvmName("dxwkxgoydwevcmmc")
    public suspend fun groupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.groupName = mapped
    }

    /**
     * @param value A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("vvpkwkrxbclfqkrq")
    public suspend fun refreshToken(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.refreshToken = mapped
    }

    /**
     * @param value The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests.
     */
    @JvmName("arsjtllgutmlbkda")
    public suspend fun table(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.table = mapped
    }

    /**
     * @param value The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     */
    @JvmName("fgovsacoywoermvw")
    public suspend fun tokenUserDisplayName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tokenUserDisplayName = mapped
    }

    /**
     * @param value The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token.
     */
    @JvmName("xiiieyqjpthpyjny")
    public suspend fun tokenUserPrincipalName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tokenUserPrincipalName = mapped
    }

    /**
     * @param value Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests.
     * Expected value is 'PowerBI'.
     */
    @JvmName("sybjehsshonnykee")
    public suspend fun type(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    internal fun build(): PowerBIOutputDataSourceArgs = PowerBIOutputDataSourceArgs(
        authenticationMode = authenticationMode,
        dataset = dataset,
        groupId = groupId,
        groupName = groupName,
        refreshToken = refreshToken,
        table = table,
        tokenUserDisplayName = tokenUserDisplayName,
        tokenUserPrincipalName = tokenUserPrincipalName,
        type = type ?: throw PulumiNullFieldException("type"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy