com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamS3DestinationConfiguration.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.kinesisfirehose.kotlin.outputs
import com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamS3DestinationConfigurationCompressionFormat
import kotlin.String
import kotlin.Suppress
/**
*
* @property bucketArn The Amazon Resource Name (ARN) of the Amazon S3 bucket to send data to.
* @property bufferingHints Configures how Kinesis Data Firehose buffers incoming data while delivering it to the Amazon S3 bucket.
* @property cloudWatchLoggingOptions The CloudWatch logging options for your delivery stream.
* @property compressionFormat The type of compression that Kinesis Data Firehose uses to compress the data that it delivers to the Amazon S3 bucket. For valid values, see the `CompressionFormat` content for the [S3DestinationConfiguration](https://docs.aws.amazon.com/firehose/latest/APIReference/API_S3DestinationConfiguration.html) data type in the *Amazon Kinesis Data Firehose API Reference* .
* @property encryptionConfiguration Configures Amazon Simple Storage Service (Amazon S3) server-side encryption. Kinesis Data Firehose uses AWS Key Management Service ( AWS KMS) to encrypt the data that it delivers to your Amazon S3 bucket.
* @property errorOutputPrefix A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html) .
* @property prefix A prefix that Kinesis Data Firehose adds to the files that it delivers to the Amazon S3 bucket. The prefix helps you identify the files that Kinesis Data Firehose delivered.
* @property roleArn The ARN of an AWS Identity and Access Management (IAM) role that grants Kinesis Data Firehose access to your Amazon S3 bucket and AWS KMS (if you enable data encryption). For more information, see [Grant Kinesis Data Firehose Access to an Amazon S3 Destination](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-s3) in the *Amazon Kinesis Data Firehose Developer Guide* .
*/
public data class DeliveryStreamS3DestinationConfiguration(
public val bucketArn: String,
public val bufferingHints: DeliveryStreamBufferingHints? = null,
public val cloudWatchLoggingOptions: DeliveryStreamCloudWatchLoggingOptions? = null,
public val compressionFormat: DeliveryStreamS3DestinationConfigurationCompressionFormat? = null,
public val encryptionConfiguration: DeliveryStreamEncryptionConfiguration? = null,
public val errorOutputPrefix: String? = null,
public val prefix: String? = null,
public val roleArn: String,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.kinesisfirehose.outputs.DeliveryStreamS3DestinationConfiguration): DeliveryStreamS3DestinationConfiguration = DeliveryStreamS3DestinationConfiguration(
bucketArn = javaType.bucketArn(),
bufferingHints = javaType.bufferingHints().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamBufferingHints.Companion.toKotlin(args0)
})
}).orElse(null),
cloudWatchLoggingOptions = javaType.cloudWatchLoggingOptions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamCloudWatchLoggingOptions.Companion.toKotlin(args0)
})
}).orElse(null),
compressionFormat = javaType.compressionFormat().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kinesisfirehose.kotlin.enums.DeliveryStreamS3DestinationConfigurationCompressionFormat.Companion.toKotlin(args0)
})
}).orElse(null),
encryptionConfiguration = javaType.encryptionConfiguration().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kinesisfirehose.kotlin.outputs.DeliveryStreamEncryptionConfiguration.Companion.toKotlin(args0)
})
}).orElse(null),
errorOutputPrefix = javaType.errorOutputPrefix().map({ args0 -> args0 }).orElse(null),
prefix = javaType.prefix().map({ args0 -> args0 }).orElse(null),
roleArn = javaType.roleArn(),
)
}
}