com.pulumi.azurenative.batch.kotlin.inputs.DataDiskArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.batch.kotlin.inputs
import com.pulumi.azurenative.batch.inputs.DataDiskArgs.builder
import com.pulumi.azurenative.batch.kotlin.enums.CachingType
import com.pulumi.azurenative.batch.kotlin.enums.StorageAccountType
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.Int
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them.
* @property caching Values are:
* none - The caching mode for the disk is not enabled.
* readOnly - The caching mode for the disk is read only.
* readWrite - The caching mode for the disk is read and write.
* The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
* @property diskSizeGB
* @property lun The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
* @property storageAccountType If omitted, the default is "Standard_LRS". Values are:
* Standard_LRS - The data disk should use standard locally redundant storage.
* Premium_LRS - The data disk should use premium locally redundant storage.
*/
public data class DataDiskArgs(
public val caching: Output? = null,
public val diskSizeGB: Output,
public val lun: Output,
public val storageAccountType: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.batch.inputs.DataDiskArgs =
com.pulumi.azurenative.batch.inputs.DataDiskArgs.builder()
.caching(caching?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.diskSizeGB(diskSizeGB.applyValue({ args0 -> args0 }))
.lun(lun.applyValue({ args0 -> args0 }))
.storageAccountType(
storageAccountType?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [DataDiskArgs].
*/
@PulumiTagMarker
public class DataDiskArgsBuilder internal constructor() {
private var caching: Output? = null
private var diskSizeGB: Output? = null
private var lun: Output? = null
private var storageAccountType: Output? = null
/**
* @param value Values are:
* none - The caching mode for the disk is not enabled.
* readOnly - The caching mode for the disk is read only.
* readWrite - The caching mode for the disk is read and write.
* The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
*/
@JvmName("nceseeaamguvjhwb")
public suspend fun caching(`value`: Output) {
this.caching = value
}
/**
* @param value
*/
@JvmName("raprkajxcmhcmbmm")
public suspend fun diskSizeGB(`value`: Output) {
this.diskSizeGB = value
}
/**
* @param value The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
*/
@JvmName("dbfhbukiunbqfnac")
public suspend fun lun(`value`: Output) {
this.lun = value
}
/**
* @param value If omitted, the default is "Standard_LRS". Values are:
* Standard_LRS - The data disk should use standard locally redundant storage.
* Premium_LRS - The data disk should use premium locally redundant storage.
*/
@JvmName("twcsawaasfrilhuq")
public suspend fun storageAccountType(`value`: Output) {
this.storageAccountType = value
}
/**
* @param value Values are:
* none - The caching mode for the disk is not enabled.
* readOnly - The caching mode for the disk is read only.
* readWrite - The caching mode for the disk is read and write.
* The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
*/
@JvmName("kvfblnuuywxvpotb")
public suspend fun caching(`value`: CachingType?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.caching = mapped
}
/**
* @param value
*/
@JvmName("asfviisiqewipyyt")
public suspend fun diskSizeGB(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.diskSizeGB = mapped
}
/**
* @param value The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
*/
@JvmName("ioftnewalxcmdxel")
public suspend fun lun(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.lun = mapped
}
/**
* @param value If omitted, the default is "Standard_LRS". Values are:
* Standard_LRS - The data disk should use standard locally redundant storage.
* Premium_LRS - The data disk should use premium locally redundant storage.
*/
@JvmName("btlfguvbhvyulxrp")
public suspend fun storageAccountType(`value`: StorageAccountType?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageAccountType = mapped
}
internal fun build(): DataDiskArgs = DataDiskArgs(
caching = caching,
diskSizeGB = diskSizeGB ?: throw PulumiNullFieldException("diskSizeGB"),
lun = lun ?: throw PulumiNullFieldException("lun"),
storageAccountType = storageAccountType,
)
}