
com.pulumi.awsnative.iotanalytics.kotlin.inputs.DatasetS3DestinationConfigurationArgs.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.iotanalytics.kotlin.inputs
import com.pulumi.awsnative.iotanalytics.inputs.DatasetS3DestinationConfigurationArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
*
* @property bucket The name of the S3 bucket to which dataset contents are delivered.
* @property glueConfiguration Configuration information for coordination with AWS Glue , a fully managed extract, transform and load (ETL) service.
* @property key The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier. Each object has exactly one key.
* You can create a unique key with the following options:
* - Use `!{iotanalytics:scheduleTime}` to insert the time of a scheduled SQL query run.
* - Use `!{iotanalytics:versionId}` to insert a unique hash that identifies a dataset content.
* - Use `!{iotanalytics:creationTime}` to insert the creation time of a dataset content.
* The following example creates a unique key for a CSV file: `dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv`
* > If you don't use `!{iotanalytics:versionId}` to specify the key, you might get duplicate keys. For example, you might have two dataset contents with the same `scheduleTime` but different `versionId` s. This means that one dataset content overwrites the other.
* @property roleArn The ARN of the role that grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.
*/
public data class DatasetS3DestinationConfigurationArgs(
public val bucket: Output,
public val glueConfiguration: Output? = null,
public val key: Output,
public val roleArn: Output,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iotanalytics.inputs.DatasetS3DestinationConfigurationArgs =
com.pulumi.awsnative.iotanalytics.inputs.DatasetS3DestinationConfigurationArgs.builder()
.bucket(bucket.applyValue({ args0 -> args0 }))
.glueConfiguration(glueConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.key(key.applyValue({ args0 -> args0 }))
.roleArn(roleArn.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DatasetS3DestinationConfigurationArgs].
*/
@PulumiTagMarker
public class DatasetS3DestinationConfigurationArgsBuilder internal constructor() {
private var bucket: Output? = null
private var glueConfiguration: Output? = null
private var key: Output? = null
private var roleArn: Output? = null
/**
* @param value The name of the S3 bucket to which dataset contents are delivered.
*/
@JvmName("mqapjnxkajcqngmc")
public suspend fun bucket(`value`: Output) {
this.bucket = value
}
/**
* @param value Configuration information for coordination with AWS Glue , a fully managed extract, transform and load (ETL) service.
*/
@JvmName("fajcdjsntmelkqbi")
public suspend fun glueConfiguration(`value`: Output) {
this.glueConfiguration = value
}
/**
* @param value The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier. Each object has exactly one key.
* You can create a unique key with the following options:
* - Use `!{iotanalytics:scheduleTime}` to insert the time of a scheduled SQL query run.
* - Use `!{iotanalytics:versionId}` to insert a unique hash that identifies a dataset content.
* - Use `!{iotanalytics:creationTime}` to insert the creation time of a dataset content.
* The following example creates a unique key for a CSV file: `dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv`
* > If you don't use `!{iotanalytics:versionId}` to specify the key, you might get duplicate keys. For example, you might have two dataset contents with the same `scheduleTime` but different `versionId` s. This means that one dataset content overwrites the other.
*/
@JvmName("mkcsvnwqrayifsux")
public suspend fun key(`value`: Output) {
this.key = value
}
/**
* @param value The ARN of the role that grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.
*/
@JvmName("iwxylmyrcxbmypxp")
public suspend fun roleArn(`value`: Output) {
this.roleArn = value
}
/**
* @param value The name of the S3 bucket to which dataset contents are delivered.
*/
@JvmName("cusidlbncncvpido")
public suspend fun bucket(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.bucket = mapped
}
/**
* @param value Configuration information for coordination with AWS Glue , a fully managed extract, transform and load (ETL) service.
*/
@JvmName("lfqrbxnkmtndsmpx")
public suspend fun glueConfiguration(`value`: DatasetGlueConfigurationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.glueConfiguration = mapped
}
/**
* @param argument Configuration information for coordination with AWS Glue , a fully managed extract, transform and load (ETL) service.
*/
@JvmName("bdmwmmhfrefhimdl")
public suspend fun glueConfiguration(argument: suspend DatasetGlueConfigurationArgsBuilder.() -> Unit) {
val toBeMapped = DatasetGlueConfigurationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.glueConfiguration = mapped
}
/**
* @param value The key of the dataset contents object in an S3 bucket. Each object has a key that is a unique identifier. Each object has exactly one key.
* You can create a unique key with the following options:
* - Use `!{iotanalytics:scheduleTime}` to insert the time of a scheduled SQL query run.
* - Use `!{iotanalytics:versionId}` to insert a unique hash that identifies a dataset content.
* - Use `!{iotanalytics:creationTime}` to insert the creation time of a dataset content.
* The following example creates a unique key for a CSV file: `dataset/mydataset/!{iotanalytics:scheduleTime}/!{iotanalytics:versionId}.csv`
* > If you don't use `!{iotanalytics:versionId}` to specify the key, you might get duplicate keys. For example, you might have two dataset contents with the same `scheduleTime` but different `versionId` s. This means that one dataset content overwrites the other.
*/
@JvmName("hjbyjjjktcbequaq")
public suspend fun key(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.key = mapped
}
/**
* @param value The ARN of the role that grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.
*/
@JvmName("gnwdnpdwrjujvkuu")
public suspend fun roleArn(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.roleArn = mapped
}
internal fun build(): DatasetS3DestinationConfigurationArgs =
DatasetS3DestinationConfigurationArgs(
bucket = bucket ?: throw PulumiNullFieldException("bucket"),
glueConfiguration = glueConfiguration,
key = key ?: throw PulumiNullFieldException("key"),
roleArn = roleArn ?: throw PulumiNullFieldException("roleArn"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy