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

com.pulumi.awsnative.timestream.kotlin.outputs.ScheduledQueryTimestreamConfiguration.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.timestream.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * Configuration needed to write data into the Timestream database and table.
 * @property databaseName Name of Timestream database to which the query result will be written.
 * @property dimensionMappings This is to allow mapping column(s) from the query result to the dimension in the destination table.
 * @property measureNameColumn Name of the measure column. Also see `MultiMeasureMappings` and `MixedMeasureMappings` for how measure name properties on those relate to `MeasureNameColumn` .
 * @property mixedMeasureMappings Specifies how to map measures to multi-measure records.
 * @property multiMeasureMappings Multi-measure mappings.
 * @property tableName Name of Timestream table that the query result will be written to. The table should be within the same database that is provided in Timestream configuration.
 * @property timeColumn Column from query result that should be used as the time column in destination table. Column type for this should be TIMESTAMP.
 */
public data class ScheduledQueryTimestreamConfiguration(
    public val databaseName: String,
    public val dimensionMappings: List,
    public val measureNameColumn: String? = null,
    public val mixedMeasureMappings: List? = null,
    public val multiMeasureMappings: ScheduledQueryMultiMeasureMappings? = null,
    public val tableName: String,
    public val timeColumn: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.timestream.outputs.ScheduledQueryTimestreamConfiguration): ScheduledQueryTimestreamConfiguration = ScheduledQueryTimestreamConfiguration(
            databaseName = javaType.databaseName(),
            dimensionMappings = javaType.dimensionMappings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.timestream.kotlin.outputs.ScheduledQueryDimensionMapping.Companion.toKotlin(args0)
                })
            }),
            measureNameColumn = javaType.measureNameColumn().map({ args0 -> args0 }).orElse(null),
            mixedMeasureMappings = javaType.mixedMeasureMappings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.timestream.kotlin.outputs.ScheduledQueryMixedMeasureMapping.Companion.toKotlin(args0)
                })
            }),
            multiMeasureMappings = javaType.multiMeasureMappings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.timestream.kotlin.outputs.ScheduledQueryMultiMeasureMappings.Companion.toKotlin(args0)
                })
            }).orElse(null),
            tableName = javaType.tableName(),
            timeColumn = javaType.timeColumn(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy