Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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.autoscaling.kotlin.inputs
import com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyCustomizedMetricSpecificationArgs.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.collections.List
import kotlin.jvm.JvmName
/**
*
* @property dimensions The dimensions of the metric.
* Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
* @property metricName The name of the metric. 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 metrics The metrics to include in the target tracking scaling policy, as a metric data query. This can include both raw metric and metric math expressions.
* @property namespace The namespace of the metric.
* @property statistic The statistic of the metric.
* @property unit The unit of the metric. 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 ScalingPolicyCustomizedMetricSpecificationArgs(
public val dimensions: Output>? = null,
public val metricName: Output? = null,
public val metrics: Output>? = null,
public val namespace: Output? = null,
public val statistic: Output? = null,
public val unit: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyCustomizedMetricSpecificationArgs =
com.pulumi.awsnative.autoscaling.inputs.ScalingPolicyCustomizedMetricSpecificationArgs.builder()
.dimensions(
dimensions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.metricName(metricName?.applyValue({ args0 -> args0 }))
.metrics(
metrics?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.namespace(namespace?.applyValue({ args0 -> args0 }))
.statistic(statistic?.applyValue({ args0 -> args0 }))
.unit(unit?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ScalingPolicyCustomizedMetricSpecificationArgs].
*/
@PulumiTagMarker
public class ScalingPolicyCustomizedMetricSpecificationArgsBuilder internal constructor() {
private var dimensions: Output>? = null
private var metricName: Output? = null
private var metrics: Output>? = null
private var namespace: Output? = null
private var statistic: Output? = null
private var unit: Output? = null
/**
* @param value The dimensions of the metric.
* Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
*/
@JvmName("upknhjahbvscnomb")
public suspend fun dimensions(`value`: Output>) {
this.dimensions = value
}
@JvmName("jcouqxfgjnpppwiw")
public suspend fun dimensions(vararg values: Output) {
this.dimensions = Output.all(values.asList())
}
/**
* @param values The dimensions of the metric.
* Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
*/
@JvmName("jyqutnvebrwdferr")
public suspend fun dimensions(values: List