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

com.pulumi.aws.fsx.kotlin.outputs.OntapVolumeSnaplockConfiguration.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.aws.fsx.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property auditLogVolume Enables or disables the audit log volume for an FSx for ONTAP SnapLock volume. The default value is `false`.
 * @property autocommitPeriod The configuration object for setting the autocommit period of files in an FSx for ONTAP SnapLock volume. See `autocommit_period` Block for details.
 * @property privilegedDelete Enables, disables, or permanently disables privileged delete on an FSx for ONTAP SnapLock Enterprise volume. Valid values: `DISABLED`, `ENABLED`, `PERMANENTLY_DISABLED`. The default value is `DISABLED`.
 * @property retentionPeriod The retention period of an FSx for ONTAP SnapLock volume. See `retention_period` Block for details.
 * @property snaplockType Specifies the retention mode of an FSx for ONTAP SnapLock volume. After it is set, it can't be changed. Valid values: `COMPLIANCE`, `ENTERPRISE`.
 * @property volumeAppendModeEnabled Enables or disables volume-append mode on an FSx for ONTAP SnapLock volume. The default value is `false`.
 */
public data class OntapVolumeSnaplockConfiguration(
    public val auditLogVolume: Boolean? = null,
    public val autocommitPeriod: OntapVolumeSnaplockConfigurationAutocommitPeriod? = null,
    public val privilegedDelete: String? = null,
    public val retentionPeriod: OntapVolumeSnaplockConfigurationRetentionPeriod? = null,
    public val snaplockType: String,
    public val volumeAppendModeEnabled: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.aws.fsx.outputs.OntapVolumeSnaplockConfiguration): OntapVolumeSnaplockConfiguration = OntapVolumeSnaplockConfiguration(
            auditLogVolume = javaType.auditLogVolume().map({ args0 -> args0 }).orElse(null),
            autocommitPeriod = javaType.autocommitPeriod().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.aws.fsx.kotlin.outputs.OntapVolumeSnaplockConfigurationAutocommitPeriod.Companion.toKotlin(args0)
                })
            }).orElse(null),
            privilegedDelete = javaType.privilegedDelete().map({ args0 -> args0 }).orElse(null),
            retentionPeriod = javaType.retentionPeriod().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.aws.fsx.kotlin.outputs.OntapVolumeSnaplockConfigurationRetentionPeriod.Companion.toKotlin(args0)
                })
            }).orElse(null),
            snaplockType = javaType.snaplockType(),
            volumeAppendModeEnabled = javaType.volumeAppendModeEnabled().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy