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

com.pulumi.awsnative.s3.kotlin.inputs.BucketTieringArgs.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.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.s3.kotlin.inputs

import com.pulumi.awsnative.s3.inputs.BucketTieringArgs.builder
import com.pulumi.awsnative.s3.kotlin.enums.BucketTieringAccessTier
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

/**
 * The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.
 * @property accessTier S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.
 * @property days The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).
 */
public data class BucketTieringArgs(
    public val accessTier: Output,
    public val days: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.s3.inputs.BucketTieringArgs =
        com.pulumi.awsnative.s3.inputs.BucketTieringArgs.builder()
            .accessTier(accessTier.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .days(days.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [BucketTieringArgs].
 */
@PulumiTagMarker
public class BucketTieringArgsBuilder internal constructor() {
    private var accessTier: Output? = null

    private var days: Output? = null

    /**
     * @param value S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.
     */
    @JvmName("fcwovrdtafejbgpl")
    public suspend fun accessTier(`value`: Output) {
        this.accessTier = value
    }

    /**
     * @param value The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).
     */
    @JvmName("nwondgfxkolhamgu")
    public suspend fun days(`value`: Output) {
        this.days = value
    }

    /**
     * @param value S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.
     */
    @JvmName("gprqgotohifwxick")
    public suspend fun accessTier(`value`: BucketTieringAccessTier) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.accessTier = mapped
    }

    /**
     * @param value The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).
     */
    @JvmName("btjpejemxbccmonu")
    public suspend fun days(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.days = mapped
    }

    internal fun build(): BucketTieringArgs = BucketTieringArgs(
        accessTier = accessTier ?: throw PulumiNullFieldException("accessTier"),
        days = days ?: throw PulumiNullFieldException("days"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy