com.pulumi.azure.compute.kotlin.outputs.LinuxVirtualMachineScaleSetDataDisk.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.compute.kotlin.outputs
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
/**
*
* @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 this Data Disk. Changing this forces a new resource to be created.
* > **NOTE:** The Disk Encryption Set must have the `Reader` Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault
* > **NOTE:** Disk Encryption Sets are in Public Preview in a limited set of regions
* @property diskSizeGb The size of the Data Disk which should be created.
* @property lun The Logical Unit Number of the Data Disk, which must be unique within the Virtual Machine.
* @property name The name of the Data Disk.
* @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`.
* > **NOTE:** `UltraSSD_LRS` is only supported when `ultra_ssd_enabled` within the `additional_capabilities` block is enabled.
* @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 Should Write Accelerator be enabled for this Data Disk? Defaults to `false`.
* > **NOTE:** This requires that the `storage_account_type` is set to `Premium_LRS` and that `caching` is set to `None`.
*/
public data class LinuxVirtualMachineScaleSetDataDisk(
public val caching: String,
public val createOption: String? = null,
public val diskEncryptionSetId: String? = null,
public val diskSizeGb: Int,
public val lun: Int,
public val name: String? = null,
public val storageAccountType: String,
public val ultraSsdDiskIopsReadWrite: Int? = null,
public val ultraSsdDiskMbpsReadWrite: Int? = null,
public val writeAcceleratorEnabled: Boolean? = null,
) {
public companion object {
public
fun toKotlin(javaType: com.pulumi.azure.compute.outputs.LinuxVirtualMachineScaleSetDataDisk):
LinuxVirtualMachineScaleSetDataDisk = LinuxVirtualMachineScaleSetDataDisk(
caching = javaType.caching(),
createOption = javaType.createOption().map({ args0 -> args0 }).orElse(null),
diskEncryptionSetId = javaType.diskEncryptionSetId().map({ args0 -> args0 }).orElse(null),
diskSizeGb = javaType.diskSizeGb(),
lun = javaType.lun(),
name = javaType.name().map({ args0 -> args0 }).orElse(null),
storageAccountType = javaType.storageAccountType(),
ultraSsdDiskIopsReadWrite = javaType.ultraSsdDiskIopsReadWrite().map({ args0 ->
args0
}).orElse(null),
ultraSsdDiskMbpsReadWrite = javaType.ultraSsdDiskMbpsReadWrite().map({ args0 ->
args0
}).orElse(null),
writeAcceleratorEnabled = javaType.writeAcceleratorEnabled().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy