com.pulumi.digitalocean.kotlin.inputs.SpacesBucketLifecycleRuleExpirationArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.digitalocean.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.digitalocean.inputs.SpacesBucketLifecycleRuleExpirationArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property date Specifies the date/time after which you want applicable objects to expire. The argument uses
* RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28".
* @property days Specifies the number of days after object creation when the applicable objects will expire.
* @property expiredObjectDeleteMarker On a versioned bucket (versioning-enabled or versioning-suspended
* bucket), setting this to true directs Spaces to delete expired object delete markers.
*/
public data class SpacesBucketLifecycleRuleExpirationArgs(
public val date: Output? = null,
public val days: Output? = null,
public val expiredObjectDeleteMarker: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.digitalocean.inputs.SpacesBucketLifecycleRuleExpirationArgs =
com.pulumi.digitalocean.inputs.SpacesBucketLifecycleRuleExpirationArgs.builder()
.date(date?.applyValue({ args0 -> args0 }))
.days(days?.applyValue({ args0 -> args0 }))
.expiredObjectDeleteMarker(expiredObjectDeleteMarker?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SpacesBucketLifecycleRuleExpirationArgs].
*/
@PulumiTagMarker
public class SpacesBucketLifecycleRuleExpirationArgsBuilder internal constructor() {
private var date: Output? = null
private var days: Output? = null
private var expiredObjectDeleteMarker: Output? = null
/**
* @param value Specifies the date/time after which you want applicable objects to expire. The argument uses
* RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28".
*/
@JvmName("ayndyoflhcumlqfu")
public suspend fun date(`value`: Output) {
this.date = value
}
/**
* @param value Specifies the number of days after object creation when the applicable objects will expire.
*/
@JvmName("lnokvhwkdwkqwtpp")
public suspend fun days(`value`: Output) {
this.days = value
}
/**
* @param value On a versioned bucket (versioning-enabled or versioning-suspended
* bucket), setting this to true directs Spaces to delete expired object delete markers.
*/
@JvmName("xrokcyhtjuaasyiu")
public suspend fun expiredObjectDeleteMarker(`value`: Output) {
this.expiredObjectDeleteMarker = value
}
/**
* @param value Specifies the date/time after which you want applicable objects to expire. The argument uses
* RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28".
*/
@JvmName("munwsluslcpysfyb")
public suspend fun date(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.date = mapped
}
/**
* @param value Specifies the number of days after object creation when the applicable objects will expire.
*/
@JvmName("qfpbvfxloeuhvwwe")
public suspend fun days(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.days = mapped
}
/**
* @param value On a versioned bucket (versioning-enabled or versioning-suspended
* bucket), setting this to true directs Spaces to delete expired object delete markers.
*/
@JvmName("jirgqyfwjosipsrc")
public suspend fun expiredObjectDeleteMarker(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.expiredObjectDeleteMarker = mapped
}
internal fun build(): SpacesBucketLifecycleRuleExpirationArgs =
SpacesBucketLifecycleRuleExpirationArgs(
date = date,
days = days,
expiredObjectDeleteMarker = expiredObjectDeleteMarker,
)
}