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

com.pulumi.azurenative.vmwarecloudsimple.VirtualMachineArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
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.azurenative.vmwarecloudsimple;

import com.pulumi.azurenative.vmwarecloudsimple.inputs.GuestOSCustomizationArgs;
import com.pulumi.azurenative.vmwarecloudsimple.inputs.ResourcePoolArgs;
import com.pulumi.azurenative.vmwarecloudsimple.inputs.VirtualDiskArgs;
import com.pulumi.azurenative.vmwarecloudsimple.inputs.VirtualNicArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VirtualMachineArgs Empty = new VirtualMachineArgs();

    /**
     * The amount of memory
     * 
     */
    @Import(name="amountOfRam", required=true)
    private Output amountOfRam;

    /**
     * @return The amount of memory
     * 
     */
    public Output amountOfRam() {
        return this.amountOfRam;
    }

    /**
     * Virtual machine properties
     * 
     */
    @Import(name="customization")
    private @Nullable Output customization;

    /**
     * @return Virtual machine properties
     * 
     */
    public Optional> customization() {
        return Optional.ofNullable(this.customization);
    }

    /**
     * The list of Virtual Disks
     * 
     */
    @Import(name="disks")
    private @Nullable Output> disks;

    /**
     * @return The list of Virtual Disks
     * 
     */
    public Optional>> disks() {
        return Optional.ofNullable(this.disks);
    }

    /**
     * Expose Guest OS or not
     * 
     */
    @Import(name="exposeToGuestVM")
    private @Nullable Output exposeToGuestVM;

    /**
     * @return Expose Guest OS or not
     * 
     */
    public Optional> exposeToGuestVM() {
        return Optional.ofNullable(this.exposeToGuestVM);
    }

    /**
     * Azure region
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Azure region
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The list of Virtual NICs
     * 
     */
    @Import(name="nics")
    private @Nullable Output> nics;

    /**
     * @return The list of Virtual NICs
     * 
     */
    public Optional>> nics() {
        return Optional.ofNullable(this.nics);
    }

    /**
     * The number of CPU cores
     * 
     */
    @Import(name="numberOfCores", required=true)
    private Output numberOfCores;

    /**
     * @return The number of CPU cores
     * 
     */
    public Output numberOfCores() {
        return this.numberOfCores;
    }

    /**
     * Password for login. Deprecated - use customization property
     * 
     */
    @Import(name="password")
    private @Nullable Output password;

    /**
     * @return Password for login. Deprecated - use customization property
     * 
     */
    public Optional> password() {
        return Optional.ofNullable(this.password);
    }

    /**
     * Private Cloud Id
     * 
     */
    @Import(name="privateCloudId", required=true)
    private Output privateCloudId;

    /**
     * @return Private Cloud Id
     * 
     */
    public Output privateCloudId() {
        return this.privateCloudId;
    }

    /**
     * The name of the resource group
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Virtual Machines Resource Pool
     * 
     */
    @Import(name="resourcePool")
    private @Nullable Output resourcePool;

    /**
     * @return Virtual Machines Resource Pool
     * 
     */
    public Optional> resourcePool() {
        return Optional.ofNullable(this.resourcePool);
    }

    /**
     * The list of tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return The list of tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Virtual Machine Template Id
     * 
     */
    @Import(name="templateId")
    private @Nullable Output templateId;

    /**
     * @return Virtual Machine Template Id
     * 
     */
    public Optional> templateId() {
        return Optional.ofNullable(this.templateId);
    }

    /**
     * Username for login. Deprecated - use customization property
     * 
     */
    @Import(name="username")
    private @Nullable Output username;

    /**
     * @return Username for login. Deprecated - use customization property
     * 
     */
    public Optional> username() {
        return Optional.ofNullable(this.username);
    }

    /**
     * The list of Virtual VSphere Networks
     * 
     */
    @Import(name="vSphereNetworks")
    private @Nullable Output> vSphereNetworks;

    /**
     * @return The list of Virtual VSphere Networks
     * 
     */
    public Optional>> vSphereNetworks() {
        return Optional.ofNullable(this.vSphereNetworks);
    }

    /**
     * virtual machine name
     * 
     */
    @Import(name="virtualMachineName")
    private @Nullable Output virtualMachineName;

    /**
     * @return virtual machine name
     * 
     */
    public Optional> virtualMachineName() {
        return Optional.ofNullable(this.virtualMachineName);
    }

    private VirtualMachineArgs() {}

    private VirtualMachineArgs(VirtualMachineArgs $) {
        this.amountOfRam = $.amountOfRam;
        this.customization = $.customization;
        this.disks = $.disks;
        this.exposeToGuestVM = $.exposeToGuestVM;
        this.location = $.location;
        this.nics = $.nics;
        this.numberOfCores = $.numberOfCores;
        this.password = $.password;
        this.privateCloudId = $.privateCloudId;
        this.resourceGroupName = $.resourceGroupName;
        this.resourcePool = $.resourcePool;
        this.tags = $.tags;
        this.templateId = $.templateId;
        this.username = $.username;
        this.vSphereNetworks = $.vSphereNetworks;
        this.virtualMachineName = $.virtualMachineName;
    }

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

    public static final class Builder {
        private VirtualMachineArgs $;

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

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

        /**
         * @param amountOfRam The amount of memory
         * 
         * @return builder
         * 
         */
        public Builder amountOfRam(Output amountOfRam) {
            $.amountOfRam = amountOfRam;
            return this;
        }

        /**
         * @param amountOfRam The amount of memory
         * 
         * @return builder
         * 
         */
        public Builder amountOfRam(Integer amountOfRam) {
            return amountOfRam(Output.of(amountOfRam));
        }

        /**
         * @param customization Virtual machine properties
         * 
         * @return builder
         * 
         */
        public Builder customization(@Nullable Output customization) {
            $.customization = customization;
            return this;
        }

        /**
         * @param customization Virtual machine properties
         * 
         * @return builder
         * 
         */
        public Builder customization(GuestOSCustomizationArgs customization) {
            return customization(Output.of(customization));
        }

        /**
         * @param disks The list of Virtual Disks
         * 
         * @return builder
         * 
         */
        public Builder disks(@Nullable Output> disks) {
            $.disks = disks;
            return this;
        }

        /**
         * @param disks The list of Virtual Disks
         * 
         * @return builder
         * 
         */
        public Builder disks(List disks) {
            return disks(Output.of(disks));
        }

        /**
         * @param disks The list of Virtual Disks
         * 
         * @return builder
         * 
         */
        public Builder disks(VirtualDiskArgs... disks) {
            return disks(List.of(disks));
        }

        /**
         * @param exposeToGuestVM Expose Guest OS or not
         * 
         * @return builder
         * 
         */
        public Builder exposeToGuestVM(@Nullable Output exposeToGuestVM) {
            $.exposeToGuestVM = exposeToGuestVM;
            return this;
        }

        /**
         * @param exposeToGuestVM Expose Guest OS or not
         * 
         * @return builder
         * 
         */
        public Builder exposeToGuestVM(Boolean exposeToGuestVM) {
            return exposeToGuestVM(Output.of(exposeToGuestVM));
        }

        /**
         * @param location Azure region
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Azure region
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param nics The list of Virtual NICs
         * 
         * @return builder
         * 
         */
        public Builder nics(@Nullable Output> nics) {
            $.nics = nics;
            return this;
        }

        /**
         * @param nics The list of Virtual NICs
         * 
         * @return builder
         * 
         */
        public Builder nics(List nics) {
            return nics(Output.of(nics));
        }

        /**
         * @param nics The list of Virtual NICs
         * 
         * @return builder
         * 
         */
        public Builder nics(VirtualNicArgs... nics) {
            return nics(List.of(nics));
        }

        /**
         * @param numberOfCores The number of CPU cores
         * 
         * @return builder
         * 
         */
        public Builder numberOfCores(Output numberOfCores) {
            $.numberOfCores = numberOfCores;
            return this;
        }

        /**
         * @param numberOfCores The number of CPU cores
         * 
         * @return builder
         * 
         */
        public Builder numberOfCores(Integer numberOfCores) {
            return numberOfCores(Output.of(numberOfCores));
        }

        /**
         * @param password Password for login. Deprecated - use customization property
         * 
         * @return builder
         * 
         */
        public Builder password(@Nullable Output password) {
            $.password = password;
            return this;
        }

        /**
         * @param password Password for login. Deprecated - use customization property
         * 
         * @return builder
         * 
         */
        public Builder password(String password) {
            return password(Output.of(password));
        }

        /**
         * @param privateCloudId Private Cloud Id
         * 
         * @return builder
         * 
         */
        public Builder privateCloudId(Output privateCloudId) {
            $.privateCloudId = privateCloudId;
            return this;
        }

        /**
         * @param privateCloudId Private Cloud Id
         * 
         * @return builder
         * 
         */
        public Builder privateCloudId(String privateCloudId) {
            return privateCloudId(Output.of(privateCloudId));
        }

        /**
         * @param resourceGroupName The name of the resource group
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param resourcePool Virtual Machines Resource Pool
         * 
         * @return builder
         * 
         */
        public Builder resourcePool(@Nullable Output resourcePool) {
            $.resourcePool = resourcePool;
            return this;
        }

        /**
         * @param resourcePool Virtual Machines Resource Pool
         * 
         * @return builder
         * 
         */
        public Builder resourcePool(ResourcePoolArgs resourcePool) {
            return resourcePool(Output.of(resourcePool));
        }

        /**
         * @param tags The list of tags
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags The list of tags
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param templateId Virtual Machine Template Id
         * 
         * @return builder
         * 
         */
        public Builder templateId(@Nullable Output templateId) {
            $.templateId = templateId;
            return this;
        }

        /**
         * @param templateId Virtual Machine Template Id
         * 
         * @return builder
         * 
         */
        public Builder templateId(String templateId) {
            return templateId(Output.of(templateId));
        }

        /**
         * @param username Username for login. Deprecated - use customization property
         * 
         * @return builder
         * 
         */
        public Builder username(@Nullable Output username) {
            $.username = username;
            return this;
        }

        /**
         * @param username Username for login. Deprecated - use customization property
         * 
         * @return builder
         * 
         */
        public Builder username(String username) {
            return username(Output.of(username));
        }

        /**
         * @param vSphereNetworks The list of Virtual VSphere Networks
         * 
         * @return builder
         * 
         */
        public Builder vSphereNetworks(@Nullable Output> vSphereNetworks) {
            $.vSphereNetworks = vSphereNetworks;
            return this;
        }

        /**
         * @param vSphereNetworks The list of Virtual VSphere Networks
         * 
         * @return builder
         * 
         */
        public Builder vSphereNetworks(List vSphereNetworks) {
            return vSphereNetworks(Output.of(vSphereNetworks));
        }

        /**
         * @param vSphereNetworks The list of Virtual VSphere Networks
         * 
         * @return builder
         * 
         */
        public Builder vSphereNetworks(String... vSphereNetworks) {
            return vSphereNetworks(List.of(vSphereNetworks));
        }

        /**
         * @param virtualMachineName virtual machine name
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineName(@Nullable Output virtualMachineName) {
            $.virtualMachineName = virtualMachineName;
            return this;
        }

        /**
         * @param virtualMachineName virtual machine name
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineName(String virtualMachineName) {
            return virtualMachineName(Output.of(virtualMachineName));
        }

        public VirtualMachineArgs build() {
            if ($.amountOfRam == null) {
                throw new MissingRequiredPropertyException("VirtualMachineArgs", "amountOfRam");
            }
            if ($.numberOfCores == null) {
                throw new MissingRequiredPropertyException("VirtualMachineArgs", "numberOfCores");
            }
            if ($.privateCloudId == null) {
                throw new MissingRequiredPropertyException("VirtualMachineArgs", "privateCloudId");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("VirtualMachineArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy