![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.gcp.osconfig.kotlin.inputs.OsPolicyAssignmentRolloutArgs.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.osconfig.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.osconfig.inputs.OsPolicyAssignmentRolloutArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property disruptionBudget The maximum number (or percentage) of VMs
* per zone to disrupt at any given moment. Structure is
* documented below.
* @property minWaitDuration This determines the minimum duration of
* time to wait after the configuration changes are applied through the current
* rollout. A VM continues to count towards the `disruption_budget` at least
* until this duration of time has passed after configuration changes are
* applied.
*/
public data class OsPolicyAssignmentRolloutArgs(
public val disruptionBudget: Output,
public val minWaitDuration: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.osconfig.inputs.OsPolicyAssignmentRolloutArgs =
com.pulumi.gcp.osconfig.inputs.OsPolicyAssignmentRolloutArgs.builder()
.disruptionBudget(disruptionBudget.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.minWaitDuration(minWaitDuration.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [OsPolicyAssignmentRolloutArgs].
*/
@PulumiTagMarker
public class OsPolicyAssignmentRolloutArgsBuilder internal constructor() {
private var disruptionBudget: Output? = null
private var minWaitDuration: Output? = null
/**
* @param value The maximum number (or percentage) of VMs
* per zone to disrupt at any given moment. Structure is
* documented below.
*/
@JvmName("kysxqcaqetpwcugp")
public suspend fun disruptionBudget(`value`: Output) {
this.disruptionBudget = value
}
/**
* @param value This determines the minimum duration of
* time to wait after the configuration changes are applied through the current
* rollout. A VM continues to count towards the `disruption_budget` at least
* until this duration of time has passed after configuration changes are
* applied.
*/
@JvmName("lelneiednepwsbdw")
public suspend fun minWaitDuration(`value`: Output) {
this.minWaitDuration = value
}
/**
* @param value The maximum number (or percentage) of VMs
* per zone to disrupt at any given moment. Structure is
* documented below.
*/
@JvmName("cxyusxnrbxvjdvji")
public suspend fun disruptionBudget(`value`: OsPolicyAssignmentRolloutDisruptionBudgetArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.disruptionBudget = mapped
}
/**
* @param argument The maximum number (or percentage) of VMs
* per zone to disrupt at any given moment. Structure is
* documented below.
*/
@JvmName("kexephxajckitpqw")
public suspend fun disruptionBudget(argument: suspend OsPolicyAssignmentRolloutDisruptionBudgetArgsBuilder.() -> Unit) {
val toBeMapped = OsPolicyAssignmentRolloutDisruptionBudgetArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.disruptionBudget = mapped
}
/**
* @param value This determines the minimum duration of
* time to wait after the configuration changes are applied through the current
* rollout. A VM continues to count towards the `disruption_budget` at least
* until this duration of time has passed after configuration changes are
* applied.
*/
@JvmName("nilbaijslnmpliuw")
public suspend fun minWaitDuration(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.minWaitDuration = mapped
}
internal fun build(): OsPolicyAssignmentRolloutArgs = OsPolicyAssignmentRolloutArgs(
disruptionBudget = disruptionBudget ?: throw PulumiNullFieldException("disruptionBudget"),
minWaitDuration = minWaitDuration ?: throw PulumiNullFieldException("minWaitDuration"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy