
com.pulumi.azurenative.compute.kotlin.inputs.GalleryDataDiskImageArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.compute.kotlin.inputs
import com.pulumi.azurenative.compute.inputs.GalleryDataDiskImageArgs.builder
import com.pulumi.azurenative.compute.kotlin.enums.HostCaching
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.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* This is the data disk image.
* @property hostCaching The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
* @property lun This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine.
* @property source The source for the disk image.
*/
public data class GalleryDataDiskImageArgs(
public val hostCaching: Output? = null,
public val lun: Output,
public val source: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.compute.inputs.GalleryDataDiskImageArgs =
com.pulumi.azurenative.compute.inputs.GalleryDataDiskImageArgs.builder()
.hostCaching(hostCaching?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.lun(lun.applyValue({ args0 -> args0 }))
.source(source?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [GalleryDataDiskImageArgs].
*/
@PulumiTagMarker
public class GalleryDataDiskImageArgsBuilder internal constructor() {
private var hostCaching: Output? = null
private var lun: Output? = null
private var source: Output? = null
/**
* @param value The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
*/
@JvmName("jhkvwivhsgcauinn")
public suspend fun hostCaching(`value`: Output) {
this.hostCaching = value
}
/**
* @param value This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine.
*/
@JvmName("sdexepcjtdpflbdt")
public suspend fun lun(`value`: Output) {
this.lun = value
}
/**
* @param value The source for the disk image.
*/
@JvmName("msdujcmxoctfcvny")
public suspend fun source(`value`: Output) {
this.source = value
}
/**
* @param value The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
*/
@JvmName("yfvmfaupropjgpll")
public suspend fun hostCaching(`value`: HostCaching?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostCaching = mapped
}
/**
* @param value This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine.
*/
@JvmName("rkoudjwrpnrvyxpg")
public suspend fun lun(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.lun = mapped
}
/**
* @param value The source for the disk image.
*/
@JvmName("jercgwmcrdywmcqn")
public suspend fun source(`value`: GalleryDiskImageSourceArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.source = mapped
}
/**
* @param argument The source for the disk image.
*/
@JvmName("kgslxsqcssfjijmx")
public suspend fun source(argument: suspend GalleryDiskImageSourceArgsBuilder.() -> Unit) {
val toBeMapped = GalleryDiskImageSourceArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.source = mapped
}
internal fun build(): GalleryDataDiskImageArgs = GalleryDataDiskImageArgs(
hostCaching = hostCaching,
lun = lun ?: throw PulumiNullFieldException("lun"),
source = source,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy