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

com.pulumi.azurenative.compute.kotlin.inputs.VirtualMachineScaleSetOSProfileArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.compute.kotlin.inputs

import com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
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

/**
 * Describes a virtual machine scale set OS profile.
 * @property adminPassword Specifies the password of the administrator account. 

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) * @property adminUsername Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters * @property allowExtensionOperations Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. * @property computerNamePrefix Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. * @property customData Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) * @property linuxConfiguration Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). * @property requireGuestProvisionSignal Optional property which must either be set to True or omitted. * @property secrets Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). * @property windowsConfiguration Specifies Windows operating system settings on the virtual machine. */ public data class VirtualMachineScaleSetOSProfileArgs( public val adminPassword: Output? = null, public val adminUsername: Output? = null, public val allowExtensionOperations: Output? = null, public val computerNamePrefix: Output? = null, public val customData: Output? = null, public val linuxConfiguration: Output? = null, public val requireGuestProvisionSignal: Output? = null, public val secrets: Output>? = null, public val windowsConfiguration: Output? = null, ) : ConvertibleToJava { override fun toJava(): com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs = com.pulumi.azurenative.compute.inputs.VirtualMachineScaleSetOSProfileArgs.builder() .adminPassword(adminPassword?.applyValue({ args0 -> args0 })) .adminUsername(adminUsername?.applyValue({ args0 -> args0 })) .allowExtensionOperations(allowExtensionOperations?.applyValue({ args0 -> args0 })) .computerNamePrefix(computerNamePrefix?.applyValue({ args0 -> args0 })) .customData(customData?.applyValue({ args0 -> args0 })) .linuxConfiguration( linuxConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ) .requireGuestProvisionSignal(requireGuestProvisionSignal?.applyValue({ args0 -> args0 })) .secrets( secrets?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }), ) .windowsConfiguration( windowsConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }), ).build() } /** * Builder for [VirtualMachineScaleSetOSProfileArgs]. */ @PulumiTagMarker public class VirtualMachineScaleSetOSProfileArgsBuilder internal constructor() { private var adminPassword: Output? = null private var adminUsername: Output? = null private var allowExtensionOperations: Output? = null private var computerNamePrefix: Output? = null private var customData: Output? = null private var linuxConfiguration: Output? = null private var requireGuestProvisionSignal: Output? = null private var secrets: Output>? = null private var windowsConfiguration: Output? = null /** * @param value Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */ @JvmName("rpbtemvhjmfvgutp") public suspend fun adminPassword(`value`: Output) { this.adminPassword = value } /** * @param value Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters */ @JvmName("iiduoumjnkdqnjnl") public suspend fun adminUsername(`value`: Output) { this.adminUsername = value } /** * @param value Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. */ @JvmName("tbstckptxbxxykax") public suspend fun allowExtensionOperations(`value`: Output) { this.allowExtensionOperations = value } /** * @param value Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. */ @JvmName("tvjjgahdiifrhmhm") public suspend fun computerNamePrefix(`value`: Output) { this.computerNamePrefix = value } /** * @param value Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) */ @JvmName("kvoxjaviduqlvhsp") public suspend fun customData(`value`: Output) { this.customData = value } /** * @param value Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ @JvmName("yeahfhvtyshbsofr") public suspend fun linuxConfiguration(`value`: Output) { this.linuxConfiguration = value } /** * @param value Optional property which must either be set to True or omitted. */ @JvmName("psuwdechnbewsqxe") public suspend fun requireGuestProvisionSignal(`value`: Output) { this.requireGuestProvisionSignal = value } /** * @param value Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("iroujtmhgklovcon") public suspend fun secrets(`value`: Output>) { this.secrets = value } @JvmName("wplgantwkcfcwlqy") public suspend fun secrets(vararg values: Output) { this.secrets = Output.all(values.asList()) } /** * @param values Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("vwcaycsscmsxugml") public suspend fun secrets(values: List>) { this.secrets = Output.all(values) } /** * @param value Specifies Windows operating system settings on the virtual machine. */ @JvmName("vwntlfwbyneormke") public suspend fun windowsConfiguration(`value`: Output) { this.windowsConfiguration = value } /** * @param value Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

**Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection) */ @JvmName("uuexdvnldhxkafih") public suspend fun adminPassword(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.adminPassword = mapped } /** * @param value Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in "."

**Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters */ @JvmName("eiohtnfqrftynjfq") public suspend fun adminUsername(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.adminUsername = mapped } /** * @param value Specifies whether extension operations should be allowed on the virtual machine scale set. This may only be set to False when no extensions are present on the virtual machine scale set. */ @JvmName("bbepvutfvasjdngq") public suspend fun allowExtensionOperations(`value`: Boolean?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.allowExtensionOperations = mapped } /** * @param value Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long. */ @JvmName("jkcuxeebegmekqsy") public suspend fun computerNamePrefix(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.computerNamePrefix = mapped } /** * @param value Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init) */ @JvmName("fpruyyanrrotutqj") public suspend fun customData(`value`: String?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.customData = mapped } /** * @param value Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ @JvmName("iscqinxptxtxgkik") public suspend fun linuxConfiguration(`value`: LinuxConfigurationArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.linuxConfiguration = mapped } /** * @param argument Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros). */ @JvmName("sjqqfugtvcgernog") public suspend fun linuxConfiguration(argument: suspend LinuxConfigurationArgsBuilder.() -> Unit) { val toBeMapped = LinuxConfigurationArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.linuxConfiguration = mapped } /** * @param value Optional property which must either be set to True or omitted. */ @JvmName("qcqjayrnljakhexc") public suspend fun requireGuestProvisionSignal(`value`: Boolean?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.requireGuestProvisionSignal = mapped } /** * @param value Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("mwlnmnledxjkkgov") public suspend fun secrets(`value`: List?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.secrets = mapped } /** * @param argument Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("yogmmjfvtcjyrmkq") public suspend fun secrets(argument: List Unit>) { val toBeMapped = argument.toList().map { VaultSecretGroupArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.secrets = mapped } /** * @param argument Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("ckiilywfildmhoki") public suspend fun secrets(vararg argument: suspend VaultSecretGroupArgsBuilder.() -> Unit) { val toBeMapped = argument.toList().map { VaultSecretGroupArgsBuilder().applySuspend { it() }.build() } val mapped = of(toBeMapped) this.secrets = mapped } /** * @param argument Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("acexrpjhtijgkwmq") public suspend fun secrets(argument: suspend VaultSecretGroupArgsBuilder.() -> Unit) { val toBeMapped = listOf(VaultSecretGroupArgsBuilder().applySuspend { argument() }.build()) val mapped = of(toBeMapped) this.secrets = mapped } /** * @param values Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows). */ @JvmName("igeklbaqijwavsmw") public suspend fun secrets(vararg values: VaultSecretGroupArgs) { val toBeMapped = values.toList() val mapped = toBeMapped.let({ args0 -> of(args0) }) this.secrets = mapped } /** * @param value Specifies Windows operating system settings on the virtual machine. */ @JvmName("iuitigejvfhqrvsw") public suspend fun windowsConfiguration(`value`: WindowsConfigurationArgs?) { val toBeMapped = value val mapped = toBeMapped?.let({ args0 -> of(args0) }) this.windowsConfiguration = mapped } /** * @param argument Specifies Windows operating system settings on the virtual machine. */ @JvmName("vkwvaeuocwoanrwa") public suspend fun windowsConfiguration(argument: suspend WindowsConfigurationArgsBuilder.() -> Unit) { val toBeMapped = WindowsConfigurationArgsBuilder().applySuspend { argument() }.build() val mapped = of(toBeMapped) this.windowsConfiguration = mapped } internal fun build(): VirtualMachineScaleSetOSProfileArgs = VirtualMachineScaleSetOSProfileArgs( adminPassword = adminPassword, adminUsername = adminUsername, allowExtensionOperations = allowExtensionOperations, computerNamePrefix = computerNamePrefix, customData = customData, linuxConfiguration = linuxConfiguration, requireGuestProvisionSignal = requireGuestProvisionSignal, secrets = secrets, windowsConfiguration = windowsConfiguration, ) }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy