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

com.pulumi.googlenative.osconfig.v1.kotlin.inputs.GcsObjectArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.googlenative.osconfig.v1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.osconfig.v1.inputs.GcsObjectArgs.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

/**
 * Cloud Storage object representation.
 * @property bucket Bucket of the Cloud Storage object.
 * @property generationNumber Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
 * @property object Name of the Cloud Storage object.
 */
public data class GcsObjectArgs(
    public val bucket: Output,
    public val generationNumber: Output,
    public val `object`: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.osconfig.v1.inputs.GcsObjectArgs =
        com.pulumi.googlenative.osconfig.v1.inputs.GcsObjectArgs.builder()
            .bucket(bucket.applyValue({ args0 -> args0 }))
            .generationNumber(generationNumber.applyValue({ args0 -> args0 }))
            .`object`(`object`.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [GcsObjectArgs].
 */
@PulumiTagMarker
public class GcsObjectArgsBuilder internal constructor() {
    private var bucket: Output? = null

    private var generationNumber: Output? = null

    private var `object`: Output? = null

    /**
     * @param value Bucket of the Cloud Storage object.
     */
    @JvmName("ohsclfbbubccyoag")
    public suspend fun bucket(`value`: Output) {
        this.bucket = value
    }

    /**
     * @param value Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
     */
    @JvmName("eutnwsdpvgiqytag")
    public suspend fun generationNumber(`value`: Output) {
        this.generationNumber = value
    }

    /**
     * @param value Name of the Cloud Storage object.
     */
    @JvmName("iobqondkrxcmjqsv")
    public suspend fun `object`(`value`: Output) {
        this.`object` = value
    }

    /**
     * @param value Bucket of the Cloud Storage object.
     */
    @JvmName("tmxnxowmgsnjolak")
    public suspend fun bucket(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.bucket = mapped
    }

    /**
     * @param value Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.
     */
    @JvmName("jvtugxxrxycnojsc")
    public suspend fun generationNumber(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.generationNumber = mapped
    }

    /**
     * @param value Name of the Cloud Storage object.
     */
    @JvmName("gcuodtapxfkjixsi")
    public suspend fun `object`(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.`object` = mapped
    }

    internal fun build(): GcsObjectArgs = GcsObjectArgs(
        bucket = bucket ?: throw PulumiNullFieldException("bucket"),
        generationNumber = generationNumber ?: throw PulumiNullFieldException("generationNumber"),
        `object` = `object` ?: throw PulumiNullFieldException("object"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy