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

com.pulumi.awsnative.lookoutmetrics.kotlin.inputs.AnomalyDetectorMetricSetArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.lookoutmetrics.kotlin.inputs

import com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSetArgs.builder
import com.pulumi.awsnative.lookoutmetrics.kotlin.enums.AnomalyDetectorMetricSetMetricSetFrequency
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 com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property dimensionList Dimensions for this MetricSet.
 * @property metricList Metrics captured by this MetricSet.
 * @property metricSetDescription A description for the MetricSet.
 * @property metricSetFrequency A frequency period to aggregate the data
 * @property metricSetName The name of the MetricSet.
 * @property metricSource Contains information about how the source data should be interpreted.
 * @property offset Offset, in seconds, between the frequency interval and the time at which the metrics are available.
 * @property timestampColumn Contains information about the column used for tracking time in your source data.
 * @property timezone The time zone in which your source data was recorded.
 */
public data class AnomalyDetectorMetricSetArgs(
    public val dimensionList: Output>? = null,
    public val metricList: Output>,
    public val metricSetDescription: Output? = null,
    public val metricSetFrequency: Output? = null,
    public val metricSetName: Output,
    public val metricSource: Output,
    public val offset: Output? = null,
    public val timestampColumn: Output? = null,
    public val timezone: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSetArgs =
        com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSetArgs.builder()
            .dimensionList(dimensionList?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .metricList(
                metricList.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .metricSetDescription(metricSetDescription?.applyValue({ args0 -> args0 }))
            .metricSetFrequency(
                metricSetFrequency?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .metricSetName(metricSetName.applyValue({ args0 -> args0 }))
            .metricSource(metricSource.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .offset(offset?.applyValue({ args0 -> args0 }))
            .timestampColumn(timestampColumn?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .timezone(timezone?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AnomalyDetectorMetricSetArgs].
 */
@PulumiTagMarker
public class AnomalyDetectorMetricSetArgsBuilder internal constructor() {
    private var dimensionList: Output>? = null

    private var metricList: Output>? = null

    private var metricSetDescription: Output? = null

    private var metricSetFrequency: Output? = null

    private var metricSetName: Output? = null

    private var metricSource: Output? = null

    private var offset: Output? = null

    private var timestampColumn: Output? = null

    private var timezone: Output? = null

    /**
     * @param value Dimensions for this MetricSet.
     */
    @JvmName("wkgxfpqjhmjbhjtq")
    public suspend fun dimensionList(`value`: Output>) {
        this.dimensionList = value
    }

    @JvmName("awgtycyjljyexomh")
    public suspend fun dimensionList(vararg values: Output) {
        this.dimensionList = Output.all(values.asList())
    }

    /**
     * @param values Dimensions for this MetricSet.
     */
    @JvmName("mxxphkqovqmvoygl")
    public suspend fun dimensionList(values: List>) {
        this.dimensionList = Output.all(values)
    }

    /**
     * @param value Metrics captured by this MetricSet.
     */
    @JvmName("qqmhyafgqytyorlo")
    public suspend fun metricList(`value`: Output>) {
        this.metricList = value
    }

    @JvmName("vvmrjdvxapfcthjx")
    public suspend fun metricList(vararg values: Output) {
        this.metricList = Output.all(values.asList())
    }

    /**
     * @param values Metrics captured by this MetricSet.
     */
    @JvmName("tubjexygyflapehr")
    public suspend fun metricList(values: List>) {
        this.metricList = Output.all(values)
    }

    /**
     * @param value A description for the MetricSet.
     */
    @JvmName("vcblcwpklnopnyey")
    public suspend fun metricSetDescription(`value`: Output) {
        this.metricSetDescription = value
    }

    /**
     * @param value A frequency period to aggregate the data
     */
    @JvmName("hrfuahmuwxvtxity")
    public suspend fun metricSetFrequency(`value`: Output) {
        this.metricSetFrequency = value
    }

    /**
     * @param value The name of the MetricSet.
     */
    @JvmName("irhcubvhuoykwrha")
    public suspend fun metricSetName(`value`: Output) {
        this.metricSetName = value
    }

    /**
     * @param value Contains information about how the source data should be interpreted.
     */
    @JvmName("vcytbscwngatgebu")
    public suspend fun metricSource(`value`: Output) {
        this.metricSource = value
    }

    /**
     * @param value Offset, in seconds, between the frequency interval and the time at which the metrics are available.
     */
    @JvmName("chyjumblmcfvhylt")
    public suspend fun offset(`value`: Output) {
        this.offset = value
    }

    /**
     * @param value Contains information about the column used for tracking time in your source data.
     */
    @JvmName("oafsnoajjmjmyojv")
    public suspend fun timestampColumn(`value`: Output) {
        this.timestampColumn = value
    }

    /**
     * @param value The time zone in which your source data was recorded.
     */
    @JvmName("wsuvtoxucoysmhsx")
    public suspend fun timezone(`value`: Output) {
        this.timezone = value
    }

    /**
     * @param value Dimensions for this MetricSet.
     */
    @JvmName("qxnqmsecuhqumqcy")
    public suspend fun dimensionList(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dimensionList = mapped
    }

    /**
     * @param values Dimensions for this MetricSet.
     */
    @JvmName("gqgriwggvoxinctv")
    public suspend fun dimensionList(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.dimensionList = mapped
    }

    /**
     * @param value Metrics captured by this MetricSet.
     */
    @JvmName("daigiquumajmtkvb")
    public suspend fun metricList(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.metricList = mapped
    }

    /**
     * @param argument Metrics captured by this MetricSet.
     */
    @JvmName("motalermjsuejnjs")
    public suspend fun metricList(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AnomalyDetectorMetricArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.metricList = mapped
    }

    /**
     * @param argument Metrics captured by this MetricSet.
     */
    @JvmName("lbkfaeogblmwlhxh")
    public suspend fun metricList(vararg argument: suspend AnomalyDetectorMetricArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            AnomalyDetectorMetricArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.metricList = mapped
    }

    /**
     * @param argument Metrics captured by this MetricSet.
     */
    @JvmName("rsukuhumuuurjjnm")
    public suspend fun metricList(argument: suspend AnomalyDetectorMetricArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(AnomalyDetectorMetricArgsBuilder().applySuspend { argument() }.build())
        val mapped = of(toBeMapped)
        this.metricList = mapped
    }

    /**
     * @param values Metrics captured by this MetricSet.
     */
    @JvmName("odqapgrpvglcjddq")
    public suspend fun metricList(vararg values: AnomalyDetectorMetricArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.metricList = mapped
    }

    /**
     * @param value A description for the MetricSet.
     */
    @JvmName("avjfyywbkwuieguj")
    public suspend fun metricSetDescription(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metricSetDescription = mapped
    }

    /**
     * @param value A frequency period to aggregate the data
     */
    @JvmName("stbqrgnpojjelrjj")
    public suspend fun metricSetFrequency(`value`: AnomalyDetectorMetricSetMetricSetFrequency?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.metricSetFrequency = mapped
    }

    /**
     * @param value The name of the MetricSet.
     */
    @JvmName("vydvtdnnobylbsfg")
    public suspend fun metricSetName(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.metricSetName = mapped
    }

    /**
     * @param value Contains information about how the source data should be interpreted.
     */
    @JvmName("gsseqfpmgyefkkbb")
    public suspend fun metricSource(`value`: AnomalyDetectorMetricSourceArgs) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.metricSource = mapped
    }

    /**
     * @param argument Contains information about how the source data should be interpreted.
     */
    @JvmName("pawsukfwpyoapwow")
    public suspend fun metricSource(argument: suspend AnomalyDetectorMetricSourceArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorMetricSourceArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.metricSource = mapped
    }

    /**
     * @param value Offset, in seconds, between the frequency interval and the time at which the metrics are available.
     */
    @JvmName("vbcubcuryjihibii")
    public suspend fun offset(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.offset = mapped
    }

    /**
     * @param value Contains information about the column used for tracking time in your source data.
     */
    @JvmName("yjvtbrbhemfoukav")
    public suspend fun timestampColumn(`value`: AnomalyDetectorTimestampColumnArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timestampColumn = mapped
    }

    /**
     * @param argument Contains information about the column used for tracking time in your source data.
     */
    @JvmName("hbmlijsidybfxrrq")
    public suspend fun timestampColumn(argument: suspend AnomalyDetectorTimestampColumnArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorTimestampColumnArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.timestampColumn = mapped
    }

    /**
     * @param value The time zone in which your source data was recorded.
     */
    @JvmName("hhpntibhdhhlkfnn")
    public suspend fun timezone(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timezone = mapped
    }

    internal fun build(): AnomalyDetectorMetricSetArgs = AnomalyDetectorMetricSetArgs(
        dimensionList = dimensionList,
        metricList = metricList ?: throw PulumiNullFieldException("metricList"),
        metricSetDescription = metricSetDescription,
        metricSetFrequency = metricSetFrequency,
        metricSetName = metricSetName ?: throw PulumiNullFieldException("metricSetName"),
        metricSource = metricSource ?: throw PulumiNullFieldException("metricSource"),
        offset = offset,
        timestampColumn = timestampColumn,
        timezone = timezone,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy