com.pulumi.gcp.clouddeploy.kotlin.inputs.AutomationRulePromoteReleaseRuleArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.clouddeploy.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.clouddeploy.inputs.AutomationRulePromoteReleaseRuleArgs.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 destinationPhase Optional. The starting phase of the rollout created by this operation. Default to the first phase.
* @property destinationTargetId Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name. It only needs the ID to determine if the target is one of the stages in the promotion sequence defined in the pipeline. * "@next", the next target in the promotion sequence.
* @property id Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `a-z{0,62}`.
* @property wait Optional. How long the release need to be paused until being promoted to the next target.
*/
public data class AutomationRulePromoteReleaseRuleArgs(
public val destinationPhase: Output? = null,
public val destinationTargetId: Output? = null,
public val id: Output,
public val wait: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.clouddeploy.inputs.AutomationRulePromoteReleaseRuleArgs =
com.pulumi.gcp.clouddeploy.inputs.AutomationRulePromoteReleaseRuleArgs.builder()
.destinationPhase(destinationPhase?.applyValue({ args0 -> args0 }))
.destinationTargetId(destinationTargetId?.applyValue({ args0 -> args0 }))
.id(id.applyValue({ args0 -> args0 }))
.wait_(wait?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AutomationRulePromoteReleaseRuleArgs].
*/
@PulumiTagMarker
public class AutomationRulePromoteReleaseRuleArgsBuilder internal constructor() {
private var destinationPhase: Output? = null
private var destinationTargetId: Output? = null
private var id: Output? = null
private var wait: Output? = null
/**
* @param value Optional. The starting phase of the rollout created by this operation. Default to the first phase.
*/
@JvmName("nwsqvotbtbylnqja")
public suspend fun destinationPhase(`value`: Output) {
this.destinationPhase = value
}
/**
* @param value Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name. It only needs the ID to determine if the target is one of the stages in the promotion sequence defined in the pipeline. * "@next", the next target in the promotion sequence.
*/
@JvmName("kfxjuxyufwjvcjfd")
public suspend fun destinationTargetId(`value`: Output) {
this.destinationTargetId = value
}
/**
* @param value Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `a-z{0,62}`.
*/
@JvmName("ggetacvnogvtarhd")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value Optional. How long the release need to be paused until being promoted to the next target.
*/
@JvmName("amqqiwxvnptfjskh")
public suspend fun wait(`value`: Output) {
this.wait = value
}
/**
* @param value Optional. The starting phase of the rollout created by this operation. Default to the first phase.
*/
@JvmName("islrsxsepqujmxlm")
public suspend fun destinationPhase(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destinationPhase = mapped
}
/**
* @param value Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name. It only needs the ID to determine if the target is one of the stages in the promotion sequence defined in the pipeline. * "@next", the next target in the promotion sequence.
*/
@JvmName("vkglewfvlvijdipj")
public suspend fun destinationTargetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.destinationTargetId = mapped
}
/**
* @param value Required. ID of the rule. This id must be unique in the `Automation` resource to which this rule belongs. The format is `a-z{0,62}`.
*/
@JvmName("jbrwgrajsmvgknys")
public suspend fun id(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value Optional. How long the release need to be paused until being promoted to the next target.
*/
@JvmName("dpwsdslvdybovjxn")
public suspend fun wait(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.wait = mapped
}
internal fun build(): AutomationRulePromoteReleaseRuleArgs = AutomationRulePromoteReleaseRuleArgs(
destinationPhase = destinationPhase,
destinationTargetId = destinationTargetId,
id = id ?: throw PulumiNullFieldException("id"),
wait = wait,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy