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

com.pulumi.vsphere.inputs.GetVirtualMachineArgs Maven / Gradle / Ivy

There is a newer version: 4.13.0-alpha.1731738919
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.vsphere.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.vsphere.inputs.GetVirtualMachineVappArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetVirtualMachineArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetVirtualMachineArgs Empty = new GetVirtualMachineArgs();

    /**
     * The alternate guest name of the virtual machine when
     * `guest_id` is a non-specific operating system, like `otherGuest` or
     * `otherGuest64`.
     * 
     */
    @Import(name="alternateGuestName")
    private @Nullable Output alternateGuestName;

    /**
     * @return The alternate guest name of the virtual machine when
     * `guest_id` is a non-specific operating system, like `otherGuest` or
     * `otherGuest64`.
     * 
     */
    public Optional> alternateGuestName() {
        return Optional.ofNullable(this.alternateGuestName);
    }

    /**
     * The user-provided description of this virtual machine.
     * 
     */
    @Import(name="annotation")
    private @Nullable Output annotation;

    /**
     * @return The user-provided description of this virtual machine.
     * 
     */
    public Optional> annotation() {
        return Optional.ofNullable(this.annotation);
    }

    @Import(name="bootDelay")
    private @Nullable Output bootDelay;

    public Optional> bootDelay() {
        return Optional.ofNullable(this.bootDelay);
    }

    @Import(name="bootRetryDelay")
    private @Nullable Output bootRetryDelay;

    public Optional> bootRetryDelay() {
        return Optional.ofNullable(this.bootRetryDelay);
    }

    @Import(name="bootRetryEnabled")
    private @Nullable Output bootRetryEnabled;

    public Optional> bootRetryEnabled() {
        return Optional.ofNullable(this.bootRetryEnabled);
    }

    @Import(name="cpuHotAddEnabled")
    private @Nullable Output cpuHotAddEnabled;

    public Optional> cpuHotAddEnabled() {
        return Optional.ofNullable(this.cpuHotAddEnabled);
    }

    @Import(name="cpuHotRemoveEnabled")
    private @Nullable Output cpuHotRemoveEnabled;

    public Optional> cpuHotRemoveEnabled() {
        return Optional.ofNullable(this.cpuHotRemoveEnabled);
    }

    @Import(name="cpuLimit")
    private @Nullable Output cpuLimit;

    public Optional> cpuLimit() {
        return Optional.ofNullable(this.cpuLimit);
    }

    @Import(name="cpuPerformanceCountersEnabled")
    private @Nullable Output cpuPerformanceCountersEnabled;

    public Optional> cpuPerformanceCountersEnabled() {
        return Optional.ofNullable(this.cpuPerformanceCountersEnabled);
    }

    @Import(name="cpuReservation")
    private @Nullable Output cpuReservation;

    public Optional> cpuReservation() {
        return Optional.ofNullable(this.cpuReservation);
    }

    @Import(name="cpuShareCount")
    private @Nullable Output cpuShareCount;

    public Optional> cpuShareCount() {
        return Optional.ofNullable(this.cpuShareCount);
    }

    @Import(name="cpuShareLevel")
    private @Nullable Output cpuShareLevel;

    public Optional> cpuShareLevel() {
        return Optional.ofNullable(this.cpuShareLevel);
    }

    /**
     * The managed object reference
     * ID of the datacenter the virtual machine is located in.
     * This can be omitted if the search path used in `name` is an absolute path.
     * For default datacenters, use the `id` attribute from an empty
     * `vsphere.Datacenter` data source.
     * 
     */
    @Import(name="datacenterId")
    private @Nullable Output datacenterId;

    /**
     * @return The managed object reference
     * ID of the datacenter the virtual machine is located in.
     * This can be omitted if the search path used in `name` is an absolute path.
     * For default datacenters, use the `id` attribute from an empty
     * `vsphere.Datacenter` data source.
     * 
     */
    public Optional> datacenterId() {
        return Optional.ofNullable(this.datacenterId);
    }

    @Import(name="efiSecureBootEnabled")
    private @Nullable Output efiSecureBootEnabled;

    public Optional> efiSecureBootEnabled() {
        return Optional.ofNullable(this.efiSecureBootEnabled);
    }

    @Import(name="enableDiskUuid")
    private @Nullable Output enableDiskUuid;

    public Optional> enableDiskUuid() {
        return Optional.ofNullable(this.enableDiskUuid);
    }

    @Import(name="enableLogging")
    private @Nullable Output enableLogging;

    public Optional> enableLogging() {
        return Optional.ofNullable(this.enableLogging);
    }

    @Import(name="eptRviMode")
    private @Nullable Output eptRviMode;

    public Optional> eptRviMode() {
        return Optional.ofNullable(this.eptRviMode);
    }

    @Import(name="extraConfig")
    private @Nullable Output> extraConfig;

    public Optional>> extraConfig() {
        return Optional.ofNullable(this.extraConfig);
    }

    @Import(name="extraConfigRebootRequired")
    private @Nullable Output extraConfigRebootRequired;

    public Optional> extraConfigRebootRequired() {
        return Optional.ofNullable(this.extraConfigRebootRequired);
    }

    /**
     * The firmware type for this virtual machine. Can be `bios` or
     * `efi`.
     * 
     */
    @Import(name="firmware")
    private @Nullable Output firmware;

    /**
     * @return The firmware type for this virtual machine. Can be `bios` or
     * `efi`.
     * 
     */
    public Optional> firmware() {
        return Optional.ofNullable(this.firmware);
    }

    /**
     * The name of the virtual machine folder where the virtual machine is located. The `name` argument is limited to 80 characters. If the `name` argument includes the full path to the virtual machine and exceeds the 80 characters limit, the `folder` folder argument can be used.
     * 
     */
    @Import(name="folder")
    private @Nullable Output folder;

    /**
     * @return The name of the virtual machine folder where the virtual machine is located. The `name` argument is limited to 80 characters. If the `name` argument includes the full path to the virtual machine and exceeds the 80 characters limit, the `folder` folder argument can be used.
     * 
     */
    public Optional> folder() {
        return Optional.ofNullable(this.folder);
    }

    /**
     * The guest ID of the virtual machine or template.
     * 
     */
    @Import(name="guestId")
    private @Nullable Output guestId;

    /**
     * @return The guest ID of the virtual machine or template.
     * 
     */
    public Optional> guestId() {
        return Optional.ofNullable(this.guestId);
    }

    /**
     * The hardware version number on this virtual machine.
     * 
     */
    @Import(name="hardwareVersion")
    private @Nullable Output hardwareVersion;

    /**
     * @return The hardware version number on this virtual machine.
     * 
     */
    public Optional> hardwareVersion() {
        return Optional.ofNullable(this.hardwareVersion);
    }

    @Import(name="hvMode")
    private @Nullable Output hvMode;

    public Optional> hvMode() {
        return Optional.ofNullable(this.hvMode);
    }

    @Import(name="ideControllerScanCount")
    private @Nullable Output ideControllerScanCount;

    public Optional> ideControllerScanCount() {
        return Optional.ofNullable(this.ideControllerScanCount);
    }

    @Import(name="latencySensitivity")
    private @Nullable Output latencySensitivity;

    public Optional> latencySensitivity() {
        return Optional.ofNullable(this.latencySensitivity);
    }

    /**
     * The size of the virtual machine's memory, in MB.
     * 
     */
    @Import(name="memory")
    private @Nullable Output memory;

    /**
     * @return The size of the virtual machine's memory, in MB.
     * 
     */
    public Optional> memory() {
        return Optional.ofNullable(this.memory);
    }

    @Import(name="memoryHotAddEnabled")
    private @Nullable Output memoryHotAddEnabled;

    public Optional> memoryHotAddEnabled() {
        return Optional.ofNullable(this.memoryHotAddEnabled);
    }

    @Import(name="memoryLimit")
    private @Nullable Output memoryLimit;

    public Optional> memoryLimit() {
        return Optional.ofNullable(this.memoryLimit);
    }

    @Import(name="memoryReservation")
    private @Nullable Output memoryReservation;

    public Optional> memoryReservation() {
        return Optional.ofNullable(this.memoryReservation);
    }

    @Import(name="memoryReservationLockedToMax")
    private @Nullable Output memoryReservationLockedToMax;

    public Optional> memoryReservationLockedToMax() {
        return Optional.ofNullable(this.memoryReservationLockedToMax);
    }

    @Import(name="memoryShareCount")
    private @Nullable Output memoryShareCount;

    public Optional> memoryShareCount() {
        return Optional.ofNullable(this.memoryShareCount);
    }

    @Import(name="memoryShareLevel")
    private @Nullable Output memoryShareLevel;

    public Optional> memoryShareLevel() {
        return Optional.ofNullable(this.memoryShareLevel);
    }

    @Import(name="moid")
    private @Nullable Output moid;

    public Optional> moid() {
        return Optional.ofNullable(this.moid);
    }

    /**
     * The name of the virtual machine. This can be a name or
     * the full path relative to the datacenter. This is required if a UUID lookup
     * is not performed.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the virtual machine. This can be a name or
     * the full path relative to the datacenter. This is required if a UUID lookup
     * is not performed.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="nestedHvEnabled")
    private @Nullable Output nestedHvEnabled;

    public Optional> nestedHvEnabled() {
        return Optional.ofNullable(this.nestedHvEnabled);
    }

    /**
     * The number of cores per socket for this virtual
     * machine.
     * 
     */
    @Import(name="numCoresPerSocket")
    private @Nullable Output numCoresPerSocket;

    /**
     * @return The number of cores per socket for this virtual
     * machine.
     * 
     */
    public Optional> numCoresPerSocket() {
        return Optional.ofNullable(this.numCoresPerSocket);
    }

    /**
     * The total number of virtual processor cores assigned to this
     * virtual machine.
     * 
     */
    @Import(name="numCpus")
    private @Nullable Output numCpus;

    /**
     * @return The total number of virtual processor cores assigned to this
     * virtual machine.
     * 
     */
    public Optional> numCpus() {
        return Optional.ofNullable(this.numCpus);
    }

    @Import(name="replaceTrigger")
    private @Nullable Output replaceTrigger;

    public Optional> replaceTrigger() {
        return Optional.ofNullable(this.replaceTrigger);
    }

    @Import(name="runToolsScriptsAfterPowerOn")
    private @Nullable Output runToolsScriptsAfterPowerOn;

    public Optional> runToolsScriptsAfterPowerOn() {
        return Optional.ofNullable(this.runToolsScriptsAfterPowerOn);
    }

    @Import(name="runToolsScriptsAfterResume")
    private @Nullable Output runToolsScriptsAfterResume;

    public Optional> runToolsScriptsAfterResume() {
        return Optional.ofNullable(this.runToolsScriptsAfterResume);
    }

    @Import(name="runToolsScriptsBeforeGuestReboot")
    private @Nullable Output runToolsScriptsBeforeGuestReboot;

    public Optional> runToolsScriptsBeforeGuestReboot() {
        return Optional.ofNullable(this.runToolsScriptsBeforeGuestReboot);
    }

    @Import(name="runToolsScriptsBeforeGuestShutdown")
    private @Nullable Output runToolsScriptsBeforeGuestShutdown;

    public Optional> runToolsScriptsBeforeGuestShutdown() {
        return Optional.ofNullable(this.runToolsScriptsBeforeGuestShutdown);
    }

    @Import(name="runToolsScriptsBeforeGuestStandby")
    private @Nullable Output runToolsScriptsBeforeGuestStandby;

    public Optional> runToolsScriptsBeforeGuestStandby() {
        return Optional.ofNullable(this.runToolsScriptsBeforeGuestStandby);
    }

    @Import(name="sataControllerScanCount")
    private @Nullable Output sataControllerScanCount;

    public Optional> sataControllerScanCount() {
        return Optional.ofNullable(this.sataControllerScanCount);
    }

    /**
     * The number of SCSI controllers to
     * scan for disk attributes and controller types on. Default: `1`.
     * 
     * > **NOTE:** For best results, ensure that all the disks on any templates you
     * use with this data source reside on the primary controller, and leave this
     * value at the default. See the `vsphere.VirtualMachine`
     * resource documentation for the significance of this setting, specifically the
     * additional requirements and notes for cloning section.
     * 
     */
    @Import(name="scsiControllerScanCount")
    private @Nullable Output scsiControllerScanCount;

    /**
     * @return The number of SCSI controllers to
     * scan for disk attributes and controller types on. Default: `1`.
     * 
     * > **NOTE:** For best results, ensure that all the disks on any templates you
     * use with this data source reside on the primary controller, and leave this
     * value at the default. See the `vsphere.VirtualMachine`
     * resource documentation for the significance of this setting, specifically the
     * additional requirements and notes for cloning section.
     * 
     */
    public Optional> scsiControllerScanCount() {
        return Optional.ofNullable(this.scsiControllerScanCount);
    }

    @Import(name="storagePolicyId")
    private @Nullable Output storagePolicyId;

    public Optional> storagePolicyId() {
        return Optional.ofNullable(this.storagePolicyId);
    }

    @Import(name="swapPlacementPolicy")
    private @Nullable Output swapPlacementPolicy;

    public Optional> swapPlacementPolicy() {
        return Optional.ofNullable(this.swapPlacementPolicy);
    }

    @Import(name="syncTimeWithHost")
    private @Nullable Output syncTimeWithHost;

    public Optional> syncTimeWithHost() {
        return Optional.ofNullable(this.syncTimeWithHost);
    }

    @Import(name="syncTimeWithHostPeriodically")
    private @Nullable Output syncTimeWithHostPeriodically;

    public Optional> syncTimeWithHostPeriodically() {
        return Optional.ofNullable(this.syncTimeWithHostPeriodically);
    }

    @Import(name="toolsUpgradePolicy")
    private @Nullable Output toolsUpgradePolicy;

    public Optional> toolsUpgradePolicy() {
        return Optional.ofNullable(this.toolsUpgradePolicy);
    }

    /**
     * Specify this field for a UUID lookup, `name` and `datacenter_id`
     * are not required if this is specified.
     * 
     */
    @Import(name="uuid")
    private @Nullable Output uuid;

    /**
     * @return Specify this field for a UUID lookup, `name` and `datacenter_id`
     * are not required if this is specified.
     * 
     */
    public Optional> uuid() {
        return Optional.ofNullable(this.uuid);
    }

    @Import(name="vapp")
    private @Nullable Output vapp;

    public Optional> vapp() {
        return Optional.ofNullable(this.vapp);
    }

    @Import(name="vbsEnabled")
    private @Nullable Output vbsEnabled;

    public Optional> vbsEnabled() {
        return Optional.ofNullable(this.vbsEnabled);
    }

    @Import(name="vvtdEnabled")
    private @Nullable Output vvtdEnabled;

    public Optional> vvtdEnabled() {
        return Optional.ofNullable(this.vvtdEnabled);
    }

    private GetVirtualMachineArgs() {}

    private GetVirtualMachineArgs(GetVirtualMachineArgs $) {
        this.alternateGuestName = $.alternateGuestName;
        this.annotation = $.annotation;
        this.bootDelay = $.bootDelay;
        this.bootRetryDelay = $.bootRetryDelay;
        this.bootRetryEnabled = $.bootRetryEnabled;
        this.cpuHotAddEnabled = $.cpuHotAddEnabled;
        this.cpuHotRemoveEnabled = $.cpuHotRemoveEnabled;
        this.cpuLimit = $.cpuLimit;
        this.cpuPerformanceCountersEnabled = $.cpuPerformanceCountersEnabled;
        this.cpuReservation = $.cpuReservation;
        this.cpuShareCount = $.cpuShareCount;
        this.cpuShareLevel = $.cpuShareLevel;
        this.datacenterId = $.datacenterId;
        this.efiSecureBootEnabled = $.efiSecureBootEnabled;
        this.enableDiskUuid = $.enableDiskUuid;
        this.enableLogging = $.enableLogging;
        this.eptRviMode = $.eptRviMode;
        this.extraConfig = $.extraConfig;
        this.extraConfigRebootRequired = $.extraConfigRebootRequired;
        this.firmware = $.firmware;
        this.folder = $.folder;
        this.guestId = $.guestId;
        this.hardwareVersion = $.hardwareVersion;
        this.hvMode = $.hvMode;
        this.ideControllerScanCount = $.ideControllerScanCount;
        this.latencySensitivity = $.latencySensitivity;
        this.memory = $.memory;
        this.memoryHotAddEnabled = $.memoryHotAddEnabled;
        this.memoryLimit = $.memoryLimit;
        this.memoryReservation = $.memoryReservation;
        this.memoryReservationLockedToMax = $.memoryReservationLockedToMax;
        this.memoryShareCount = $.memoryShareCount;
        this.memoryShareLevel = $.memoryShareLevel;
        this.moid = $.moid;
        this.name = $.name;
        this.nestedHvEnabled = $.nestedHvEnabled;
        this.numCoresPerSocket = $.numCoresPerSocket;
        this.numCpus = $.numCpus;
        this.replaceTrigger = $.replaceTrigger;
        this.runToolsScriptsAfterPowerOn = $.runToolsScriptsAfterPowerOn;
        this.runToolsScriptsAfterResume = $.runToolsScriptsAfterResume;
        this.runToolsScriptsBeforeGuestReboot = $.runToolsScriptsBeforeGuestReboot;
        this.runToolsScriptsBeforeGuestShutdown = $.runToolsScriptsBeforeGuestShutdown;
        this.runToolsScriptsBeforeGuestStandby = $.runToolsScriptsBeforeGuestStandby;
        this.sataControllerScanCount = $.sataControllerScanCount;
        this.scsiControllerScanCount = $.scsiControllerScanCount;
        this.storagePolicyId = $.storagePolicyId;
        this.swapPlacementPolicy = $.swapPlacementPolicy;
        this.syncTimeWithHost = $.syncTimeWithHost;
        this.syncTimeWithHostPeriodically = $.syncTimeWithHostPeriodically;
        this.toolsUpgradePolicy = $.toolsUpgradePolicy;
        this.uuid = $.uuid;
        this.vapp = $.vapp;
        this.vbsEnabled = $.vbsEnabled;
        this.vvtdEnabled = $.vvtdEnabled;
    }

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

    public static final class Builder {
        private GetVirtualMachineArgs $;

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

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

        /**
         * @param alternateGuestName The alternate guest name of the virtual machine when
         * `guest_id` is a non-specific operating system, like `otherGuest` or
         * `otherGuest64`.
         * 
         * @return builder
         * 
         */
        public Builder alternateGuestName(@Nullable Output alternateGuestName) {
            $.alternateGuestName = alternateGuestName;
            return this;
        }

        /**
         * @param alternateGuestName The alternate guest name of the virtual machine when
         * `guest_id` is a non-specific operating system, like `otherGuest` or
         * `otherGuest64`.
         * 
         * @return builder
         * 
         */
        public Builder alternateGuestName(String alternateGuestName) {
            return alternateGuestName(Output.of(alternateGuestName));
        }

        /**
         * @param annotation The user-provided description of this virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder annotation(@Nullable Output annotation) {
            $.annotation = annotation;
            return this;
        }

        /**
         * @param annotation The user-provided description of this virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder annotation(String annotation) {
            return annotation(Output.of(annotation));
        }

        public Builder bootDelay(@Nullable Output bootDelay) {
            $.bootDelay = bootDelay;
            return this;
        }

        public Builder bootDelay(Integer bootDelay) {
            return bootDelay(Output.of(bootDelay));
        }

        public Builder bootRetryDelay(@Nullable Output bootRetryDelay) {
            $.bootRetryDelay = bootRetryDelay;
            return this;
        }

        public Builder bootRetryDelay(Integer bootRetryDelay) {
            return bootRetryDelay(Output.of(bootRetryDelay));
        }

        public Builder bootRetryEnabled(@Nullable Output bootRetryEnabled) {
            $.bootRetryEnabled = bootRetryEnabled;
            return this;
        }

        public Builder bootRetryEnabled(Boolean bootRetryEnabled) {
            return bootRetryEnabled(Output.of(bootRetryEnabled));
        }

        public Builder cpuHotAddEnabled(@Nullable Output cpuHotAddEnabled) {
            $.cpuHotAddEnabled = cpuHotAddEnabled;
            return this;
        }

        public Builder cpuHotAddEnabled(Boolean cpuHotAddEnabled) {
            return cpuHotAddEnabled(Output.of(cpuHotAddEnabled));
        }

        public Builder cpuHotRemoveEnabled(@Nullable Output cpuHotRemoveEnabled) {
            $.cpuHotRemoveEnabled = cpuHotRemoveEnabled;
            return this;
        }

        public Builder cpuHotRemoveEnabled(Boolean cpuHotRemoveEnabled) {
            return cpuHotRemoveEnabled(Output.of(cpuHotRemoveEnabled));
        }

        public Builder cpuLimit(@Nullable Output cpuLimit) {
            $.cpuLimit = cpuLimit;
            return this;
        }

        public Builder cpuLimit(Integer cpuLimit) {
            return cpuLimit(Output.of(cpuLimit));
        }

        public Builder cpuPerformanceCountersEnabled(@Nullable Output cpuPerformanceCountersEnabled) {
            $.cpuPerformanceCountersEnabled = cpuPerformanceCountersEnabled;
            return this;
        }

        public Builder cpuPerformanceCountersEnabled(Boolean cpuPerformanceCountersEnabled) {
            return cpuPerformanceCountersEnabled(Output.of(cpuPerformanceCountersEnabled));
        }

        public Builder cpuReservation(@Nullable Output cpuReservation) {
            $.cpuReservation = cpuReservation;
            return this;
        }

        public Builder cpuReservation(Integer cpuReservation) {
            return cpuReservation(Output.of(cpuReservation));
        }

        public Builder cpuShareCount(@Nullable Output cpuShareCount) {
            $.cpuShareCount = cpuShareCount;
            return this;
        }

        public Builder cpuShareCount(Integer cpuShareCount) {
            return cpuShareCount(Output.of(cpuShareCount));
        }

        public Builder cpuShareLevel(@Nullable Output cpuShareLevel) {
            $.cpuShareLevel = cpuShareLevel;
            return this;
        }

        public Builder cpuShareLevel(String cpuShareLevel) {
            return cpuShareLevel(Output.of(cpuShareLevel));
        }

        /**
         * @param datacenterId The managed object reference
         * ID of the datacenter the virtual machine is located in.
         * This can be omitted if the search path used in `name` is an absolute path.
         * For default datacenters, use the `id` attribute from an empty
         * `vsphere.Datacenter` data source.
         * 
         * @return builder
         * 
         */
        public Builder datacenterId(@Nullable Output datacenterId) {
            $.datacenterId = datacenterId;
            return this;
        }

        /**
         * @param datacenterId The managed object reference
         * ID of the datacenter the virtual machine is located in.
         * This can be omitted if the search path used in `name` is an absolute path.
         * For default datacenters, use the `id` attribute from an empty
         * `vsphere.Datacenter` data source.
         * 
         * @return builder
         * 
         */
        public Builder datacenterId(String datacenterId) {
            return datacenterId(Output.of(datacenterId));
        }

        public Builder efiSecureBootEnabled(@Nullable Output efiSecureBootEnabled) {
            $.efiSecureBootEnabled = efiSecureBootEnabled;
            return this;
        }

        public Builder efiSecureBootEnabled(Boolean efiSecureBootEnabled) {
            return efiSecureBootEnabled(Output.of(efiSecureBootEnabled));
        }

        public Builder enableDiskUuid(@Nullable Output enableDiskUuid) {
            $.enableDiskUuid = enableDiskUuid;
            return this;
        }

        public Builder enableDiskUuid(Boolean enableDiskUuid) {
            return enableDiskUuid(Output.of(enableDiskUuid));
        }

        public Builder enableLogging(@Nullable Output enableLogging) {
            $.enableLogging = enableLogging;
            return this;
        }

        public Builder enableLogging(Boolean enableLogging) {
            return enableLogging(Output.of(enableLogging));
        }

        public Builder eptRviMode(@Nullable Output eptRviMode) {
            $.eptRviMode = eptRviMode;
            return this;
        }

        public Builder eptRviMode(String eptRviMode) {
            return eptRviMode(Output.of(eptRviMode));
        }

        public Builder extraConfig(@Nullable Output> extraConfig) {
            $.extraConfig = extraConfig;
            return this;
        }

        public Builder extraConfig(Map extraConfig) {
            return extraConfig(Output.of(extraConfig));
        }

        public Builder extraConfigRebootRequired(@Nullable Output extraConfigRebootRequired) {
            $.extraConfigRebootRequired = extraConfigRebootRequired;
            return this;
        }

        public Builder extraConfigRebootRequired(Boolean extraConfigRebootRequired) {
            return extraConfigRebootRequired(Output.of(extraConfigRebootRequired));
        }

        /**
         * @param firmware The firmware type for this virtual machine. Can be `bios` or
         * `efi`.
         * 
         * @return builder
         * 
         */
        public Builder firmware(@Nullable Output firmware) {
            $.firmware = firmware;
            return this;
        }

        /**
         * @param firmware The firmware type for this virtual machine. Can be `bios` or
         * `efi`.
         * 
         * @return builder
         * 
         */
        public Builder firmware(String firmware) {
            return firmware(Output.of(firmware));
        }

        /**
         * @param folder The name of the virtual machine folder where the virtual machine is located. The `name` argument is limited to 80 characters. If the `name` argument includes the full path to the virtual machine and exceeds the 80 characters limit, the `folder` folder argument can be used.
         * 
         * @return builder
         * 
         */
        public Builder folder(@Nullable Output folder) {
            $.folder = folder;
            return this;
        }

        /**
         * @param folder The name of the virtual machine folder where the virtual machine is located. The `name` argument is limited to 80 characters. If the `name` argument includes the full path to the virtual machine and exceeds the 80 characters limit, the `folder` folder argument can be used.
         * 
         * @return builder
         * 
         */
        public Builder folder(String folder) {
            return folder(Output.of(folder));
        }

        /**
         * @param guestId The guest ID of the virtual machine or template.
         * 
         * @return builder
         * 
         */
        public Builder guestId(@Nullable Output guestId) {
            $.guestId = guestId;
            return this;
        }

        /**
         * @param guestId The guest ID of the virtual machine or template.
         * 
         * @return builder
         * 
         */
        public Builder guestId(String guestId) {
            return guestId(Output.of(guestId));
        }

        /**
         * @param hardwareVersion The hardware version number on this virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder hardwareVersion(@Nullable Output hardwareVersion) {
            $.hardwareVersion = hardwareVersion;
            return this;
        }

        /**
         * @param hardwareVersion The hardware version number on this virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder hardwareVersion(Integer hardwareVersion) {
            return hardwareVersion(Output.of(hardwareVersion));
        }

        public Builder hvMode(@Nullable Output hvMode) {
            $.hvMode = hvMode;
            return this;
        }

        public Builder hvMode(String hvMode) {
            return hvMode(Output.of(hvMode));
        }

        public Builder ideControllerScanCount(@Nullable Output ideControllerScanCount) {
            $.ideControllerScanCount = ideControllerScanCount;
            return this;
        }

        public Builder ideControllerScanCount(Integer ideControllerScanCount) {
            return ideControllerScanCount(Output.of(ideControllerScanCount));
        }

        public Builder latencySensitivity(@Nullable Output latencySensitivity) {
            $.latencySensitivity = latencySensitivity;
            return this;
        }

        public Builder latencySensitivity(String latencySensitivity) {
            return latencySensitivity(Output.of(latencySensitivity));
        }

        /**
         * @param memory The size of the virtual machine's memory, in MB.
         * 
         * @return builder
         * 
         */
        public Builder memory(@Nullable Output memory) {
            $.memory = memory;
            return this;
        }

        /**
         * @param memory The size of the virtual machine's memory, in MB.
         * 
         * @return builder
         * 
         */
        public Builder memory(Integer memory) {
            return memory(Output.of(memory));
        }

        public Builder memoryHotAddEnabled(@Nullable Output memoryHotAddEnabled) {
            $.memoryHotAddEnabled = memoryHotAddEnabled;
            return this;
        }

        public Builder memoryHotAddEnabled(Boolean memoryHotAddEnabled) {
            return memoryHotAddEnabled(Output.of(memoryHotAddEnabled));
        }

        public Builder memoryLimit(@Nullable Output memoryLimit) {
            $.memoryLimit = memoryLimit;
            return this;
        }

        public Builder memoryLimit(Integer memoryLimit) {
            return memoryLimit(Output.of(memoryLimit));
        }

        public Builder memoryReservation(@Nullable Output memoryReservation) {
            $.memoryReservation = memoryReservation;
            return this;
        }

        public Builder memoryReservation(Integer memoryReservation) {
            return memoryReservation(Output.of(memoryReservation));
        }

        public Builder memoryReservationLockedToMax(@Nullable Output memoryReservationLockedToMax) {
            $.memoryReservationLockedToMax = memoryReservationLockedToMax;
            return this;
        }

        public Builder memoryReservationLockedToMax(Boolean memoryReservationLockedToMax) {
            return memoryReservationLockedToMax(Output.of(memoryReservationLockedToMax));
        }

        public Builder memoryShareCount(@Nullable Output memoryShareCount) {
            $.memoryShareCount = memoryShareCount;
            return this;
        }

        public Builder memoryShareCount(Integer memoryShareCount) {
            return memoryShareCount(Output.of(memoryShareCount));
        }

        public Builder memoryShareLevel(@Nullable Output memoryShareLevel) {
            $.memoryShareLevel = memoryShareLevel;
            return this;
        }

        public Builder memoryShareLevel(String memoryShareLevel) {
            return memoryShareLevel(Output.of(memoryShareLevel));
        }

        public Builder moid(@Nullable Output moid) {
            $.moid = moid;
            return this;
        }

        public Builder moid(String moid) {
            return moid(Output.of(moid));
        }

        /**
         * @param name The name of the virtual machine. This can be a name or
         * the full path relative to the datacenter. This is required if a UUID lookup
         * is not performed.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the virtual machine. This can be a name or
         * the full path relative to the datacenter. This is required if a UUID lookup
         * is not performed.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder nestedHvEnabled(@Nullable Output nestedHvEnabled) {
            $.nestedHvEnabled = nestedHvEnabled;
            return this;
        }

        public Builder nestedHvEnabled(Boolean nestedHvEnabled) {
            return nestedHvEnabled(Output.of(nestedHvEnabled));
        }

        /**
         * @param numCoresPerSocket The number of cores per socket for this virtual
         * machine.
         * 
         * @return builder
         * 
         */
        public Builder numCoresPerSocket(@Nullable Output numCoresPerSocket) {
            $.numCoresPerSocket = numCoresPerSocket;
            return this;
        }

        /**
         * @param numCoresPerSocket The number of cores per socket for this virtual
         * machine.
         * 
         * @return builder
         * 
         */
        public Builder numCoresPerSocket(Integer numCoresPerSocket) {
            return numCoresPerSocket(Output.of(numCoresPerSocket));
        }

        /**
         * @param numCpus The total number of virtual processor cores assigned to this
         * virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder numCpus(@Nullable Output numCpus) {
            $.numCpus = numCpus;
            return this;
        }

        /**
         * @param numCpus The total number of virtual processor cores assigned to this
         * virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder numCpus(Integer numCpus) {
            return numCpus(Output.of(numCpus));
        }

        public Builder replaceTrigger(@Nullable Output replaceTrigger) {
            $.replaceTrigger = replaceTrigger;
            return this;
        }

        public Builder replaceTrigger(String replaceTrigger) {
            return replaceTrigger(Output.of(replaceTrigger));
        }

        public Builder runToolsScriptsAfterPowerOn(@Nullable Output runToolsScriptsAfterPowerOn) {
            $.runToolsScriptsAfterPowerOn = runToolsScriptsAfterPowerOn;
            return this;
        }

        public Builder runToolsScriptsAfterPowerOn(Boolean runToolsScriptsAfterPowerOn) {
            return runToolsScriptsAfterPowerOn(Output.of(runToolsScriptsAfterPowerOn));
        }

        public Builder runToolsScriptsAfterResume(@Nullable Output runToolsScriptsAfterResume) {
            $.runToolsScriptsAfterResume = runToolsScriptsAfterResume;
            return this;
        }

        public Builder runToolsScriptsAfterResume(Boolean runToolsScriptsAfterResume) {
            return runToolsScriptsAfterResume(Output.of(runToolsScriptsAfterResume));
        }

        public Builder runToolsScriptsBeforeGuestReboot(@Nullable Output runToolsScriptsBeforeGuestReboot) {
            $.runToolsScriptsBeforeGuestReboot = runToolsScriptsBeforeGuestReboot;
            return this;
        }

        public Builder runToolsScriptsBeforeGuestReboot(Boolean runToolsScriptsBeforeGuestReboot) {
            return runToolsScriptsBeforeGuestReboot(Output.of(runToolsScriptsBeforeGuestReboot));
        }

        public Builder runToolsScriptsBeforeGuestShutdown(@Nullable Output runToolsScriptsBeforeGuestShutdown) {
            $.runToolsScriptsBeforeGuestShutdown = runToolsScriptsBeforeGuestShutdown;
            return this;
        }

        public Builder runToolsScriptsBeforeGuestShutdown(Boolean runToolsScriptsBeforeGuestShutdown) {
            return runToolsScriptsBeforeGuestShutdown(Output.of(runToolsScriptsBeforeGuestShutdown));
        }

        public Builder runToolsScriptsBeforeGuestStandby(@Nullable Output runToolsScriptsBeforeGuestStandby) {
            $.runToolsScriptsBeforeGuestStandby = runToolsScriptsBeforeGuestStandby;
            return this;
        }

        public Builder runToolsScriptsBeforeGuestStandby(Boolean runToolsScriptsBeforeGuestStandby) {
            return runToolsScriptsBeforeGuestStandby(Output.of(runToolsScriptsBeforeGuestStandby));
        }

        public Builder sataControllerScanCount(@Nullable Output sataControllerScanCount) {
            $.sataControllerScanCount = sataControllerScanCount;
            return this;
        }

        public Builder sataControllerScanCount(Integer sataControllerScanCount) {
            return sataControllerScanCount(Output.of(sataControllerScanCount));
        }

        /**
         * @param scsiControllerScanCount The number of SCSI controllers to
         * scan for disk attributes and controller types on. Default: `1`.
         * 
         * > **NOTE:** For best results, ensure that all the disks on any templates you
         * use with this data source reside on the primary controller, and leave this
         * value at the default. See the `vsphere.VirtualMachine`
         * resource documentation for the significance of this setting, specifically the
         * additional requirements and notes for cloning section.
         * 
         * @return builder
         * 
         */
        public Builder scsiControllerScanCount(@Nullable Output scsiControllerScanCount) {
            $.scsiControllerScanCount = scsiControllerScanCount;
            return this;
        }

        /**
         * @param scsiControllerScanCount The number of SCSI controllers to
         * scan for disk attributes and controller types on. Default: `1`.
         * 
         * > **NOTE:** For best results, ensure that all the disks on any templates you
         * use with this data source reside on the primary controller, and leave this
         * value at the default. See the `vsphere.VirtualMachine`
         * resource documentation for the significance of this setting, specifically the
         * additional requirements and notes for cloning section.
         * 
         * @return builder
         * 
         */
        public Builder scsiControllerScanCount(Integer scsiControllerScanCount) {
            return scsiControllerScanCount(Output.of(scsiControllerScanCount));
        }

        public Builder storagePolicyId(@Nullable Output storagePolicyId) {
            $.storagePolicyId = storagePolicyId;
            return this;
        }

        public Builder storagePolicyId(String storagePolicyId) {
            return storagePolicyId(Output.of(storagePolicyId));
        }

        public Builder swapPlacementPolicy(@Nullable Output swapPlacementPolicy) {
            $.swapPlacementPolicy = swapPlacementPolicy;
            return this;
        }

        public Builder swapPlacementPolicy(String swapPlacementPolicy) {
            return swapPlacementPolicy(Output.of(swapPlacementPolicy));
        }

        public Builder syncTimeWithHost(@Nullable Output syncTimeWithHost) {
            $.syncTimeWithHost = syncTimeWithHost;
            return this;
        }

        public Builder syncTimeWithHost(Boolean syncTimeWithHost) {
            return syncTimeWithHost(Output.of(syncTimeWithHost));
        }

        public Builder syncTimeWithHostPeriodically(@Nullable Output syncTimeWithHostPeriodically) {
            $.syncTimeWithHostPeriodically = syncTimeWithHostPeriodically;
            return this;
        }

        public Builder syncTimeWithHostPeriodically(Boolean syncTimeWithHostPeriodically) {
            return syncTimeWithHostPeriodically(Output.of(syncTimeWithHostPeriodically));
        }

        public Builder toolsUpgradePolicy(@Nullable Output toolsUpgradePolicy) {
            $.toolsUpgradePolicy = toolsUpgradePolicy;
            return this;
        }

        public Builder toolsUpgradePolicy(String toolsUpgradePolicy) {
            return toolsUpgradePolicy(Output.of(toolsUpgradePolicy));
        }

        /**
         * @param uuid Specify this field for a UUID lookup, `name` and `datacenter_id`
         * are not required if this is specified.
         * 
         * @return builder
         * 
         */
        public Builder uuid(@Nullable Output uuid) {
            $.uuid = uuid;
            return this;
        }

        /**
         * @param uuid Specify this field for a UUID lookup, `name` and `datacenter_id`
         * are not required if this is specified.
         * 
         * @return builder
         * 
         */
        public Builder uuid(String uuid) {
            return uuid(Output.of(uuid));
        }

        public Builder vapp(@Nullable Output vapp) {
            $.vapp = vapp;
            return this;
        }

        public Builder vapp(GetVirtualMachineVappArgs vapp) {
            return vapp(Output.of(vapp));
        }

        public Builder vbsEnabled(@Nullable Output vbsEnabled) {
            $.vbsEnabled = vbsEnabled;
            return this;
        }

        public Builder vbsEnabled(Boolean vbsEnabled) {
            return vbsEnabled(Output.of(vbsEnabled));
        }

        public Builder vvtdEnabled(@Nullable Output vvtdEnabled) {
            $.vvtdEnabled = vvtdEnabled;
            return this;
        }

        public Builder vvtdEnabled(Boolean vvtdEnabled) {
            return vvtdEnabled(Output.of(vvtdEnabled));
        }

        public GetVirtualMachineArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy