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

com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** 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.azure.compute.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class VirtualMachineOsProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final VirtualMachineOsProfileArgs Empty = new VirtualMachineOsProfileArgs();

    /**
     * (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
     * 
     * > **NOTE:** If using Linux, it may be preferable to use SSH Key authentication (available in the `os_profile_linux_config` block) instead of password authentication.
     * 
     */
    @Import(name="adminPassword")
    private @Nullable Output adminPassword;

    /**
     * @return (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
     * 
     * > **NOTE:** If using Linux, it may be preferable to use SSH Key authentication (available in the `os_profile_linux_config` block) instead of password authentication.
     * 
     */
    public Optional> adminPassword() {
        return Optional.ofNullable(this.adminPassword);
    }

    /**
     * Specifies the name of the local administrator account.
     * 
     */
    @Import(name="adminUsername", required=true)
    private Output adminUsername;

    /**
     * @return Specifies the name of the local administrator account.
     * 
     */
    public Output adminUsername() {
        return this.adminUsername;
    }

    /**
     * Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="computerName", required=true)
    private Output computerName;

    /**
     * @return Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
     * 
     */
    public Output computerName() {
        return this.computerName;
    }

    /**
     * Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="customData")
    private @Nullable Output customData;

    /**
     * @return Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
     * 
     */
    public Optional> customData() {
        return Optional.ofNullable(this.customData);
    }

    private VirtualMachineOsProfileArgs() {}

    private VirtualMachineOsProfileArgs(VirtualMachineOsProfileArgs $) {
        this.adminPassword = $.adminPassword;
        this.adminUsername = $.adminUsername;
        this.computerName = $.computerName;
        this.customData = $.customData;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(VirtualMachineOsProfileArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private VirtualMachineOsProfileArgs $;

        public Builder() {
            $ = new VirtualMachineOsProfileArgs();
        }

        public Builder(VirtualMachineOsProfileArgs defaults) {
            $ = new VirtualMachineOsProfileArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param adminPassword (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
         * 
         * > **NOTE:** If using Linux, it may be preferable to use SSH Key authentication (available in the `os_profile_linux_config` block) instead of password authentication.
         * 
         * @return builder
         * 
         */
        public Builder adminPassword(@Nullable Output adminPassword) {
            $.adminPassword = adminPassword;
            return this;
        }

        /**
         * @param adminPassword (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
         * 
         * > **NOTE:** If using Linux, it may be preferable to use SSH Key authentication (available in the `os_profile_linux_config` block) instead of password authentication.
         * 
         * @return builder
         * 
         */
        public Builder adminPassword(String adminPassword) {
            return adminPassword(Output.of(adminPassword));
        }

        /**
         * @param adminUsername Specifies the name of the local administrator account.
         * 
         * @return builder
         * 
         */
        public Builder adminUsername(Output adminUsername) {
            $.adminUsername = adminUsername;
            return this;
        }

        /**
         * @param adminUsername Specifies the name of the local administrator account.
         * 
         * @return builder
         * 
         */
        public Builder adminUsername(String adminUsername) {
            return adminUsername(Output.of(adminUsername));
        }

        /**
         * @param computerName Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder computerName(Output computerName) {
            $.computerName = computerName;
            return this;
        }

        /**
         * @param computerName Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder computerName(String computerName) {
            return computerName(Output.of(computerName));
        }

        /**
         * @param customData Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder customData(@Nullable Output customData) {
            $.customData = customData;
            return this;
        }

        /**
         * @param customData Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder customData(String customData) {
            return customData(Output.of(customData));
        }

        public VirtualMachineOsProfileArgs build() {
            if ($.adminUsername == null) {
                throw new MissingRequiredPropertyException("VirtualMachineOsProfileArgs", "adminUsername");
            }
            if ($.computerName == null) {
                throw new MissingRequiredPropertyException("VirtualMachineOsProfileArgs", "computerName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy