
com.pulumi.azure.compute.kotlin.inputs.OrchestratedVirtualMachineScaleSetDataDiskArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.compute.kotlin.inputs
import com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetDataDiskArgs.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 kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property caching The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
* @property createOption The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks).
* @property diskEncryptionSetId The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
* @property diskSizeGb The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`.
* @property lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`.
* @property storageAccountType The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.
* @property ultraSsdDiskIopsReadWrite Specifies the Read-Write IOPS for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
* @property ultraSsdDiskMbpsReadWrite Specifies the bandwidth in MB per second for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
* @property writeAcceleratorEnabled Specifies if Write Accelerator is enabled on the Data Disk. Defaults to `false`.
*/
public data class OrchestratedVirtualMachineScaleSetDataDiskArgs(
public val caching: Output,
public val createOption: Output? = null,
public val diskEncryptionSetId: Output? = null,
public val diskSizeGb: Output? = null,
public val lun: Output? = null,
public val storageAccountType: Output,
public val ultraSsdDiskIopsReadWrite: Output? = null,
public val ultraSsdDiskMbpsReadWrite: Output? = null,
public val writeAcceleratorEnabled: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetDataDiskArgs =
com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetDataDiskArgs.builder()
.caching(caching.applyValue({ args0 -> args0 }))
.createOption(createOption?.applyValue({ args0 -> args0 }))
.diskEncryptionSetId(diskEncryptionSetId?.applyValue({ args0 -> args0 }))
.diskSizeGb(diskSizeGb?.applyValue({ args0 -> args0 }))
.lun(lun?.applyValue({ args0 -> args0 }))
.storageAccountType(storageAccountType.applyValue({ args0 -> args0 }))
.ultraSsdDiskIopsReadWrite(ultraSsdDiskIopsReadWrite?.applyValue({ args0 -> args0 }))
.ultraSsdDiskMbpsReadWrite(ultraSsdDiskMbpsReadWrite?.applyValue({ args0 -> args0 }))
.writeAcceleratorEnabled(writeAcceleratorEnabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [OrchestratedVirtualMachineScaleSetDataDiskArgs].
*/
@PulumiTagMarker
public class OrchestratedVirtualMachineScaleSetDataDiskArgsBuilder internal constructor() {
private var caching: Output? = null
private var createOption: Output? = null
private var diskEncryptionSetId: Output? = null
private var diskSizeGb: Output? = null
private var lun: Output? = null
private var storageAccountType: Output? = null
private var ultraSsdDiskIopsReadWrite: Output? = null
private var ultraSsdDiskMbpsReadWrite: Output? = null
private var writeAcceleratorEnabled: Output? = null
/**
* @param value The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
*/
@JvmName("ycqmkppcthiaktvj")
public suspend fun caching(`value`: Output) {
this.caching = value
}
/**
* @param value The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks).
*/
@JvmName("vwmpjrysdyfuypke")
public suspend fun createOption(`value`: Output) {
this.createOption = value
}
/**
* @param value The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
*/
@JvmName("ayjrlutmoahkwlkn")
public suspend fun diskEncryptionSetId(`value`: Output) {
this.diskEncryptionSetId = value
}
/**
* @param value The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`.
*/
@JvmName("koxlwwdtqwpkgjdk")
public suspend fun diskSizeGb(`value`: Output) {
this.diskSizeGb = value
}
/**
* @param value The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`.
*/
@JvmName("kufoahcndfrcvemk")
public suspend fun lun(`value`: Output) {
this.lun = value
}
/**
* @param value The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.
*/
@JvmName("onpwkpirjocxtngg")
public suspend fun storageAccountType(`value`: Output) {
this.storageAccountType = value
}
/**
* @param value Specifies the Read-Write IOPS for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
*/
@JvmName("sxaoxycdtvoikvoa")
public suspend fun ultraSsdDiskIopsReadWrite(`value`: Output) {
this.ultraSsdDiskIopsReadWrite = value
}
/**
* @param value Specifies the bandwidth in MB per second for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
*/
@JvmName("mkxpmnhstwylkhcw")
public suspend fun ultraSsdDiskMbpsReadWrite(`value`: Output) {
this.ultraSsdDiskMbpsReadWrite = value
}
/**
* @param value Specifies if Write Accelerator is enabled on the Data Disk. Defaults to `false`.
*/
@JvmName("kcshjxflckyrbfav")
public suspend fun writeAcceleratorEnabled(`value`: Output) {
this.writeAcceleratorEnabled = value
}
/**
* @param value The type of Caching which should be used for this Data Disk. Possible values are None, ReadOnly and ReadWrite.
*/
@JvmName("aakkbyotitlnxyvv")
public suspend fun caching(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.caching = mapped
}
/**
* @param value The create option which should be used for this Data Disk. Possible values are Empty and FromImage. Defaults to `Empty`. (FromImage should only be used if the source image includes data disks).
*/
@JvmName("sgbsdbyfymatdasf")
public suspend fun createOption(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.createOption = mapped
}
/**
* @param value The ID of the Disk Encryption Set which should be used to encrypt the Data Disk. Changing this forces a new resource to be created.
*/
@JvmName("ghbxcobojyeaaick")
public suspend fun diskEncryptionSetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskEncryptionSetId = mapped
}
/**
* @param value The size of the Data Disk which should be created. Required if `create_option` is specified as `Empty`.
*/
@JvmName("tpmtthosxxpyervt")
public suspend fun diskSizeGb(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskSizeGb = mapped
}
/**
* @param value The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine. Required if `create_option` is specified as `Empty`.
*/
@JvmName("xhcoffljgewxqmhj")
public suspend fun lun(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.lun = mapped
}
/**
* @param value The Type of Storage Account which should back this Data Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS`, `PremiumV2_LRS`, `Premium_ZRS` and `UltraSSD_LRS`.
*/
@JvmName("wbcmcvarhhxdhkvk")
public suspend fun storageAccountType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.storageAccountType = mapped
}
/**
* @param value Specifies the Read-Write IOPS for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
*/
@JvmName("gjjerwbqdppyxbfw")
public suspend fun ultraSsdDiskIopsReadWrite(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ultraSsdDiskIopsReadWrite = mapped
}
/**
* @param value Specifies the bandwidth in MB per second for this Data Disk. Only settable when `storage_account_type` is `PremiumV2_LRS` or `UltraSSD_LRS`.
*/
@JvmName("wjhxujujlgqslond")
public suspend fun ultraSsdDiskMbpsReadWrite(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.ultraSsdDiskMbpsReadWrite = mapped
}
/**
* @param value Specifies if Write Accelerator is enabled on the Data Disk. Defaults to `false`.
*/
@JvmName("fubjcegfquumpvml")
public suspend fun writeAcceleratorEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.writeAcceleratorEnabled = mapped
}
internal fun build(): OrchestratedVirtualMachineScaleSetDataDiskArgs =
OrchestratedVirtualMachineScaleSetDataDiskArgs(
caching = caching ?: throw PulumiNullFieldException("caching"),
createOption = createOption,
diskEncryptionSetId = diskEncryptionSetId,
diskSizeGb = diskSizeGb,
lun = lun,
storageAccountType = storageAccountType ?: throw PulumiNullFieldException("storageAccountType"),
ultraSsdDiskIopsReadWrite = ultraSsdDiskIopsReadWrite,
ultraSsdDiskMbpsReadWrite = ultraSsdDiskMbpsReadWrite,
writeAcceleratorEnabled = writeAcceleratorEnabled,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy