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

com.pulumi.aws.fsx.kotlin.inputs.OntapVolumeSnaplockConfigurationRetentionPeriodArgs.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.fsx.kotlin.inputs

import com.pulumi.aws.fsx.inputs.OntapVolumeSnaplockConfigurationRetentionPeriodArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 *
 * @property defaultRetention The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume. The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period. See `default_retention` Block for details.
 * @property maximumRetention The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `maximum_retention` Block for details.
 * @property minimumRetention The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `minimum_retention` Block for details.
 */
public data class OntapVolumeSnaplockConfigurationRetentionPeriodArgs(
    public val defaultRetention: Output? = null,
    public val maximumRetention: Output? = null,
    public val minimumRetention: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.aws.fsx.inputs.OntapVolumeSnaplockConfigurationRetentionPeriodArgs =
        com.pulumi.aws.fsx.inputs.OntapVolumeSnaplockConfigurationRetentionPeriodArgs.builder()
            .defaultRetention(defaultRetention?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .maximumRetention(maximumRetention?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .minimumRetention(
                minimumRetention?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            ).build()
}

/**
 * Builder for [OntapVolumeSnaplockConfigurationRetentionPeriodArgs].
 */
@PulumiTagMarker
public class OntapVolumeSnaplockConfigurationRetentionPeriodArgsBuilder internal constructor() {
    private var defaultRetention:
        Output? = null

    private var maximumRetention:
        Output? = null

    private var minimumRetention:
        Output? = null

    /**
     * @param value The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume. The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period. See `default_retention` Block for details.
     */
    @JvmName("xhihmtxpjenxrhqq")
    public suspend fun defaultRetention(`value`: Output) {
        this.defaultRetention = value
    }

    /**
     * @param value The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `maximum_retention` Block for details.
     */
    @JvmName("utqfbpjktekhlnvv")
    public suspend fun maximumRetention(`value`: Output) {
        this.maximumRetention = value
    }

    /**
     * @param value The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `minimum_retention` Block for details.
     */
    @JvmName("vqbndhwgcxqjfxfw")
    public suspend fun minimumRetention(`value`: Output) {
        this.minimumRetention = value
    }

    /**
     * @param value The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume. The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period. See `default_retention` Block for details.
     */
    @JvmName("jpviqlycguitrejl")
    public suspend fun defaultRetention(`value`: OntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.defaultRetention = mapped
    }

    /**
     * @param argument The retention period assigned to a write once, read many (WORM) file by default if an explicit retention period is not set for an FSx for ONTAP SnapLock volume. The default retention period must be greater than or equal to the minimum retention period and less than or equal to the maximum retention period. See `default_retention` Block for details.
     */
    @JvmName("uhkkpjbmimvawxba")
    public suspend fun defaultRetention(argument: suspend OntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionArgsBuilder.() -> Unit) {
        val toBeMapped =
            OntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.defaultRetention = mapped
    }

    /**
     * @param value The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `maximum_retention` Block for details.
     */
    @JvmName("dimatadwhunebriq")
    public suspend fun maximumRetention(`value`: OntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maximumRetention = mapped
    }

    /**
     * @param argument The longest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `maximum_retention` Block for details.
     */
    @JvmName("bboqtlgwamteshmy")
    public suspend fun maximumRetention(argument: suspend OntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionArgsBuilder.() -> Unit) {
        val toBeMapped =
            OntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.maximumRetention = mapped
    }

    /**
     * @param value The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `minimum_retention` Block for details.
     */
    @JvmName("dfyxhahsoojhxnca")
    public suspend fun minimumRetention(`value`: OntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.minimumRetention = mapped
    }

    /**
     * @param argument The shortest retention period that can be assigned to a WORM file on an FSx for ONTAP SnapLock volume. See `minimum_retention` Block for details.
     */
    @JvmName("rqhfifmpikbknpdn")
    public suspend fun minimumRetention(argument: suspend OntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionArgsBuilder.() -> Unit) {
        val toBeMapped =
            OntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.minimumRetention = mapped
    }

    internal fun build(): OntapVolumeSnaplockConfigurationRetentionPeriodArgs =
        OntapVolumeSnaplockConfigurationRetentionPeriodArgs(
            defaultRetention = defaultRetention,
            maximumRetention = maximumRetention,
            minimumRetention = minimumRetention,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy