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

com.pulumi.googlenative.osconfig.v1.kotlin.inputs.PatchConfigArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.osconfig.v1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.osconfig.v1.inputs.PatchConfigArgs.builder
import com.pulumi.googlenative.osconfig.v1.kotlin.enums.PatchConfigRebootConfig
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance.
 * @property apt Apt update settings. Use this setting to override the default `apt` patch rules.
 * @property goo Goo update settings. Use this setting to override the default `goo` patch rules.
 * @property migInstancesAllowed Allows the patch job to run on Managed instance groups (MIGs).
 * @property postStep The `ExecStep` to run after the patch update.
 * @property preStep The `ExecStep` to run before the patch update.
 * @property rebootConfig Post-patch reboot settings.
 * @property windowsUpdate Windows update settings. Use this override the default windows patch rules.
 * @property yum Yum update settings. Use this setting to override the default `yum` patch rules.
 * @property zypper Zypper update settings. Use this setting to override the default `zypper` patch rules.
 */
public data class PatchConfigArgs(
    public val apt: Output? = null,
    public val goo: Output? = null,
    public val migInstancesAllowed: Output? = null,
    public val postStep: Output? = null,
    public val preStep: Output? = null,
    public val rebootConfig: Output? = null,
    public val windowsUpdate: Output? = null,
    public val yum: Output? = null,
    public val zypper: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.osconfig.v1.inputs.PatchConfigArgs =
        com.pulumi.googlenative.osconfig.v1.inputs.PatchConfigArgs.builder()
            .apt(apt?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .goo(goo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .migInstancesAllowed(migInstancesAllowed?.applyValue({ args0 -> args0 }))
            .postStep(postStep?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .preStep(preStep?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .rebootConfig(rebootConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .windowsUpdate(windowsUpdate?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .yum(yum?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .zypper(zypper?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [PatchConfigArgs].
 */
@PulumiTagMarker
public class PatchConfigArgsBuilder internal constructor() {
    private var apt: Output? = null

    private var goo: Output? = null

    private var migInstancesAllowed: Output? = null

    private var postStep: Output? = null

    private var preStep: Output? = null

    private var rebootConfig: Output? = null

    private var windowsUpdate: Output? = null

    private var yum: Output? = null

    private var zypper: Output? = null

    /**
     * @param value Apt update settings. Use this setting to override the default `apt` patch rules.
     */
    @JvmName("okguffpairdoxftg")
    public suspend fun apt(`value`: Output) {
        this.apt = value
    }

    /**
     * @param value Goo update settings. Use this setting to override the default `goo` patch rules.
     */
    @JvmName("evhnakgdfklnbsqp")
    public suspend fun goo(`value`: Output) {
        this.goo = value
    }

    /**
     * @param value Allows the patch job to run on Managed instance groups (MIGs).
     */
    @JvmName("vyamrtgxancgxcui")
    public suspend fun migInstancesAllowed(`value`: Output) {
        this.migInstancesAllowed = value
    }

    /**
     * @param value The `ExecStep` to run after the patch update.
     */
    @JvmName("xoccqegnjmifylyu")
    public suspend fun postStep(`value`: Output) {
        this.postStep = value
    }

    /**
     * @param value The `ExecStep` to run before the patch update.
     */
    @JvmName("nkidjsqdktqlwhel")
    public suspend fun preStep(`value`: Output) {
        this.preStep = value
    }

    /**
     * @param value Post-patch reboot settings.
     */
    @JvmName("ienjexthxgvautbv")
    public suspend fun rebootConfig(`value`: Output) {
        this.rebootConfig = value
    }

    /**
     * @param value Windows update settings. Use this override the default windows patch rules.
     */
    @JvmName("gvbqwvkyuyqwatll")
    public suspend fun windowsUpdate(`value`: Output) {
        this.windowsUpdate = value
    }

    /**
     * @param value Yum update settings. Use this setting to override the default `yum` patch rules.
     */
    @JvmName("tqrbfasikohdutmy")
    public suspend fun yum(`value`: Output) {
        this.yum = value
    }

    /**
     * @param value Zypper update settings. Use this setting to override the default `zypper` patch rules.
     */
    @JvmName("fqsnmefjsdfyopry")
    public suspend fun zypper(`value`: Output) {
        this.zypper = value
    }

    /**
     * @param value Apt update settings. Use this setting to override the default `apt` patch rules.
     */
    @JvmName("ihvklgspvnwjfiih")
    public suspend fun apt(`value`: AptSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.apt = mapped
    }

    /**
     * @param argument Apt update settings. Use this setting to override the default `apt` patch rules.
     */
    @JvmName("cdcopmulkojqyayr")
    public suspend fun apt(argument: suspend AptSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = AptSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.apt = mapped
    }

    /**
     * @param value Goo update settings. Use this setting to override the default `goo` patch rules.
     */
    @JvmName("gcxwmgagkyulcqsp")
    public suspend fun goo(`value`: GooSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.goo = mapped
    }

    /**
     * @param argument Goo update settings. Use this setting to override the default `goo` patch rules.
     */
    @JvmName("pderowgqfwebpeai")
    public suspend fun goo(argument: suspend GooSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = GooSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.goo = mapped
    }

    /**
     * @param value Allows the patch job to run on Managed instance groups (MIGs).
     */
    @JvmName("vojppxakfpriukmb")
    public suspend fun migInstancesAllowed(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.migInstancesAllowed = mapped
    }

    /**
     * @param value The `ExecStep` to run after the patch update.
     */
    @JvmName("ojnoiiagikauuird")
    public suspend fun postStep(`value`: ExecStepArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.postStep = mapped
    }

    /**
     * @param argument The `ExecStep` to run after the patch update.
     */
    @JvmName("rjfdxvqwfjsfytvc")
    public suspend fun postStep(argument: suspend ExecStepArgsBuilder.() -> Unit) {
        val toBeMapped = ExecStepArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.postStep = mapped
    }

    /**
     * @param value The `ExecStep` to run before the patch update.
     */
    @JvmName("cymmkjgtrbvquqnp")
    public suspend fun preStep(`value`: ExecStepArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.preStep = mapped
    }

    /**
     * @param argument The `ExecStep` to run before the patch update.
     */
    @JvmName("thmqmqriktwshopu")
    public suspend fun preStep(argument: suspend ExecStepArgsBuilder.() -> Unit) {
        val toBeMapped = ExecStepArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.preStep = mapped
    }

    /**
     * @param value Post-patch reboot settings.
     */
    @JvmName("nfmstdkimklsiluc")
    public suspend fun rebootConfig(`value`: PatchConfigRebootConfig?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rebootConfig = mapped
    }

    /**
     * @param value Windows update settings. Use this override the default windows patch rules.
     */
    @JvmName("balvorkadrcllawq")
    public suspend fun windowsUpdate(`value`: WindowsUpdateSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.windowsUpdate = mapped
    }

    /**
     * @param argument Windows update settings. Use this override the default windows patch rules.
     */
    @JvmName("cqsktewudnxwqpak")
    public suspend fun windowsUpdate(argument: suspend WindowsUpdateSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = WindowsUpdateSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.windowsUpdate = mapped
    }

    /**
     * @param value Yum update settings. Use this setting to override the default `yum` patch rules.
     */
    @JvmName("majycdbluximslpb")
    public suspend fun yum(`value`: YumSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.yum = mapped
    }

    /**
     * @param argument Yum update settings. Use this setting to override the default `yum` patch rules.
     */
    @JvmName("ifvoejpisboppwxw")
    public suspend fun yum(argument: suspend YumSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = YumSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.yum = mapped
    }

    /**
     * @param value Zypper update settings. Use this setting to override the default `zypper` patch rules.
     */
    @JvmName("ulfnrbdosuynprhk")
    public suspend fun zypper(`value`: ZypperSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.zypper = mapped
    }

    /**
     * @param argument Zypper update settings. Use this setting to override the default `zypper` patch rules.
     */
    @JvmName("bmvnaxnuguaqnsfe")
    public suspend fun zypper(argument: suspend ZypperSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = ZypperSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.zypper = mapped
    }

    internal fun build(): PatchConfigArgs = PatchConfigArgs(
        apt = apt,
        goo = goo,
        migInstancesAllowed = migInstancesAllowed,
        postStep = postStep,
        preStep = preStep,
        rebootConfig = rebootConfig,
        windowsUpdate = windowsUpdate,
        yum = yum,
        zypper = zypper,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy