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

com.pulumi.azure.compute.kotlin.inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs.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.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs.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 com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property additionalUnattendContents One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
 * @property adminPassword The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
 * @property adminUsername The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
 * @property computerNamePrefix The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`. Changing this forces a new resource to be created.
 * @property enableAutomaticUpdates Are automatic updates enabled for this Virtual Machine? Defaults to `true`.
 * @property hotpatchingEnabled Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).
 * > **Note:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, the VM's `sku_name` is set to a Azure generation 2 directory within the GitHub Repository.
 * @property patchAssessmentMode Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.
 * > **Note:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.
 * @property patchMode Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).
 * > **Note:** If `patch_mode` is set to `AutomaticByPlatform` the `provision_vm_agent` must be set to `true` and the `extension` must contain at least one application health extension.
 * @property provisionVmAgent Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. Changing this value forces a new resource to be created.
 * @property secrets One or more `secret` blocks as defined below.
 * @property timezone Specifies the time zone of the virtual machine, the possible values are defined [here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
 * @property winrmListeners One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
 */
public data class OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs(
    public val additionalUnattendContents: Output>? =
        null,
    public val adminPassword: Output,
    public val adminUsername: Output,
    public val computerNamePrefix: Output? = null,
    public val enableAutomaticUpdates: Output? = null,
    public val hotpatchingEnabled: Output? = null,
    public val patchAssessmentMode: Output? = null,
    public val patchMode: Output? = null,
    public val provisionVmAgent: Output? = null,
    public val secrets: Output>? =
        null,
    public val timezone: Output? = null,
    public val winrmListeners: Output>? =
        null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs =
        com.pulumi.azure.compute.inputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs.builder()
            .additionalUnattendContents(
                additionalUnattendContents?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .adminPassword(adminPassword.applyValue({ args0 -> args0 }))
            .adminUsername(adminUsername.applyValue({ args0 -> args0 }))
            .computerNamePrefix(computerNamePrefix?.applyValue({ args0 -> args0 }))
            .enableAutomaticUpdates(enableAutomaticUpdates?.applyValue({ args0 -> args0 }))
            .hotpatchingEnabled(hotpatchingEnabled?.applyValue({ args0 -> args0 }))
            .patchAssessmentMode(patchAssessmentMode?.applyValue({ args0 -> args0 }))
            .patchMode(patchMode?.applyValue({ args0 -> args0 }))
            .provisionVmAgent(provisionVmAgent?.applyValue({ args0 -> args0 }))
            .secrets(
                secrets?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .timezone(timezone?.applyValue({ args0 -> args0 }))
            .winrmListeners(
                winrmListeners?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

/**
 * Builder for [OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs].
 */
@PulumiTagMarker
public class OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgsBuilder internal constructor() {
    private var additionalUnattendContents:
        Output>? =
        null

    private var adminPassword: Output? = null

    private var adminUsername: Output? = null

    private var computerNamePrefix: Output? = null

    private var enableAutomaticUpdates: Output? = null

    private var hotpatchingEnabled: Output? = null

    private var patchAssessmentMode: Output? = null

    private var patchMode: Output? = null

    private var provisionVmAgent: Output? = null

    private var secrets:
        Output>? =
        null

    private var timezone: Output? = null

    private var winrmListeners:
        Output>? =
        null

    /**
     * @param value One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("xyhlhadspsodxymh")
    public suspend fun additionalUnattendContents(`value`: Output>) {
        this.additionalUnattendContents = value
    }

    @JvmName("otiwrongwmiiikww")
    public suspend fun additionalUnattendContents(vararg values: Output) {
        this.additionalUnattendContents = Output.all(values.asList())
    }

    /**
     * @param values One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("xokiuhrdanjyucht")
    public suspend fun additionalUnattendContents(values: List>) {
        this.additionalUnattendContents = Output.all(values)
    }

    /**
     * @param value The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
     */
    @JvmName("nowrsrdoajplcnba")
    public suspend fun adminPassword(`value`: Output) {
        this.adminPassword = value
    }

    /**
     * @param value The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
     */
    @JvmName("koucliqkvlvorsya")
    public suspend fun adminUsername(`value`: Output) {
        this.adminUsername = value
    }

    /**
     * @param value The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`. Changing this forces a new resource to be created.
     */
    @JvmName("xelplretqlwhkisr")
    public suspend fun computerNamePrefix(`value`: Output) {
        this.computerNamePrefix = value
    }

    /**
     * @param value Are automatic updates enabled for this Virtual Machine? Defaults to `true`.
     */
    @JvmName("ladisgypnttnjvsh")
    public suspend fun enableAutomaticUpdates(`value`: Output) {
        this.enableAutomaticUpdates = value
    }

    /**
     * @param value Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).
     * > **Note:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, the VM's `sku_name` is set to a Azure generation 2 directory within the GitHub Repository.
     */
    @JvmName("nscfgnhwkhpjijxo")
    public suspend fun hotpatchingEnabled(`value`: Output) {
        this.hotpatchingEnabled = value
    }

    /**
     * @param value Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.
     * > **Note:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.
     */
    @JvmName("airyastcpuhcchij")
    public suspend fun patchAssessmentMode(`value`: Output) {
        this.patchAssessmentMode = value
    }

    /**
     * @param value Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).
     * > **Note:** If `patch_mode` is set to `AutomaticByPlatform` the `provision_vm_agent` must be set to `true` and the `extension` must contain at least one application health extension.
     */
    @JvmName("rewkwpaioihbmoia")
    public suspend fun patchMode(`value`: Output) {
        this.patchMode = value
    }

    /**
     * @param value Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. Changing this value forces a new resource to be created.
     */
    @JvmName("ijmetcguymppavio")
    public suspend fun provisionVmAgent(`value`: Output) {
        this.provisionVmAgent = value
    }

    /**
     * @param value One or more `secret` blocks as defined below.
     */
    @JvmName("wplyoqruflxopwii")
    public suspend fun secrets(`value`: Output>) {
        this.secrets = value
    }

    @JvmName("ecrqunakgttvepnf")
    public suspend fun secrets(vararg values: Output) {
        this.secrets = Output.all(values.asList())
    }

    /**
     * @param values One or more `secret` blocks as defined below.
     */
    @JvmName("sdgvruyajriehwat")
    public suspend fun secrets(values: List>) {
        this.secrets = Output.all(values)
    }

    /**
     * @param value Specifies the time zone of the virtual machine, the possible values are defined [here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
     */
    @JvmName("pdbyasaggebbdmws")
    public suspend fun timezone(`value`: Output) {
        this.timezone = value
    }

    /**
     * @param value One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("afcdvcojjcdvnbjx")
    public suspend fun winrmListeners(`value`: Output>) {
        this.winrmListeners = value
    }

    @JvmName("jpvpfkirpoamnmhb")
    public suspend fun winrmListeners(vararg values: Output) {
        this.winrmListeners = Output.all(values.asList())
    }

    /**
     * @param values One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("tegobhhnbfbtqsvu")
    public suspend fun winrmListeners(values: List>) {
        this.winrmListeners = Output.all(values)
    }

    /**
     * @param value One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("mxssvjkupeyekvjl")
    public suspend fun additionalUnattendContents(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.additionalUnattendContents = mapped
    }

    /**
     * @param argument One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("nmllhcwrhosrldbw")
    public suspend fun additionalUnattendContents(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.additionalUnattendContents = mapped
    }

    /**
     * @param argument One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("vwtodcmganmmjkmk")
    public suspend fun additionalUnattendContents(vararg argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.additionalUnattendContents = mapped
    }

    /**
     * @param argument One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("mjaydcogcwrjvgmp")
    public suspend fun additionalUnattendContents(argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.additionalUnattendContents = mapped
    }

    /**
     * @param values One or more `additional_unattend_content` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("qdsuhcsngoqjxfcl")
    public suspend fun additionalUnattendContents(vararg values: OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContentArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.additionalUnattendContents = mapped
    }

    /**
     * @param value The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
     */
    @JvmName("gmlrcoqurfkshfuu")
    public suspend fun adminPassword(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.adminPassword = mapped
    }

    /**
     * @param value The username of the local administrator on each Virtual Machine Scale Set instance. Changing this forces a new resource to be created.
     */
    @JvmName("aaalgmxkkwubjytr")
    public suspend fun adminUsername(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.adminUsername = mapped
    }

    /**
     * @param value The prefix which should be used for the name of the Virtual Machines in this Scale Set. If unspecified this defaults to the value for the `name` field. If the value of the `name` field is not a valid `computer_name_prefix`, then you must specify `computer_name_prefix`. Changing this forces a new resource to be created.
     */
    @JvmName("lepimmgdxoqucdkc")
    public suspend fun computerNamePrefix(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.computerNamePrefix = mapped
    }

    /**
     * @param value Are automatic updates enabled for this Virtual Machine? Defaults to `true`.
     */
    @JvmName("kywbgfvxyorafnsa")
    public suspend fun enableAutomaticUpdates(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableAutomaticUpdates = mapped
    }

    /**
     * @param value Should the VM be patched without requiring a reboot? Possible values are `true` or `false`. Defaults to `false`. For more information about hot patching please see the [product documentation](https://docs.microsoft.com/azure/automanage/automanage-hotpatch).
     * > **Note:** Hotpatching can only be enabled if the `patch_mode` is set to `AutomaticByPlatform`, the `provision_vm_agent` is set to `true`, your `source_image_reference` references a hotpatching enabled image, the VM's `sku_name` is set to a Azure generation 2 directory within the GitHub Repository.
     */
    @JvmName("qwrdpbmoipxvharg")
    public suspend fun hotpatchingEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hotpatchingEnabled = mapped
    }

    /**
     * @param value Specifies the mode of VM Guest Patching for the virtual machines that are associated to the Virtual Machine Scale Set. Possible values are `AutomaticByPlatform` or `ImageDefault`. Defaults to `ImageDefault`.
     * > **Note:** If the `patch_assessment_mode` is set to `AutomaticByPlatform` then the `provision_vm_agent` field must be set to `true`.
     */
    @JvmName("imbfgdtvndffdeiw")
    public suspend fun patchAssessmentMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.patchAssessmentMode = mapped
    }

    /**
     * @param value Specifies the mode of in-guest patching of this Windows Virtual Machine. Possible values are `Manual`, `AutomaticByOS` and `AutomaticByPlatform`. Defaults to `AutomaticByOS`. For more information on patch modes please see the [product documentation](https://docs.microsoft.com/azure/virtual-machines/automatic-vm-guest-patching#patch-orchestration-modes).
     * > **Note:** If `patch_mode` is set to `AutomaticByPlatform` the `provision_vm_agent` must be set to `true` and the `extension` must contain at least one application health extension.
     */
    @JvmName("asogfyesuokwsjky")
    public suspend fun patchMode(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.patchMode = mapped
    }

    /**
     * @param value Should the Azure VM Agent be provisioned on each Virtual Machine in the Scale Set? Defaults to `true`. Changing this value forces a new resource to be created.
     */
    @JvmName("llyfhlnmyqgijvoo")
    public suspend fun provisionVmAgent(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.provisionVmAgent = mapped
    }

    /**
     * @param value One or more `secret` blocks as defined below.
     */
    @JvmName("pykhffcufqghyisf")
    public suspend fun secrets(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.secrets = mapped
    }

    /**
     * @param argument One or more `secret` blocks as defined below.
     */
    @JvmName("qostuhggpslditle")
    public suspend fun secrets(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.secrets = mapped
    }

    /**
     * @param argument One or more `secret` blocks as defined below.
     */
    @JvmName("sawwnflqnbrihtcn")
    public suspend fun secrets(vararg argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.secrets = mapped
    }

    /**
     * @param argument One or more `secret` blocks as defined below.
     */
    @JvmName("jnbwkqolbglrqubw")
    public suspend fun secrets(argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.secrets = mapped
    }

    /**
     * @param values One or more `secret` blocks as defined below.
     */
    @JvmName("sgkrctvecvyysbfw")
    public suspend fun secrets(vararg values: OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecretArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.secrets = mapped
    }

    /**
     * @param value Specifies the time zone of the virtual machine, the possible values are defined [here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
     */
    @JvmName("jeupgfnahpvomind")
    public suspend fun timezone(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.timezone = mapped
    }

    /**
     * @param value One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("ljbqfxhhgbhgvkll")
    public suspend fun winrmListeners(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.winrmListeners = mapped
    }

    /**
     * @param argument One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("yybvxjfrxdbyfhyt")
    public suspend fun winrmListeners(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.winrmListeners = mapped
    }

    /**
     * @param argument One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("ilpwulvxuokimbnv")
    public suspend fun winrmListeners(vararg argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.winrmListeners = mapped
    }

    /**
     * @param argument One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("vmgtewljoaqvfwqs")
    public suspend fun winrmListeners(argument: suspend OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgsBuilder.() -> Unit) {
        val toBeMapped =
            listOf(
                OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgsBuilder().applySuspend
                    { argument() }.build(),
            )
        val mapped = of(toBeMapped)
        this.winrmListeners = mapped
    }

    /**
     * @param values One or more `winrm_listener` blocks as defined below. Changing this forces a new resource to be created.
     */
    @JvmName("qhglgmwqknargtwe")
    public suspend fun winrmListeners(vararg values: OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListenerArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.winrmListeners = mapped
    }

    internal fun build(): OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs =
        OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationArgs(
            additionalUnattendContents = additionalUnattendContents,
            adminPassword = adminPassword ?: throw PulumiNullFieldException("adminPassword"),
            adminUsername = adminUsername ?: throw PulumiNullFieldException("adminUsername"),
            computerNamePrefix = computerNamePrefix,
            enableAutomaticUpdates = enableAutomaticUpdates,
            hotpatchingEnabled = hotpatchingEnabled,
            patchAssessmentMode = patchAssessmentMode,
            patchMode = patchMode,
            provisionVmAgent = provisionVmAgent,
            secrets = secrets,
            timezone = timezone,
            winrmListeners = winrmListeners,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy