![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.s3.kotlin.inputs.BucketNoncurrentVersionExpirationArgs.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.s3.kotlin.inputs
import com.pulumi.awsnative.s3.inputs.BucketNoncurrentVersionExpirationArgs.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 kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Specifies when noncurrent object versions expire. Upon expiration, S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that S3 delete noncurrent object versions at a specific period in the object's lifetime. For more information about setting a lifecycle rule configuration, see [AWS::S3::Bucket Rule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html).
* @property newerNoncurrentVersions Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
* @property noncurrentDays Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
*/
public data class BucketNoncurrentVersionExpirationArgs(
public val newerNoncurrentVersions: Output? = null,
public val noncurrentDays: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.s3.inputs.BucketNoncurrentVersionExpirationArgs =
com.pulumi.awsnative.s3.inputs.BucketNoncurrentVersionExpirationArgs.builder()
.newerNoncurrentVersions(newerNoncurrentVersions?.applyValue({ args0 -> args0 }))
.noncurrentDays(noncurrentDays.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BucketNoncurrentVersionExpirationArgs].
*/
@PulumiTagMarker
public class BucketNoncurrentVersionExpirationArgsBuilder internal constructor() {
private var newerNoncurrentVersions: Output? = null
private var noncurrentDays: Output? = null
/**
* @param value Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
*/
@JvmName("usmqvaftqtqgqrjy")
public suspend fun newerNoncurrentVersions(`value`: Output) {
this.newerNoncurrentVersions = value
}
/**
* @param value Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
*/
@JvmName("ibdlukquuwbhynbp")
public suspend fun noncurrentDays(`value`: Output) {
this.noncurrentDays = value
}
/**
* @param value Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
*/
@JvmName("odbhcusfcfhumsth")
public suspend fun newerNoncurrentVersions(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.newerNoncurrentVersions = mapped
}
/**
* @param value Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
*/
@JvmName("grxgnsukwgrvrrhi")
public suspend fun noncurrentDays(`value`: Int) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.noncurrentDays = mapped
}
internal fun build(): BucketNoncurrentVersionExpirationArgs =
BucketNoncurrentVersionExpirationArgs(
newerNoncurrentVersions = newerNoncurrentVersions,
noncurrentDays = noncurrentDays ?: throw PulumiNullFieldException("noncurrentDays"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy