com.pulumi.awsnative.s3outposts.kotlin.outputs.BucketRule.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.s3outposts.kotlin.outputs
import com.pulumi.awsnative.s3outposts.kotlin.enums.BucketRuleStatus
import kotlin.Int
import kotlin.String
import kotlin.Suppress
/**
* Specifies lifecycle rules for an Amazon S3Outposts bucket. You must specify at least one of the following: AbortIncompleteMultipartUpload, ExpirationDate, ExpirationInDays.
* @property abortIncompleteMultipartUpload Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3Outposts bucket.
* @property expirationDate Indicates when objects are deleted from Amazon S3Outposts. The date value must be in ISO 8601 format. The time is always midnight UTC.
* @property expirationInDays Indicates the number of days after creation when objects are deleted from Amazon S3Outposts.
* @property filter The container for the filter of the lifecycle rule.
* @property id Unique identifier for the lifecycle rule. The value can't be longer than 255 characters.
* @property status If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.
*/
public data class BucketRule(
public val abortIncompleteMultipartUpload: BucketAbortIncompleteMultipartUpload? = null,
public val expirationDate: String? = null,
public val expirationInDays: Int? = null,
public val filter: BucketRuleFilterProperties? = null,
public val id: String? = null,
public val status: BucketRuleStatus? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.s3outposts.outputs.BucketRule): BucketRule =
BucketRule(
abortIncompleteMultipartUpload = javaType.abortIncompleteMultipartUpload().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.s3outposts.kotlin.outputs.BucketAbortIncompleteMultipartUpload.Companion.toKotlin(args0)
})
}).orElse(null),
expirationDate = javaType.expirationDate().map({ args0 -> args0 }).orElse(null),
expirationInDays = javaType.expirationInDays().map({ args0 -> args0 }).orElse(null),
filter = javaType.filter().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.s3outposts.kotlin.outputs.BucketRuleFilterProperties.Companion.toKotlin(args0)
})
}).orElse(null),
id = javaType.id().map({ args0 -> args0 }).orElse(null),
status = javaType.status().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.s3outposts.kotlin.enums.BucketRuleStatus.Companion.toKotlin(args0)
})
}).orElse(null),
)
}
}