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

com.pulumi.azure.batch.kotlin.inputs.PoolUserAccountArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.batch.kotlin.inputs

import com.pulumi.azure.batch.inputs.PoolUserAccountArgs.builder
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.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property elevationLevel The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
 * @property linuxUserConfigurations The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
 * @property name The name of the user account.
 * @property password The password for the user account.
 * @property windowsUserConfigurations The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
 */
public data class PoolUserAccountArgs(
    public val elevationLevel: Output,
    public val linuxUserConfigurations: Output>? =
        null,
    public val name: Output,
    public val password: Output,
    public val windowsUserConfigurations: Output>? =
        null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.batch.inputs.PoolUserAccountArgs =
        com.pulumi.azure.batch.inputs.PoolUserAccountArgs.builder()
            .elevationLevel(elevationLevel.applyValue({ args0 -> args0 }))
            .linuxUserConfigurations(
                linuxUserConfigurations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .name(name.applyValue({ args0 -> args0 }))
            .password(password.applyValue({ args0 -> args0 }))
            .windowsUserConfigurations(
                windowsUserConfigurations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

/**
 * Builder for [PoolUserAccountArgs].
 */
@PulumiTagMarker
public class PoolUserAccountArgsBuilder internal constructor() {
    private var elevationLevel: Output? = null

    private var linuxUserConfigurations: Output>? =
        null

    private var name: Output? = null

    private var password: Output? = null

    private var windowsUserConfigurations: Output>? =
        null

    /**
     * @param value The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
     */
    @JvmName("cywnqqqdbdownepr")
    public suspend fun elevationLevel(`value`: Output) {
        this.elevationLevel = value
    }

    /**
     * @param value The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("xglcpxgnrfksugvv")
    public suspend
    fun linuxUserConfigurations(`value`: Output>) {
        this.linuxUserConfigurations = value
    }

    @JvmName("vdehhuuhvdswpkar")
    public suspend fun linuxUserConfigurations(
        vararg
        values: Output,
    ) {
        this.linuxUserConfigurations = Output.all(values.asList())
    }

    /**
     * @param values The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("wtovlxhpbtedjlcl")
    public suspend
    fun linuxUserConfigurations(values: List>) {
        this.linuxUserConfigurations = Output.all(values)
    }

    /**
     * @param value The name of the user account.
     */
    @JvmName("cfkblvgnkqwkpmhh")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value The password for the user account.
     */
    @JvmName("rvpopghnroddvdnf")
    public suspend fun password(`value`: Output) {
        this.password = value
    }

    /**
     * @param value The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("kpvbeltddiuwgbxg")
    public suspend
    fun windowsUserConfigurations(`value`: Output>) {
        this.windowsUserConfigurations = value
    }

    @JvmName("nspakixasosjysxg")
    public suspend fun windowsUserConfigurations(
        vararg
        values: Output,
    ) {
        this.windowsUserConfigurations = Output.all(values.asList())
    }

    /**
     * @param values The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("rmaipaupbklaabji")
    public suspend
    fun windowsUserConfigurations(values: List>) {
        this.windowsUserConfigurations = Output.all(values)
    }

    /**
     * @param value The elevation level of the user account. "NonAdmin" - The auto user is a standard user without elevated access. "Admin" - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
     */
    @JvmName("shbltpfjpexsievv")
    public suspend fun elevationLevel(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.elevationLevel = mapped
    }

    /**
     * @param value The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("kdauxevtmnwnhueu")
    public suspend
    fun linuxUserConfigurations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.linuxUserConfigurations = mapped
    }

    /**
     * @param argument The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("wrumaflmmttnclwj")
    public suspend
    fun linuxUserConfigurations(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PoolUserAccountLinuxUserConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.linuxUserConfigurations = mapped
    }

    /**
     * @param argument The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("okqkgtpqwngnliih")
    public suspend fun linuxUserConfigurations(
        vararg
        argument: suspend PoolUserAccountLinuxUserConfigurationArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            PoolUserAccountLinuxUserConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.linuxUserConfigurations = mapped
    }

    /**
     * @param argument The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("tpwoihnaaxnpuhqw")
    public suspend
    fun linuxUserConfigurations(argument: suspend PoolUserAccountLinuxUserConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PoolUserAccountLinuxUserConfigurationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.linuxUserConfigurations = mapped
    }

    /**
     * @param values The `linux_user_configuration` block defined below is a linux-specific user configuration for the user account. This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
     */
    @JvmName("ioxxpmhyadwubhcv")
    public suspend fun linuxUserConfigurations(
        vararg
        values: PoolUserAccountLinuxUserConfigurationArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.linuxUserConfigurations = mapped
    }

    /**
     * @param value The name of the user account.
     */
    @JvmName("ufukihdwwchidngb")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value The password for the user account.
     */
    @JvmName("nviswtfnwglpixri")
    public suspend fun password(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.password = mapped
    }

    /**
     * @param value The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("umkbhoooeiftbejv")
    public suspend
    fun windowsUserConfigurations(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.windowsUserConfigurations = mapped
    }

    /**
     * @param argument The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("ahgwgxoeauvudmkc")
    public suspend
    fun windowsUserConfigurations(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            PoolUserAccountWindowsUserConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.windowsUserConfigurations = mapped
    }

    /**
     * @param argument The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("efwvbnssjhcxmpvo")
    public suspend fun windowsUserConfigurations(
        vararg
        argument: suspend PoolUserAccountWindowsUserConfigurationArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            PoolUserAccountWindowsUserConfigurationArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.windowsUserConfigurations = mapped
    }

    /**
     * @param argument The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("kekqvqkynymvjksk")
    public suspend
    fun windowsUserConfigurations(argument: suspend PoolUserAccountWindowsUserConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            PoolUserAccountWindowsUserConfigurationArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.windowsUserConfigurations = mapped
    }

    /**
     * @param values The `windows_user_configuration` block defined below is a windows-specific user configuration for the user account. This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
     */
    @JvmName("qwbivgvmtxjktsim")
    public suspend fun windowsUserConfigurations(
        vararg
        values: PoolUserAccountWindowsUserConfigurationArgs,
    ) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.windowsUserConfigurations = mapped
    }

    internal fun build(): PoolUserAccountArgs = PoolUserAccountArgs(
        elevationLevel = elevationLevel ?: throw PulumiNullFieldException("elevationLevel"),
        linuxUserConfigurations = linuxUserConfigurations,
        name = name ?: throw PulumiNullFieldException("name"),
        password = password ?: throw PulumiNullFieldException("password"),
        windowsUserConfigurations = windowsUserConfigurations,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy