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

com.pulumi.googlenative.firebasehosting.v1beta1.kotlin.ReleaseArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.googlenative.firebasehosting.v1beta1.kotlin

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.firebasehosting.v1beta1.ReleaseArgs.builder
import com.pulumi.googlenative.firebasehosting.v1beta1.kotlin.enums.ReleaseType
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Creates a new release, which makes the content of the specified version actively display on the appropriate URL(s).
 * Auto-naming is currently not supported for this resource.
 * Note - this resource's API doesn't support deletion. When deleted, the resource will persist
 * on Google Cloud even though it will be deleted from Pulumi state.
 * @property channelId
 * @property message The deploy description when the release was created. The value can be up to 512 characters.
 * @property project
 * @property siteId
 * @property type Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
 * @property versionName  The unique identifier for a version, in the format: sites/SITE_ID/versions/ VERSION_ID The SITE_ID in this version identifier must match the SITE_ID in the `parent` parameter. This query parameter must be empty if the `type` field in the request body is `SITE_DISABLE`.
 */
public data class ReleaseArgs(
    public val channelId: Output? = null,
    public val message: Output? = null,
    public val project: Output? = null,
    public val siteId: Output? = null,
    public val type: Output? = null,
    public val versionName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.firebasehosting.v1beta1.ReleaseArgs =
        com.pulumi.googlenative.firebasehosting.v1beta1.ReleaseArgs.builder()
            .channelId(channelId?.applyValue({ args0 -> args0 }))
            .message(message?.applyValue({ args0 -> args0 }))
            .project(project?.applyValue({ args0 -> args0 }))
            .siteId(siteId?.applyValue({ args0 -> args0 }))
            .type(type?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .versionName(versionName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ReleaseArgs].
 */
@PulumiTagMarker
public class ReleaseArgsBuilder internal constructor() {
    private var channelId: Output? = null

    private var message: Output? = null

    private var project: Output? = null

    private var siteId: Output? = null

    private var type: Output? = null

    private var versionName: Output? = null

    /**
     * @param value
     */
    @JvmName("fnxxpyiwlhpbywsb")
    public suspend fun channelId(`value`: Output) {
        this.channelId = value
    }

    /**
     * @param value The deploy description when the release was created. The value can be up to 512 characters.
     */
    @JvmName("rhhuvenwdjacvasu")
    public suspend fun message(`value`: Output) {
        this.message = value
    }

    /**
     * @param value
     */
    @JvmName("fhwcapiyytgfyfft")
    public suspend fun project(`value`: Output) {
        this.project = value
    }

    /**
     * @param value
     */
    @JvmName("mxfoeporpxaqhgqe")
    public suspend fun siteId(`value`: Output) {
        this.siteId = value
    }

    /**
     * @param value Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
     */
    @JvmName("yvkuuwdqdqufqgmr")
    public suspend fun type(`value`: Output) {
        this.type = value
    }

    /**
     * @param value  The unique identifier for a version, in the format: sites/SITE_ID/versions/ VERSION_ID The SITE_ID in this version identifier must match the SITE_ID in the `parent` parameter. This query parameter must be empty if the `type` field in the request body is `SITE_DISABLE`.
     */
    @JvmName("rhvbmvewbjjxibry")
    public suspend fun versionName(`value`: Output) {
        this.versionName = value
    }

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

    /**
     * @param value The deploy description when the release was created. The value can be up to 512 characters.
     */
    @JvmName("ljcwtdeagwchpfsw")
    public suspend fun message(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.message = mapped
    }

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

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

    /**
     * @param value Explains the reason for the release. Specify a value for this field only when creating a `SITE_DISABLE` type release.
     */
    @JvmName("ovobosqvmsuhvdjc")
    public suspend fun type(`value`: ReleaseType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value  The unique identifier for a version, in the format: sites/SITE_ID/versions/ VERSION_ID The SITE_ID in this version identifier must match the SITE_ID in the `parent` parameter. This query parameter must be empty if the `type` field in the request body is `SITE_DISABLE`.
     */
    @JvmName("uwlnqdvovkmoodlg")
    public suspend fun versionName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.versionName = mapped
    }

    internal fun build(): ReleaseArgs = ReleaseArgs(
        channelId = channelId,
        message = message,
        project = project,
        siteId = siteId,
        type = type,
        versionName = versionName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy