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

com.pulumi.gcp.compute.kotlin.inputs.ImageRawDiskArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.gcp.compute.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.ImageRawDiskArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property containerType The format used to encode and transmit the block device, which
 * should be TAR. This is just a container and transmission format
 * and not a runtime format. Provided by the client when the disk
 * image is created.
 * Default value is `TAR`.
 * Possible values are: `TAR`.
 * @property sha1 An optional SHA1 checksum of the disk image before unpackaging.
 * This is provided by the client when the disk image is created.
 * @property source The full Google Cloud Storage URL where disk storage is stored
 * You must provide either this property or the sourceDisk property
 * but not both.
 */
public data class ImageRawDiskArgs(
    public val containerType: Output? = null,
    public val sha1: Output? = null,
    public val source: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.compute.inputs.ImageRawDiskArgs =
        com.pulumi.gcp.compute.inputs.ImageRawDiskArgs.builder()
            .containerType(containerType?.applyValue({ args0 -> args0 }))
            .sha1(sha1?.applyValue({ args0 -> args0 }))
            .source(source.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ImageRawDiskArgs].
 */
@PulumiTagMarker
public class ImageRawDiskArgsBuilder internal constructor() {
    private var containerType: Output? = null

    private var sha1: Output? = null

    private var source: Output? = null

    /**
     * @param value The format used to encode and transmit the block device, which
     * should be TAR. This is just a container and transmission format
     * and not a runtime format. Provided by the client when the disk
     * image is created.
     * Default value is `TAR`.
     * Possible values are: `TAR`.
     */
    @JvmName("sdnpxfyounhbiisp")
    public suspend fun containerType(`value`: Output) {
        this.containerType = value
    }

    /**
     * @param value An optional SHA1 checksum of the disk image before unpackaging.
     * This is provided by the client when the disk image is created.
     */
    @JvmName("qqelsrfwcjmrkrgf")
    public suspend fun sha1(`value`: Output) {
        this.sha1 = value
    }

    /**
     * @param value The full Google Cloud Storage URL where disk storage is stored
     * You must provide either this property or the sourceDisk property
     * but not both.
     */
    @JvmName("fxjtbttbxwdichrb")
    public suspend fun source(`value`: Output) {
        this.source = value
    }

    /**
     * @param value The format used to encode and transmit the block device, which
     * should be TAR. This is just a container and transmission format
     * and not a runtime format. Provided by the client when the disk
     * image is created.
     * Default value is `TAR`.
     * Possible values are: `TAR`.
     */
    @JvmName("uhvjtctojwsfdwkg")
    public suspend fun containerType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerType = mapped
    }

    /**
     * @param value An optional SHA1 checksum of the disk image before unpackaging.
     * This is provided by the client when the disk image is created.
     */
    @JvmName("rmaaadcerbrsimhn")
    public suspend fun sha1(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sha1 = mapped
    }

    /**
     * @param value The full Google Cloud Storage URL where disk storage is stored
     * You must provide either this property or the sourceDisk property
     * but not both.
     */
    @JvmName("qsapfnttfhtkfnls")
    public suspend fun source(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.source = mapped
    }

    internal fun build(): ImageRawDiskArgs = ImageRawDiskArgs(
        containerType = containerType,
        sha1 = sha1,
        source = source ?: throw PulumiNullFieldException("source"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy