Windows Virtual Machine Args
Manages a Windows Virtual Machine.
Disclaimers
Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the
features
setting within the Provider block. Note All arguments including the administrator login and password will be stored in the raw state as plain-text. Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use theazure.compute.VirtualMachine
resource instead. Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use theazure.compute.VirtualMachine
resource instead. In this release there's a known issue where thepublic_ip_address
andpublic_ip_addresses
fields may not be fully populated for Dynamic Public IP's.
Example Usage
This example provisions a basic Windows Virtual Machine on an internal network.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.WindowsVirtualMachine;
import com.pulumi.azure.compute.WindowsVirtualMachineArgs;
import com.pulumi.azure.compute.inputs.WindowsVirtualMachineOsDiskArgs;
import com.pulumi.azure.compute.inputs.WindowsVirtualMachineSourceImageReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.addressSpaces("10.0.0.0/16")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.build());
var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var exampleNetworkInterface = new NetworkInterface("exampleNetworkInterface", NetworkInterfaceArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("internal")
.subnetId(exampleSubnet.id())
.privateIpAddressAllocation("Dynamic")
.build())
.build());
var exampleWindowsVirtualMachine = new WindowsVirtualMachine("exampleWindowsVirtualMachine", WindowsVirtualMachineArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.size("Standard_F2")
.adminUsername("adminuser")
.adminPassword("P@$$w0rd1234!")
.networkInterfaceIds(exampleNetworkInterface.id())
.osDisk(WindowsVirtualMachineOsDiskArgs.builder()
.caching("ReadWrite")
.storageAccountType("Standard_LRS")
.build())
.sourceImageReference(WindowsVirtualMachineSourceImageReferenceArgs.builder()
.publisher("MicrosoftWindowsServer")
.offer("WindowsServer")
.sku("2016-Datacenter")
.version("latest")
.build())
.build());
}
}
Import
Windows Virtual Machines can be imported using the resource id
, e.g.
$ pulumi import azure:compute/windowsVirtualMachine:WindowsVirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1
Constructors
Functions
Properties
Specifies the type of on-premise license (also known as Azure Hybrid Use Benefit) which should be used for this Virtual Machine. Possible values are None
, Windows_Client
and Windows_Server
.
The maximum price you're willing to pay for this Virtual Machine, in US Dollars; which must be greater than the current spot price. If this bid price falls below the current spot price the Virtual Machine will be evicted using the eviction_policy
. Defaults to -1
, which means that the Virtual Machine should not be evicted for price reasons.
Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual
, AutomaticByOS
and AutomaticByPlatform
. Defaults to AutomaticByOS
. For more information on patch modes please see the product documentation.
Specifies the Platform Fault Domain in which this Windows Virtual Machine should be created. Defaults to -1
, which means this will be automatically assigned to a fault domain that best maintains balance across the available fault domains. Changing this forces a new Windows Virtual Machine to be created.
The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created. Possible Image ID types include Image ID
s, Shared Image ID
s, Shared Image Version ID
s, Community Gallery Image ID
s, Community Gallery Image Version ID
s, Shared Gallery Image ID
s and Shared Gallery Image Version ID
s.
Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here. Changing this forces a new resource to be created.