
com.pulumi.awsnative.applicationautoscaling.kotlin.inputs.ScalingPolicyTargetTrackingMetricStatArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.applicationautoscaling.kotlin.inputs
import com.pulumi.awsnative.applicationautoscaling.inputs.ScalingPolicyTargetTrackingMetricStatArgs.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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* This structure defines the CloudWatch metric to return, along with the statistic and unit.
* ``TargetTrackingMetricStat`` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy TargetTrackingMetricDataQuery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingmetricdataquery.html) property type.
* For more information about the CloudWatch terminology below, see [Amazon CloudWatch concepts](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html) in the *Amazon CloudWatch User Guide*.
* @property metric The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).
* @property stat The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide*.
* The most commonly used metric for scaling is ``Average``.
* @property unit The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference*.
*/
public data class ScalingPolicyTargetTrackingMetricStatArgs(
public val metric: Output? = null,
public val stat: Output? = null,
public val unit: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.applicationautoscaling.inputs.ScalingPolicyTargetTrackingMetricStatArgs =
com.pulumi.awsnative.applicationautoscaling.inputs.ScalingPolicyTargetTrackingMetricStatArgs.builder()
.metric(metric?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.stat(stat?.applyValue({ args0 -> args0 }))
.unit(unit?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ScalingPolicyTargetTrackingMetricStatArgs].
*/
@PulumiTagMarker
public class ScalingPolicyTargetTrackingMetricStatArgsBuilder internal constructor() {
private var metric: Output? = null
private var stat: Output? = null
private var unit: Output? = null
/**
* @param value The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).
*/
@JvmName("ssarbrpcbsfxfimf")
public suspend fun metric(`value`: Output) {
this.metric = value
}
/**
* @param value The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide*.
* The most commonly used metric for scaling is ``Average``.
*/
@JvmName("itgqsgmuctskfkjm")
public suspend fun stat(`value`: Output) {
this.stat = value
}
/**
* @param value The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference*.
*/
@JvmName("uujloqvfkaarjpjv")
public suspend fun unit(`value`: Output) {
this.unit = value
}
/**
* @param value The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).
*/
@JvmName("mgqbavfaspksgajs")
public suspend fun metric(`value`: ScalingPolicyTargetTrackingMetricArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.metric = mapped
}
/**
* @param argument The CloudWatch metric to return, including the metric name, namespace, and dimensions. To get the exact metric name, namespace, and dimensions, inspect the [Metric](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html) object that is returned by a call to [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html).
*/
@JvmName("pjnfxrkgyclryxrg")
public suspend fun metric(argument: suspend ScalingPolicyTargetTrackingMetricArgsBuilder.() -> Unit) {
val toBeMapped = ScalingPolicyTargetTrackingMetricArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.metric = mapped
}
/**
* @param value The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide*.
* The most commonly used metric for scaling is ``Average``.
*/
@JvmName("jqxswdgweihsrbfr")
public suspend fun stat(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.stat = mapped
}
/**
* @param value The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference*.
*/
@JvmName("elpbofhvmtmxtcqs")
public suspend fun unit(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.unit = mapped
}
internal fun build(): ScalingPolicyTargetTrackingMetricStatArgs =
ScalingPolicyTargetTrackingMetricStatArgs(
metric = metric,
stat = stat,
unit = unit,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy