
com.pulumi.azurenative.recoveryservices.kotlin.inputs.YearlyRetentionScheduleArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.recoveryservices.kotlin.inputs
import com.pulumi.azurenative.recoveryservices.inputs.YearlyRetentionScheduleArgs.builder
import com.pulumi.azurenative.recoveryservices.kotlin.enums.MonthOfYear
import com.pulumi.azurenative.recoveryservices.kotlin.enums.RetentionScheduleFormat
import com.pulumi.core.Either
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Yearly retention schedule.
* @property monthsOfYear List of months of year of yearly retention policy.
* @property retentionDuration Retention duration of retention Policy.
* @property retentionScheduleDaily Daily retention format for yearly retention policy.
* @property retentionScheduleFormatType Retention schedule format for yearly retention policy.
* @property retentionScheduleWeekly Weekly retention format for yearly retention policy.
* @property retentionTimes Retention times of retention policy.
*/
public data class YearlyRetentionScheduleArgs(
public val monthsOfYear: Output>? = null,
public val retentionDuration: Output? = null,
public val retentionScheduleDaily: Output? = null,
public val retentionScheduleFormatType: Output>? = null,
public val retentionScheduleWeekly: Output? = null,
public val retentionTimes: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.recoveryservices.inputs.YearlyRetentionScheduleArgs = com.pulumi.azurenative.recoveryservices.inputs.YearlyRetentionScheduleArgs.builder()
.monthsOfYear(
monthsOfYear?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.retentionDuration(retentionDuration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.retentionScheduleDaily(
retentionScheduleDaily?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.retentionScheduleFormatType(
retentionScheduleFormatType?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.retentionScheduleWeekly(
retentionScheduleWeekly?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.retentionTimes(retentionTimes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}
/**
* Builder for [YearlyRetentionScheduleArgs].
*/
@PulumiTagMarker
public class YearlyRetentionScheduleArgsBuilder internal constructor() {
private var monthsOfYear: Output>? = null
private var retentionDuration: Output? = null
private var retentionScheduleDaily: Output? = null
private var retentionScheduleFormatType: Output>? = null
private var retentionScheduleWeekly: Output? = null
private var retentionTimes: Output>? = null
/**
* @param value List of months of year of yearly retention policy.
*/
@JvmName("udjbfbcqbrgxelwp")
public suspend fun monthsOfYear(`value`: Output>) {
this.monthsOfYear = value
}
@JvmName("vnreudgmpblsexpw")
public suspend fun monthsOfYear(vararg values: Output) {
this.monthsOfYear = Output.all(values.asList())
}
/**
* @param values List of months of year of yearly retention policy.
*/
@JvmName("gusrexrmnmluucgu")
public suspend fun monthsOfYear(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy