All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetDataDisk.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@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 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 OrchestratedVirtualMachineScaleSetDataDisk(
    public val caching: String,
    public val createOption: String? = null,
    public val diskEncryptionSetId: String? = null,
    public val diskSizeGb: Int? = null,
    public val lun: Int? = 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.OrchestratedVirtualMachineScaleSetDataDisk): OrchestratedVirtualMachineScaleSetDataDisk = OrchestratedVirtualMachineScaleSetDataDisk(
            caching = javaType.caching(),
            createOption = javaType.createOption().map({ args0 -> args0 }).orElse(null),
            diskEncryptionSetId = javaType.diskEncryptionSetId().map({ args0 -> args0 }).orElse(null),
            diskSizeGb = javaType.diskSizeGb().map({ args0 -> args0 }).orElse(null),
            lun = javaType.lun().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