1. Packages
  2. Azure Classic
  3. API Docs
  4. compute
  5. WindowsVirtualMachine

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    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 the azure.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 the azure.compute.VirtualMachine resource instead.

    In this release there’s a known issue where the public_ip_address and public_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.

    using Pulumi;
    using Azure = Pulumi.Azure;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
            {
                Location = "West Europe",
            });
            var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("exampleVirtualNetwork", new Azure.Network.VirtualNetworkArgs
            {
                AddressSpaces = 
                {
                    "10.0.0.0/16",
                },
                Location = exampleResourceGroup.Location,
                ResourceGroupName = exampleResourceGroup.Name,
            });
            var exampleSubnet = new Azure.Network.Subnet("exampleSubnet", new Azure.Network.SubnetArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                VirtualNetworkName = exampleVirtualNetwork.Name,
                AddressPrefixes = 
                {
                    "10.0.2.0/24",
                },
            });
            var exampleNetworkInterface = new Azure.Network.NetworkInterface("exampleNetworkInterface", new Azure.Network.NetworkInterfaceArgs
            {
                Location = exampleResourceGroup.Location,
                ResourceGroupName = exampleResourceGroup.Name,
                IpConfigurations = 
                {
                    new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
                    {
                        Name = "internal",
                        SubnetId = exampleSubnet.Id,
                        PrivateIpAddressAllocation = "Dynamic",
                    },
                },
            });
            var exampleWindowsVirtualMachine = new Azure.Compute.WindowsVirtualMachine("exampleWindowsVirtualMachine", new Azure.Compute.WindowsVirtualMachineArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                Location = exampleResourceGroup.Location,
                Size = "Standard_F2",
                AdminUsername = "adminuser",
                AdminPassword = "P@$$w0rd1234!",
                NetworkInterfaceIds = 
                {
                    exampleNetworkInterface.Id,
                },
                OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineOsDiskArgs
                {
                    Caching = "ReadWrite",
                    StorageAccountType = "Standard_LRS",
                },
                SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineSourceImageReferenceArgs
                {
                    Publisher = "MicrosoftWindowsServer",
                    Offer = "WindowsServer",
                    Sku = "2016-Datacenter",
                    Version = "latest",
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.0.0.0/16"),
    			},
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
    			ResourceGroupName:  exampleResourceGroup.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.0.2.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "exampleNetworkInterface", &network.NetworkInterfaceArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
    				&network.NetworkInterfaceIpConfigurationArgs{
    					Name:                       pulumi.String("internal"),
    					SubnetId:                   exampleSubnet.ID(),
    					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = compute.NewWindowsVirtualMachine(ctx, "exampleWindowsVirtualMachine", &compute.WindowsVirtualMachineArgs{
    			ResourceGroupName: exampleResourceGroup.Name,
    			Location:          exampleResourceGroup.Location,
    			Size:              pulumi.String("Standard_F2"),
    			AdminUsername:     pulumi.String("adminuser"),
    			AdminPassword:     pulumi.String(fmt.Sprintf("%v%v%v%v", "P@", "$", "$", "w0rd1234!")),
    			NetworkInterfaceIds: pulumi.StringArray{
    				exampleNetworkInterface.ID(),
    			},
    			OsDisk: &compute.WindowsVirtualMachineOsDiskArgs{
    				Caching:            pulumi.String("ReadWrite"),
    				StorageAccountType: pulumi.String("Standard_LRS"),
    			},
    			SourceImageReference: &compute.WindowsVirtualMachineSourceImageReferenceArgs{
    				Publisher: pulumi.String("MicrosoftWindowsServer"),
    				Offer:     pulumi.String("WindowsServer"),
    				Sku:       pulumi.String("2016-Datacenter"),
    				Version:   pulumi.String("latest"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
        addressSpaces: ["10.0.0.0/16"],
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
    });
    const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
        resourceGroupName: exampleResourceGroup.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.0.2.0/24"],
    });
    const exampleNetworkInterface = new azure.network.NetworkInterface("exampleNetworkInterface", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        ipConfigurations: [{
            name: "internal",
            subnetId: exampleSubnet.id,
            privateIpAddressAllocation: "Dynamic",
        }],
    });
    const exampleWindowsVirtualMachine = new azure.compute.WindowsVirtualMachine("exampleWindowsVirtualMachine", {
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
        size: "Standard_F2",
        adminUsername: "adminuser",
        adminPassword: `P@$$w0rd1234!`,
        networkInterfaceIds: [exampleNetworkInterface.id],
        osDisk: {
            caching: "ReadWrite",
            storageAccountType: "Standard_LRS",
        },
        sourceImageReference: {
            publisher: "MicrosoftWindowsServer",
            offer: "WindowsServer",
            sku: "2016-Datacenter",
            version: "latest",
        },
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_virtual_network = azure.network.VirtualNetwork("exampleVirtualNetwork",
        address_spaces=["10.0.0.0/16"],
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name)
    example_subnet = azure.network.Subnet("exampleSubnet",
        resource_group_name=example_resource_group.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.0.2.0/24"])
    example_network_interface = azure.network.NetworkInterface("exampleNetworkInterface",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(
            name="internal",
            subnet_id=example_subnet.id,
            private_ip_address_allocation="Dynamic",
        )])
    example_windows_virtual_machine = azure.compute.WindowsVirtualMachine("exampleWindowsVirtualMachine",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location,
        size="Standard_F2",
        admin_username="adminuser",
        admin_password="P@$$w0rd1234!",
        network_interface_ids=[example_network_interface.id],
        os_disk=azure.compute.WindowsVirtualMachineOsDiskArgs(
            caching="ReadWrite",
            storage_account_type="Standard_LRS",
        ),
        source_image_reference=azure.compute.WindowsVirtualMachineSourceImageReferenceArgs(
            publisher="MicrosoftWindowsServer",
            offer="WindowsServer",
            sku="2016-Datacenter",
            version="latest",
        ))
    

    Example coming soon!

    Create WindowsVirtualMachine Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new WindowsVirtualMachine(name: string, args: WindowsVirtualMachineArgs, opts?: CustomResourceOptions);
    @overload
    def WindowsVirtualMachine(resource_name: str,
                              args: WindowsVirtualMachineArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def WindowsVirtualMachine(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              network_interface_ids: Optional[Sequence[str]] = None,
                              size: Optional[str] = None,
                              admin_password: Optional[str] = None,
                              admin_username: Optional[str] = None,
                              resource_group_name: Optional[str] = None,
                              os_disk: Optional[WindowsVirtualMachineOsDiskArgs] = None,
                              name: Optional[str] = None,
                              patch_mode: Optional[str] = None,
                              custom_data: Optional[str] = None,
                              dedicated_host_group_id: Optional[str] = None,
                              dedicated_host_id: Optional[str] = None,
                              enable_automatic_updates: Optional[bool] = None,
                              encryption_at_host_enabled: Optional[bool] = None,
                              eviction_policy: Optional[str] = None,
                              extensions_time_budget: Optional[str] = None,
                              hotpatching_enabled: Optional[bool] = None,
                              identity: Optional[WindowsVirtualMachineIdentityArgs] = None,
                              license_type: Optional[str] = None,
                              location: Optional[str] = None,
                              max_bid_price: Optional[float] = None,
                              additional_capabilities: Optional[WindowsVirtualMachineAdditionalCapabilitiesArgs] = None,
                              boot_diagnostics: Optional[WindowsVirtualMachineBootDiagnosticsArgs] = None,
                              availability_set_id: Optional[str] = None,
                              computer_name: Optional[str] = None,
                              plan: Optional[WindowsVirtualMachinePlanArgs] = None,
                              platform_fault_domain: Optional[int] = None,
                              priority: Optional[str] = None,
                              provision_vm_agent: Optional[bool] = None,
                              proximity_placement_group_id: Optional[str] = None,
                              allow_extension_operations: Optional[bool] = None,
                              secrets: Optional[Sequence[WindowsVirtualMachineSecretArgs]] = None,
                              secure_boot_enabled: Optional[bool] = None,
                              additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineAdditionalUnattendContentArgs]] = None,
                              source_image_id: Optional[str] = None,
                              source_image_reference: Optional[WindowsVirtualMachineSourceImageReferenceArgs] = None,
                              tags: Optional[Mapping[str, str]] = None,
                              timezone: Optional[str] = None,
                              user_data: Optional[str] = None,
                              virtual_machine_scale_set_id: Optional[str] = None,
                              vtpm_enabled: Optional[bool] = None,
                              winrm_listeners: Optional[Sequence[WindowsVirtualMachineWinrmListenerArgs]] = None,
                              zone: Optional[str] = None)
    func NewWindowsVirtualMachine(ctx *Context, name string, args WindowsVirtualMachineArgs, opts ...ResourceOption) (*WindowsVirtualMachine, error)
    public WindowsVirtualMachine(string name, WindowsVirtualMachineArgs args, CustomResourceOptions? opts = null)
    public WindowsVirtualMachine(String name, WindowsVirtualMachineArgs args)
    public WindowsVirtualMachine(String name, WindowsVirtualMachineArgs args, CustomResourceOptions options)
    
    type: azure:compute:WindowsVirtualMachine
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args WindowsVirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args WindowsVirtualMachineArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args WindowsVirtualMachineArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args WindowsVirtualMachineArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args WindowsVirtualMachineArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var windowsVirtualMachineResource = new Azure.Compute.WindowsVirtualMachine("windowsVirtualMachineResource", new()
    {
        NetworkInterfaceIds = new[]
        {
            "string",
        },
        Size = "string",
        AdminPassword = "string",
        AdminUsername = "string",
        ResourceGroupName = "string",
        OsDisk = new Azure.Compute.Inputs.WindowsVirtualMachineOsDiskArgs
        {
            Caching = "string",
            StorageAccountType = "string",
            DiffDiskSettings = new Azure.Compute.Inputs.WindowsVirtualMachineOsDiskDiffDiskSettingsArgs
            {
                Option = "string",
            },
            DiskEncryptionSetId = "string",
            DiskSizeGb = 0,
            Name = "string",
            WriteAcceleratorEnabled = false,
        },
        Name = "string",
        PatchMode = "string",
        CustomData = "string",
        DedicatedHostGroupId = "string",
        DedicatedHostId = "string",
        EnableAutomaticUpdates = false,
        EncryptionAtHostEnabled = false,
        EvictionPolicy = "string",
        ExtensionsTimeBudget = "string",
        HotpatchingEnabled = false,
        Identity = new Azure.Compute.Inputs.WindowsVirtualMachineIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        LicenseType = "string",
        Location = "string",
        MaxBidPrice = 0,
        AdditionalCapabilities = new Azure.Compute.Inputs.WindowsVirtualMachineAdditionalCapabilitiesArgs
        {
            UltraSsdEnabled = false,
        },
        BootDiagnostics = new Azure.Compute.Inputs.WindowsVirtualMachineBootDiagnosticsArgs
        {
            StorageAccountUri = "string",
        },
        AvailabilitySetId = "string",
        ComputerName = "string",
        Plan = new Azure.Compute.Inputs.WindowsVirtualMachinePlanArgs
        {
            Name = "string",
            Product = "string",
            Publisher = "string",
        },
        PlatformFaultDomain = 0,
        Priority = "string",
        ProvisionVmAgent = false,
        ProximityPlacementGroupId = "string",
        AllowExtensionOperations = false,
        Secrets = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineSecretArgs
            {
                Certificates = new[]
                {
                    new Azure.Compute.Inputs.WindowsVirtualMachineSecretCertificateArgs
                    {
                        Store = "string",
                        Url = "string",
                    },
                },
                KeyVaultId = "string",
            },
        },
        SecureBootEnabled = false,
        AdditionalUnattendContents = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineAdditionalUnattendContentArgs
            {
                Content = "string",
                Setting = "string",
            },
        },
        SourceImageId = "string",
        SourceImageReference = new Azure.Compute.Inputs.WindowsVirtualMachineSourceImageReferenceArgs
        {
            Offer = "string",
            Publisher = "string",
            Sku = "string",
            Version = "string",
        },
        Tags = 
        {
            { "string", "string" },
        },
        Timezone = "string",
        UserData = "string",
        VirtualMachineScaleSetId = "string",
        VtpmEnabled = false,
        WinrmListeners = new[]
        {
            new Azure.Compute.Inputs.WindowsVirtualMachineWinrmListenerArgs
            {
                Protocol = "string",
                CertificateUrl = "string",
            },
        },
        Zone = "string",
    });
    
    example, err := compute.NewWindowsVirtualMachine(ctx, "windowsVirtualMachineResource", &compute.WindowsVirtualMachineArgs{
    	NetworkInterfaceIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Size:              pulumi.String("string"),
    	AdminPassword:     pulumi.String("string"),
    	AdminUsername:     pulumi.String("string"),
    	ResourceGroupName: pulumi.String("string"),
    	OsDisk: &compute.WindowsVirtualMachineOsDiskArgs{
    		Caching:            pulumi.String("string"),
    		StorageAccountType: pulumi.String("string"),
    		DiffDiskSettings: &compute.WindowsVirtualMachineOsDiskDiffDiskSettingsArgs{
    			Option: pulumi.String("string"),
    		},
    		DiskEncryptionSetId:     pulumi.String("string"),
    		DiskSizeGb:              pulumi.Int(0),
    		Name:                    pulumi.String("string"),
    		WriteAcceleratorEnabled: pulumi.Bool(false),
    	},
    	Name:                    pulumi.String("string"),
    	PatchMode:               pulumi.String("string"),
    	CustomData:              pulumi.String("string"),
    	DedicatedHostGroupId:    pulumi.String("string"),
    	DedicatedHostId:         pulumi.String("string"),
    	EnableAutomaticUpdates:  pulumi.Bool(false),
    	EncryptionAtHostEnabled: pulumi.Bool(false),
    	EvictionPolicy:          pulumi.String("string"),
    	ExtensionsTimeBudget:    pulumi.String("string"),
    	HotpatchingEnabled:      pulumi.Bool(false),
    	Identity: &compute.WindowsVirtualMachineIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	LicenseType: pulumi.String("string"),
    	Location:    pulumi.String("string"),
    	MaxBidPrice: pulumi.Float64(0),
    	AdditionalCapabilities: &compute.WindowsVirtualMachineAdditionalCapabilitiesArgs{
    		UltraSsdEnabled: pulumi.Bool(false),
    	},
    	BootDiagnostics: &compute.WindowsVirtualMachineBootDiagnosticsArgs{
    		StorageAccountUri: pulumi.String("string"),
    	},
    	AvailabilitySetId: pulumi.String("string"),
    	ComputerName:      pulumi.String("string"),
    	Plan: &compute.WindowsVirtualMachinePlanArgs{
    		Name:      pulumi.String("string"),
    		Product:   pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    	},
    	PlatformFaultDomain:       pulumi.Int(0),
    	Priority:                  pulumi.String("string"),
    	ProvisionVmAgent:          pulumi.Bool(false),
    	ProximityPlacementGroupId: pulumi.String("string"),
    	AllowExtensionOperations:  pulumi.Bool(false),
    	Secrets: compute.WindowsVirtualMachineSecretArray{
    		&compute.WindowsVirtualMachineSecretArgs{
    			Certificates: compute.WindowsVirtualMachineSecretCertificateArray{
    				&compute.WindowsVirtualMachineSecretCertificateArgs{
    					Store: pulumi.String("string"),
    					Url:   pulumi.String("string"),
    				},
    			},
    			KeyVaultId: pulumi.String("string"),
    		},
    	},
    	SecureBootEnabled: pulumi.Bool(false),
    	AdditionalUnattendContents: compute.WindowsVirtualMachineAdditionalUnattendContentArray{
    		&compute.WindowsVirtualMachineAdditionalUnattendContentArgs{
    			Content: pulumi.String("string"),
    			Setting: pulumi.String("string"),
    		},
    	},
    	SourceImageId: pulumi.String("string"),
    	SourceImageReference: &compute.WindowsVirtualMachineSourceImageReferenceArgs{
    		Offer:     pulumi.String("string"),
    		Publisher: pulumi.String("string"),
    		Sku:       pulumi.String("string"),
    		Version:   pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Timezone:                 pulumi.String("string"),
    	UserData:                 pulumi.String("string"),
    	VirtualMachineScaleSetId: pulumi.String("string"),
    	VtpmEnabled:              pulumi.Bool(false),
    	WinrmListeners: compute.WindowsVirtualMachineWinrmListenerArray{
    		&compute.WindowsVirtualMachineWinrmListenerArgs{
    			Protocol:       pulumi.String("string"),
    			CertificateUrl: pulumi.String("string"),
    		},
    	},
    	Zone: pulumi.String("string"),
    })
    
    var windowsVirtualMachineResource = new com.pulumi.azure.compute.WindowsVirtualMachine("windowsVirtualMachineResource", com.pulumi.azure.compute.WindowsVirtualMachineArgs.builder()
        .networkInterfaceIds("string")
        .size("string")
        .adminPassword("string")
        .adminUsername("string")
        .resourceGroupName("string")
        .osDisk(WindowsVirtualMachineOsDiskArgs.builder()
            .caching("string")
            .storageAccountType("string")
            .diffDiskSettings(WindowsVirtualMachineOsDiskDiffDiskSettingsArgs.builder()
                .option("string")
                .build())
            .diskEncryptionSetId("string")
            .diskSizeGb(0)
            .name("string")
            .writeAcceleratorEnabled(false)
            .build())
        .name("string")
        .patchMode("string")
        .customData("string")
        .dedicatedHostGroupId("string")
        .dedicatedHostId("string")
        .enableAutomaticUpdates(false)
        .encryptionAtHostEnabled(false)
        .evictionPolicy("string")
        .extensionsTimeBudget("string")
        .hotpatchingEnabled(false)
        .identity(WindowsVirtualMachineIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .licenseType("string")
        .location("string")
        .maxBidPrice(0.0)
        .additionalCapabilities(WindowsVirtualMachineAdditionalCapabilitiesArgs.builder()
            .ultraSsdEnabled(false)
            .build())
        .bootDiagnostics(WindowsVirtualMachineBootDiagnosticsArgs.builder()
            .storageAccountUri("string")
            .build())
        .availabilitySetId("string")
        .computerName("string")
        .plan(WindowsVirtualMachinePlanArgs.builder()
            .name("string")
            .product("string")
            .publisher("string")
            .build())
        .platformFaultDomain(0)
        .priority("string")
        .provisionVmAgent(false)
        .proximityPlacementGroupId("string")
        .allowExtensionOperations(false)
        .secrets(WindowsVirtualMachineSecretArgs.builder()
            .certificates(WindowsVirtualMachineSecretCertificateArgs.builder()
                .store("string")
                .url("string")
                .build())
            .keyVaultId("string")
            .build())
        .secureBootEnabled(false)
        .additionalUnattendContents(WindowsVirtualMachineAdditionalUnattendContentArgs.builder()
            .content("string")
            .setting("string")
            .build())
        .sourceImageId("string")
        .sourceImageReference(WindowsVirtualMachineSourceImageReferenceArgs.builder()
            .offer("string")
            .publisher("string")
            .sku("string")
            .version("string")
            .build())
        .tags(Map.of("string", "string"))
        .timezone("string")
        .userData("string")
        .virtualMachineScaleSetId("string")
        .vtpmEnabled(false)
        .winrmListeners(WindowsVirtualMachineWinrmListenerArgs.builder()
            .protocol("string")
            .certificateUrl("string")
            .build())
        .zone("string")
        .build());
    
    windows_virtual_machine_resource = azure.compute.WindowsVirtualMachine("windowsVirtualMachineResource",
        network_interface_ids=["string"],
        size="string",
        admin_password="string",
        admin_username="string",
        resource_group_name="string",
        os_disk={
            "caching": "string",
            "storage_account_type": "string",
            "diff_disk_settings": {
                "option": "string",
            },
            "disk_encryption_set_id": "string",
            "disk_size_gb": 0,
            "name": "string",
            "write_accelerator_enabled": False,
        },
        name="string",
        patch_mode="string",
        custom_data="string",
        dedicated_host_group_id="string",
        dedicated_host_id="string",
        enable_automatic_updates=False,
        encryption_at_host_enabled=False,
        eviction_policy="string",
        extensions_time_budget="string",
        hotpatching_enabled=False,
        identity={
            "type": "string",
            "identity_ids": ["string"],
            "principal_id": "string",
            "tenant_id": "string",
        },
        license_type="string",
        location="string",
        max_bid_price=0,
        additional_capabilities={
            "ultra_ssd_enabled": False,
        },
        boot_diagnostics={
            "storage_account_uri": "string",
        },
        availability_set_id="string",
        computer_name="string",
        plan={
            "name": "string",
            "product": "string",
            "publisher": "string",
        },
        platform_fault_domain=0,
        priority="string",
        provision_vm_agent=False,
        proximity_placement_group_id="string",
        allow_extension_operations=False,
        secrets=[{
            "certificates": [{
                "store": "string",
                "url": "string",
            }],
            "key_vault_id": "string",
        }],
        secure_boot_enabled=False,
        additional_unattend_contents=[{
            "content": "string",
            "setting": "string",
        }],
        source_image_id="string",
        source_image_reference={
            "offer": "string",
            "publisher": "string",
            "sku": "string",
            "version": "string",
        },
        tags={
            "string": "string",
        },
        timezone="string",
        user_data="string",
        virtual_machine_scale_set_id="string",
        vtpm_enabled=False,
        winrm_listeners=[{
            "protocol": "string",
            "certificate_url": "string",
        }],
        zone="string")
    
    const windowsVirtualMachineResource = new azure.compute.WindowsVirtualMachine("windowsVirtualMachineResource", {
        networkInterfaceIds: ["string"],
        size: "string",
        adminPassword: "string",
        adminUsername: "string",
        resourceGroupName: "string",
        osDisk: {
            caching: "string",
            storageAccountType: "string",
            diffDiskSettings: {
                option: "string",
            },
            diskEncryptionSetId: "string",
            diskSizeGb: 0,
            name: "string",
            writeAcceleratorEnabled: false,
        },
        name: "string",
        patchMode: "string",
        customData: "string",
        dedicatedHostGroupId: "string",
        dedicatedHostId: "string",
        enableAutomaticUpdates: false,
        encryptionAtHostEnabled: false,
        evictionPolicy: "string",
        extensionsTimeBudget: "string",
        hotpatchingEnabled: false,
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        licenseType: "string",
        location: "string",
        maxBidPrice: 0,
        additionalCapabilities: {
            ultraSsdEnabled: false,
        },
        bootDiagnostics: {
            storageAccountUri: "string",
        },
        availabilitySetId: "string",
        computerName: "string",
        plan: {
            name: "string",
            product: "string",
            publisher: "string",
        },
        platformFaultDomain: 0,
        priority: "string",
        provisionVmAgent: false,
        proximityPlacementGroupId: "string",
        allowExtensionOperations: false,
        secrets: [{
            certificates: [{
                store: "string",
                url: "string",
            }],
            keyVaultId: "string",
        }],
        secureBootEnabled: false,
        additionalUnattendContents: [{
            content: "string",
            setting: "string",
        }],
        sourceImageId: "string",
        sourceImageReference: {
            offer: "string",
            publisher: "string",
            sku: "string",
            version: "string",
        },
        tags: {
            string: "string",
        },
        timezone: "string",
        userData: "string",
        virtualMachineScaleSetId: "string",
        vtpmEnabled: false,
        winrmListeners: [{
            protocol: "string",
            certificateUrl: "string",
        }],
        zone: "string",
    });
    
    type: azure:compute:WindowsVirtualMachine
    properties:
        additionalCapabilities:
            ultraSsdEnabled: false
        additionalUnattendContents:
            - content: string
              setting: string
        adminPassword: string
        adminUsername: string
        allowExtensionOperations: false
        availabilitySetId: string
        bootDiagnostics:
            storageAccountUri: string
        computerName: string
        customData: string
        dedicatedHostGroupId: string
        dedicatedHostId: string
        enableAutomaticUpdates: false
        encryptionAtHostEnabled: false
        evictionPolicy: string
        extensionsTimeBudget: string
        hotpatchingEnabled: false
        identity:
            identityIds:
                - string
            principalId: string
            tenantId: string
            type: string
        licenseType: string
        location: string
        maxBidPrice: 0
        name: string
        networkInterfaceIds:
            - string
        osDisk:
            caching: string
            diffDiskSettings:
                option: string
            diskEncryptionSetId: string
            diskSizeGb: 0
            name: string
            storageAccountType: string
            writeAcceleratorEnabled: false
        patchMode: string
        plan:
            name: string
            product: string
            publisher: string
        platformFaultDomain: 0
        priority: string
        provisionVmAgent: false
        proximityPlacementGroupId: string
        resourceGroupName: string
        secrets:
            - certificates:
                - store: string
                  url: string
              keyVaultId: string
        secureBootEnabled: false
        size: string
        sourceImageId: string
        sourceImageReference:
            offer: string
            publisher: string
            sku: string
            version: string
        tags:
            string: string
        timezone: string
        userData: string
        virtualMachineScaleSetId: string
        vtpmEnabled: false
        winrmListeners:
            - certificateUrl: string
              protocol: string
        zone: string
    

    WindowsVirtualMachine Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The WindowsVirtualMachine resource accepts the following input properties:

    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    NetworkInterfaceIds List<string>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    OsDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    Size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    AdditionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AllowExtensionOperations bool
    Should Extension Operations be allowed on this Virtual Machine?
    AvailabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    BootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    ComputerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    DedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    DedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    EnableAutomaticUpdates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    HotpatchingEnabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    Identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    LicenseType string
    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.
    Location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    MaxBidPrice double
    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.
    Name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    PatchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    Plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    PlatformFaultDomain int
    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.
    Priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    Secrets List<WindowsVirtualMachineSecret>
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    SourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine.
    Timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    VirtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    VtpmEnabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners List<WindowsVirtualMachineWinrmListener>
    One or more winrm_listener blocks as defined below.
    Zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    NetworkInterfaceIds []string
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    OsDisk WindowsVirtualMachineOsDiskArgs
    A os_disk block as defined below.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    Size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    AdditionalCapabilities WindowsVirtualMachineAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AllowExtensionOperations bool
    Should Extension Operations be allowed on this Virtual Machine?
    AvailabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    BootDiagnostics WindowsVirtualMachineBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    ComputerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    DedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    DedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    EnableAutomaticUpdates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    HotpatchingEnabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    Identity WindowsVirtualMachineIdentityArgs
    An identity block as defined below.
    LicenseType string
    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.
    Location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64
    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.
    Name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    PatchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    Plan WindowsVirtualMachinePlanArgs
    A plan block as defined below. Changing this forces a new resource to be created.
    PlatformFaultDomain int
    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.
    Priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    Secrets []WindowsVirtualMachineSecretArgs
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    SourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    SourceImageReference WindowsVirtualMachineSourceImageReferenceArgs
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine.
    Timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    VirtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    VtpmEnabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners []WindowsVirtualMachineWinrmListenerArgs
    One or more winrm_listener blocks as defined below.
    Zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds List<String>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    size String
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    additionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    allowExtensionOperations Boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId String
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    computerName String
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId String
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId String
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates Boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy String
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled Boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    licenseType String
    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.
    location String
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice Double
    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.
    name String
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    patchMode String
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain Integer
    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.
    priority String
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    secrets List<WindowsVirtualMachineSecret>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    sourceImageId String
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone String
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineScaleSetId String
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled Boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<WindowsVirtualMachineWinrmListener>
    One or more winrm_listener blocks as defined below.
    zone String
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    adminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds string[]
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    resourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    additionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    allowExtensionOperations boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    computerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    licenseType string
    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.
    location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice number
    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.
    name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    patchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain number
    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.
    priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    provisionVmAgent boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    secrets WindowsVirtualMachineSecret[]
    One or more secret blocks as defined below.
    secureBootEnabled boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    sourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners WindowsVirtualMachineWinrmListener[]
    One or more winrm_listener blocks as defined below.
    zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    admin_password str
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    admin_username str
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    network_interface_ids Sequence[str]
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    os_disk WindowsVirtualMachineOsDiskArgs
    A os_disk block as defined below.
    resource_group_name str
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    size str
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    additional_capabilities WindowsVirtualMachineAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    allow_extension_operations bool
    Should Extension Operations be allowed on this Virtual Machine?
    availability_set_id str
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    boot_diagnostics WindowsVirtualMachineBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    computer_name str
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    custom_data str
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicated_host_group_id str
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicated_host_id str
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enable_automatic_updates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryption_at_host_enabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    eviction_policy str
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensions_time_budget str
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatching_enabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentityArgs
    An identity block as defined below.
    license_type str
    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.
    location str
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    max_bid_price float
    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.
    name str
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    patch_mode str
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlanArgs
    A plan block as defined below. Changing this forces a new resource to be created.
    platform_fault_domain int
    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.
    priority str
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    provision_vm_agent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximity_placement_group_id str
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    secrets Sequence[WindowsVirtualMachineSecretArgs]
    One or more secret blocks as defined below.
    secure_boot_enabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    source_image_id str
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    source_image_reference WindowsVirtualMachineSourceImageReferenceArgs
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone str
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    user_data str
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtual_machine_scale_set_id str
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpm_enabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrm_listeners Sequence[WindowsVirtualMachineWinrmListenerArgs]
    One or more winrm_listener blocks as defined below.
    zone str
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds List<String>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk Property Map
    A os_disk block as defined below.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    size String
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    additionalCapabilities Property Map
    A additional_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    allowExtensionOperations Boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId String
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    computerName String
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId String
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId String
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates Boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy String
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled Boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity Property Map
    An identity block as defined below.
    licenseType String
    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.
    location String
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice Number
    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.
    name String
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    patchMode String
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan Property Map
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain Number
    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.
    priority String
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    secrets List<Property Map>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    sourceImageId String
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference Property Map
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone String
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineScaleSetId String
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled Boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<Property Map>
    One or more winrm_listener blocks as defined below.
    zone String
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the WindowsVirtualMachine resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    PrivateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    PrivateIpAddresses List<string>
    A list of Private IP Addresses assigned to this Virtual Machine.
    PublicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    PublicIpAddresses List<string>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    VirtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    Id string
    The provider-assigned unique ID for this managed resource.
    PrivateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    PrivateIpAddresses []string
    A list of Private IP Addresses assigned to this Virtual Machine.
    PublicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    PublicIpAddresses []string
    A list of the Public IP Addresses assigned to this Virtual Machine.
    VirtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    id String
    The provider-assigned unique ID for this managed resource.
    privateIpAddress String
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses List<String>
    A list of Private IP Addresses assigned to this Virtual Machine.
    publicIpAddress String
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses List<String>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    virtualMachineId String
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    id string
    The provider-assigned unique ID for this managed resource.
    privateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses string[]
    A list of Private IP Addresses assigned to this Virtual Machine.
    publicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses string[]
    A list of the Public IP Addresses assigned to this Virtual Machine.
    virtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    id str
    The provider-assigned unique ID for this managed resource.
    private_ip_address str
    The Primary Private IP Address assigned to this Virtual Machine.
    private_ip_addresses Sequence[str]
    A list of Private IP Addresses assigned to this Virtual Machine.
    public_ip_address str
    The Primary Public IP Address assigned to this Virtual Machine.
    public_ip_addresses Sequence[str]
    A list of the Public IP Addresses assigned to this Virtual Machine.
    virtual_machine_id str
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    id String
    The provider-assigned unique ID for this managed resource.
    privateIpAddress String
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses List<String>
    A list of Private IP Addresses assigned to this Virtual Machine.
    publicIpAddress String
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses List<String>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    virtualMachineId String
    A 128-bit identifier which uniquely identifies this Virtual Machine.

    Look up Existing WindowsVirtualMachine Resource

    Get an existing WindowsVirtualMachine resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: WindowsVirtualMachineState, opts?: CustomResourceOptions): WindowsVirtualMachine
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_capabilities: Optional[WindowsVirtualMachineAdditionalCapabilitiesArgs] = None,
            additional_unattend_contents: Optional[Sequence[WindowsVirtualMachineAdditionalUnattendContentArgs]] = None,
            admin_password: Optional[str] = None,
            admin_username: Optional[str] = None,
            allow_extension_operations: Optional[bool] = None,
            availability_set_id: Optional[str] = None,
            boot_diagnostics: Optional[WindowsVirtualMachineBootDiagnosticsArgs] = None,
            computer_name: Optional[str] = None,
            custom_data: Optional[str] = None,
            dedicated_host_group_id: Optional[str] = None,
            dedicated_host_id: Optional[str] = None,
            enable_automatic_updates: Optional[bool] = None,
            encryption_at_host_enabled: Optional[bool] = None,
            eviction_policy: Optional[str] = None,
            extensions_time_budget: Optional[str] = None,
            hotpatching_enabled: Optional[bool] = None,
            identity: Optional[WindowsVirtualMachineIdentityArgs] = None,
            license_type: Optional[str] = None,
            location: Optional[str] = None,
            max_bid_price: Optional[float] = None,
            name: Optional[str] = None,
            network_interface_ids: Optional[Sequence[str]] = None,
            os_disk: Optional[WindowsVirtualMachineOsDiskArgs] = None,
            patch_mode: Optional[str] = None,
            plan: Optional[WindowsVirtualMachinePlanArgs] = None,
            platform_fault_domain: Optional[int] = None,
            priority: Optional[str] = None,
            private_ip_address: Optional[str] = None,
            private_ip_addresses: Optional[Sequence[str]] = None,
            provision_vm_agent: Optional[bool] = None,
            proximity_placement_group_id: Optional[str] = None,
            public_ip_address: Optional[str] = None,
            public_ip_addresses: Optional[Sequence[str]] = None,
            resource_group_name: Optional[str] = None,
            secrets: Optional[Sequence[WindowsVirtualMachineSecretArgs]] = None,
            secure_boot_enabled: Optional[bool] = None,
            size: Optional[str] = None,
            source_image_id: Optional[str] = None,
            source_image_reference: Optional[WindowsVirtualMachineSourceImageReferenceArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            timezone: Optional[str] = None,
            user_data: Optional[str] = None,
            virtual_machine_id: Optional[str] = None,
            virtual_machine_scale_set_id: Optional[str] = None,
            vtpm_enabled: Optional[bool] = None,
            winrm_listeners: Optional[Sequence[WindowsVirtualMachineWinrmListenerArgs]] = None,
            zone: Optional[str] = None) -> WindowsVirtualMachine
    func GetWindowsVirtualMachine(ctx *Context, name string, id IDInput, state *WindowsVirtualMachineState, opts ...ResourceOption) (*WindowsVirtualMachine, error)
    public static WindowsVirtualMachine Get(string name, Input<string> id, WindowsVirtualMachineState? state, CustomResourceOptions? opts = null)
    public static WindowsVirtualMachine get(String name, Output<String> id, WindowsVirtualMachineState state, CustomResourceOptions options)
    resources:  _:    type: azure:compute:WindowsVirtualMachine    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdditionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    AdditionalUnattendContents List<WindowsVirtualMachineAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    AllowExtensionOperations bool
    Should Extension Operations be allowed on this Virtual Machine?
    AvailabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    BootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    ComputerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    DedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    DedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    EnableAutomaticUpdates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    HotpatchingEnabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    Identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    LicenseType string
    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.
    Location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    MaxBidPrice double
    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.
    Name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    NetworkInterfaceIds List<string>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    OsDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    PatchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    Plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    PlatformFaultDomain int
    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.
    Priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    PrivateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    PrivateIpAddresses List<string>
    A list of Private IP Addresses assigned to this Virtual Machine.
    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    PublicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    PublicIpAddresses List<string>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    Secrets List<WindowsVirtualMachineSecret>
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    Size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    SourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    SourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags which should be assigned to this Virtual Machine.
    Timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    VirtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    VirtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    VtpmEnabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners List<WindowsVirtualMachineWinrmListener>
    One or more winrm_listener blocks as defined below.
    Zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    AdditionalCapabilities WindowsVirtualMachineAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    AdditionalUnattendContents []WindowsVirtualMachineAdditionalUnattendContentArgs
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    AdminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    AdminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    AllowExtensionOperations bool
    Should Extension Operations be allowed on this Virtual Machine?
    AvailabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    BootDiagnostics WindowsVirtualMachineBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    ComputerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    CustomData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    DedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    DedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    EnableAutomaticUpdates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    EncryptionAtHostEnabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    EvictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    ExtensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    HotpatchingEnabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    Identity WindowsVirtualMachineIdentityArgs
    An identity block as defined below.
    LicenseType string
    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.
    Location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    MaxBidPrice float64
    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.
    Name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    NetworkInterfaceIds []string
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    OsDisk WindowsVirtualMachineOsDiskArgs
    A os_disk block as defined below.
    PatchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    Plan WindowsVirtualMachinePlanArgs
    A plan block as defined below. Changing this forces a new resource to be created.
    PlatformFaultDomain int
    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.
    Priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    PrivateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    PrivateIpAddresses []string
    A list of Private IP Addresses assigned to this Virtual Machine.
    ProvisionVmAgent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    ProximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    PublicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    PublicIpAddresses []string
    A list of the Public IP Addresses assigned to this Virtual Machine.
    ResourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    Secrets []WindowsVirtualMachineSecretArgs
    One or more secret blocks as defined below.
    SecureBootEnabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    Size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    SourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    SourceImageReference WindowsVirtualMachineSourceImageReferenceArgs
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags which should be assigned to this Virtual Machine.
    Timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    UserData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    VirtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    VirtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    VtpmEnabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    WinrmListeners []WindowsVirtualMachineWinrmListenerArgs
    One or more winrm_listener blocks as defined below.
    Zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    additionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents List<WindowsVirtualMachineAdditionalUnattendContent>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    allowExtensionOperations Boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId String
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    computerName String
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId String
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId String
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates Boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy String
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled Boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    licenseType String
    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.
    location String
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice Double
    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.
    name String
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds List<String>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    patchMode String
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain Integer
    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.
    priority String
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    privateIpAddress String
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses List<String>
    A list of Private IP Addresses assigned to this Virtual Machine.
    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    publicIpAddress String
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses List<String>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    secrets List<WindowsVirtualMachineSecret>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    size String
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    sourceImageId String
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone String
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineId String
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    virtualMachineScaleSetId String
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled Boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<WindowsVirtualMachineWinrmListener>
    One or more winrm_listener blocks as defined below.
    zone String
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    additionalCapabilities WindowsVirtualMachineAdditionalCapabilities
    A additional_capabilities block as defined below.
    additionalUnattendContents WindowsVirtualMachineAdditionalUnattendContent[]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    adminPassword string
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername string
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    allowExtensionOperations boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId string
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics WindowsVirtualMachineBootDiagnostics
    A boot_diagnostics block as defined below.
    computerName string
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData string
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId string
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId string
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy string
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget string
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentity
    An identity block as defined below.
    licenseType string
    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.
    location string
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice number
    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.
    name string
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds string[]
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk WindowsVirtualMachineOsDisk
    A os_disk block as defined below.
    patchMode string
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlan
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain number
    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.
    priority string
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    privateIpAddress string
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses string[]
    A list of Private IP Addresses assigned to this Virtual Machine.
    provisionVmAgent boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId string
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    publicIpAddress string
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses string[]
    A list of the Public IP Addresses assigned to this Virtual Machine.
    resourceGroupName string
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    secrets WindowsVirtualMachineSecret[]
    One or more secret blocks as defined below.
    secureBootEnabled boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    size string
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    sourceImageId string
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference WindowsVirtualMachineSourceImageReference
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone string
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData string
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineId string
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    virtualMachineScaleSetId string
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners WindowsVirtualMachineWinrmListener[]
    One or more winrm_listener blocks as defined below.
    zone string
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    additional_capabilities WindowsVirtualMachineAdditionalCapabilitiesArgs
    A additional_capabilities block as defined below.
    additional_unattend_contents Sequence[WindowsVirtualMachineAdditionalUnattendContentArgs]
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    admin_password str
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    admin_username str
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    allow_extension_operations bool
    Should Extension Operations be allowed on this Virtual Machine?
    availability_set_id str
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    boot_diagnostics WindowsVirtualMachineBootDiagnosticsArgs
    A boot_diagnostics block as defined below.
    computer_name str
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    custom_data str
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicated_host_group_id str
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicated_host_id str
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enable_automatic_updates bool
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryption_at_host_enabled bool
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    eviction_policy str
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensions_time_budget str
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatching_enabled bool
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity WindowsVirtualMachineIdentityArgs
    An identity block as defined below.
    license_type str
    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.
    location str
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    max_bid_price float
    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.
    name str
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    network_interface_ids Sequence[str]
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    os_disk WindowsVirtualMachineOsDiskArgs
    A os_disk block as defined below.
    patch_mode str
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan WindowsVirtualMachinePlanArgs
    A plan block as defined below. Changing this forces a new resource to be created.
    platform_fault_domain int
    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.
    priority str
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    private_ip_address str
    The Primary Private IP Address assigned to this Virtual Machine.
    private_ip_addresses Sequence[str]
    A list of Private IP Addresses assigned to this Virtual Machine.
    provision_vm_agent bool
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximity_placement_group_id str
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    public_ip_address str
    The Primary Public IP Address assigned to this Virtual Machine.
    public_ip_addresses Sequence[str]
    A list of the Public IP Addresses assigned to this Virtual Machine.
    resource_group_name str
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    secrets Sequence[WindowsVirtualMachineSecretArgs]
    One or more secret blocks as defined below.
    secure_boot_enabled bool
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    size str
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    source_image_id str
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    source_image_reference WindowsVirtualMachineSourceImageReferenceArgs
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone str
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    user_data str
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtual_machine_id str
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    virtual_machine_scale_set_id str
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpm_enabled bool
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrm_listeners Sequence[WindowsVirtualMachineWinrmListenerArgs]
    One or more winrm_listener blocks as defined below.
    zone str
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.
    additionalCapabilities Property Map
    A additional_capabilities block as defined below.
    additionalUnattendContents List<Property Map>
    One or more additional_unattend_content blocks as defined below. Changing this forces a new resource to be created.
    adminPassword String
    The Password which should be used for the local-administrator on this Virtual Machine. Changing this forces a new resource to be created.
    adminUsername String
    The username of the local administrator used for the Virtual Machine. Changing this forces a new resource to be created.
    allowExtensionOperations Boolean
    Should Extension Operations be allowed on this Virtual Machine?
    availabilitySetId String
    Specifies the ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
    bootDiagnostics Property Map
    A boot_diagnostics block as defined below.
    computerName String
    Specifies the Hostname which should be used for this Virtual Machine. If unspecified this defaults to the value for the name field. If the value of the name field is not a valid computer_name, then you must specify computer_name. Changing this forces a new resource to be created.
    customData String
    The Base64-Encoded Custom Data which should be used for this Virtual Machine. Changing this forces a new resource to be created.
    dedicatedHostGroupId String
    The ID of a Dedicated Host Group that this Windows Virtual Machine should be run within. Conflicts with dedicated_host_id.
    dedicatedHostId String
    The ID of a Dedicated Host where this machine should be run on. Conflicts with dedicated_host_group_id.
    enableAutomaticUpdates Boolean
    Specifies if Automatic Updates are Enabled for the Windows Virtual Machine. Changing this forces a new resource to be created.
    encryptionAtHostEnabled Boolean
    Should all of the disks (including the temp disk) attached to this Virtual Machine be encrypted by enabling Encryption at Host?
    evictionPolicy String
    Specifies what should happen when the Virtual Machine is evicted for price reasons when using a Spot instance. At this time the only supported value is Deallocate. Changing this forces a new resource to be created.
    extensionsTimeBudget String
    Specifies the duration allocated for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. Defaults to 90 minutes (PT1H30M).
    hotpatchingEnabled Boolean
    Should the VM be patched without requiring a reboot? Possible values are true or false. Defaults to false. For more information about hot patching please see the product documentation.
    identity Property Map
    An identity block as defined below.
    licenseType String
    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.
    location String
    The Azure location where the Windows Virtual Machine should exist. Changing this forces a new resource to be created.
    maxBidPrice Number
    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.
    name String
    The name of the Windows Virtual Machine. Changing this forces a new resource to be created.
    networkInterfaceIds List<String>
    . A list of Network Interface ID's which should be attached to this Virtual Machine. The first Network Interface ID in this list will be the Primary Network Interface on the Virtual Machine.
    osDisk Property Map
    A os_disk block as defined below.
    patchMode String
    Specifies the mode of in-guest patching to this Windows Virtual Machine. Possible values are Manual, AutomaticByOS and AutomaticByPlatform. Defaults to AutomaticByOS. For more informaton on patch modes please see the product documentation.
    plan Property Map
    A plan block as defined below. Changing this forces a new resource to be created.
    platformFaultDomain Number
    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.
    priority String
    Specifies the priority of this Virtual Machine. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
    privateIpAddress String
    The Primary Private IP Address assigned to this Virtual Machine.
    privateIpAddresses List<String>
    A list of Private IP Addresses assigned to this Virtual Machine.
    provisionVmAgent Boolean
    Should the Azure VM Agent be provisioned on this Virtual Machine? Defaults to true. Changing this forces a new resource to be created.
    proximityPlacementGroupId String
    The ID of the Proximity Placement Group which the Virtual Machine should be assigned to.
    publicIpAddress String
    The Primary Public IP Address assigned to this Virtual Machine.
    publicIpAddresses List<String>
    A list of the Public IP Addresses assigned to this Virtual Machine.
    resourceGroupName String
    The name of the Resource Group in which the Windows Virtual Machine should be exist. Changing this forces a new resource to be created.
    secrets List<Property Map>
    One or more secret blocks as defined below.
    secureBootEnabled Boolean
    Specifies if Secure Boot and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    size String
    The SKU which should be used for this Virtual Machine, such as Standard_F2.
    sourceImageId String
    The ID of the Image which this Virtual Machine should be created from. Changing this forces a new resource to be created.
    sourceImageReference Property Map
    A source_image_reference block as defined below. Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags which should be assigned to this Virtual Machine.
    timezone String
    Specifies the Time Zone which should be used by the Virtual Machine, the possible values are defined here.
    userData String
    The Base64-Encoded User Data which should be used for this Virtual Machine.
    virtualMachineId String
    A 128-bit identifier which uniquely identifies this Virtual Machine.
    virtualMachineScaleSetId String
    Specifies the Orchestrated Virtual Machine Scale Set that this Virtual Machine should be created within. Changing this forces a new resource to be created.
    vtpmEnabled Boolean
    Specifies if vTPM (virtual Trusted Plaform Module) and Trusted Launch is enabled for the Virtual Machine. Changing this forces a new resource to be created.
    winrmListeners List<Property Map>
    One or more winrm_listener blocks as defined below.
    zone String
    The Zone in which this Virtual Machine should be created. Changing this forces a new resource to be created.

    Supporting Types

    WindowsVirtualMachineAdditionalCapabilities, WindowsVirtualMachineAdditionalCapabilitiesArgs

    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
    UltraSsdEnabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
    ultraSsdEnabled boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
    ultra_ssd_enabled bool
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.
    ultraSsdEnabled Boolean
    Should the capacity to enable Data Disks of the UltraSSD_LRS storage account type be supported on this Virtual Machine? Defaults to false.

    WindowsVirtualMachineAdditionalUnattendContent, WindowsVirtualMachineAdditionalUnattendContentArgs

    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    Content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    Setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content string
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting string
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content str
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting str
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.
    content String
    The XML formatted content that is added to the unattend.xml file for the specified path and component. Changing this forces a new resource to be created.
    setting String
    The name of the setting to which the content applies. Possible values are AutoLogon and FirstLogonCommands. Changing this forces a new resource to be created.

    WindowsVirtualMachineBootDiagnostics, WindowsVirtualMachineBootDiagnosticsArgs

    StorageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
    StorageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
    storageAccountUri String
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
    storageAccountUri string
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
    storage_account_uri str
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.
    storageAccountUri String
    The Primary/Secondary Endpoint for the Azure Storage Account which should be used to store Boot Diagnostics, including Console Output and Screenshots from the Hypervisor.

    WindowsVirtualMachineIdentity, WindowsVirtualMachineIdentityArgs

    Type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    IdentityIds List<string>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    PrincipalId string
    The ID of the System Managed Service Principal.
    TenantId string
    The ID of the Tenant the System Managed Service Principal is assigned in.
    Type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    IdentityIds []string
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    PrincipalId string
    The ID of the System Managed Service Principal.
    TenantId string
    The ID of the Tenant the System Managed Service Principal is assigned in.
    type String
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds List<String>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    principalId String
    The ID of the System Managed Service Principal.
    tenantId String
    The ID of the Tenant the System Managed Service Principal is assigned in.
    type string
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds string[]
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    principalId string
    The ID of the System Managed Service Principal.
    tenantId string
    The ID of the Tenant the System Managed Service Principal is assigned in.
    type str
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identity_ids Sequence[str]
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    principal_id str
    The ID of the System Managed Service Principal.
    tenant_id str
    The ID of the Tenant the System Managed Service Principal is assigned in.
    type String
    The type of Managed Identity which should be assigned to the Windows Virtual Machine. Possible values are SystemAssigned, UserAssigned and SystemAssigned, UserAssigned.
    identityIds List<String>
    A list of User Managed Identity ID's which should be assigned to the Windows Virtual Machine.
    principalId String
    The ID of the System Managed Service Principal.
    tenantId String
    The ID of the Tenant the System Managed Service Principal is assigned in.

    WindowsVirtualMachineOsDisk, WindowsVirtualMachineOsDiskArgs

    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings WindowsVirtualMachineOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above.
    DiskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    DiskSizeGb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    Name string
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    WriteAcceleratorEnabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    Caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    StorageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    DiffDiskSettings WindowsVirtualMachineOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above.
    DiskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    DiskSizeGb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    Name string
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    WriteAcceleratorEnabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings WindowsVirtualMachineOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above.
    diskEncryptionSetId String
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    diskSizeGb Integer
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    name String
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    caching string
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType string
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings WindowsVirtualMachineOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above.
    diskEncryptionSetId string
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    diskSizeGb number
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    name string
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    writeAcceleratorEnabled boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    caching str
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storage_account_type str
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    diff_disk_settings WindowsVirtualMachineOsDiskDiffDiskSettings
    A diff_disk_settings block as defined above.
    disk_encryption_set_id str
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    disk_size_gb int
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    name str
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    write_accelerator_enabled bool
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.
    caching String
    The Type of Caching which should be used for the Internal OS Disk. Possible values are None, ReadOnly and ReadWrite.
    storageAccountType String
    The Type of Storage Account which should back this the Internal OS Disk. Possible values are Standard_LRS, StandardSSD_LRS, Premium_LRS, StandardSSD_ZRS and Premium_ZRS. Changing this forces a new resource to be created.
    diffDiskSettings Property Map
    A diff_disk_settings block as defined above.
    diskEncryptionSetId String
    The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk.
    diskSizeGb Number
    The Size of the Internal OS Disk in GB, if you wish to vary from the size used in the image this Virtual Machine is sourced from.
    name String
    The name which should be used for the Internal OS Disk. Changing this forces a new resource to be created.
    writeAcceleratorEnabled Boolean
    Should Write Accelerator be Enabled for this OS Disk? Defaults to false.

    WindowsVirtualMachineOsDiskDiffDiskSettings, WindowsVirtualMachineOsDiskDiffDiskSettingsArgs

    Option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    Option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    option String
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    option string
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    option str
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.
    option String
    Specifies the Ephemeral Disk Settings for the OS Disk. At this time the only possible value is Local. Changing this forces a new resource to be created.

    WindowsVirtualMachinePlan, WindowsVirtualMachinePlanArgs

    Name string
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    Product string
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    Publisher string
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    Name string
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    Product string
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    Publisher string
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    name String
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    product String
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    publisher String
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    name string
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    product string
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    publisher string
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    name str
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    product str
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    publisher str
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    name String
    Specifies the Name of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    product String
    Specifies the Product of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.
    publisher String
    Specifies the Publisher of the Marketplace Image this Virtual Machine should be created from. Changing this forces a new resource to be created.

    WindowsVirtualMachineSecret, WindowsVirtualMachineSecretArgs

    Certificates List<WindowsVirtualMachineSecretCertificate>
    One or more certificate blocks as defined above.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    Certificates []WindowsVirtualMachineSecretCertificate
    One or more certificate blocks as defined above.
    KeyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<WindowsVirtualMachineSecretCertificate>
    One or more certificate blocks as defined above.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates WindowsVirtualMachineSecretCertificate[]
    One or more certificate blocks as defined above.
    keyVaultId string
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates Sequence[WindowsVirtualMachineSecretCertificate]
    One or more certificate blocks as defined above.
    key_vault_id str
    The ID of the Key Vault from which all Secrets should be sourced.
    certificates List<Property Map>
    One or more certificate blocks as defined above.
    keyVaultId String
    The ID of the Key Vault from which all Secrets should be sourced.

    WindowsVirtualMachineSecretCertificate, WindowsVirtualMachineSecretCertificateArgs

    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string
    The Secret URL of a Key Vault Certificate.
    Store string
    The certificate store on the Virtual Machine where the certificate should be added.
    Url string
    The Secret URL of a Key Vault Certificate.
    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String
    The Secret URL of a Key Vault Certificate.
    store string
    The certificate store on the Virtual Machine where the certificate should be added.
    url string
    The Secret URL of a Key Vault Certificate.
    store str
    The certificate store on the Virtual Machine where the certificate should be added.
    url str
    The Secret URL of a Key Vault Certificate.
    store String
    The certificate store on the Virtual Machine where the certificate should be added.
    url String
    The Secret URL of a Key Vault Certificate.

    WindowsVirtualMachineSourceImageReference, WindowsVirtualMachineSourceImageReferenceArgs

    Offer string
    Specifies the offer of the image used to create the virtual machines.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines.
    Sku string
    Specifies the SKU of the image used to create the virtual machines.
    Version string
    Specifies the version of the image used to create the virtual machines.
    Offer string
    Specifies the offer of the image used to create the virtual machines.
    Publisher string
    Specifies the publisher of the image used to create the virtual machines.
    Sku string
    Specifies the SKU of the image used to create the virtual machines.
    Version string
    Specifies the version of the image used to create the virtual machines.
    offer String
    Specifies the offer of the image used to create the virtual machines.
    publisher String
    Specifies the publisher of the image used to create the virtual machines.
    sku String
    Specifies the SKU of the image used to create the virtual machines.
    version String
    Specifies the version of the image used to create the virtual machines.
    offer string
    Specifies the offer of the image used to create the virtual machines.
    publisher string
    Specifies the publisher of the image used to create the virtual machines.
    sku string
    Specifies the SKU of the image used to create the virtual machines.
    version string
    Specifies the version of the image used to create the virtual machines.
    offer str
    Specifies the offer of the image used to create the virtual machines.
    publisher str
    Specifies the publisher of the image used to create the virtual machines.
    sku str
    Specifies the SKU of the image used to create the virtual machines.
    version str
    Specifies the version of the image used to create the virtual machines.
    offer String
    Specifies the offer of the image used to create the virtual machines.
    publisher String
    Specifies the publisher of the image used to create the virtual machines.
    sku String
    Specifies the SKU of the image used to create the virtual machines.
    version String
    Specifies the version of the image used to create the virtual machines.

    WindowsVirtualMachineWinrmListener, WindowsVirtualMachineWinrmListenerArgs

    Protocol string
    CertificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    Protocol string
    CertificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol String
    certificateUrl String
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol string
    certificateUrl string
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol str
    certificate_url str
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.
    protocol String
    certificateUrl String
    The Secret URL of a Key Vault Certificate, which must be specified when protocol is set to Https.

    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
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Viewing docs for Azure v4.42.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.