com.pulumi.awsnative.iot.kotlin.inputs.TopicRuleCloudwatchMetricActionArgs.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.iot.kotlin.inputs
import com.pulumi.awsnative.iot.inputs.TopicRuleCloudwatchMetricActionArgs.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.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property metricName The CloudWatch metric name.
* @property metricNamespace The CloudWatch metric namespace name.
* @property metricTimestamp An optional [Unix timestamp](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) .
* @property metricUnit The [metric unit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) supported by CloudWatch.
* @property metricValue The CloudWatch metric value.
* @property roleArn The IAM role that allows access to the CloudWatch metric.
*/
public data class TopicRuleCloudwatchMetricActionArgs(
public val metricName: Output,
public val metricNamespace: Output,
public val metricTimestamp: Output? = null,
public val metricUnit: Output,
public val metricValue: Output,
public val roleArn: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iot.inputs.TopicRuleCloudwatchMetricActionArgs =
com.pulumi.awsnative.iot.inputs.TopicRuleCloudwatchMetricActionArgs.builder()
.metricName(metricName.applyValue({ args0 -> args0 }))
.metricNamespace(metricNamespace.applyValue({ args0 -> args0 }))
.metricTimestamp(metricTimestamp?.applyValue({ args0 -> args0 }))
.metricUnit(metricUnit.applyValue({ args0 -> args0 }))
.metricValue(metricValue.applyValue({ args0 -> args0 }))
.roleArn(roleArn.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [TopicRuleCloudwatchMetricActionArgs].
*/
@PulumiTagMarker
public class TopicRuleCloudwatchMetricActionArgsBuilder internal constructor() {
private var metricName: Output? = null
private var metricNamespace: Output? = null
private var metricTimestamp: Output? = null
private var metricUnit: Output? = null
private var metricValue: Output? = null
private var roleArn: Output? = null
/**
* @param value The CloudWatch metric name.
*/
@JvmName("fckmvetmfxfasjav")
public suspend fun metricName(`value`: Output) {
this.metricName = value
}
/**
* @param value The CloudWatch metric namespace name.
*/
@JvmName("fqtdxolrnymwpstw")
public suspend fun metricNamespace(`value`: Output) {
this.metricNamespace = value
}
/**
* @param value An optional [Unix timestamp](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) .
*/
@JvmName("ckvbuqwvshasayrk")
public suspend fun metricTimestamp(`value`: Output) {
this.metricTimestamp = value
}
/**
* @param value The [metric unit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) supported by CloudWatch.
*/
@JvmName("qlrpmgdduqnobxyu")
public suspend fun metricUnit(`value`: Output) {
this.metricUnit = value
}
/**
* @param value The CloudWatch metric value.
*/
@JvmName("bhafutbokebnmgcm")
public suspend fun metricValue(`value`: Output) {
this.metricValue = value
}
/**
* @param value The IAM role that allows access to the CloudWatch metric.
*/
@JvmName("jjeyyyrtnhppkqjp")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value The CloudWatch metric name.
*/
@JvmName("tpxifngpjlxunpsh")
public suspend fun metricName(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metricName = mapped
}
/**
* @param value The CloudWatch metric namespace name.
*/
@JvmName("jybkerlklwbrwbmu")
public suspend fun metricNamespace(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metricNamespace = mapped
}
/**
* @param value An optional [Unix timestamp](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp) .
*/
@JvmName("fcyrenetdluvwovk")
public suspend fun metricTimestamp(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.metricTimestamp = mapped
}
/**
* @param value The [metric unit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) supported by CloudWatch.
*/
@JvmName("hiyxkmujrafcyaui")
public suspend fun metricUnit(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metricUnit = mapped
}
/**
* @param value The CloudWatch metric value.
*/
@JvmName("evojrdtbcwoipobi")
public suspend fun metricValue(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.metricValue = mapped
}
/**
* @param value The IAM role that allows access to the CloudWatch metric.
*/
@JvmName("mtleqgwbshtftgku")
public suspend fun roleArn(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.roleArn = mapped
}
internal fun build(): TopicRuleCloudwatchMetricActionArgs = TopicRuleCloudwatchMetricActionArgs(
metricName = metricName ?: throw PulumiNullFieldException("metricName"),
metricNamespace = metricNamespace ?: throw PulumiNullFieldException("metricNamespace"),
metricTimestamp = metricTimestamp,
metricUnit = metricUnit ?: throw PulumiNullFieldException("metricUnit"),
metricValue = metricValue ?: throw PulumiNullFieldException("metricValue"),
roleArn = roleArn ?: throw PulumiNullFieldException("roleArn"),
)
}