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.14.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("itgaftykbdduqkmg")
    public suspend
    fun additionalUnattendContents(`value`: Output>) {
        this.additionalUnattendContents = value
    }

    @JvmName("buafovyjuikeqkbj")
    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("ntdixuncrusxilfo")
    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("htfpoeutpkaplrsh")
    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("xbfnbfdkqqtbfdpw")
    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("ikhvjdbkkldywfvn")
    public suspend fun computerNamePrefix(`value`: Output) {
        this.computerNamePrefix = value
    }

    /**
     * @param value Are automatic updates enabled for this Virtual Machine? Defaults to `true`.
     */
    @JvmName("vbrsnyqcoaihmmyr")
    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("hdxnvdxxdrosucas")
    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("gxwwynlahintxxeg")
    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("nmnvhttatueegvll")
    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("hochtordocmaspbq")
    public suspend fun provisionVmAgent(`value`: Output) {
        this.provisionVmAgent = value
    }

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

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

    /**
     * @param values One or more `secret` blocks as defined below.
     */
    @JvmName("qewxapcreeypuphf")
    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("kxlaewyddiacrhxq")
    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("ioorovkdlxxtvvca")
    public suspend
    fun winrmListeners(`value`: Output>) {
        this.winrmListeners = value
    }

    @JvmName("ytiwbwojektkykba")
    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("cfkvqemjfudhakhs")
    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("embsnxhduclikwiu")
    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("rovylfuhyghiuesj")
    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("xnfxqoejhdlejemb")
    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("ifiusayeonuhsylp")
    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("mwopthkdgxhxnupr")
    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("xsmsayimffkwklwi")
    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("ggduvnditqpqoldg")
    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("olemehmcvfsyifvi")
    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("wfmhxttocaluqwmb")
    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("ymwewbluyssdpyny")
    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("bakylklajpuqrbvk")
    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("ryikseibdcihxmpp")
    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("wuhxnsuxsoiaupxd")
    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("anbvnhlaxfdduppb")
    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("kimfpfwahhoslasa")
    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("ykpaqrnqhmltgfxt")
    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("nwduuyqamgkajnrv")
    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("biellajfpuwljtvl")
    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("husaydkdnhujkvlt")
    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("qlidqndmstithrcb")
    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("hmqapsswruljmqyq")
    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("xlrpqakthnqslvau")
    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("jfbhxagqsayjuusp")
    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("guvwrkguvxirfbvx")
    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