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

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

There is a newer version: 2.78.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.scvmm;

import com.pulumi.azurenative.scvmm.inputs.CheckpointArgs;
import com.pulumi.azurenative.scvmm.inputs.ExtendedLocationArgs;
import com.pulumi.azurenative.scvmm.inputs.GuestAgentProfileArgs;
import com.pulumi.azurenative.scvmm.inputs.HardwareProfileArgs;
import com.pulumi.azurenative.scvmm.inputs.IdentityArgs;
import com.pulumi.azurenative.scvmm.inputs.NetworkProfileArgs;
import com.pulumi.azurenative.scvmm.inputs.OsProfileArgs;
import com.pulumi.azurenative.scvmm.inputs.StorageProfileArgs;
import com.pulumi.azurenative.scvmm.inputs.VirtualMachinePropertiesAvailabilitySetsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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();

    /**
     * Availability Sets in vm.
     * 
     */
    @Import(name="availabilitySets")
    private @Nullable Output> availabilitySets;

    /**
     * @return Availability Sets in vm.
     * 
     */
    public Optional>> availabilitySets() {
        return Optional.ofNullable(this.availabilitySets);
    }

    /**
     * Type of checkpoint supported for the vm.
     * 
     */
    @Import(name="checkpointType")
    private @Nullable Output checkpointType;

    /**
     * @return Type of checkpoint supported for the vm.
     * 
     */
    public Optional> checkpointType() {
        return Optional.ofNullable(this.checkpointType);
    }

    /**
     * Checkpoints in the vm.
     * 
     */
    @Import(name="checkpoints")
    private @Nullable Output> checkpoints;

    /**
     * @return Checkpoints in the vm.
     * 
     */
    public Optional>> checkpoints() {
        return Optional.ofNullable(this.checkpoints);
    }

    /**
     * ARM Id of the cloud resource to use for deploying the vm.
     * 
     */
    @Import(name="cloudId")
    private @Nullable Output cloudId;

    /**
     * @return ARM Id of the cloud resource to use for deploying the vm.
     * 
     */
    public Optional> cloudId() {
        return Optional.ofNullable(this.cloudId);
    }

    /**
     * The extended location.
     * 
     */
    @Import(name="extendedLocation", required=true)
    private Output extendedLocation;

    /**
     * @return The extended location.
     * 
     */
    public Output extendedLocation() {
        return this.extendedLocation;
    }

    /**
     * Gets or sets the generation for the vm.
     * 
     */
    @Import(name="generation")
    private @Nullable Output generation;

    /**
     * @return Gets or sets the generation for the vm.
     * 
     */
    public Optional> generation() {
        return Optional.ofNullable(this.generation);
    }

    /**
     * Guest agent status properties.
     * 
     */
    @Import(name="guestAgentProfile")
    private @Nullable Output guestAgentProfile;

    /**
     * @return Guest agent status properties.
     * 
     */
    public Optional> guestAgentProfile() {
        return Optional.ofNullable(this.guestAgentProfile);
    }

    /**
     * Hardware properties.
     * 
     */
    @Import(name="hardwareProfile")
    private @Nullable Output hardwareProfile;

    /**
     * @return Hardware properties.
     * 
     */
    public Optional> hardwareProfile() {
        return Optional.ofNullable(this.hardwareProfile);
    }

    /**
     * The identity of the resource.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return The identity of the resource.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * Gets or sets the inventory Item ID for the resource.
     * 
     */
    @Import(name="inventoryItemId")
    private @Nullable Output inventoryItemId;

    /**
     * @return Gets or sets the inventory Item ID for the resource.
     * 
     */
    public Optional> inventoryItemId() {
        return Optional.ofNullable(this.inventoryItemId);
    }

    /**
     * Gets or sets the location.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Gets or sets the location.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Network properties.
     * 
     */
    @Import(name="networkProfile")
    private @Nullable Output networkProfile;

    /**
     * @return Network properties.
     * 
     */
    public Optional> networkProfile() {
        return Optional.ofNullable(this.networkProfile);
    }

    /**
     * OS properties.
     * 
     */
    @Import(name="osProfile")
    private @Nullable Output osProfile;

    /**
     * @return OS properties.
     * 
     */
    public Optional> osProfile() {
        return Optional.ofNullable(this.osProfile);
    }

    /**
     * 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;
    }

    /**
     * Storage properties.
     * 
     */
    @Import(name="storageProfile")
    private @Nullable Output storageProfile;

    /**
     * @return Storage properties.
     * 
     */
    public Optional> storageProfile() {
        return Optional.ofNullable(this.storageProfile);
    }

    /**
     * Resource tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

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

    /**
     * ARM Id of the template resource to use for deploying the vm.
     * 
     */
    @Import(name="templateId")
    private @Nullable Output templateId;

    /**
     * @return ARM Id of the template resource to use for deploying the vm.
     * 
     */
    public Optional> templateId() {
        return Optional.ofNullable(this.templateId);
    }

    /**
     * Unique ID of the virtual machine.
     * 
     */
    @Import(name="uuid")
    private @Nullable Output uuid;

    /**
     * @return Unique ID of the virtual machine.
     * 
     */
    public Optional> uuid() {
        return Optional.ofNullable(this.uuid);
    }

    /**
     * Name of the VirtualMachine.
     * 
     */
    @Import(name="virtualMachineName")
    private @Nullable Output virtualMachineName;

    /**
     * @return Name of the VirtualMachine.
     * 
     */
    public Optional> virtualMachineName() {
        return Optional.ofNullable(this.virtualMachineName);
    }

    /**
     * VMName is the name of VM on the SCVMM server.
     * 
     */
    @Import(name="vmName")
    private @Nullable Output vmName;

    /**
     * @return VMName is the name of VM on the SCVMM server.
     * 
     */
    public Optional> vmName() {
        return Optional.ofNullable(this.vmName);
    }

    /**
     * ARM Id of the vmmServer resource in which this resource resides.
     * 
     */
    @Import(name="vmmServerId")
    private @Nullable Output vmmServerId;

    /**
     * @return ARM Id of the vmmServer resource in which this resource resides.
     * 
     */
    public Optional> vmmServerId() {
        return Optional.ofNullable(this.vmmServerId);
    }

    private VirtualMachineArgs() {}

    private VirtualMachineArgs(VirtualMachineArgs $) {
        this.availabilitySets = $.availabilitySets;
        this.checkpointType = $.checkpointType;
        this.checkpoints = $.checkpoints;
        this.cloudId = $.cloudId;
        this.extendedLocation = $.extendedLocation;
        this.generation = $.generation;
        this.guestAgentProfile = $.guestAgentProfile;
        this.hardwareProfile = $.hardwareProfile;
        this.identity = $.identity;
        this.inventoryItemId = $.inventoryItemId;
        this.location = $.location;
        this.networkProfile = $.networkProfile;
        this.osProfile = $.osProfile;
        this.resourceGroupName = $.resourceGroupName;
        this.storageProfile = $.storageProfile;
        this.tags = $.tags;
        this.templateId = $.templateId;
        this.uuid = $.uuid;
        this.virtualMachineName = $.virtualMachineName;
        this.vmName = $.vmName;
        this.vmmServerId = $.vmmServerId;
    }

    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 availabilitySets Availability Sets in vm.
         * 
         * @return builder
         * 
         */
        public Builder availabilitySets(@Nullable Output> availabilitySets) {
            $.availabilitySets = availabilitySets;
            return this;
        }

        /**
         * @param availabilitySets Availability Sets in vm.
         * 
         * @return builder
         * 
         */
        public Builder availabilitySets(List availabilitySets) {
            return availabilitySets(Output.of(availabilitySets));
        }

        /**
         * @param availabilitySets Availability Sets in vm.
         * 
         * @return builder
         * 
         */
        public Builder availabilitySets(VirtualMachinePropertiesAvailabilitySetsArgs... availabilitySets) {
            return availabilitySets(List.of(availabilitySets));
        }

        /**
         * @param checkpointType Type of checkpoint supported for the vm.
         * 
         * @return builder
         * 
         */
        public Builder checkpointType(@Nullable Output checkpointType) {
            $.checkpointType = checkpointType;
            return this;
        }

        /**
         * @param checkpointType Type of checkpoint supported for the vm.
         * 
         * @return builder
         * 
         */
        public Builder checkpointType(String checkpointType) {
            return checkpointType(Output.of(checkpointType));
        }

        /**
         * @param checkpoints Checkpoints in the vm.
         * 
         * @return builder
         * 
         */
        public Builder checkpoints(@Nullable Output> checkpoints) {
            $.checkpoints = checkpoints;
            return this;
        }

        /**
         * @param checkpoints Checkpoints in the vm.
         * 
         * @return builder
         * 
         */
        public Builder checkpoints(List checkpoints) {
            return checkpoints(Output.of(checkpoints));
        }

        /**
         * @param checkpoints Checkpoints in the vm.
         * 
         * @return builder
         * 
         */
        public Builder checkpoints(CheckpointArgs... checkpoints) {
            return checkpoints(List.of(checkpoints));
        }

        /**
         * @param cloudId ARM Id of the cloud resource to use for deploying the vm.
         * 
         * @return builder
         * 
         */
        public Builder cloudId(@Nullable Output cloudId) {
            $.cloudId = cloudId;
            return this;
        }

        /**
         * @param cloudId ARM Id of the cloud resource to use for deploying the vm.
         * 
         * @return builder
         * 
         */
        public Builder cloudId(String cloudId) {
            return cloudId(Output.of(cloudId));
        }

        /**
         * @param extendedLocation The extended location.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extended location.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param generation Gets or sets the generation for the vm.
         * 
         * @return builder
         * 
         */
        public Builder generation(@Nullable Output generation) {
            $.generation = generation;
            return this;
        }

        /**
         * @param generation Gets or sets the generation for the vm.
         * 
         * @return builder
         * 
         */
        public Builder generation(Integer generation) {
            return generation(Output.of(generation));
        }

        /**
         * @param guestAgentProfile Guest agent status properties.
         * 
         * @return builder
         * 
         */
        public Builder guestAgentProfile(@Nullable Output guestAgentProfile) {
            $.guestAgentProfile = guestAgentProfile;
            return this;
        }

        /**
         * @param guestAgentProfile Guest agent status properties.
         * 
         * @return builder
         * 
         */
        public Builder guestAgentProfile(GuestAgentProfileArgs guestAgentProfile) {
            return guestAgentProfile(Output.of(guestAgentProfile));
        }

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

        /**
         * @param hardwareProfile Hardware properties.
         * 
         * @return builder
         * 
         */
        public Builder hardwareProfile(HardwareProfileArgs hardwareProfile) {
            return hardwareProfile(Output.of(hardwareProfile));
        }

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

        /**
         * @param identity The identity of the resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(IdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param inventoryItemId Gets or sets the inventory Item ID for the resource.
         * 
         * @return builder
         * 
         */
        public Builder inventoryItemId(@Nullable Output inventoryItemId) {
            $.inventoryItemId = inventoryItemId;
            return this;
        }

        /**
         * @param inventoryItemId Gets or sets the inventory Item ID for the resource.
         * 
         * @return builder
         * 
         */
        public Builder inventoryItemId(String inventoryItemId) {
            return inventoryItemId(Output.of(inventoryItemId));
        }

        /**
         * @param location Gets or sets the location.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Gets or sets the location.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

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

        /**
         * @param networkProfile Network properties.
         * 
         * @return builder
         * 
         */
        public Builder networkProfile(NetworkProfileArgs networkProfile) {
            return networkProfile(Output.of(networkProfile));
        }

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

        /**
         * @param osProfile OS properties.
         * 
         * @return builder
         * 
         */
        public Builder osProfile(OsProfileArgs osProfile) {
            return osProfile(Output.of(osProfile));
        }

        /**
         * @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 storageProfile Storage properties.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(@Nullable Output storageProfile) {
            $.storageProfile = storageProfile;
            return this;
        }

        /**
         * @param storageProfile Storage properties.
         * 
         * @return builder
         * 
         */
        public Builder storageProfile(StorageProfileArgs storageProfile) {
            return storageProfile(Output.of(storageProfile));
        }

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

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

        /**
         * @param templateId ARM Id of the template resource to use for deploying the vm.
         * 
         * @return builder
         * 
         */
        public Builder templateId(@Nullable Output templateId) {
            $.templateId = templateId;
            return this;
        }

        /**
         * @param templateId ARM Id of the template resource to use for deploying the vm.
         * 
         * @return builder
         * 
         */
        public Builder templateId(String templateId) {
            return templateId(Output.of(templateId));
        }

        /**
         * @param uuid Unique ID of the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder uuid(@Nullable Output uuid) {
            $.uuid = uuid;
            return this;
        }

        /**
         * @param uuid Unique ID of the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder uuid(String uuid) {
            return uuid(Output.of(uuid));
        }

        /**
         * @param virtualMachineName Name of the VirtualMachine.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineName(@Nullable Output virtualMachineName) {
            $.virtualMachineName = virtualMachineName;
            return this;
        }

        /**
         * @param virtualMachineName Name of the VirtualMachine.
         * 
         * @return builder
         * 
         */
        public Builder virtualMachineName(String virtualMachineName) {
            return virtualMachineName(Output.of(virtualMachineName));
        }

        /**
         * @param vmName VMName is the name of VM on the SCVMM server.
         * 
         * @return builder
         * 
         */
        public Builder vmName(@Nullable Output vmName) {
            $.vmName = vmName;
            return this;
        }

        /**
         * @param vmName VMName is the name of VM on the SCVMM server.
         * 
         * @return builder
         * 
         */
        public Builder vmName(String vmName) {
            return vmName(Output.of(vmName));
        }

        /**
         * @param vmmServerId ARM Id of the vmmServer resource in which this resource resides.
         * 
         * @return builder
         * 
         */
        public Builder vmmServerId(@Nullable Output vmmServerId) {
            $.vmmServerId = vmmServerId;
            return this;
        }

        /**
         * @param vmmServerId ARM Id of the vmmServer resource in which this resource resides.
         * 
         * @return builder
         * 
         */
        public Builder vmmServerId(String vmmServerId) {
            return vmmServerId(Output.of(vmmServerId));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy