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

com.pulumi.awsnative.autoscaling.kotlin.inputs.ScalingPolicyStepAdjustmentArgs.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.autoscaling.kotlin.inputs

import com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyStepAdjustmentArgs.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 kotlin.Double
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property metricIntervalLowerBound The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
 * @property metricIntervalUpperBound The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
 * The upper bound must be greater than the lower bound.
 * @property scalingAdjustment The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.
 */
public data class ScalingPolicyStepAdjustmentArgs(
    public val metricIntervalLowerBound: Output? = null,
    public val metricIntervalUpperBound: Output? = null,
    public val scalingAdjustment: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyStepAdjustmentArgs =
        com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyStepAdjustmentArgs.builder()
            .metricIntervalLowerBound(metricIntervalLowerBound?.applyValue({ args0 -> args0 }))
            .metricIntervalUpperBound(metricIntervalUpperBound?.applyValue({ args0 -> args0 }))
            .scalingAdjustment(scalingAdjustment.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ScalingPolicyStepAdjustmentArgs].
 */
@PulumiTagMarker
public class ScalingPolicyStepAdjustmentArgsBuilder internal constructor() {
    private var metricIntervalLowerBound: Output? = null

    private var metricIntervalUpperBound: Output? = null

    private var scalingAdjustment: Output? = null

    /**
     * @param value The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
     */
    @JvmName("vpobodfpagqiggco")
    public suspend fun metricIntervalLowerBound(`value`: Output) {
        this.metricIntervalLowerBound = value
    }

    /**
     * @param value The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
     * The upper bound must be greater than the lower bound.
     */
    @JvmName("annpbifykwsnpnvx")
    public suspend fun metricIntervalUpperBound(`value`: Output) {
        this.metricIntervalUpperBound = value
    }

    /**
     * @param value The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.
     */
    @JvmName("joxwswdjqduqcube")
    public suspend fun scalingAdjustment(`value`: Output) {
        this.scalingAdjustment = value
    }

    /**
     * @param value The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
     */
    @JvmName("iiamxgrylfqywtcj")
    public suspend fun metricIntervalLowerBound(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metricIntervalLowerBound = mapped
    }

    /**
     * @param value The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
     * The upper bound must be greater than the lower bound.
     */
    @JvmName("ngklleppvyfdusfy")
    public suspend fun metricIntervalUpperBound(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metricIntervalUpperBound = mapped
    }

    /**
     * @param value The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a non-negative value.
     */
    @JvmName("inqpuxmkppdrralk")
    public suspend fun scalingAdjustment(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.scalingAdjustment = mapped
    }

    internal fun build(): ScalingPolicyStepAdjustmentArgs = ScalingPolicyStepAdjustmentArgs(
        metricIntervalLowerBound = metricIntervalLowerBound,
        metricIntervalUpperBound = metricIntervalUpperBound,
        scalingAdjustment = scalingAdjustment ?: throw PulumiNullFieldException("scalingAdjustment"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy