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

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

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

/**
 *
 * @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 adminSshKeys A `admin_ssh_key` block as documented below.
 * @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 disablePasswordAuthentication When an `admin_password` is specified `disable_password_authentication` must be set to `false`. Defaults to `true`.
 * > **Note:** Either `admin_password` or `admin_ssh_key` must be specified.
 * @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 `ImageDefault` or `AutomaticByPlatform`. Defaults to `ImageDefault`. 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.  An example of how to correctly configure a Virtual Machine Scale Set to provision a Linux Virtual Machine with Automatic VM Guest Patching enabled can be found in the `./examples/orchestrated-vm-scale-set/automatic-vm-guest-patching` directory within the GitHub Repository.
 * @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.
 */
public data class OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration(
    public val adminPassword: String? = null,
    public val adminSshKeys: List? = null,
    public val adminUsername: String,
    public val computerNamePrefix: String? = null,
    public val disablePasswordAuthentication: Boolean? = null,
    public val patchAssessmentMode: String? = null,
    public val patchMode: String? = null,
    public val provisionVmAgent: Boolean? = null,
    public val secrets: List? =
        null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.compute.outputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration): OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration =
            OrchestratedVirtualMachineScaleSetOsProfileLinuxConfiguration(
                adminPassword = javaType.adminPassword().map({ args0 -> args0 }).orElse(null),
                adminSshKeys = javaType.adminSshKeys().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.azure.compute.kotlin.outputs.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationAdminSshKey.Companion.toKotlin(args0)
                    })
                }),
                adminUsername = javaType.adminUsername(),
                computerNamePrefix = javaType.computerNamePrefix().map({ args0 -> args0 }).orElse(null),
                disablePasswordAuthentication = javaType.disablePasswordAuthentication().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.OrchestratedVirtualMachineScaleSetOsProfileLinuxConfigurationSecret.Companion.toKotlin(args0)
                    })
                }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy