Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.desktopvirtualization.kotlin.inputs.ScalingScheduleArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.desktopvirtualization.kotlin.inputs
import com.pulumi.azurenative.desktopvirtualization.inputs.ScalingScheduleArgs.builder
import com.pulumi.azurenative.desktopvirtualization.kotlin.enums.SessionHostLoadBalancingAlgorithm
import com.pulumi.azurenative.desktopvirtualization.kotlin.enums.StopHostsWhen
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.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* A ScalingPlanPooledSchedule.
* @property daysOfWeek Set of days of the week on which this schedule is active.
* @property name Name of the ScalingPlanPooledSchedule.
* @property offPeakLoadBalancingAlgorithm Load balancing algorithm for off-peak period.
* @property offPeakStartTime Starting time for off-peak period.
* @property peakLoadBalancingAlgorithm Load balancing algorithm for peak period.
* @property peakStartTime Starting time for peak period.
* @property rampDownCapacityThresholdPct Capacity threshold for ramp down period.
* @property rampDownForceLogoffUsers Should users be logged off forcefully from hosts.
* @property rampDownLoadBalancingAlgorithm Load balancing algorithm for ramp down period.
* @property rampDownMinimumHostsPct Minimum host percentage for ramp down period.
* @property rampDownNotificationMessage Notification message for users during ramp down period.
* @property rampDownStartTime Starting time for ramp down period.
* @property rampDownStopHostsWhen Specifies when to stop hosts during ramp down period.
* @property rampDownWaitTimeMinutes Number of minutes to wait to stop hosts during ramp down period.
* @property rampUpCapacityThresholdPct Capacity threshold for ramp up period.
* @property rampUpLoadBalancingAlgorithm Load balancing algorithm for ramp up period.
* @property rampUpMinimumHostsPct Minimum host percentage for ramp up period.
* @property rampUpStartTime Starting time for ramp up period.
*/
public data class ScalingScheduleArgs(
public val daysOfWeek: Output>? = null,
public val name: Output? = null,
public val offPeakLoadBalancingAlgorithm: Output>? = null,
public val offPeakStartTime: Output? = null,
public val peakLoadBalancingAlgorithm: Output>? =
null,
public val peakStartTime: Output? = null,
public val rampDownCapacityThresholdPct: Output? = null,
public val rampDownForceLogoffUsers: Output? = null,
public val rampDownLoadBalancingAlgorithm: Output>? = null,
public val rampDownMinimumHostsPct: Output? = null,
public val rampDownNotificationMessage: Output? = null,
public val rampDownStartTime: Output? = null,
public val rampDownStopHostsWhen: Output>? = null,
public val rampDownWaitTimeMinutes: Output? = null,
public val rampUpCapacityThresholdPct: Output? = null,
public val rampUpLoadBalancingAlgorithm: Output>? = null,
public val rampUpMinimumHostsPct: Output? = null,
public val rampUpStartTime: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.desktopvirtualization.inputs.ScalingScheduleArgs =
com.pulumi.azurenative.desktopvirtualization.inputs.ScalingScheduleArgs.builder()
.daysOfWeek(daysOfWeek?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.name(name?.applyValue({ args0 -> args0 }))
.offPeakLoadBalancingAlgorithm(
offPeakLoadBalancingAlgorithm?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.offPeakStartTime(offPeakStartTime?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.peakLoadBalancingAlgorithm(
peakLoadBalancingAlgorithm?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.peakStartTime(peakStartTime?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.rampDownCapacityThresholdPct(rampDownCapacityThresholdPct?.applyValue({ args0 -> args0 }))
.rampDownForceLogoffUsers(rampDownForceLogoffUsers?.applyValue({ args0 -> args0 }))
.rampDownLoadBalancingAlgorithm(
rampDownLoadBalancingAlgorithm?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.rampDownMinimumHostsPct(rampDownMinimumHostsPct?.applyValue({ args0 -> args0 }))
.rampDownNotificationMessage(rampDownNotificationMessage?.applyValue({ args0 -> args0 }))
.rampDownStartTime(rampDownStartTime?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.rampDownStopHostsWhen(
rampDownStopHostsWhen?.applyValue({ args0 ->
args0.transform({ args0 ->
args0
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.rampDownWaitTimeMinutes(rampDownWaitTimeMinutes?.applyValue({ args0 -> args0 }))
.rampUpCapacityThresholdPct(rampUpCapacityThresholdPct?.applyValue({ args0 -> args0 }))
.rampUpLoadBalancingAlgorithm(
rampUpLoadBalancingAlgorithm?.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.rampUpMinimumHostsPct(rampUpMinimumHostsPct?.applyValue({ args0 -> args0 }))
.rampUpStartTime(
rampUpStartTime?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [ScalingScheduleArgs].
*/
@PulumiTagMarker
public class ScalingScheduleArgsBuilder internal constructor() {
private var daysOfWeek: Output>? = null
private var name: Output? = null
private var offPeakLoadBalancingAlgorithm:
Output>? = null
private var offPeakStartTime: Output? = null
private var peakLoadBalancingAlgorithm: Output>? =
null
private var peakStartTime: Output? = null
private var rampDownCapacityThresholdPct: Output? = null
private var rampDownForceLogoffUsers: Output? = null
private var rampDownLoadBalancingAlgorithm:
Output>? = null
private var rampDownMinimumHostsPct: Output? = null
private var rampDownNotificationMessage: Output? = null
private var rampDownStartTime: Output? = null
private var rampDownStopHostsWhen: Output>? = null
private var rampDownWaitTimeMinutes: Output? = null
private var rampUpCapacityThresholdPct: Output? = null
private var rampUpLoadBalancingAlgorithm:
Output>? = null
private var rampUpMinimumHostsPct: Output? = null
private var rampUpStartTime: Output? = null
/**
* @param value Set of days of the week on which this schedule is active.
*/
@JvmName("qbyvgbmpbfmiwigd")
public suspend fun daysOfWeek(`value`: Output>) {
this.daysOfWeek = value
}
@JvmName("cufeuqvqdmdbmjhq")
public suspend fun daysOfWeek(vararg values: Output) {
this.daysOfWeek = Output.all(values.asList())
}
/**
* @param values Set of days of the week on which this schedule is active.
*/
@JvmName("cgwyhnbwxqhufpwl")
public suspend fun daysOfWeek(values: List>) {
this.daysOfWeek = Output.all(values)
}
/**
* @param value Name of the ScalingPlanPooledSchedule.
*/
@JvmName("difcovqofgbdbfqq")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Load balancing algorithm for off-peak period.
*/
@JvmName("iyydxbcbdolgrvwc")
public suspend fun offPeakLoadBalancingAlgorithm(`value`: Output>) {
this.offPeakLoadBalancingAlgorithm = value
}
/**
* @param value Starting time for off-peak period.
*/
@JvmName("oodspiovpyackybw")
public suspend fun offPeakStartTime(`value`: Output) {
this.offPeakStartTime = value
}
/**
* @param value Load balancing algorithm for peak period.
*/
@JvmName("koidkdcxkwpyysoo")
public suspend fun peakLoadBalancingAlgorithm(`value`: Output>) {
this.peakLoadBalancingAlgorithm = value
}
/**
* @param value Starting time for peak period.
*/
@JvmName("jxiksotqylchbejx")
public suspend fun peakStartTime(`value`: Output) {
this.peakStartTime = value
}
/**
* @param value Capacity threshold for ramp down period.
*/
@JvmName("ryudrkfktqjgcuvs")
public suspend fun rampDownCapacityThresholdPct(`value`: Output) {
this.rampDownCapacityThresholdPct = value
}
/**
* @param value Should users be logged off forcefully from hosts.
*/
@JvmName("vsheypdfskicjdfk")
public suspend fun rampDownForceLogoffUsers(`value`: Output) {
this.rampDownForceLogoffUsers = value
}
/**
* @param value Load balancing algorithm for ramp down period.
*/
@JvmName("nwfaftjdjqdtivpd")
public suspend fun rampDownLoadBalancingAlgorithm(`value`: Output>) {
this.rampDownLoadBalancingAlgorithm = value
}
/**
* @param value Minimum host percentage for ramp down period.
*/
@JvmName("hjjivijutcxcwbdl")
public suspend fun rampDownMinimumHostsPct(`value`: Output) {
this.rampDownMinimumHostsPct = value
}
/**
* @param value Notification message for users during ramp down period.
*/
@JvmName("mwihlgjcmujtyqmr")
public suspend fun rampDownNotificationMessage(`value`: Output) {
this.rampDownNotificationMessage = value
}
/**
* @param value Starting time for ramp down period.
*/
@JvmName("qboxoafivmrgdxge")
public suspend fun rampDownStartTime(`value`: Output) {
this.rampDownStartTime = value
}
/**
* @param value Specifies when to stop hosts during ramp down period.
*/
@JvmName("bndyednbuocvsvwi")
public suspend fun rampDownStopHostsWhen(`value`: Output>) {
this.rampDownStopHostsWhen = value
}
/**
* @param value Number of minutes to wait to stop hosts during ramp down period.
*/
@JvmName("ovhcwhkwfacfmxrh")
public suspend fun rampDownWaitTimeMinutes(`value`: Output) {
this.rampDownWaitTimeMinutes = value
}
/**
* @param value Capacity threshold for ramp up period.
*/
@JvmName("peyneaeurbgpoksc")
public suspend fun rampUpCapacityThresholdPct(`value`: Output) {
this.rampUpCapacityThresholdPct = value
}
/**
* @param value Load balancing algorithm for ramp up period.
*/
@JvmName("wdqmyqyryaqoxrym")
public suspend fun rampUpLoadBalancingAlgorithm(`value`: Output>) {
this.rampUpLoadBalancingAlgorithm = value
}
/**
* @param value Minimum host percentage for ramp up period.
*/
@JvmName("khlkjklyvkuasjgg")
public suspend fun rampUpMinimumHostsPct(`value`: Output) {
this.rampUpMinimumHostsPct = value
}
/**
* @param value Starting time for ramp up period.
*/
@JvmName("nvgspwohlyafqgrd")
public suspend fun rampUpStartTime(`value`: Output) {
this.rampUpStartTime = value
}
/**
* @param value Set of days of the week on which this schedule is active.
*/
@JvmName("yrblnbuyalvulxne")
public suspend fun daysOfWeek(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.daysOfWeek = mapped
}
/**
* @param values Set of days of the week on which this schedule is active.
*/
@JvmName("lqpbphcmcdunvlle")
public suspend fun daysOfWeek(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.daysOfWeek = mapped
}
/**
* @param value Name of the ScalingPlanPooledSchedule.
*/
@JvmName("bthrbukvtvkuehtk")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Load balancing algorithm for off-peak period.
*/
@JvmName("xtqkgrbtvdqvnmdv")
public suspend fun offPeakLoadBalancingAlgorithm(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.offPeakLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for off-peak period.
*/
@JvmName("wcfwlnmmbgucshho")
public fun offPeakLoadBalancingAlgorithm(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.offPeakLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for off-peak period.
*/
@JvmName("olpqhqqgmvgbvfwd")
public fun offPeakLoadBalancingAlgorithm(`value`: SessionHostLoadBalancingAlgorithm) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.offPeakLoadBalancingAlgorithm = mapped
}
/**
* @param value Starting time for off-peak period.
*/
@JvmName("ukyckatmrhvwfigd")
public suspend fun offPeakStartTime(`value`: TimeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.offPeakStartTime = mapped
}
/**
* @param argument Starting time for off-peak period.
*/
@JvmName("femioiiqinpvpvid")
public suspend fun offPeakStartTime(argument: suspend TimeArgsBuilder.() -> Unit) {
val toBeMapped = TimeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.offPeakStartTime = mapped
}
/**
* @param value Load balancing algorithm for peak period.
*/
@JvmName("hyloldgspboirrbp")
public suspend fun peakLoadBalancingAlgorithm(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.peakLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for peak period.
*/
@JvmName("wxxjgvjeyikpansp")
public fun peakLoadBalancingAlgorithm(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.peakLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for peak period.
*/
@JvmName("ihxbpeiqhbuoqipy")
public fun peakLoadBalancingAlgorithm(`value`: SessionHostLoadBalancingAlgorithm) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.peakLoadBalancingAlgorithm = mapped
}
/**
* @param value Starting time for peak period.
*/
@JvmName("lwmuwosocftlpife")
public suspend fun peakStartTime(`value`: TimeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.peakStartTime = mapped
}
/**
* @param argument Starting time for peak period.
*/
@JvmName("hdelaoboreujlgbj")
public suspend fun peakStartTime(argument: suspend TimeArgsBuilder.() -> Unit) {
val toBeMapped = TimeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.peakStartTime = mapped
}
/**
* @param value Capacity threshold for ramp down period.
*/
@JvmName("hsqfvctwqnfgshcb")
public suspend fun rampDownCapacityThresholdPct(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownCapacityThresholdPct = mapped
}
/**
* @param value Should users be logged off forcefully from hosts.
*/
@JvmName("rohekjxtudljujdm")
public suspend fun rampDownForceLogoffUsers(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownForceLogoffUsers = mapped
}
/**
* @param value Load balancing algorithm for ramp down period.
*/
@JvmName("ssxrlcagmrfhryrc")
public suspend fun rampDownLoadBalancingAlgorithm(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for ramp down period.
*/
@JvmName("wyqhtpnhmgofmkvn")
public fun rampDownLoadBalancingAlgorithm(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampDownLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for ramp down period.
*/
@JvmName("idolebhqjahyhbmt")
public fun rampDownLoadBalancingAlgorithm(`value`: SessionHostLoadBalancingAlgorithm) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampDownLoadBalancingAlgorithm = mapped
}
/**
* @param value Minimum host percentage for ramp down period.
*/
@JvmName("tbbmpsdpdpiqusqt")
public suspend fun rampDownMinimumHostsPct(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownMinimumHostsPct = mapped
}
/**
* @param value Notification message for users during ramp down period.
*/
@JvmName("okdttetovybpwisb")
public suspend fun rampDownNotificationMessage(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownNotificationMessage = mapped
}
/**
* @param value Starting time for ramp down period.
*/
@JvmName("qpblgvftqictrpco")
public suspend fun rampDownStartTime(`value`: TimeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownStartTime = mapped
}
/**
* @param argument Starting time for ramp down period.
*/
@JvmName("onlariprnoxtrcjy")
public suspend fun rampDownStartTime(argument: suspend TimeArgsBuilder.() -> Unit) {
val toBeMapped = TimeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.rampDownStartTime = mapped
}
/**
* @param value Specifies when to stop hosts during ramp down period.
*/
@JvmName("ofgwbcsmaciuewpr")
public suspend fun rampDownStopHostsWhen(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownStopHostsWhen = mapped
}
/**
* @param value Specifies when to stop hosts during ramp down period.
*/
@JvmName("mqmluysgfoqojduf")
public fun rampDownStopHostsWhen(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampDownStopHostsWhen = mapped
}
/**
* @param value Specifies when to stop hosts during ramp down period.
*/
@JvmName("gnnvrfhvhvpptgra")
public fun rampDownStopHostsWhen(`value`: StopHostsWhen) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampDownStopHostsWhen = mapped
}
/**
* @param value Number of minutes to wait to stop hosts during ramp down period.
*/
@JvmName("lxdedaamfrskorfs")
public suspend fun rampDownWaitTimeMinutes(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampDownWaitTimeMinutes = mapped
}
/**
* @param value Capacity threshold for ramp up period.
*/
@JvmName("vbdgeauphyklxupn")
public suspend fun rampUpCapacityThresholdPct(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampUpCapacityThresholdPct = mapped
}
/**
* @param value Load balancing algorithm for ramp up period.
*/
@JvmName("bwnkpaqylfrfmxtg")
public suspend fun rampUpLoadBalancingAlgorithm(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampUpLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for ramp up period.
*/
@JvmName("dfwoqkbmrkwmlcfs")
public fun rampUpLoadBalancingAlgorithm(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampUpLoadBalancingAlgorithm = mapped
}
/**
* @param value Load balancing algorithm for ramp up period.
*/
@JvmName("ckimchbbpvmtpkfr")
public fun rampUpLoadBalancingAlgorithm(`value`: SessionHostLoadBalancingAlgorithm) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.rampUpLoadBalancingAlgorithm = mapped
}
/**
* @param value Minimum host percentage for ramp up period.
*/
@JvmName("ojmslbtbnrybdpyx")
public suspend fun rampUpMinimumHostsPct(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampUpMinimumHostsPct = mapped
}
/**
* @param value Starting time for ramp up period.
*/
@JvmName("tlqxdefblauluwdb")
public suspend fun rampUpStartTime(`value`: TimeArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rampUpStartTime = mapped
}
/**
* @param argument Starting time for ramp up period.
*/
@JvmName("ghrajtkibpdcxgrr")
public suspend fun rampUpStartTime(argument: suspend TimeArgsBuilder.() -> Unit) {
val toBeMapped = TimeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.rampUpStartTime = mapped
}
internal fun build(): ScalingScheduleArgs = ScalingScheduleArgs(
daysOfWeek = daysOfWeek,
name = name,
offPeakLoadBalancingAlgorithm = offPeakLoadBalancingAlgorithm,
offPeakStartTime = offPeakStartTime,
peakLoadBalancingAlgorithm = peakLoadBalancingAlgorithm,
peakStartTime = peakStartTime,
rampDownCapacityThresholdPct = rampDownCapacityThresholdPct,
rampDownForceLogoffUsers = rampDownForceLogoffUsers,
rampDownLoadBalancingAlgorithm = rampDownLoadBalancingAlgorithm,
rampDownMinimumHostsPct = rampDownMinimumHostsPct,
rampDownNotificationMessage = rampDownNotificationMessage,
rampDownStartTime = rampDownStartTime,
rampDownStopHostsWhen = rampDownStopHostsWhen,
rampDownWaitTimeMinutes = rampDownWaitTimeMinutes,
rampUpCapacityThresholdPct = rampUpCapacityThresholdPct,
rampUpLoadBalancingAlgorithm = rampUpLoadBalancingAlgorithm,
rampUpMinimumHostsPct = rampUpMinimumHostsPct,
rampUpStartTime = rampUpStartTime,
)
}