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

com.pulumi.azurenative.recoveryservices.kotlin.inputs.A2AUnprotectedDiskDetailsArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.recoveryservices.kotlin.inputs

import com.pulumi.azurenative.recoveryservices.inputs.A2AUnprotectedDiskDetailsArgs.builder
import com.pulumi.azurenative.recoveryservices.kotlin.enums.AutoProtectionOfDataDisk
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * A2A unprotected disk details.
 * @property diskAutoProtectionStatus A value indicating whether the disk auto protection is enabled.
 * @property diskLunId The source lun Id for the data disk.
 */
public data class A2AUnprotectedDiskDetailsArgs(
    public val diskAutoProtectionStatus: Output>? = null,
    public val diskLunId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.A2AUnprotectedDiskDetailsArgs =
        com.pulumi.azurenative.recoveryservices.inputs.A2AUnprotectedDiskDetailsArgs.builder()
            .diskAutoProtectionStatus(
                diskAutoProtectionStatus?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            )
            .diskLunId(diskLunId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [A2AUnprotectedDiskDetailsArgs].
 */
@PulumiTagMarker
public class A2AUnprotectedDiskDetailsArgsBuilder internal constructor() {
    private var diskAutoProtectionStatus: Output>? = null

    private var diskLunId: Output? = null

    /**
     * @param value A value indicating whether the disk auto protection is enabled.
     */
    @JvmName("knwksvjhbcpbwobu")
    public suspend fun diskAutoProtectionStatus(`value`: Output>) {
        this.diskAutoProtectionStatus = value
    }

    /**
     * @param value The source lun Id for the data disk.
     */
    @JvmName("vyltceurdyqjlahj")
    public suspend fun diskLunId(`value`: Output) {
        this.diskLunId = value
    }

    /**
     * @param value A value indicating whether the disk auto protection is enabled.
     */
    @JvmName("dkeonrylqwmqgtob")
    public suspend fun diskAutoProtectionStatus(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskAutoProtectionStatus = mapped
    }

    /**
     * @param value A value indicating whether the disk auto protection is enabled.
     */
    @JvmName("pelvyklfpmsecsji")
    public fun diskAutoProtectionStatus(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.diskAutoProtectionStatus = mapped
    }

    /**
     * @param value A value indicating whether the disk auto protection is enabled.
     */
    @JvmName("rnvohmflmoedijpw")
    public fun diskAutoProtectionStatus(`value`: AutoProtectionOfDataDisk) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.diskAutoProtectionStatus = mapped
    }

    /**
     * @param value The source lun Id for the data disk.
     */
    @JvmName("ksomvdedergwdpfw")
    public suspend fun diskLunId(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskLunId = mapped
    }

    internal fun build(): A2AUnprotectedDiskDetailsArgs = A2AUnprotectedDiskDetailsArgs(
        diskAutoProtectionStatus = diskAutoProtectionStatus,
        diskLunId = diskLunId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy