
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
© 2015 - 2025 Weber Informatics LLC | Privacy Policy