
com.pulumi.awsnative.iot.kotlin.inputs.JobTemplateExponentialRolloutRateArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.iot.kotlin.inputs
import com.pulumi.awsnative.iot.inputs.JobTemplateExponentialRolloutRateArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Double
import kotlin.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Allows you to create an exponential rate of rollout for a job.
* @property baseRatePerMinute The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout.
* @property incrementFactor The exponential factor to increase the rate of rollout for a job.
* @property rateIncreaseCriteria The criteria to initiate the increase in rate of rollout for a job.
*/
public data class JobTemplateExponentialRolloutRateArgs(
public val baseRatePerMinute: Output,
public val incrementFactor: Output,
public val rateIncreaseCriteria: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iot.inputs.JobTemplateExponentialRolloutRateArgs =
com.pulumi.awsnative.iot.inputs.JobTemplateExponentialRolloutRateArgs.builder()
.baseRatePerMinute(baseRatePerMinute.applyValue({ args0 -> args0 }))
.incrementFactor(incrementFactor.applyValue({ args0 -> args0 }))
.rateIncreaseCriteria(
rateIncreaseCriteria.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [JobTemplateExponentialRolloutRateArgs].
*/
@PulumiTagMarker
public class JobTemplateExponentialRolloutRateArgsBuilder internal constructor() {
private var baseRatePerMinute: Output? = null
private var incrementFactor: Output? = null
private var rateIncreaseCriteria: Output? = null
/**
* @param value The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout.
*/
@JvmName("hymatcojivkvccxk")
public suspend fun baseRatePerMinute(`value`: Output) {
this.baseRatePerMinute = value
}
/**
* @param value The exponential factor to increase the rate of rollout for a job.
*/
@JvmName("vpvnrafxoanknjpr")
public suspend fun incrementFactor(`value`: Output) {
this.incrementFactor = value
}
/**
* @param value The criteria to initiate the increase in rate of rollout for a job.
*/
@JvmName("mrbyveqrcnyvscwd")
public suspend fun rateIncreaseCriteria(`value`: Output) {
this.rateIncreaseCriteria = value
}
/**
* @param value The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout.
*/
@JvmName("plkuxgalemuqqxto")
public suspend fun baseRatePerMinute(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.baseRatePerMinute = mapped
}
/**
* @param value The exponential factor to increase the rate of rollout for a job.
*/
@JvmName("tnwiyfhjnxnwapnt")
public suspend fun incrementFactor(`value`: Double) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.incrementFactor = mapped
}
/**
* @param value The criteria to initiate the increase in rate of rollout for a job.
*/
@JvmName("pcrejotuhkocwwht")
public suspend fun rateIncreaseCriteria(`value`: JobTemplateRateIncreaseCriteriaArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rateIncreaseCriteria = mapped
}
/**
* @param argument The criteria to initiate the increase in rate of rollout for a job.
*/
@JvmName("vprgkhjphjgdyvne")
public suspend fun rateIncreaseCriteria(argument: suspend JobTemplateRateIncreaseCriteriaArgsBuilder.() -> Unit) {
val toBeMapped = JobTemplateRateIncreaseCriteriaArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.rateIncreaseCriteria = mapped
}
internal fun build(): JobTemplateExponentialRolloutRateArgs =
JobTemplateExponentialRolloutRateArgs(
baseRatePerMinute = baseRatePerMinute ?: throw PulumiNullFieldException("baseRatePerMinute"),
incrementFactor = incrementFactor ?: throw PulumiNullFieldException("incrementFactor"),
rateIncreaseCriteria = rateIncreaseCriteria ?: throw
PulumiNullFieldException("rateIncreaseCriteria"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy