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

com.pulumi.aws.efs.kotlin.inputs.FileSystemLifecyclePolicyArgs.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: 6.57.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.efs.kotlin.inputs

import com.pulumi.aws.efs.inputs.FileSystemLifecyclePolicyArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property transitionToArchive Indicates how long it takes to transition files to the archive storage class. Requires transition_to_ia, Elastic Throughput and General Purpose performance mode. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
 * @property transitionToIa Indicates how long it takes to transition files to the IA storage class. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
 * @property transitionToPrimaryStorageClass Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: `AFTER_1_ACCESS`.
 */
public data class FileSystemLifecyclePolicyArgs(
    public val transitionToArchive: Output? = null,
    public val transitionToIa: Output? = null,
    public val transitionToPrimaryStorageClass: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.efs.inputs.FileSystemLifecyclePolicyArgs =
        com.pulumi.aws.efs.inputs.FileSystemLifecyclePolicyArgs.builder()
            .transitionToArchive(transitionToArchive?.applyValue({ args0 -> args0 }))
            .transitionToIa(transitionToIa?.applyValue({ args0 -> args0 }))
            .transitionToPrimaryStorageClass(
                transitionToPrimaryStorageClass?.applyValue({ args0 ->
                    args0
                }),
            ).build()
}

/**
 * Builder for [FileSystemLifecyclePolicyArgs].
 */
@PulumiTagMarker
public class FileSystemLifecyclePolicyArgsBuilder internal constructor() {
    private var transitionToArchive: Output? = null

    private var transitionToIa: Output? = null

    private var transitionToPrimaryStorageClass: Output? = null

    /**
     * @param value Indicates how long it takes to transition files to the archive storage class. Requires transition_to_ia, Elastic Throughput and General Purpose performance mode. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
     */
    @JvmName("xmyshwdejcghmgal")
    public suspend fun transitionToArchive(`value`: Output) {
        this.transitionToArchive = value
    }

    /**
     * @param value Indicates how long it takes to transition files to the IA storage class. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
     */
    @JvmName("futslkkmcxfpqybn")
    public suspend fun transitionToIa(`value`: Output) {
        this.transitionToIa = value
    }

    /**
     * @param value Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: `AFTER_1_ACCESS`.
     */
    @JvmName("bpbdvxyivxkpficx")
    public suspend fun transitionToPrimaryStorageClass(`value`: Output) {
        this.transitionToPrimaryStorageClass = value
    }

    /**
     * @param value Indicates how long it takes to transition files to the archive storage class. Requires transition_to_ia, Elastic Throughput and General Purpose performance mode. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
     */
    @JvmName("mdyuihdckaaweuft")
    public suspend fun transitionToArchive(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.transitionToArchive = mapped
    }

    /**
     * @param value Indicates how long it takes to transition files to the IA storage class. Valid values: `AFTER_1_DAY`, `AFTER_7_DAYS`, `AFTER_14_DAYS`, `AFTER_30_DAYS`, `AFTER_60_DAYS`, `AFTER_90_DAYS`, `AFTER_180_DAYS`, `AFTER_270_DAYS`, or `AFTER_365_DAYS`.
     */
    @JvmName("uufkujbxnolteeoj")
    public suspend fun transitionToIa(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.transitionToIa = mapped
    }

    /**
     * @param value Describes the policy used to transition a file from infequent access storage to primary storage. Valid values: `AFTER_1_ACCESS`.
     */
    @JvmName("vbdorjlkvbhfeodn")
    public suspend fun transitionToPrimaryStorageClass(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.transitionToPrimaryStorageClass = mapped
    }

    internal fun build(): FileSystemLifecyclePolicyArgs = FileSystemLifecyclePolicyArgs(
        transitionToArchive = transitionToArchive,
        transitionToIa = transitionToIa,
        transitionToPrimaryStorageClass = transitionToPrimaryStorageClass,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy