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

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

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationIncludedObjectVersions
import com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationOptionalFieldsItem
import com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationScheduleFrequency
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference*.
 * @property destination Contains information about where to publish the inventory results.
 * @property enabled Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.
 * @property id The ID used to identify the inventory configuration.
 * @property includedObjectVersions Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
 * @property optionalFields Contains the optional fields that are included in the inventory results.
 * @property prefix Specifies the inventory filter prefix.
 * @property scheduleFrequency Specifies the schedule for generating inventory results.
 */
public data class BucketInventoryConfiguration(
    public val destination: BucketDestination,
    public val enabled: Boolean,
    public val id: String,
    public val includedObjectVersions: BucketInventoryConfigurationIncludedObjectVersions,
    public val optionalFields: List? = null,
    public val prefix: String? = null,
    public val scheduleFrequency: BucketInventoryConfigurationScheduleFrequency,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.s3.outputs.BucketInventoryConfiguration): BucketInventoryConfiguration = BucketInventoryConfiguration(
            destination = javaType.destination().let({ args0 ->
                com.pulumi.awsnative.s3.kotlin.outputs.BucketDestination.Companion.toKotlin(args0)
            }),
            enabled = javaType.enabled(),
            id = javaType.id(),
            includedObjectVersions = javaType.includedObjectVersions().let({ args0 ->
                com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationIncludedObjectVersions.Companion.toKotlin(args0)
            }),
            optionalFields = javaType.optionalFields().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationOptionalFieldsItem.Companion.toKotlin(args0)
                })
            }),
            prefix = javaType.prefix().map({ args0 -> args0 }).orElse(null),
            scheduleFrequency = javaType.scheduleFrequency().let({ args0 ->
                com.pulumi.awsnative.s3.kotlin.enums.BucketInventoryConfigurationScheduleFrequency.Companion.toKotlin(args0)
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy