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

com.pulumi.azurenative.compute.kotlin.inputs.ImageDiskReferenceArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.compute.kotlin.inputs

import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs.builder
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

/**
 * The source image used for creating the disk.
 * @property communityGalleryImageId A relative uri containing a community Azure Compute Gallery image reference.
 * @property id A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
 * @property lun If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
 * @property sharedGalleryImageId A relative uri containing a direct shared Azure Compute Gallery image reference.
 */
public data class ImageDiskReferenceArgs(
    public val communityGalleryImageId: Output? = null,
    public val id: Output? = null,
    public val lun: Output? = null,
    public val sharedGalleryImageId: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs =
        com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs.builder()
            .communityGalleryImageId(communityGalleryImageId?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .lun(lun?.applyValue({ args0 -> args0 }))
            .sharedGalleryImageId(sharedGalleryImageId?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ImageDiskReferenceArgs].
 */
@PulumiTagMarker
public class ImageDiskReferenceArgsBuilder internal constructor() {
    private var communityGalleryImageId: Output? = null

    private var id: Output? = null

    private var lun: Output? = null

    private var sharedGalleryImageId: Output? = null

    /**
     * @param value A relative uri containing a community Azure Compute Gallery image reference.
     */
    @JvmName("supqddnxucnjmdje")
    public suspend fun communityGalleryImageId(`value`: Output) {
        this.communityGalleryImageId = value
    }

    /**
     * @param value A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
     */
    @JvmName("pcnvnslkcmlnhleq")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
     */
    @JvmName("akpmqrqnsdtknepw")
    public suspend fun lun(`value`: Output) {
        this.lun = value
    }

    /**
     * @param value A relative uri containing a direct shared Azure Compute Gallery image reference.
     */
    @JvmName("ldsstskblbxsfiqa")
    public suspend fun sharedGalleryImageId(`value`: Output) {
        this.sharedGalleryImageId = value
    }

    /**
     * @param value A relative uri containing a community Azure Compute Gallery image reference.
     */
    @JvmName("oybxecncqkvlkvnn")
    public suspend fun communityGalleryImageId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.communityGalleryImageId = mapped
    }

    /**
     * @param value A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
     */
    @JvmName("hmfsmebgcjcpuoqk")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
     */
    @JvmName("ohrkvaputagsubce")
    public suspend fun lun(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lun = mapped
    }

    /**
     * @param value A relative uri containing a direct shared Azure Compute Gallery image reference.
     */
    @JvmName("sudilyvncfjcftjg")
    public suspend fun sharedGalleryImageId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sharedGalleryImageId = mapped
    }

    internal fun build(): ImageDiskReferenceArgs = ImageDiskReferenceArgs(
        communityGalleryImageId = communityGalleryImageId,
        id = id,
        lun = lun,
        sharedGalleryImageId = sharedGalleryImageId,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy