Please wait. This can take some minutes ...
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.
com.pulumi.azurenative.azurefleet.inputs.VirtualMachineScaleSetOSProfileArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.azurefleet.inputs;
import com.pulumi.azurenative.azurefleet.inputs.LinuxConfigurationArgs;
import com.pulumi.azurenative.azurefleet.inputs.VaultSecretGroupArgs;
import com.pulumi.azurenative.azurefleet.inputs.WindowsConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Describes a virtual machine scale set OS profile.
*
*/
public final class VirtualMachineScaleSetOSProfileArgs extends com.pulumi.resources.ResourceArgs {
public static final VirtualMachineScaleSetOSProfileArgs Empty = new VirtualMachineScaleSetOSProfileArgs();
/**
* Specifies the password of the administrator account. <br><br> **Minimum-length
* (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters
* <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length
* (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4
* conditions below need to be fulfilled <br> Has lower characters <br>Has upper
* characters <br> Has a digit <br> Has a special character (Regex match [\W_])
* <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd",
* "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1",
* "Password22", "iloveyou!" <br><br> 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)
* <br><br> 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)
*
*/
@Import(name="adminPassword")
private @Nullable Output adminPassword;
/**
* @return Specifies the password of the administrator account. <br><br> **Minimum-length
* (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters
* <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length
* (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4
* conditions below need to be fulfilled <br> Has lower characters <br>Has upper
* characters <br> Has a digit <br> Has a special character (Regex match [\W_])
* <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd",
* "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1",
* "Password22", "iloveyou!" <br><br> 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)
* <br><br> 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)
*
*/
public Optional> adminPassword() {
return Optional.ofNullable(this.adminPassword);
}
/**
* Specifies the name of the administrator account. <br><br> **Windows-only
* restriction:** Cannot end in "." <br><br> **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".
* <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length
* (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters
*
*/
@Import(name="adminUsername")
private @Nullable Output adminUsername;
/**
* @return Specifies the name of the administrator account. <br><br> **Windows-only
* restriction:** Cannot end in "." <br><br> **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".
* <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length
* (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters
*
*/
public Optional> adminUsername() {
return Optional.ofNullable(this.adminUsername);
}
/**
* 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.
*
*/
@Import(name="allowExtensionOperations")
private @Nullable Output allowExtensionOperations;
/**
* @return 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.
*
*/
public Optional> allowExtensionOperations() {
return Optional.ofNullable(this.allowExtensionOperations);
}
/**
* 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.
*
*/
@Import(name="computerNamePrefix")
private @Nullable Output computerNamePrefix;
/**
* @return 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.
*
*/
public Optional> computerNamePrefix() {
return Optional.ofNullable(this.computerNamePrefix);
}
/**
* 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)
*
*/
@Import(name="customData")
private @Nullable Output customData;
/**
* @return 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)
*
*/
public Optional> customData() {
return Optional.ofNullable(this.customData);
}
/**
* 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).
*
*/
@Import(name="linuxConfiguration")
private @Nullable Output linuxConfiguration;
/**
* @return 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).
*
*/
public Optional> linuxConfiguration() {
return Optional.ofNullable(this.linuxConfiguration);
}
/**
* Optional property which must either be set to True or omitted.
*
*/
@Import(name="requireGuestProvisionSignal")
private @Nullable Output requireGuestProvisionSignal;
/**
* @return Optional property which must either be set to True or omitted.
*
*/
public Optional> requireGuestProvisionSignal() {
return Optional.ofNullable(this.requireGuestProvisionSignal);
}
/**
* 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).
*
*/
@Import(name="secrets")
private @Nullable Output> secrets;
/**
* @return 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).
*
*/
public Optional>> secrets() {
return Optional.ofNullable(this.secrets);
}
/**
* Specifies Windows operating system settings on the virtual machine.
*
*/
@Import(name="windowsConfiguration")
private @Nullable Output windowsConfiguration;
/**
* @return Specifies Windows operating system settings on the virtual machine.
*
*/
public Optional> windowsConfiguration() {
return Optional.ofNullable(this.windowsConfiguration);
}
private VirtualMachineScaleSetOSProfileArgs() {}
private VirtualMachineScaleSetOSProfileArgs(VirtualMachineScaleSetOSProfileArgs $) {
this.adminPassword = $.adminPassword;
this.adminUsername = $.adminUsername;
this.allowExtensionOperations = $.allowExtensionOperations;
this.computerNamePrefix = $.computerNamePrefix;
this.customData = $.customData;
this.linuxConfiguration = $.linuxConfiguration;
this.requireGuestProvisionSignal = $.requireGuestProvisionSignal;
this.secrets = $.secrets;
this.windowsConfiguration = $.windowsConfiguration;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(VirtualMachineScaleSetOSProfileArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private VirtualMachineScaleSetOSProfileArgs $;
public Builder() {
$ = new VirtualMachineScaleSetOSProfileArgs();
}
public Builder(VirtualMachineScaleSetOSProfileArgs defaults) {
$ = new VirtualMachineScaleSetOSProfileArgs(Objects.requireNonNull(defaults));
}
/**
* @param adminPassword Specifies the password of the administrator account. <br><br> **Minimum-length
* (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters
* <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length
* (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4
* conditions below need to be fulfilled <br> Has lower characters <br>Has upper
* characters <br> Has a digit <br> Has a special character (Regex match [\W_])
* <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd",
* "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1",
* "Password22", "iloveyou!" <br><br> 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)
* <br><br> 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)
*
* @return builder
*
*/
public Builder adminPassword(@Nullable Output adminPassword) {
$.adminPassword = adminPassword;
return this;
}
/**
* @param adminPassword Specifies the password of the administrator account. <br><br> **Minimum-length
* (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters
* <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length
* (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4
* conditions below need to be fulfilled <br> Has lower characters <br>Has upper
* characters <br> Has a digit <br> Has a special character (Regex match [\W_])
* <br><br> **Disallowed values:** "abc{@literal @}123", "P{@literal @}$$w0rd", "P{@literal @}ssw0rd",
* "P{@literal @}ssword123", "Pa$$word", "pass{@literal @}word1", "Password!", "Password1",
* "Password22", "iloveyou!" <br><br> 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)
* <br><br> 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)
*
* @return builder
*
*/
public Builder adminPassword(String adminPassword) {
return adminPassword(Output.of(adminPassword));
}
/**
* @param adminUsername Specifies the name of the administrator account. <br><br> **Windows-only
* restriction:** Cannot end in "." <br><br> **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".
* <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length
* (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters
*
* @return builder
*
*/
public Builder adminUsername(@Nullable Output adminUsername) {
$.adminUsername = adminUsername;
return this;
}
/**
* @param adminUsername Specifies the name of the administrator account. <br><br> **Windows-only
* restriction:** Cannot end in "." <br><br> **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".
* <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length
* (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters
*
* @return builder
*
*/
public Builder adminUsername(String adminUsername) {
return adminUsername(Output.of(adminUsername));
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder allowExtensionOperations(@Nullable Output allowExtensionOperations) {
$.allowExtensionOperations = allowExtensionOperations;
return this;
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder allowExtensionOperations(Boolean allowExtensionOperations) {
return allowExtensionOperations(Output.of(allowExtensionOperations));
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder computerNamePrefix(@Nullable Output computerNamePrefix) {
$.computerNamePrefix = computerNamePrefix;
return this;
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder computerNamePrefix(String computerNamePrefix) {
return computerNamePrefix(Output.of(computerNamePrefix));
}
/**
* @param 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)
*
* @return builder
*
*/
public Builder customData(@Nullable Output customData) {
$.customData = customData;
return this;
}
/**
* @param 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)
*
* @return builder
*
*/
public Builder customData(String customData) {
return customData(Output.of(customData));
}
/**
* @param 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).
*
* @return builder
*
*/
public Builder linuxConfiguration(@Nullable Output linuxConfiguration) {
$.linuxConfiguration = linuxConfiguration;
return this;
}
/**
* @param 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).
*
* @return builder
*
*/
public Builder linuxConfiguration(LinuxConfigurationArgs linuxConfiguration) {
return linuxConfiguration(Output.of(linuxConfiguration));
}
/**
* @param requireGuestProvisionSignal Optional property which must either be set to True or omitted.
*
* @return builder
*
*/
public Builder requireGuestProvisionSignal(@Nullable Output requireGuestProvisionSignal) {
$.requireGuestProvisionSignal = requireGuestProvisionSignal;
return this;
}
/**
* @param requireGuestProvisionSignal Optional property which must either be set to True or omitted.
*
* @return builder
*
*/
public Builder requireGuestProvisionSignal(Boolean requireGuestProvisionSignal) {
return requireGuestProvisionSignal(Output.of(requireGuestProvisionSignal));
}
/**
* @param 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).
*
* @return builder
*
*/
public Builder secrets(@Nullable Output> secrets) {
$.secrets = secrets;
return this;
}
/**
* @param 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).
*
* @return builder
*
*/
public Builder secrets(List secrets) {
return secrets(Output.of(secrets));
}
/**
* @param 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).
*
* @return builder
*
*/
public Builder secrets(VaultSecretGroupArgs... secrets) {
return secrets(List.of(secrets));
}
/**
* @param windowsConfiguration Specifies Windows operating system settings on the virtual machine.
*
* @return builder
*
*/
public Builder windowsConfiguration(@Nullable Output windowsConfiguration) {
$.windowsConfiguration = windowsConfiguration;
return this;
}
/**
* @param windowsConfiguration Specifies Windows operating system settings on the virtual machine.
*
* @return builder
*
*/
public Builder windowsConfiguration(WindowsConfigurationArgs windowsConfiguration) {
return windowsConfiguration(Output.of(windowsConfiguration));
}
public VirtualMachineScaleSetOSProfileArgs build() {
return $;
}
}
}