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

com.pulumi.azurenative.workloads.kotlin.inputs.ImageReferenceArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.workloads.kotlin.inputs

import com.pulumi.azurenative.workloads.inputs.ImageReferenceArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.
 * @property offer Specifies the offer of the platform image or marketplace image used to create the virtual machine.
 * @property publisher The image publisher.
 * @property sku The image SKU.
 * @property version Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
 */
public data class ImageReferenceArgs(
    public val offer: Output? = null,
    public val publisher: Output? = null,
    public val sku: Output? = null,
    public val version: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.workloads.inputs.ImageReferenceArgs =
        com.pulumi.azurenative.workloads.inputs.ImageReferenceArgs.builder()
            .offer(offer?.applyValue({ args0 -> args0 }))
            .publisher(publisher?.applyValue({ args0 -> args0 }))
            .sku(sku?.applyValue({ args0 -> args0 }))
            .version(version?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ImageReferenceArgs].
 */
@PulumiTagMarker
public class ImageReferenceArgsBuilder internal constructor() {
    private var offer: Output? = null

    private var publisher: Output? = null

    private var sku: Output? = null

    private var version: Output? = null

    /**
     * @param value Specifies the offer of the platform image or marketplace image used to create the virtual machine.
     */
    @JvmName("subhdpygswbncbwi")
    public suspend fun offer(`value`: Output) {
        this.offer = value
    }

    /**
     * @param value The image publisher.
     */
    @JvmName("fwdljhlvhuuyxfwj")
    public suspend fun publisher(`value`: Output) {
        this.publisher = value
    }

    /**
     * @param value The image SKU.
     */
    @JvmName("hcjjlqcfmngvydxy")
    public suspend fun sku(`value`: Output) {
        this.sku = value
    }

    /**
     * @param value Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
     */
    @JvmName("nswwiyewfujkcpdk")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value Specifies the offer of the platform image or marketplace image used to create the virtual machine.
     */
    @JvmName("diqvtupyytyayoqd")
    public suspend fun offer(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.offer = mapped
    }

    /**
     * @param value The image publisher.
     */
    @JvmName("fawxnnpvykobtgmv")
    public suspend fun publisher(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.publisher = mapped
    }

    /**
     * @param value The image SKU.
     */
    @JvmName("fvwrhtqyrinbweot")
    public suspend fun sku(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sku = mapped
    }

    /**
     * @param value Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
     */
    @JvmName("foobgdbnhtpyjyly")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

    internal fun build(): ImageReferenceArgs = ImageReferenceArgs(
        offer = offer,
        publisher = publisher,
        sku = sku,
        version = version,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy