com.pulumi.azure.lab.kotlin.inputs.LabVirtualMachineArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.lab.kotlin.inputs
import com.pulumi.azure.lab.inputs.LabVirtualMachineArgs.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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property additionalCapabilityGpuDriversInstalled Is flagged to pre-install dedicated GPU drivers? Defaults to `false`. Changing this forces a new resource to be created.
* @property adminUser An `admin_user` block as defined below.
* @property createOption The create option to indicate what Lab Service Lab VMs are created from. Possible values are `Image` and `TemplateVM`. Defaults to `Image`. Changing this forces a new resource to be created.
* @property imageReference An `image_reference` block as defined below.
* @property nonAdminUser A `non_admin_user` block as defined below.
* @property sharedPasswordEnabled Is the shared password enabled with the same password for all user VMs? Defaults to `false`. Changing this forces a new resource to be created.
* @property sku A `sku` block as defined below.
* @property usageQuota The initial quota allocated to each Lab Service Lab user. Defaults to `PT0S`. This value must be formatted as an ISO 8601 string.
*/
public data class LabVirtualMachineArgs(
public val additionalCapabilityGpuDriversInstalled: Output? = null,
public val adminUser: Output,
public val createOption: Output? = null,
public val imageReference: Output,
public val nonAdminUser: Output? = null,
public val sharedPasswordEnabled: Output? = null,
public val sku: Output,
public val usageQuota: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.lab.inputs.LabVirtualMachineArgs =
com.pulumi.azure.lab.inputs.LabVirtualMachineArgs.builder()
.additionalCapabilityGpuDriversInstalled(
additionalCapabilityGpuDriversInstalled?.applyValue({ args0 ->
args0
}),
)
.adminUser(adminUser.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.createOption(createOption?.applyValue({ args0 -> args0 }))
.imageReference(imageReference.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.nonAdminUser(nonAdminUser?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sharedPasswordEnabled(sharedPasswordEnabled?.applyValue({ args0 -> args0 }))
.sku(sku.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.usageQuota(usageQuota?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [LabVirtualMachineArgs].
*/
@PulumiTagMarker
public class LabVirtualMachineArgsBuilder internal constructor() {
private var additionalCapabilityGpuDriversInstalled: Output? = null
private var adminUser: Output? = null
private var createOption: Output? = null
private var imageReference: Output? = null
private var nonAdminUser: Output? = null
private var sharedPasswordEnabled: Output? = null
private var sku: Output? = null
private var usageQuota: Output? = null
/**
* @param value Is flagged to pre-install dedicated GPU drivers? Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("ftjtgqykfyrfyula")
public suspend fun additionalCapabilityGpuDriversInstalled(`value`: Output) {
this.additionalCapabilityGpuDriversInstalled = value
}
/**
* @param value An `admin_user` block as defined below.
*/
@JvmName("vwsfwhmfbeyuelxg")
public suspend fun adminUser(`value`: Output) {
this.adminUser = value
}
/**
* @param value The create option to indicate what Lab Service Lab VMs are created from. Possible values are `Image` and `TemplateVM`. Defaults to `Image`. Changing this forces a new resource to be created.
*/
@JvmName("tqbohudmlcdtmiqn")
public suspend fun createOption(`value`: Output) {
this.createOption = value
}
/**
* @param value An `image_reference` block as defined below.
*/
@JvmName("fdcplhcoiiahvyxe")
public suspend fun imageReference(`value`: Output) {
this.imageReference = value
}
/**
* @param value A `non_admin_user` block as defined below.
*/
@JvmName("wkojaukfcokwpekd")
public suspend fun nonAdminUser(`value`: Output) {
this.nonAdminUser = value
}
/**
* @param value Is the shared password enabled with the same password for all user VMs? Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("hbvnidjgsdfpmrmn")
public suspend fun sharedPasswordEnabled(`value`: Output) {
this.sharedPasswordEnabled = value
}
/**
* @param value A `sku` block as defined below.
*/
@JvmName("tqkesvvsppmngtqh")
public suspend fun sku(`value`: Output) {
this.sku = value
}
/**
* @param value The initial quota allocated to each Lab Service Lab user. Defaults to `PT0S`. This value must be formatted as an ISO 8601 string.
*/
@JvmName("oamhuorowvndviky")
public suspend fun usageQuota(`value`: Output) {
this.usageQuota = value
}
/**
* @param value Is flagged to pre-install dedicated GPU drivers? Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("cdvymbinnobwgmfd")
public suspend fun additionalCapabilityGpuDriversInstalled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalCapabilityGpuDriversInstalled = mapped
}
/**
* @param value An `admin_user` block as defined below.
*/
@JvmName("lbttssqmnbcckjlu")
public suspend fun adminUser(`value`: LabVirtualMachineAdminUserArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.adminUser = mapped
}
/**
* @param argument An `admin_user` block as defined below.
*/
@JvmName("dmjinfubnmdqtjdp")
public suspend fun adminUser(argument: suspend LabVirtualMachineAdminUserArgsBuilder.() -> Unit) {
val toBeMapped = LabVirtualMachineAdminUserArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.adminUser = mapped
}
/**
* @param value The create option to indicate what Lab Service Lab VMs are created from. Possible values are `Image` and `TemplateVM`. Defaults to `Image`. Changing this forces a new resource to be created.
*/
@JvmName("dlslrykexecoukwq")
public suspend fun createOption(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.createOption = mapped
}
/**
* @param value An `image_reference` block as defined below.
*/
@JvmName("ykxussfjyxevxckh")
public suspend fun imageReference(`value`: LabVirtualMachineImageReferenceArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.imageReference = mapped
}
/**
* @param argument An `image_reference` block as defined below.
*/
@JvmName("fvjwekvfhguvdkgk")
public suspend
fun imageReference(argument: suspend LabVirtualMachineImageReferenceArgsBuilder.() -> Unit) {
val toBeMapped = LabVirtualMachineImageReferenceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.imageReference = mapped
}
/**
* @param value A `non_admin_user` block as defined below.
*/
@JvmName("poawhtibyetysxle")
public suspend fun nonAdminUser(`value`: LabVirtualMachineNonAdminUserArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nonAdminUser = mapped
}
/**
* @param argument A `non_admin_user` block as defined below.
*/
@JvmName("dsrqeqgysvbbhqef")
public suspend
fun nonAdminUser(argument: suspend LabVirtualMachineNonAdminUserArgsBuilder.() -> Unit) {
val toBeMapped = LabVirtualMachineNonAdminUserArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.nonAdminUser = mapped
}
/**
* @param value Is the shared password enabled with the same password for all user VMs? Defaults to `false`. Changing this forces a new resource to be created.
*/
@JvmName("cdpedwcoogbpsjle")
public suspend fun sharedPasswordEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sharedPasswordEnabled = mapped
}
/**
* @param value A `sku` block as defined below.
*/
@JvmName("xurhjiwgjhyccelt")
public suspend fun sku(`value`: LabVirtualMachineSkuArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.sku = mapped
}
/**
* @param argument A `sku` block as defined below.
*/
@JvmName("lrxwkmfxvdatmykx")
public suspend fun sku(argument: suspend LabVirtualMachineSkuArgsBuilder.() -> Unit) {
val toBeMapped = LabVirtualMachineSkuArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.sku = mapped
}
/**
* @param value The initial quota allocated to each Lab Service Lab user. Defaults to `PT0S`. This value must be formatted as an ISO 8601 string.
*/
@JvmName("dbaesbxkumwsneac")
public suspend fun usageQuota(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.usageQuota = mapped
}
internal fun build(): LabVirtualMachineArgs = LabVirtualMachineArgs(
additionalCapabilityGpuDriversInstalled = additionalCapabilityGpuDriversInstalled,
adminUser = adminUser ?: throw PulumiNullFieldException("adminUser"),
createOption = createOption,
imageReference = imageReference ?: throw PulumiNullFieldException("imageReference"),
nonAdminUser = nonAdminUser,
sharedPasswordEnabled = sharedPasswordEnabled,
sku = sku ?: throw PulumiNullFieldException("sku"),
usageQuota = usageQuota,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy