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

com.pulumi.awsnative.s3outposts.kotlin.outputs.BucketRule.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: 0.122.0.0
Show newest version
@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),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy