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

com.pulumi.azurenative.automation.kotlin.inputs.SUCSchedulePropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.automation.kotlin.inputs

import com.pulumi.azurenative.automation.inputs.SUCSchedulePropertiesArgs.builder
import com.pulumi.azurenative.automation.kotlin.enums.ScheduleFrequency
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.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Definition of schedule parameters.
 * @property advancedSchedule Gets or sets the advanced schedule.
 * @property creationTime Gets or sets the creation time.
 * @property description Gets or sets the description.
 * @property expiryTime Gets or sets the end time of the schedule.
 * @property expiryTimeOffsetMinutes Gets or sets the expiry time's offset in minutes.
 * @property frequency Gets or sets the frequency of the schedule.
 * @property interval Gets or sets the interval of the schedule.
 * @property isEnabled Gets or sets a value indicating whether this schedule is enabled.
 * @property lastModifiedTime Gets or sets the last modified time.
 * @property nextRun Gets or sets the next run time of the schedule.
 * @property nextRunOffsetMinutes Gets or sets the next run time's offset in minutes.
 * @property startTime Gets or sets the start time of the schedule.
 * @property timeZone Gets or sets the time zone of the schedule.
 */
public data class SUCSchedulePropertiesArgs(
    public val advancedSchedule: Output? = null,
    public val creationTime: Output? = null,
    public val description: Output? = null,
    public val expiryTime: Output? = null,
    public val expiryTimeOffsetMinutes: Output? = null,
    public val frequency: Output>? = null,
    public val interval: Output? = null,
    public val isEnabled: Output? = null,
    public val lastModifiedTime: Output? = null,
    public val nextRun: Output? = null,
    public val nextRunOffsetMinutes: Output? = null,
    public val startTime: Output? = null,
    public val timeZone: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.automation.inputs.SUCSchedulePropertiesArgs =
        com.pulumi.azurenative.automation.inputs.SUCSchedulePropertiesArgs.builder()
            .advancedSchedule(advancedSchedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .creationTime(creationTime?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .expiryTime(expiryTime?.applyValue({ args0 -> args0 }))
            .expiryTimeOffsetMinutes(expiryTimeOffsetMinutes?.applyValue({ args0 -> args0 }))
            .frequency(
                frequency?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .interval(interval?.applyValue({ args0 -> args0 }))
            .isEnabled(isEnabled?.applyValue({ args0 -> args0 }))
            .lastModifiedTime(lastModifiedTime?.applyValue({ args0 -> args0 }))
            .nextRun(nextRun?.applyValue({ args0 -> args0 }))
            .nextRunOffsetMinutes(nextRunOffsetMinutes?.applyValue({ args0 -> args0 }))
            .startTime(startTime?.applyValue({ args0 -> args0 }))
            .timeZone(timeZone?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [SUCSchedulePropertiesArgs].
 */
@PulumiTagMarker
public class SUCSchedulePropertiesArgsBuilder internal constructor() {
    private var advancedSchedule: Output? = null

    private var creationTime: Output? = null

    private var description: Output? = null

    private var expiryTime: Output? = null

    private var expiryTimeOffsetMinutes: Output? = null

    private var frequency: Output>? = null

    private var interval: Output? = null

    private var isEnabled: Output? = null

    private var lastModifiedTime: Output? = null

    private var nextRun: Output? = null

    private var nextRunOffsetMinutes: Output? = null

    private var startTime: Output? = null

    private var timeZone: Output? = null

    /**
     * @param value Gets or sets the advanced schedule.
     */
    @JvmName("xpqlhmhlndcnkkjw")
    public suspend fun advancedSchedule(`value`: Output) {
        this.advancedSchedule = value
    }

    /**
     * @param value Gets or sets the creation time.
     */
    @JvmName("pgclnqjhhgynvtyu")
    public suspend fun creationTime(`value`: Output) {
        this.creationTime = value
    }

    /**
     * @param value Gets or sets the description.
     */
    @JvmName("amgfxpupytttaxbb")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Gets or sets the end time of the schedule.
     */
    @JvmName("qjgbjjlwqkgsmsyv")
    public suspend fun expiryTime(`value`: Output) {
        this.expiryTime = value
    }

    /**
     * @param value Gets or sets the expiry time's offset in minutes.
     */
    @JvmName("ntnkcybawvjvheeb")
    public suspend fun expiryTimeOffsetMinutes(`value`: Output) {
        this.expiryTimeOffsetMinutes = value
    }

    /**
     * @param value Gets or sets the frequency of the schedule.
     */
    @JvmName("peodmnwhclmtdpmu")
    public suspend fun frequency(`value`: Output>) {
        this.frequency = value
    }

    /**
     * @param value Gets or sets the interval of the schedule.
     */
    @JvmName("lleveunclopddywu")
    public suspend fun interval(`value`: Output) {
        this.interval = value
    }

    /**
     * @param value Gets or sets a value indicating whether this schedule is enabled.
     */
    @JvmName("wpggcwbtonddcdgh")
    public suspend fun isEnabled(`value`: Output) {
        this.isEnabled = value
    }

    /**
     * @param value Gets or sets the last modified time.
     */
    @JvmName("mnuxodcrlsxjglns")
    public suspend fun lastModifiedTime(`value`: Output) {
        this.lastModifiedTime = value
    }

    /**
     * @param value Gets or sets the next run time of the schedule.
     */
    @JvmName("bpqhhmupttfbwrau")
    public suspend fun nextRun(`value`: Output) {
        this.nextRun = value
    }

    /**
     * @param value Gets or sets the next run time's offset in minutes.
     */
    @JvmName("elimkgeiowjufvgr")
    public suspend fun nextRunOffsetMinutes(`value`: Output) {
        this.nextRunOffsetMinutes = value
    }

    /**
     * @param value Gets or sets the start time of the schedule.
     */
    @JvmName("fyhhvewjqbifjtqj")
    public suspend fun startTime(`value`: Output) {
        this.startTime = value
    }

    /**
     * @param value Gets or sets the time zone of the schedule.
     */
    @JvmName("cpumgyekpeyvjoec")
    public suspend fun timeZone(`value`: Output) {
        this.timeZone = value
    }

    /**
     * @param value Gets or sets the advanced schedule.
     */
    @JvmName("btibdmleeoqsoafp")
    public suspend fun advancedSchedule(`value`: AdvancedScheduleArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.advancedSchedule = mapped
    }

    /**
     * @param argument Gets or sets the advanced schedule.
     */
    @JvmName("tsxfwqsftcjjhiql")
    public suspend fun advancedSchedule(argument: suspend AdvancedScheduleArgsBuilder.() -> Unit) {
        val toBeMapped = AdvancedScheduleArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.advancedSchedule = mapped
    }

    /**
     * @param value Gets or sets the creation time.
     */
    @JvmName("pphylvhbgswhgxcs")
    public suspend fun creationTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.creationTime = mapped
    }

    /**
     * @param value Gets or sets the description.
     */
    @JvmName("mocqncwrgcnydstw")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Gets or sets the end time of the schedule.
     */
    @JvmName("unmobyckywskermj")
    public suspend fun expiryTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.expiryTime = mapped
    }

    /**
     * @param value Gets or sets the expiry time's offset in minutes.
     */
    @JvmName("wefaphpxjkjbgllq")
    public suspend fun expiryTimeOffsetMinutes(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.expiryTimeOffsetMinutes = mapped
    }

    /**
     * @param value Gets or sets the frequency of the schedule.
     */
    @JvmName("xpnqyccirbhbbmbb")
    public suspend fun frequency(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.frequency = mapped
    }

    /**
     * @param value Gets or sets the frequency of the schedule.
     */
    @JvmName("ggrfbnkigaeqygkh")
    public fun frequency(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.frequency = mapped
    }

    /**
     * @param value Gets or sets the frequency of the schedule.
     */
    @JvmName("etyubrntjjpqihox")
    public fun frequency(`value`: ScheduleFrequency) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.frequency = mapped
    }

    /**
     * @param value Gets or sets the interval of the schedule.
     */
    @JvmName("aekqjtmfowdqchjg")
    public suspend fun interval(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.interval = mapped
    }

    /**
     * @param value Gets or sets a value indicating whether this schedule is enabled.
     */
    @JvmName("goydfctrecasttur")
    public suspend fun isEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.isEnabled = mapped
    }

    /**
     * @param value Gets or sets the last modified time.
     */
    @JvmName("xlrwceagyhxovfbt")
    public suspend fun lastModifiedTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lastModifiedTime = mapped
    }

    /**
     * @param value Gets or sets the next run time of the schedule.
     */
    @JvmName("eurkwhgnumbxlehx")
    public suspend fun nextRun(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nextRun = mapped
    }

    /**
     * @param value Gets or sets the next run time's offset in minutes.
     */
    @JvmName("fvtyjnqnxayxjtpg")
    public suspend fun nextRunOffsetMinutes(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nextRunOffsetMinutes = mapped
    }

    /**
     * @param value Gets or sets the start time of the schedule.
     */
    @JvmName("idfqqhfwokfqaomp")
    public suspend fun startTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.startTime = mapped
    }

    /**
     * @param value Gets or sets the time zone of the schedule.
     */
    @JvmName("lvnkigqwhighaodl")
    public suspend fun timeZone(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeZone = mapped
    }

    internal fun build(): SUCSchedulePropertiesArgs = SUCSchedulePropertiesArgs(
        advancedSchedule = advancedSchedule,
        creationTime = creationTime,
        description = description,
        expiryTime = expiryTime,
        expiryTimeOffsetMinutes = expiryTimeOffsetMinutes,
        frequency = frequency,
        interval = interval,
        isEnabled = isEnabled,
        lastModifiedTime = lastModifiedTime,
        nextRun = nextRun,
        nextRunOffsetMinutes = nextRunOffsetMinutes,
        startTime = startTime,
        timeZone = timeZone,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy