![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.compute.kotlin.inputs.OrchestratedVirtualMachineScaleSetOsDiskArgs.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.inputs
import com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsDiskArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property caching The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.
* @property diffDiskSettings A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.
* @property diskEncryptionSetId The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
* > **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions
* @property diskSizeGb The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
* @property storageAccountType The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.
* @property writeAcceleratorEnabled Specifies if Write Accelerator is enabled on the OS Disk. Defaults to `false`.
*/
public data class OrchestratedVirtualMachineScaleSetOsDiskArgs(
public val caching: Output,
public val diffDiskSettings: Output? =
null,
public val diskEncryptionSetId: Output? = null,
public val diskSizeGb: Output? = null,
public val storageAccountType: Output,
public val writeAcceleratorEnabled: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsDiskArgs =
com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsDiskArgs.builder()
.caching(caching.applyValue({ args0 -> args0 }))
.diffDiskSettings(diffDiskSettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.diskEncryptionSetId(diskEncryptionSetId?.applyValue({ args0 -> args0 }))
.diskSizeGb(diskSizeGb?.applyValue({ args0 -> args0 }))
.storageAccountType(storageAccountType.applyValue({ args0 -> args0 }))
.writeAcceleratorEnabled(writeAcceleratorEnabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [OrchestratedVirtualMachineScaleSetOsDiskArgs].
*/
@PulumiTagMarker
public class OrchestratedVirtualMachineScaleSetOsDiskArgsBuilder internal constructor() {
private var caching: Output? = null
private var diffDiskSettings:
Output? = null
private var diskEncryptionSetId: Output? = null
private var diskSizeGb: Output? = null
private var storageAccountType: Output? = null
private var writeAcceleratorEnabled: Output? = null
/**
* @param value The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.
*/
@JvmName("vudvyqrhehwusbna")
public suspend fun caching(`value`: Output) {
this.caching = value
}
/**
* @param value A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.
*/
@JvmName("hugowpmgsajnuvpq")
public suspend fun diffDiskSettings(`value`: Output) {
this.diffDiskSettings = value
}
/**
* @param value The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
* > **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions
*/
@JvmName("rluscnephtjkgpmu")
public suspend fun diskEncryptionSetId(`value`: Output) {
this.diskEncryptionSetId = value
}
/**
* @param value The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
*/
@JvmName("ltwkvyxcbmpwexsi")
public suspend fun diskSizeGb(`value`: Output) {
this.diskSizeGb = value
}
/**
* @param value The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.
*/
@JvmName("kcrquihvdifvdfta")
public suspend fun storageAccountType(`value`: Output) {
this.storageAccountType = value
}
/**
* @param value Specifies if Write Accelerator is enabled on the OS Disk. Defaults to `false`.
*/
@JvmName("gdpwbwwkgiosobrj")
public suspend fun writeAcceleratorEnabled(`value`: Output) {
this.writeAcceleratorEnabled = value
}
/**
* @param value The Type of Caching which should be used for the Internal OS Disk. Possible values are `None`, `ReadOnly` and `ReadWrite`.
*/
@JvmName("ebstayptrlyovcru")
public suspend fun caching(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.caching = mapped
}
/**
* @param value A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.
*/
@JvmName("wioovopkkubjoegm")
public suspend fun diffDiskSettings(`value`: OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diffDiskSettings = mapped
}
/**
* @param argument A `diff_disk_settings` block as defined above. Changing this forces a new resource to be created.
*/
@JvmName("girglrskqrgjnmid")
public suspend fun diffDiskSettings(argument: suspend OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgsBuilder.() -> Unit) {
val toBeMapped =
OrchestratedVirtualMachineScaleSetOsDiskDiffDiskSettingsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.diffDiskSettings = mapped
}
/**
* @param value The ID of the Disk Encryption Set which should be used to encrypt this OS Disk. Changing this forces a new resource to be created.
* > **Note:** Disk Encryption Sets are in Public Preview in a limited set of regions
*/
@JvmName("xkfjnqvuonnpmqnk")
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 Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine Scale Set is sourced from.
*/
@JvmName("ktokpwbyluykbhex")
public suspend fun diskSizeGb(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskSizeGb = mapped
}
/**
* @param value The Type of Storage Account which should back this the Internal OS Disk. Possible values include `Standard_LRS`, `StandardSSD_LRS`, `StandardSSD_ZRS`, `Premium_LRS` and `Premium_ZRS`. Changing this forces a new resource to be created.
*/
@JvmName("cacrwqtjyvlvjpqq")
public suspend fun storageAccountType(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.storageAccountType = mapped
}
/**
* @param value Specifies if Write Accelerator is enabled on the OS Disk. Defaults to `false`.
*/
@JvmName("qlafapkthaweigcr")
public suspend fun writeAcceleratorEnabled(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.writeAcceleratorEnabled = mapped
}
internal fun build(): OrchestratedVirtualMachineScaleSetOsDiskArgs =
OrchestratedVirtualMachineScaleSetOsDiskArgs(
caching = caching ?: throw PulumiNullFieldException("caching"),
diffDiskSettings = diffDiskSettings,
diskEncryptionSetId = diskEncryptionSetId,
diskSizeGb = diskSizeGb,
storageAccountType = storageAccountType ?: throw PulumiNullFieldException("storageAccountType"),
writeAcceleratorEnabled = writeAcceleratorEnabled,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy