com.pulumi.awsnative.iot.kotlin.FleetMetricArgs.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
import com.pulumi.awsnative.iot.FleetMetricArgs.builder
import com.pulumi.awsnative.iot.kotlin.inputs.FleetMetricAggregationTypeArgs
import com.pulumi.awsnative.iot.kotlin.inputs.FleetMetricAggregationTypeArgsBuilder
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
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.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* An aggregated metric of certain devices in your fleet
* @property aggregationField The aggregation field to perform aggregation and metric emission
* @property aggregationType The type of the aggregation query.
* @property description The description of a fleet metric
* @property indexName The index name of a fleet metric
* @property metricName The name of the fleet metric
* @property period The period of metric emission in seconds
* @property queryString The Fleet Indexing query used by a fleet metric
* @property queryVersion The version of a Fleet Indexing query used by a fleet metric
* @property tags An array of key-value pairs to apply to this resource
* @property unit The unit of data points emitted by a fleet metric
*/
public data class FleetMetricArgs(
public val aggregationField: Output? = null,
public val aggregationType: Output? = null,
public val description: Output? = null,
public val indexName: Output? = null,
public val metricName: Output? = null,
public val period: Output? = null,
public val queryString: Output? = null,
public val queryVersion: Output? = null,
public val tags: Output>? = null,
public val unit: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iot.FleetMetricArgs =
com.pulumi.awsnative.iot.FleetMetricArgs.builder()
.aggregationField(aggregationField?.applyValue({ args0 -> args0 }))
.aggregationType(aggregationType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.indexName(indexName?.applyValue({ args0 -> args0 }))
.metricName(metricName?.applyValue({ args0 -> args0 }))
.period(period?.applyValue({ args0 -> args0 }))
.queryString(queryString?.applyValue({ args0 -> args0 }))
.queryVersion(queryVersion?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.unit(unit?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FleetMetricArgs].
*/
@PulumiTagMarker
public class FleetMetricArgsBuilder internal constructor() {
private var aggregationField: Output? = null
private var aggregationType: Output? = null
private var description: Output? = null
private var indexName: Output? = null
private var metricName: Output? = null
private var period: Output? = null
private var queryString: Output? = null
private var queryVersion: Output? = null
private var tags: Output>? = null
private var unit: Output? = null
/**
* @param value The aggregation field to perform aggregation and metric emission
*/
@JvmName("duyjfdmbtgwsqwdb")
public suspend fun aggregationField(`value`: Output) {
this.aggregationField = value
}
/**
* @param value The type of the aggregation query.
*/
@JvmName("skvhbewxxdghniyc")
public suspend fun aggregationType(`value`: Output) {
this.aggregationType = value
}
/**
* @param value The description of a fleet metric
*/
@JvmName("yicaxfasgiqpwcoo")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value The index name of a fleet metric
*/
@JvmName("ywrnhaaxfmuqqtqr")
public suspend fun indexName(`value`: Output) {
this.indexName = value
}
/**
* @param value The name of the fleet metric
*/
@JvmName("scgdegoikqkxhwdt")
public suspend fun metricName(`value`: Output) {
this.metricName = value
}
/**
* @param value The period of metric emission in seconds
*/
@JvmName("dkviehbjbuvdwbmk")
public suspend fun period(`value`: Output) {
this.period = value
}
/**
* @param value The Fleet Indexing query used by a fleet metric
*/
@JvmName("bayojofkfmgixoob")
public suspend fun queryString(`value`: Output) {
this.queryString = value
}
/**
* @param value The version of a Fleet Indexing query used by a fleet metric
*/
@JvmName("fwkbenmqfqdhcvxj")
public suspend fun queryVersion(`value`: Output) {
this.queryVersion = value
}
/**
* @param value An array of key-value pairs to apply to this resource
*/
@JvmName("brvcyompokbmopyn")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
@JvmName("sooudgmlowavuvoc")
public suspend fun tags(vararg values: Output) {
this.tags = Output.all(values.asList())
}
/**
* @param values An array of key-value pairs to apply to this resource
*/
@JvmName("kqpsmonirvjkqyxh")
public suspend fun tags(values: List