Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.compute.kotlin.inputs
import com.pulumi.azurenative.compute.inputs.OSProfileArgs.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
/**
* Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.
* @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_])
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.
This property cannot be updated after the VM is created.
**Max-length (Windows):** 20 characters.
* @property allowExtensionOperations Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine.
* @property computerName Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules).
* @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. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux 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 machine. 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 OSProfileArgs(
public val adminPassword: Output? = null,
public val adminUsername: Output? = null,
public val allowExtensionOperations: Output? = null,
public val computerName: 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.OSProfileArgs =
com.pulumi.azurenative.compute.inputs.OSProfileArgs.builder()
.adminPassword(adminPassword?.applyValue({ args0 -> args0 }))
.adminUsername(adminUsername?.applyValue({ args0 -> args0 }))
.allowExtensionOperations(allowExtensionOperations?.applyValue({ args0 -> args0 }))
.computerName(computerName?.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 [OSProfileArgs].
*/
@PulumiTagMarker
public class OSProfileArgsBuilder internal constructor() {
private var adminPassword: Output? = null
private var adminUsername: Output? = null
private var allowExtensionOperations: Output? = null
private var computerName: 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_])
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("yidjvtamywstkypo")
public suspend fun adminPassword(`value`: Output) {
this.adminPassword = value
}
/**
* @param value Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
**Max-length (Windows):** 20 characters.
*/
@JvmName("imwdnknvyuiaobdj")
public suspend fun adminUsername(`value`: Output) {
this.adminUsername = value
}
/**
* @param value Specifies whether extension operations should be allowed on the virtual machine. This may only be set to False when no extensions are present on the virtual machine.
*/
@JvmName("wibnnvbfqjtrmcpu")
public suspend fun allowExtensionOperations(`value`: Output) {
this.allowExtensionOperations = value
}
/**
* @param value Specifies the host OS name of the virtual machine. This name cannot be updated after the VM is created. **Max-length (Windows):** 15 characters. **Max-length (Linux):** 64 characters. For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules).
*/
@JvmName("cnkgmmshuoqwgupl")
public suspend fun computerName(`value`: Output) {
this.computerName = 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. **Note: Do not pass any secrets or passwords in customData property.** This property cannot be updated after the VM is created. The property 'customData' is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/). For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init).
*/
@JvmName("cajwjabsgaeblhaa")
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("cvpveyqimycsfxcj")
public suspend fun linuxConfiguration(`value`: Output) {
this.linuxConfiguration = value
}
/**
* @param value Optional property which must either be set to True or omitted.
*/
@JvmName("nosipmwwnsswgrdx")
public suspend fun requireGuestProvisionSignal(`value`: Output) {
this.requireGuestProvisionSignal = value
}
/**
* @param value Specifies set of certificates that should be installed onto the virtual machine. 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("bbaocihihyfashhk")
public suspend fun secrets(`value`: Output>) {
this.secrets = value
}
@JvmName("rydtrobfutmuesgj")
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 machine. 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("yeqbphykowjmkgkj")
public suspend fun secrets(values: List