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

com.pulumi.azurenative.hybridnetwork.kotlin.inputs.ImageReferenceArgs.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.hybridnetwork.kotlin.inputs

import com.pulumi.azurenative.hybridnetwork.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

/**
 * The image reference properties.
 * @property exactVersion Specifies in decimal numbers, the exact version of image used to create the virtual machine.
 * @property offer Specifies the offer of the image used to create the virtual machine.
 * @property publisher The image publisher.
 * @property sku The image SKU.
 * @property version Specifies the version of the 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 exactVersion: Output? = null,
    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.hybridnetwork.inputs.ImageReferenceArgs =
        com.pulumi.azurenative.hybridnetwork.inputs.ImageReferenceArgs.builder()
            .exactVersion(exactVersion?.applyValue({ args0 -> args0 }))
            .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 exactVersion: Output? = null

    private var offer: Output? = null

    private var publisher: Output? = null

    private var sku: Output? = null

    private var version: Output? = null

    /**
     * @param value Specifies in decimal numbers, the exact version of image used to create the virtual machine.
     */
    @JvmName("nruhptwffusoxbhx")
    public suspend fun exactVersion(`value`: Output) {
        this.exactVersion = value
    }

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

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

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

    /**
     * @param value Specifies the version of the 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("btdgaktthfqgvtks")
    public suspend fun version(`value`: Output) {
        this.version = value
    }

    /**
     * @param value Specifies in decimal numbers, the exact version of image used to create the virtual machine.
     */
    @JvmName("uktnjydeaaxvpvht")
    public suspend fun exactVersion(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.exactVersion = mapped
    }

    /**
     * @param value Specifies the offer of the image used to create the virtual machine.
     */
    @JvmName("apqptoibjtdylxoq")
    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("qwcocnvvikcxvsmh")
    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("kcrjexaeviuhqmjr")
    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 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("rkghtplawyjewcje")
    public suspend fun version(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.version = mapped
    }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy