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

com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration.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.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration(
    public val additionalUnattendContents:
    List? =
        null,
    public val adminPassword: String,
    public val adminUsername: String,
    public val computerNamePrefix: String? = null,
    public val enableAutomaticUpdates: Boolean? = null,
    public val hotpatchingEnabled: Boolean? = null,
    public val patchAssessmentMode: String? = null,
    public val patchMode: String? = null,
    public val provisionVmAgent: Boolean? = null,
    public val secrets: List? =
        null,
    public val timezone: String? = null,
    public val winrmListeners:
    List? = null,
) {
    public companion object {
        public
        fun toKotlin(javaType: com.pulumi.azure.compute.outputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration):
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration =
            OrchestratedVirtualMachineScaleSetOsProfileWindowsConfiguration(
                additionalUnattendContents = javaType.additionalUnattendContents().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationAdditionalUnattendContent.Companion.toKotlin(args0)
                    })
                }),
                adminPassword = javaType.adminPassword(),
                adminUsername = javaType.adminUsername(),
                computerNamePrefix = javaType.computerNamePrefix().map({ args0 -> args0 }).orElse(null),
                enableAutomaticUpdates = javaType.enableAutomaticUpdates().map({ args0 -> args0 }).orElse(null),
                hotpatchingEnabled = javaType.hotpatchingEnabled().map({ args0 -> args0 }).orElse(null),
                patchAssessmentMode = javaType.patchAssessmentMode().map({ args0 -> args0 }).orElse(null),
                patchMode = javaType.patchMode().map({ args0 -> args0 }).orElse(null),
                provisionVmAgent = javaType.provisionVmAgent().map({ args0 -> args0 }).orElse(null),
                secrets = javaType.secrets().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationSecret.Companion.toKotlin(args0)
                    })
                }),
                timezone = javaType.timezone().map({ args0 -> args0 }).orElse(null),
                winrmListeners = javaType.winrmListeners().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetOsProfileWindowsConfigurationWinrmListener.Companion.toKotlin(args0)
                    })
                }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy