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

com.pulumi.azure.backup.kotlin.inputs.PolicyFileShareRetentionYearlyArgs.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.14.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.backup.kotlin.inputs

import com.pulumi.azure.backup.inputs.PolicyFileShareRetentionYearlyArgs.builder
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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property count The number of yearly backups to keep. Must be between `1` and `10`
 * @property days The days of the month to retain backups of. Must be between `1` and `31`.
 * @property includeLastDays Including the last day of the month, default to `false`.
 * > **NOTE:**: Either `weekdays` and `weeks` or `days` and `include_last_days` must be specified.
 * @property months The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
 * @property weekdays The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
 * @property weeks The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
 */
public data class PolicyFileShareRetentionYearlyArgs(
    public val count: Output,
    public val days: Output>? = null,
    public val includeLastDays: Output? = null,
    public val months: Output>,
    public val weekdays: Output>? = null,
    public val weeks: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.backup.inputs.PolicyFileShareRetentionYearlyArgs =
        com.pulumi.azure.backup.inputs.PolicyFileShareRetentionYearlyArgs.builder()
            .count(count.applyValue({ args0 -> args0 }))
            .days(days?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .includeLastDays(includeLastDays?.applyValue({ args0 -> args0 }))
            .months(months.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .weekdays(weekdays?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .weeks(weeks?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [PolicyFileShareRetentionYearlyArgs].
 */
@PulumiTagMarker
public class PolicyFileShareRetentionYearlyArgsBuilder internal constructor() {
    private var count: Output? = null

    private var days: Output>? = null

    private var includeLastDays: Output? = null

    private var months: Output>? = null

    private var weekdays: Output>? = null

    private var weeks: Output>? = null

    /**
     * @param value The number of yearly backups to keep. Must be between `1` and `10`
     */
    @JvmName("etntwquxauqxynur")
    public suspend fun count(`value`: Output) {
        this.count = value
    }

    /**
     * @param value The days of the month to retain backups of. Must be between `1` and `31`.
     */
    @JvmName("xqnigkmtcpshfduh")
    public suspend fun days(`value`: Output>) {
        this.days = value
    }

    @JvmName("pwetyiacgfmrurej")
    public suspend fun days(vararg values: Output) {
        this.days = Output.all(values.asList())
    }

    /**
     * @param values The days of the month to retain backups of. Must be between `1` and `31`.
     */
    @JvmName("hxkkfjwyxnnwescy")
    public suspend fun days(values: List>) {
        this.days = Output.all(values)
    }

    /**
     * @param value Including the last day of the month, default to `false`.
     * > **NOTE:**: Either `weekdays` and `weeks` or `days` and `include_last_days` must be specified.
     */
    @JvmName("fltnyfvxfrcgbsrs")
    public suspend fun includeLastDays(`value`: Output) {
        this.includeLastDays = value
    }

    /**
     * @param value The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
     */
    @JvmName("skmklywefejsxhae")
    public suspend fun months(`value`: Output>) {
        this.months = value
    }

    @JvmName("vuqvpnafvgtborjg")
    public suspend fun months(vararg values: Output) {
        this.months = Output.all(values.asList())
    }

    /**
     * @param values The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
     */
    @JvmName("hutfdsjqjbacpmxf")
    public suspend fun months(values: List>) {
        this.months = Output.all(values)
    }

    /**
     * @param value The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
     */
    @JvmName("kcamuqkfsjlddbid")
    public suspend fun weekdays(`value`: Output>) {
        this.weekdays = value
    }

    @JvmName("rqjgckbocyvptaps")
    public suspend fun weekdays(vararg values: Output) {
        this.weekdays = Output.all(values.asList())
    }

    /**
     * @param values The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
     */
    @JvmName("emfadunvfwrkcfst")
    public suspend fun weekdays(values: List>) {
        this.weekdays = Output.all(values)
    }

    /**
     * @param value The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
     */
    @JvmName("bsnwqrkanujdeqxl")
    public suspend fun weeks(`value`: Output>) {
        this.weeks = value
    }

    @JvmName("mgfaqertitaenory")
    public suspend fun weeks(vararg values: Output) {
        this.weeks = Output.all(values.asList())
    }

    /**
     * @param values The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
     */
    @JvmName("fowdfpalffnemjdr")
    public suspend fun weeks(values: List>) {
        this.weeks = Output.all(values)
    }

    /**
     * @param value The number of yearly backups to keep. Must be between `1` and `10`
     */
    @JvmName("jcybsapritdwnahi")
    public suspend fun count(`value`: Int) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.count = mapped
    }

    /**
     * @param value The days of the month to retain backups of. Must be between `1` and `31`.
     */
    @JvmName("uwkxleydiycmjtgc")
    public suspend fun days(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.days = mapped
    }

    /**
     * @param values The days of the month to retain backups of. Must be between `1` and `31`.
     */
    @JvmName("gjmogbiwbsbevodd")
    public suspend fun days(vararg values: Int) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.days = mapped
    }

    /**
     * @param value Including the last day of the month, default to `false`.
     * > **NOTE:**: Either `weekdays` and `weeks` or `days` and `include_last_days` must be specified.
     */
    @JvmName("mgwnfwrocsflfdir")
    public suspend fun includeLastDays(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.includeLastDays = mapped
    }

    /**
     * @param value The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
     */
    @JvmName("drepvgjalxdxqgoy")
    public suspend fun months(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.months = mapped
    }

    /**
     * @param values The months of the year to retain backups of. Must be one of `January`, `February`, `March`, `April`, `May`, `June`, `July`, `Augest`, `September`, `October`, `November` and `December`.
     */
    @JvmName("idbbxpmhbtpjarax")
    public suspend fun months(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.months = mapped
    }

    /**
     * @param value The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
     */
    @JvmName("hyihtualqovtteyx")
    public suspend fun weekdays(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weekdays = mapped
    }

    /**
     * @param values The weekday backups to retain . Must be one of `Sunday`, `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday` or `Saturday`.
     */
    @JvmName("omtddbadmbvetkcu")
    public suspend fun weekdays(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.weekdays = mapped
    }

    /**
     * @param value The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
     */
    @JvmName("iplerhiiovslphra")
    public suspend fun weeks(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.weeks = mapped
    }

    /**
     * @param values The weeks of the month to retain backups of. Must be one of `First`, `Second`, `Third`, `Fourth`, `Last`.
     */
    @JvmName("yoogjmpuadskyqwj")
    public suspend fun weeks(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.weeks = mapped
    }

    internal fun build(): PolicyFileShareRetentionYearlyArgs = PolicyFileShareRetentionYearlyArgs(
        count = count ?: throw PulumiNullFieldException("count"),
        days = days,
        includeLastDays = includeLastDays,
        months = months ?: throw PulumiNullFieldException("months"),
        weekdays = weekdays,
        weeks = weeks,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy