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

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

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

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

import com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSourceArgs.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.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property appFlowConfig Details about an AppFlow datasource.
 * @property cloudwatchConfig Details about an Amazon CloudWatch monitoring datasource.
 * @property rdsSourceConfig Details about an Amazon Relational Database Service (RDS) datasource.
 * @property redshiftSourceConfig Details about an Amazon Redshift database datasource.
 * @property s3SourceConfig Contains information about the configuration of the S3 bucket that contains source files.
 */
public data class AnomalyDetectorMetricSourceArgs(
    public val appFlowConfig: Output? = null,
    public val cloudwatchConfig: Output? = null,
    public val rdsSourceConfig: Output? = null,
    public val redshiftSourceConfig: Output? = null,
    public val s3SourceConfig: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSourceArgs = com.pulumi.awsnative.lookoutmetrics.inputs.AnomalyDetectorMetricSourceArgs.builder()
        .appFlowConfig(appFlowConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .cloudwatchConfig(cloudwatchConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .rdsSourceConfig(rdsSourceConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .redshiftSourceConfig(
            redshiftSourceConfig?.applyValue({ args0 ->
                args0.let({ args0 ->
                    args0.toJava()
                })
            }),
        )
        .s3SourceConfig(
            s3SourceConfig?.applyValue({ args0 ->
                args0.let({ args0 ->
                    args0.toJava()
                })
            }),
        ).build()
}

/**
 * Builder for [AnomalyDetectorMetricSourceArgs].
 */
@PulumiTagMarker
public class AnomalyDetectorMetricSourceArgsBuilder internal constructor() {
    private var appFlowConfig: Output? = null

    private var cloudwatchConfig: Output? = null

    private var rdsSourceConfig: Output? = null

    private var redshiftSourceConfig: Output? = null

    private var s3SourceConfig: Output? = null

    /**
     * @param value Details about an AppFlow datasource.
     */
    @JvmName("oqdekiuihgppglip")
    public suspend fun appFlowConfig(`value`: Output) {
        this.appFlowConfig = value
    }

    /**
     * @param value Details about an Amazon CloudWatch monitoring datasource.
     */
    @JvmName("pwjjriuoiqsionvx")
    public suspend fun cloudwatchConfig(`value`: Output) {
        this.cloudwatchConfig = value
    }

    /**
     * @param value Details about an Amazon Relational Database Service (RDS) datasource.
     */
    @JvmName("ccqnohhnogxstaty")
    public suspend fun rdsSourceConfig(`value`: Output) {
        this.rdsSourceConfig = value
    }

    /**
     * @param value Details about an Amazon Redshift database datasource.
     */
    @JvmName("esujhxftcirxoqcp")
    public suspend fun redshiftSourceConfig(`value`: Output) {
        this.redshiftSourceConfig = value
    }

    /**
     * @param value Contains information about the configuration of the S3 bucket that contains source files.
     */
    @JvmName("jtjvhrgovehpwwgr")
    public suspend fun s3SourceConfig(`value`: Output) {
        this.s3SourceConfig = value
    }

    /**
     * @param value Details about an AppFlow datasource.
     */
    @JvmName("chstomkvcvyqnuig")
    public suspend fun appFlowConfig(`value`: AnomalyDetectorAppFlowConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.appFlowConfig = mapped
    }

    /**
     * @param argument Details about an AppFlow datasource.
     */
    @JvmName("xpsxhwkfrmrcibgl")
    public suspend fun appFlowConfig(argument: suspend AnomalyDetectorAppFlowConfigArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorAppFlowConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.appFlowConfig = mapped
    }

    /**
     * @param value Details about an Amazon CloudWatch monitoring datasource.
     */
    @JvmName("viuvbhsdtfccjyau")
    public suspend fun cloudwatchConfig(`value`: AnomalyDetectorCloudwatchConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cloudwatchConfig = mapped
    }

    /**
     * @param argument Details about an Amazon CloudWatch monitoring datasource.
     */
    @JvmName("hfekarmcbsuqminu")
    public suspend fun cloudwatchConfig(argument: suspend AnomalyDetectorCloudwatchConfigArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorCloudwatchConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.cloudwatchConfig = mapped
    }

    /**
     * @param value Details about an Amazon Relational Database Service (RDS) datasource.
     */
    @JvmName("hngxarnfodltmodn")
    public suspend fun rdsSourceConfig(`value`: AnomalyDetectorRdsSourceConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rdsSourceConfig = mapped
    }

    /**
     * @param argument Details about an Amazon Relational Database Service (RDS) datasource.
     */
    @JvmName("yqjgteyykxhegydi")
    public suspend fun rdsSourceConfig(argument: suspend AnomalyDetectorRdsSourceConfigArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorRdsSourceConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.rdsSourceConfig = mapped
    }

    /**
     * @param value Details about an Amazon Redshift database datasource.
     */
    @JvmName("mcbvffcghknsjsew")
    public suspend fun redshiftSourceConfig(`value`: AnomalyDetectorRedshiftSourceConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.redshiftSourceConfig = mapped
    }

    /**
     * @param argument Details about an Amazon Redshift database datasource.
     */
    @JvmName("iwsgypsoljawwwwy")
    public suspend fun redshiftSourceConfig(argument: suspend AnomalyDetectorRedshiftSourceConfigArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorRedshiftSourceConfigArgsBuilder().applySuspend {
            argument()
        }.build()
        val mapped = of(toBeMapped)
        this.redshiftSourceConfig = mapped
    }

    /**
     * @param value Contains information about the configuration of the S3 bucket that contains source files.
     */
    @JvmName("sakkpvbcnbuuidyx")
    public suspend fun s3SourceConfig(`value`: AnomalyDetectorS3SourceConfigArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.s3SourceConfig = mapped
    }

    /**
     * @param argument Contains information about the configuration of the S3 bucket that contains source files.
     */
    @JvmName("nkvlvdwnnlrhqqqg")
    public suspend fun s3SourceConfig(argument: suspend AnomalyDetectorS3SourceConfigArgsBuilder.() -> Unit) {
        val toBeMapped = AnomalyDetectorS3SourceConfigArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.s3SourceConfig = mapped
    }

    internal fun build(): AnomalyDetectorMetricSourceArgs = AnomalyDetectorMetricSourceArgs(
        appFlowConfig = appFlowConfig,
        cloudwatchConfig = cloudwatchConfig,
        rdsSourceConfig = rdsSourceConfig,
        redshiftSourceConfig = redshiftSourceConfig,
        s3SourceConfig = s3SourceConfig,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy