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

com.pulumi.awsnative.applicationsignals.kotlin.outputs.ServiceLevelObjectiveGoal.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.applicationsignals.kotlin.outputs

import kotlin.Double
import kotlin.Suppress

/**
 * 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 ServiceLevelObjectiveGoal(
    public val attainmentGoal: Double? = null,
    public val interval: ServiceLevelObjectiveInterval? = null,
    public val warningThreshold: Double? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.applicationsignals.outputs.ServiceLevelObjectiveGoal): ServiceLevelObjectiveGoal = ServiceLevelObjectiveGoal(
            attainmentGoal = javaType.attainmentGoal().map({ args0 -> args0 }).orElse(null),
            interval = javaType.interval().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.applicationsignals.kotlin.outputs.ServiceLevelObjectiveInterval.Companion.toKotlin(args0)
                })
            }).orElse(null),
            warningThreshold = javaType.warningThreshold().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy