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

com.pulumi.azure.compute.kotlin.inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.compute.kotlin.inputs

import com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.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.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property enabled Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
 * @property gracePeriod Amount of time (in minutes, between 30 and 90) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format. Defaults to `PT30M`.
 */
public data class WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs(
    public val enabled: Output,
    public val gracePeriod: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava():
        com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs =
        com.pulumi.azure.compute.inputs.WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs.builder()
            .enabled(enabled.applyValue({ args0 -> args0 }))
            .gracePeriod(gracePeriod?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs].
 */
@PulumiTagMarker
public class WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgsBuilder internal constructor() {
    private var enabled: Output? = null

    private var gracePeriod: Output? = null

    /**
     * @param value Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
     */
    @JvmName("roytrsvikovegvwi")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value Amount of time (in minutes, between 30 and 90) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format. Defaults to `PT30M`.
     */
    @JvmName("uogrlrvqxmkyomqj")
    public suspend fun gracePeriod(`value`: Output) {
        this.gracePeriod = value
    }

    /**
     * @param value Should the automatic instance repair be enabled on this Virtual Machine Scale Set?
     */
    @JvmName("rqenrxhrcfloaktm")
    public suspend fun enabled(`value`: Boolean) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value Amount of time (in minutes, between 30 and 90) for which automatic repairs will be delayed. The grace period starts right after the VM is found unhealthy. The time duration should be specified in ISO 8601 format. Defaults to `PT30M`.
     */
    @JvmName("aavygilsiaxhhrwi")
    public suspend fun gracePeriod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.gracePeriod = mapped
    }

    internal fun build(): WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs =
        WindowsVirtualMachineScaleSetAutomaticInstanceRepairArgs(
            enabled = enabled ?: throw PulumiNullFieldException("enabled"),
            gracePeriod = gracePeriod,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy