
com.pulumi.awsnative.applicationsignals.kotlin.inputs.ServiceLevelObjectiveGoalArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-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.awsnative.applicationsignals.kotlin.inputs
import com.pulumi.awsnative.applicationsignals.inputs.ServiceLevelObjectiveGoalArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Double
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.
* @property attainmentGoal The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
* If you omit this parameter, 99 is used to represent 99% as the attainment goal.
* @property interval The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.
* If you omit this parameter, a rolling interval of 7 days is used.
* @property warningThreshold The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.
*/
public data class ServiceLevelObjectiveGoalArgs(
public val attainmentGoal: Output? = null,
public val interval: Output? = null,
public val warningThreshold: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.applicationsignals.inputs.ServiceLevelObjectiveGoalArgs =
com.pulumi.awsnative.applicationsignals.inputs.ServiceLevelObjectiveGoalArgs.builder()
.attainmentGoal(attainmentGoal?.applyValue({ args0 -> args0 }))
.interval(interval?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.warningThreshold(warningThreshold?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ServiceLevelObjectiveGoalArgs].
*/
@PulumiTagMarker
public class ServiceLevelObjectiveGoalArgsBuilder internal constructor() {
private var attainmentGoal: Output? = null
private var interval: Output? = null
private var warningThreshold: Output? = null
/**
* @param value The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
* If you omit this parameter, 99 is used to represent 99% as the attainment goal.
*/
@JvmName("ajbrqemnucpuofvw")
public suspend fun attainmentGoal(`value`: Output) {
this.attainmentGoal = value
}
/**
* @param value The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.
* If you omit this parameter, a rolling interval of 7 days is used.
*/
@JvmName("dvkutocigfyowqia")
public suspend fun interval(`value`: Output) {
this.interval = value
}
/**
* @param value The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.
*/
@JvmName("lvjuqajlcbpkwmeu")
public suspend fun warningThreshold(`value`: Output) {
this.warningThreshold = value
}
/**
* @param value The threshold that determines if the goal is being met. An attainment goal is the ratio of good periods that meet the threshold requirements to the total periods within the interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
* If you omit this parameter, 99 is used to represent 99% as the attainment goal.
*/
@JvmName("nhlmoggkmhrekiff")
public suspend fun attainmentGoal(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.attainmentGoal = mapped
}
/**
* @param value The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.
* If you omit this parameter, a rolling interval of 7 days is used.
*/
@JvmName("moebpeqawwtngcgc")
public suspend fun interval(`value`: ServiceLevelObjectiveIntervalArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.interval = mapped
}
/**
* @param argument The time period used to evaluate the SLO. It can be either a calendar interval or rolling interval.
* If you omit this parameter, a rolling interval of 7 days is used.
*/
@JvmName("rnlyymfqjnbpcuml")
public suspend fun interval(argument: suspend ServiceLevelObjectiveIntervalArgsBuilder.() -> Unit) {
val toBeMapped = ServiceLevelObjectiveIntervalArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.interval = mapped
}
/**
* @param value The percentage of remaining budget over total budget that you want to get warnings for. If you omit this parameter, the default of 50.0 is used.
*/
@JvmName("vuannqquaedayglc")
public suspend fun warningThreshold(`value`: Double?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.warningThreshold = mapped
}
internal fun build(): ServiceLevelObjectiveGoalArgs = ServiceLevelObjectiveGoalArgs(
attainmentGoal = attainmentGoal,
interval = interval,
warningThreshold = warningThreshold,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy