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

com.pulumi.azurenative.maintenance.kotlin.inputs.MaintenanceOverridePropertiesArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.maintenance.kotlin.inputs

import com.pulumi.azurenative.maintenance.inputs.MaintenanceOverridePropertiesArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Definition of a MaintenanceOverrideProperties
 * @property endDateTime Effective end date of the maintenance override window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.
 * @property overrideProperties Gets or sets overrideProperties of the maintenanceConfiguration
 * @property startDateTime Effective start date of the maintenance override window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.
 * @property timeZone Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.
 */
public data class MaintenanceOverridePropertiesArgs(
    public val endDateTime: Output? = null,
    public val overrideProperties: Output>? = null,
    public val startDateTime: Output? = null,
    public val timeZone: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.maintenance.inputs.MaintenanceOverridePropertiesArgs = com.pulumi.azurenative.maintenance.inputs.MaintenanceOverridePropertiesArgs.builder()
        .endDateTime(endDateTime?.applyValue({ args0 -> args0 }))
        .overrideProperties(
            overrideProperties?.applyValue({ args0 ->
                args0.map({ args0 ->
                    args0.key.to(args0.value)
                }).toMap()
            }),
        )
        .startDateTime(startDateTime?.applyValue({ args0 -> args0 }))
        .timeZone(timeZone?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [MaintenanceOverridePropertiesArgs].
 */
@PulumiTagMarker
public class MaintenanceOverridePropertiesArgsBuilder internal constructor() {
    private var endDateTime: Output? = null

    private var overrideProperties: Output>? = null

    private var startDateTime: Output? = null

    private var timeZone: Output? = null

    /**
     * @param value Effective end date of the maintenance override window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.
     */
    @JvmName("fjksxjeddnkqxyyp")
    public suspend fun endDateTime(`value`: Output) {
        this.endDateTime = value
    }

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

    /**
     * @param value Effective start date of the maintenance override window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.
     */
    @JvmName("xisgqrtysrbcdwfn")
    public suspend fun startDateTime(`value`: Output) {
        this.startDateTime = value
    }

    /**
     * @param value Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.
     */
    @JvmName("mkilhtscfbctuawb")
    public suspend fun timeZone(`value`: Output) {
        this.timeZone = value
    }

    /**
     * @param value Effective end date of the maintenance override window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.
     */
    @JvmName("jlbhpxqwyascooii")
    public suspend fun endDateTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.endDateTime = mapped
    }

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

    /**
     * @param values Gets or sets overrideProperties of the maintenanceConfiguration
     */
    @JvmName("okmdfkmqkjyvecwf")
    public fun overrideProperties(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.overrideProperties = mapped
    }

    /**
     * @param value Effective start date of the maintenance override window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.
     */
    @JvmName("axgsengvsvptwrkr")
    public suspend fun startDateTime(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.startDateTime = mapped
    }

    /**
     * @param value Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.
     */
    @JvmName("fbveoyoflcxpmxjn")
    public suspend fun timeZone(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timeZone = mapped
    }

    internal fun build(): MaintenanceOverridePropertiesArgs = MaintenanceOverridePropertiesArgs(
        endDateTime = endDateTime,
        overrideProperties = overrideProperties,
        startDateTime = startDateTime,
        timeZone = timeZone,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy