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

com.pulumi.awsnative.s3.kotlin.outputs.StorageLensS3BucketDestination.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.s3.kotlin.outputs

import com.pulumi.awsnative.s3.kotlin.enums.StorageLensS3BucketDestinationFormat
import com.pulumi.awsnative.s3.kotlin.enums.StorageLensS3BucketDestinationOutputSchemaVersion
import kotlin.String
import kotlin.Suppress

/**
 * S3 bucket destination settings for the Amazon S3 Storage Lens metrics export.
 * @property accountId The AWS account ID that owns the destination S3 bucket.
 * @property arn The ARN of the bucket to which Amazon S3 Storage Lens exports will be placed.
 * @property encryption This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.
 * @property format Specifies the file format to use when exporting Amazon S3 Storage Lens metrics export.
 * @property outputSchemaVersion The version of the output schema to use when exporting Amazon S3 Storage Lens metrics.
 * @property prefix The prefix to use for Amazon S3 Storage Lens export.
 */
public data class StorageLensS3BucketDestination(
    public val accountId: String,
    public val arn: String,
    public val encryption: StorageLensEncryption? = null,
    public val format: StorageLensS3BucketDestinationFormat,
    public val outputSchemaVersion: StorageLensS3BucketDestinationOutputSchemaVersion,
    public val prefix: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.s3.outputs.StorageLensS3BucketDestination): StorageLensS3BucketDestination = StorageLensS3BucketDestination(
            accountId = javaType.accountId(),
            arn = javaType.arn(),
            encryption = javaType.encryption().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.s3.kotlin.outputs.StorageLensEncryption.Companion.toKotlin(args0)
                })
            }).orElse(null),
            format = javaType.format().let({ args0 ->
                com.pulumi.awsnative.s3.kotlin.enums.StorageLensS3BucketDestinationFormat.Companion.toKotlin(args0)
            }),
            outputSchemaVersion = javaType.outputSchemaVersion().let({ args0 ->
                com.pulumi.awsnative.s3.kotlin.enums.StorageLensS3BucketDestinationOutputSchemaVersion.Companion.toKotlin(args0)
            }),
            prefix = javaType.prefix().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy