We recommend using Azure Native.
azure.compute.VirtualMachine
Explore with Pulumi AI
Manages a Virtual Machine.
Disclaimers
Note: The
azure.compute.VirtualMachine
resource has been superseded by theazure.compute.LinuxVirtualMachine
andazure.compute.WindowsVirtualMachine
resources. The existingazure.compute.VirtualMachine
resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to theazure.compute.LinuxVirtualMachine
andazure.compute.WindowsVirtualMachine
resources.
Note: Data Disks can be attached either directly on the
azure.compute.VirtualMachine
resource, or using theazure.compute.DataDiskAttachment
resource - but the two cannot be used together. If both are used against the same Virtual Machine, spurious changes will occur.
Example Usage
From An Azure Platform Image)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var prefix = config.Get("prefix") ?? "tfvmex";
var example = new Azure.Core.ResourceGroup("example", new()
{
Location = "West Europe",
});
var mainVirtualNetwork = new Azure.Network.VirtualNetwork("mainVirtualNetwork", new()
{
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = example.Location,
ResourceGroupName = example.Name,
});
var @internal = new Azure.Network.Subnet("internal", new()
{
ResourceGroupName = example.Name,
VirtualNetworkName = mainVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var mainNetworkInterface = new Azure.Network.NetworkInterface("mainNetworkInterface", new()
{
Location = example.Location,
ResourceGroupName = example.Name,
IpConfigurations = new[]
{
new Azure.Network.Inputs.NetworkInterfaceIpConfigurationArgs
{
Name = "testconfiguration1",
SubnetId = @internal.Id,
PrivateIpAddressAllocation = "Dynamic",
},
},
});
var mainVirtualMachine = new Azure.Compute.VirtualMachine("mainVirtualMachine", new()
{
Location = example.Location,
ResourceGroupName = example.Name,
NetworkInterfaceIds = new[]
{
mainNetworkInterface.Id,
},
VmSize = "Standard_DS1_v2",
StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs
{
Publisher = "Canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest",
},
StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs
{
Name = "myosdisk1",
Caching = "ReadWrite",
CreateOption = "FromImage",
ManagedDiskType = "Standard_LRS",
},
OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs
{
ComputerName = "hostname",
AdminUsername = "testadmin",
AdminPassword = "Password1234!",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = false,
},
Tags =
{
{ "environment", "staging" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
prefix := "tfvmex"
if param := cfg.Get("prefix"); param != "" {
prefix = param
}
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
mainVirtualNetwork, err := network.NewVirtualNetwork(ctx, "mainVirtualNetwork", &network.VirtualNetworkArgs{
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/16"),
},
Location: example.Location,
ResourceGroupName: example.Name,
})
if err != nil {
return err
}
internal, err := network.NewSubnet(ctx, "internal", &network.SubnetArgs{
ResourceGroupName: example.Name,
VirtualNetworkName: mainVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
mainNetworkInterface, err := network.NewNetworkInterface(ctx, "mainNetworkInterface", &network.NetworkInterfaceArgs{
Location: example.Location,
ResourceGroupName: example.Name,
IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
&network.NetworkInterfaceIpConfigurationArgs{
Name: pulumi.String("testconfiguration1"),
SubnetId: internal.ID(),
PrivateIpAddressAllocation: pulumi.String("Dynamic"),
},
},
})
if err != nil {
return err
}
_, err = compute.NewVirtualMachine(ctx, "mainVirtualMachine", &compute.VirtualMachineArgs{
Location: example.Location,
ResourceGroupName: example.Name,
NetworkInterfaceIds: pulumi.StringArray{
mainNetworkInterface.ID(),
},
VmSize: pulumi.String("Standard_DS1_v2"),
StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
Publisher: pulumi.String("Canonical"),
Offer: pulumi.String("0001-com-ubuntu-server-jammy"),
Sku: pulumi.String("22_04-lts"),
Version: pulumi.String("latest"),
},
StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
Name: pulumi.String("myosdisk1"),
Caching: pulumi.String("ReadWrite"),
CreateOption: pulumi.String("FromImage"),
ManagedDiskType: pulumi.String("Standard_LRS"),
},
OsProfile: &compute.VirtualMachineOsProfileArgs{
ComputerName: pulumi.String("hostname"),
AdminUsername: pulumi.String("testadmin"),
AdminPassword: pulumi.String("Password1234!"),
},
OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
DisablePasswordAuthentication: pulumi.Bool(false),
},
Tags: pulumi.StringMap{
"environment": pulumi.String("staging"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.NetworkInterface;
import com.pulumi.azure.network.NetworkInterfaceArgs;
import com.pulumi.azure.network.inputs.NetworkInterfaceIpConfigurationArgs;
import com.pulumi.azure.compute.VirtualMachine;
import com.pulumi.azure.compute.VirtualMachineArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageImageReferenceArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineStorageOsDiskArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileArgs;
import com.pulumi.azure.compute.inputs.VirtualMachineOsProfileLinuxConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var prefix = config.get("prefix").orElse("tfvmex");
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var mainVirtualNetwork = new VirtualNetwork("mainVirtualNetwork", VirtualNetworkArgs.builder()
.addressSpaces("10.0.0.0/16")
.location(example.location())
.resourceGroupName(example.name())
.build());
var internal = new Subnet("internal", SubnetArgs.builder()
.resourceGroupName(example.name())
.virtualNetworkName(mainVirtualNetwork.name())
.addressPrefixes("10.0.2.0/24")
.build());
var mainNetworkInterface = new NetworkInterface("mainNetworkInterface", NetworkInterfaceArgs.builder()
.location(example.location())
.resourceGroupName(example.name())
.ipConfigurations(NetworkInterfaceIpConfigurationArgs.builder()
.name("testconfiguration1")
.subnetId(internal.id())
.privateIpAddressAllocation("Dynamic")
.build())
.build());
var mainVirtualMachine = new VirtualMachine("mainVirtualMachine", VirtualMachineArgs.builder()
.location(example.location())
.resourceGroupName(example.name())
.networkInterfaceIds(mainNetworkInterface.id())
.vmSize("Standard_DS1_v2")
.storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
.publisher("Canonical")
.offer("0001-com-ubuntu-server-jammy")
.sku("22_04-lts")
.version("latest")
.build())
.storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
.name("myosdisk1")
.caching("ReadWrite")
.createOption("FromImage")
.managedDiskType("Standard_LRS")
.build())
.osProfile(VirtualMachineOsProfileArgs.builder()
.computerName("hostname")
.adminUsername("testadmin")
.adminPassword("Password1234!")
.build())
.osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(false)
.build())
.tags(Map.of("environment", "staging"))
.build());
}
}
import pulumi
import pulumi_azure as azure
config = pulumi.Config()
prefix = config.get("prefix")
if prefix is None:
prefix = "tfvmex"
example = azure.core.ResourceGroup("example", location="West Europe")
main_virtual_network = azure.network.VirtualNetwork("mainVirtualNetwork",
address_spaces=["10.0.0.0/16"],
location=example.location,
resource_group_name=example.name)
internal = azure.network.Subnet("internal",
resource_group_name=example.name,
virtual_network_name=main_virtual_network.name,
address_prefixes=["10.0.2.0/24"])
main_network_interface = azure.network.NetworkInterface("mainNetworkInterface",
location=example.location,
resource_group_name=example.name,
ip_configurations=[azure.network.NetworkInterfaceIpConfigurationArgs(
name="testconfiguration1",
subnet_id=internal.id,
private_ip_address_allocation="Dynamic",
)])
main_virtual_machine = azure.compute.VirtualMachine("mainVirtualMachine",
location=example.location,
resource_group_name=example.name,
network_interface_ids=[main_network_interface.id],
vm_size="Standard_DS1_v2",
storage_image_reference=azure.compute.VirtualMachineStorageImageReferenceArgs(
publisher="Canonical",
offer="0001-com-ubuntu-server-jammy",
sku="22_04-lts",
version="latest",
),
storage_os_disk=azure.compute.VirtualMachineStorageOsDiskArgs(
name="myosdisk1",
caching="ReadWrite",
create_option="FromImage",
managed_disk_type="Standard_LRS",
),
os_profile=azure.compute.VirtualMachineOsProfileArgs(
computer_name="hostname",
admin_username="testadmin",
admin_password="Password1234!",
),
os_profile_linux_config=azure.compute.VirtualMachineOsProfileLinuxConfigArgs(
disable_password_authentication=False,
),
tags={
"environment": "staging",
})
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const config = new pulumi.Config();
const prefix = config.get("prefix") || "tfvmex";
const example = new azure.core.ResourceGroup("example", {location: "West Europe"});
const mainVirtualNetwork = new azure.network.VirtualNetwork("mainVirtualNetwork", {
addressSpaces: ["10.0.0.0/16"],
location: example.location,
resourceGroupName: example.name,
});
const internal = new azure.network.Subnet("internal", {
resourceGroupName: example.name,
virtualNetworkName: mainVirtualNetwork.name,
addressPrefixes: ["10.0.2.0/24"],
});
const mainNetworkInterface = new azure.network.NetworkInterface("mainNetworkInterface", {
location: example.location,
resourceGroupName: example.name,
ipConfigurations: [{
name: "testconfiguration1",
subnetId: internal.id,
privateIpAddressAllocation: "Dynamic",
}],
});
const mainVirtualMachine = new azure.compute.VirtualMachine("mainVirtualMachine", {
location: example.location,
resourceGroupName: example.name,
networkInterfaceIds: [mainNetworkInterface.id],
vmSize: "Standard_DS1_v2",
storageImageReference: {
publisher: "Canonical",
offer: "0001-com-ubuntu-server-jammy",
sku: "22_04-lts",
version: "latest",
},
storageOsDisk: {
name: "myosdisk1",
caching: "ReadWrite",
createOption: "FromImage",
managedDiskType: "Standard_LRS",
},
osProfile: {
computerName: "hostname",
adminUsername: "testadmin",
adminPassword: "Password1234!",
},
osProfileLinuxConfig: {
disablePasswordAuthentication: false,
},
tags: {
environment: "staging",
},
});
configuration:
prefix:
type: string
default: tfvmex
resources:
example:
type: azure:core:ResourceGroup
properties:
location: West Europe
mainVirtualNetwork:
type: azure:network:VirtualNetwork
properties:
addressSpaces:
- 10.0.0.0/16
location: ${example.location}
resourceGroupName: ${example.name}
internal:
type: azure:network:Subnet
properties:
resourceGroupName: ${example.name}
virtualNetworkName: ${mainVirtualNetwork.name}
addressPrefixes:
- 10.0.2.0/24
mainNetworkInterface:
type: azure:network:NetworkInterface
properties:
location: ${example.location}
resourceGroupName: ${example.name}
ipConfigurations:
- name: testconfiguration1
subnetId: ${internal.id}
privateIpAddressAllocation: Dynamic
mainVirtualMachine:
type: azure:compute:VirtualMachine
properties:
location: ${example.location}
resourceGroupName: ${example.name}
networkInterfaceIds:
- ${mainNetworkInterface.id}
vmSize: Standard_DS1_v2 # Uncomment this line to delete the data disks automatically when deleting the VM
# # delete_data_disks_on_termination = true
storageImageReference:
publisher: Canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts
version: latest
storageOsDisk:
name: myosdisk1
caching: ReadWrite
createOption: FromImage
managedDiskType: Standard_LRS
osProfile:
computerName: hostname
adminUsername: testadmin
adminPassword: Password1234!
osProfileLinuxConfig:
disablePasswordAuthentication: false
tags:
environment: staging
Create VirtualMachine Resource
new VirtualMachine(name: string, args: VirtualMachineArgs, opts?: CustomResourceOptions);
@overload
def VirtualMachine(resource_name: str,
opts: Optional[ResourceOptions] = None,
additional_capabilities: Optional[VirtualMachineAdditionalCapabilitiesArgs] = None,
availability_set_id: Optional[str] = None,
boot_diagnostics: Optional[VirtualMachineBootDiagnosticsArgs] = None,
delete_data_disks_on_termination: Optional[bool] = None,
delete_os_disk_on_termination: Optional[bool] = None,
identity: Optional[VirtualMachineIdentityArgs] = None,
license_type: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None,
network_interface_ids: Optional[Sequence[str]] = None,
os_profile: Optional[VirtualMachineOsProfileArgs] = None,
os_profile_linux_config: Optional[VirtualMachineOsProfileLinuxConfigArgs] = None,
os_profile_secrets: Optional[Sequence[VirtualMachineOsProfileSecretArgs]] = None,
os_profile_windows_config: Optional[VirtualMachineOsProfileWindowsConfigArgs] = None,
plan: Optional[VirtualMachinePlanArgs] = None,
primary_network_interface_id: Optional[str] = None,
proximity_placement_group_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
storage_data_disks: Optional[Sequence[VirtualMachineStorageDataDiskArgs]] = None,
storage_image_reference: Optional[VirtualMachineStorageImageReferenceArgs] = None,
storage_os_disk: Optional[VirtualMachineStorageOsDiskArgs] = None,
tags: Optional[Mapping[str, str]] = None,
vm_size: Optional[str] = None,
zones: Optional[str] = None)
@overload
def VirtualMachine(resource_name: str,
args: VirtualMachineArgs,
opts: Optional[ResourceOptions] = None)
func NewVirtualMachine(ctx *Context, name string, args VirtualMachineArgs, opts ...ResourceOption) (*VirtualMachine, error)
public VirtualMachine(string name, VirtualMachineArgs args, CustomResourceOptions? opts = null)
public VirtualMachine(String name, VirtualMachineArgs args)
public VirtualMachine(String name, VirtualMachineArgs args, CustomResourceOptions options)
type: azure:compute:VirtualMachine
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args VirtualMachineArgs
- 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 VirtualMachineArgs
- 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 VirtualMachineArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args VirtualMachineArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args VirtualMachineArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
VirtualMachine Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The VirtualMachine resource accepts the following input properties:
- Network
Interface List<string>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- Resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- Vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- Additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- Availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- Delete
Data boolDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Delete
Os boolDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Identity
Virtual
Machine Identity An
identity
block as defined below.- License
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- Location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- Name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- Os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- Os
Profile List<VirtualSecrets Machine Os Profile Secret> One or more
os_profile_secrets
blocks as defined below.- Os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- Plan
Virtual
Machine Plan A
plan
block as defined below.- Primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- Proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- Storage
Data List<VirtualDisks Machine Storage Data Disk> One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Dictionary<string, string>
A mapping of tags to assign to the Virtual Machine.
- Zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- Network
Interface []stringIds A list of Network Interface IDs which should be associated with the Virtual Machine.
- Resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Storage
Os VirtualDisk Machine Storage Os Disk Args A
storage_os_disk
block as defined below.- Vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- Additional
Capabilities VirtualMachine Additional Capabilities Args An
additional_capabilities
block as defined below.- Availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Boot
Diagnostics VirtualMachine Boot Diagnostics Args A
boot_diagnostics
block as defined below.- Delete
Data boolDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Delete
Os boolDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Identity
Virtual
Machine Identity Args An
identity
block as defined below.- License
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- Location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- Name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Os
Profile VirtualMachine Os Profile Args An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- Os
Profile VirtualLinux Config Machine Os Profile Linux Config Args (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- Os
Profile []VirtualSecrets Machine Os Profile Secret Args One or more
os_profile_secrets
blocks as defined below.- Os
Profile VirtualWindows Config Machine Os Profile Windows Config Args (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- Plan
Virtual
Machine Plan Args A
plan
block as defined below.- Primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- Proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- Storage
Data []VirtualDisks Machine Storage Data Disk Args One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference Args A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- map[string]string
A mapping of tags to assign to the Virtual Machine.
- Zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- network
Interface List<String>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- resource
Group StringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- vm
Size String Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- availability
Set StringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- delete
Data BooleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os BooleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity An
identity
block as defined below.- license
Type String Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location String
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name String
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile List<VirtualSecrets Machine Os Profile Secret> One or more
os_profile_secrets
blocks as defined below.- os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan A
plan
block as defined below.- primary
Network StringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement StringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- storage
Data List<VirtualDisks Machine Storage Data Disk> One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Map<String,String>
A mapping of tags to assign to the Virtual Machine.
- zones String
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- network
Interface string[]Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- delete
Data booleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os booleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity An
identity
block as defined below.- license
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile VirtualSecrets Machine Os Profile Secret[] One or more
os_profile_secrets
blocks as defined below.- os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan A
plan
block as defined below.- primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- storage
Data VirtualDisks Machine Storage Data Disk[] One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- {[key: string]: string}
A mapping of tags to assign to the Virtual Machine.
- zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- network_
interface_ Sequence[str]ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- resource_
group_ strname Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage_
os_ Virtualdisk Machine Storage Os Disk Args A
storage_os_disk
block as defined below.- vm_
size str Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- additional_
capabilities VirtualMachine Additional Capabilities Args An
additional_capabilities
block as defined below.- availability_
set_ strid The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot_
diagnostics VirtualMachine Boot Diagnostics Args A
boot_diagnostics
block as defined below.- delete_
data_ booldisks_ on_ termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete_
os_ booldisk_ on_ termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity Args An
identity
block as defined below.- license_
type str Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location str
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name str
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- os_
profile VirtualMachine Os Profile Args An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os_
profile_ Virtuallinux_ config Machine Os Profile Linux Config Args (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os_
profile_ Sequence[Virtualsecrets Machine Os Profile Secret Args] One or more
os_profile_secrets
blocks as defined below.- os_
profile_ Virtualwindows_ config Machine Os Profile Windows Config Args (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan Args A
plan
block as defined below.- primary_
network_ strinterface_ id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity_
placement_ strgroup_ id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- storage_
data_ Sequence[Virtualdisks Machine Storage Data Disk Args] One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage_
image_ Virtualreference Machine Storage Image Reference Args A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Mapping[str, str]
A mapping of tags to assign to the Virtual Machine.
- zones str
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- network
Interface List<String>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- resource
Group StringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Os Property MapDisk A
storage_os_disk
block as defined below.- vm
Size String Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- additional
Capabilities Property Map An
additional_capabilities
block as defined below.- availability
Set StringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics Property Map A
boot_diagnostics
block as defined below.- delete
Data BooleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os BooleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity Property Map
An
identity
block as defined below.- license
Type String Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location String
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name String
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- os
Profile Property Map An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile Property MapLinux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile List<Property Map>Secrets One or more
os_profile_secrets
blocks as defined below.- os
Profile Property MapWindows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan Property Map
A
plan
block as defined below.- primary
Network StringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement StringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- storage
Data List<Property Map>Disks One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image Property MapReference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Map<String>
A mapping of tags to assign to the Virtual Machine.
- zones String
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
Outputs
All input properties are implicitly available as output properties. Additionally, the VirtualMachine resource produces the following output properties:
- Id string
The provider-assigned unique ID for this managed resource.
- Id string
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
- id string
The provider-assigned unique ID for this managed resource.
- id str
The provider-assigned unique ID for this managed resource.
- id String
The provider-assigned unique ID for this managed resource.
Look up Existing VirtualMachine Resource
Get an existing VirtualMachine 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?: VirtualMachineState, opts?: CustomResourceOptions): VirtualMachine
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
additional_capabilities: Optional[VirtualMachineAdditionalCapabilitiesArgs] = None,
availability_set_id: Optional[str] = None,
boot_diagnostics: Optional[VirtualMachineBootDiagnosticsArgs] = None,
delete_data_disks_on_termination: Optional[bool] = None,
delete_os_disk_on_termination: Optional[bool] = None,
identity: Optional[VirtualMachineIdentityArgs] = None,
license_type: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None,
network_interface_ids: Optional[Sequence[str]] = None,
os_profile: Optional[VirtualMachineOsProfileArgs] = None,
os_profile_linux_config: Optional[VirtualMachineOsProfileLinuxConfigArgs] = None,
os_profile_secrets: Optional[Sequence[VirtualMachineOsProfileSecretArgs]] = None,
os_profile_windows_config: Optional[VirtualMachineOsProfileWindowsConfigArgs] = None,
plan: Optional[VirtualMachinePlanArgs] = None,
primary_network_interface_id: Optional[str] = None,
proximity_placement_group_id: Optional[str] = None,
resource_group_name: Optional[str] = None,
storage_data_disks: Optional[Sequence[VirtualMachineStorageDataDiskArgs]] = None,
storage_image_reference: Optional[VirtualMachineStorageImageReferenceArgs] = None,
storage_os_disk: Optional[VirtualMachineStorageOsDiskArgs] = None,
tags: Optional[Mapping[str, str]] = None,
vm_size: Optional[str] = None,
zones: Optional[str] = None) -> VirtualMachine
func GetVirtualMachine(ctx *Context, name string, id IDInput, state *VirtualMachineState, opts ...ResourceOption) (*VirtualMachine, error)
public static VirtualMachine Get(string name, Input<string> id, VirtualMachineState? state, CustomResourceOptions? opts = null)
public static VirtualMachine get(String name, Output<String> id, VirtualMachineState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- 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.
- Additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- Availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- Delete
Data boolDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Delete
Os boolDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Identity
Virtual
Machine Identity An
identity
block as defined below.- License
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- Location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- Name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Network
Interface List<string>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- Os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- Os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- Os
Profile List<VirtualSecrets Machine Os Profile Secret> One or more
os_profile_secrets
blocks as defined below.- Os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- Plan
Virtual
Machine Plan A
plan
block as defined below.- Primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- Proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- Resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Storage
Data List<VirtualDisks Machine Storage Data Disk> One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- Dictionary<string, string>
A mapping of tags to assign to the Virtual Machine.
- Vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- Zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- Additional
Capabilities VirtualMachine Additional Capabilities Args An
additional_capabilities
block as defined below.- Availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Boot
Diagnostics VirtualMachine Boot Diagnostics Args A
boot_diagnostics
block as defined below.- Delete
Data boolDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Delete
Os boolDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- Identity
Virtual
Machine Identity Args An
identity
block as defined below.- License
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- Location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- Name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Network
Interface []stringIds A list of Network Interface IDs which should be associated with the Virtual Machine.
- Os
Profile VirtualMachine Os Profile Args An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- Os
Profile VirtualLinux Config Machine Os Profile Linux Config Args (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- Os
Profile []VirtualSecrets Machine Os Profile Secret Args One or more
os_profile_secrets
blocks as defined below.- Os
Profile VirtualWindows Config Machine Os Profile Windows Config Args (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- Plan
Virtual
Machine Plan Args A
plan
block as defined below.- Primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- Proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- Resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- Storage
Data []VirtualDisks Machine Storage Data Disk Args One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference Args A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- Storage
Os VirtualDisk Machine Storage Os Disk Args A
storage_os_disk
block as defined below.- map[string]string
A mapping of tags to assign to the Virtual Machine.
- Vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- Zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- availability
Set StringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- delete
Data BooleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os BooleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity An
identity
block as defined below.- license
Type String Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location String
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name String
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- network
Interface List<String>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile List<VirtualSecrets Machine Os Profile Secret> One or more
os_profile_secrets
blocks as defined below.- os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan A
plan
block as defined below.- primary
Network StringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement StringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- resource
Group StringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Data List<VirtualDisks Machine Storage Data Disk> One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- Map<String,String>
A mapping of tags to assign to the Virtual Machine.
- vm
Size String Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- zones String
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- additional
Capabilities VirtualMachine Additional Capabilities An
additional_capabilities
block as defined below.- availability
Set stringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics VirtualMachine Boot Diagnostics A
boot_diagnostics
block as defined below.- delete
Data booleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os booleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity An
identity
block as defined below.- license
Type string Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location string
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name string
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- network
Interface string[]Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- os
Profile VirtualMachine Os Profile An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile VirtualLinux Config Machine Os Profile Linux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile VirtualSecrets Machine Os Profile Secret[] One or more
os_profile_secrets
blocks as defined below.- os
Profile VirtualWindows Config Machine Os Profile Windows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan A
plan
block as defined below.- primary
Network stringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement stringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- resource
Group stringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Data VirtualDisks Machine Storage Data Disk[] One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image VirtualReference Machine Storage Image Reference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- storage
Os VirtualDisk Machine Storage Os Disk A
storage_os_disk
block as defined below.- {[key: string]: string}
A mapping of tags to assign to the Virtual Machine.
- vm
Size string Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- zones string
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- additional_
capabilities VirtualMachine Additional Capabilities Args An
additional_capabilities
block as defined below.- availability_
set_ strid The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot_
diagnostics VirtualMachine Boot Diagnostics Args A
boot_diagnostics
block as defined below.- delete_
data_ booldisks_ on_ termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete_
os_ booldisk_ on_ termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity
Virtual
Machine Identity Args An
identity
block as defined below.- license_
type str Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location str
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name str
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- network_
interface_ Sequence[str]ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- os_
profile VirtualMachine Os Profile Args An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os_
profile_ Virtuallinux_ config Machine Os Profile Linux Config Args (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os_
profile_ Sequence[Virtualsecrets Machine Os Profile Secret Args] One or more
os_profile_secrets
blocks as defined below.- os_
profile_ Virtualwindows_ config Machine Os Profile Windows Config Args (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan
Virtual
Machine Plan Args A
plan
block as defined below.- primary_
network_ strinterface_ id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity_
placement_ strgroup_ id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- resource_
group_ strname Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage_
data_ Sequence[Virtualdisks Machine Storage Data Disk Args] One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage_
image_ Virtualreference Machine Storage Image Reference Args A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- storage_
os_ Virtualdisk Machine Storage Os Disk Args A
storage_os_disk
block as defined below.- Mapping[str, str]
A mapping of tags to assign to the Virtual Machine.
- vm_
size str Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- zones str
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
- additional
Capabilities Property Map An
additional_capabilities
block as defined below.- availability
Set StringId The ID of the Availability Set in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- boot
Diagnostics Property Map A
boot_diagnostics
block as defined below.- delete
Data BooleanDisks On Termination Should the Data Disks (either the Managed Disks / VHD Blobs) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- delete
Os BooleanDisk On Termination Should the OS Disk (either the Managed Disk / VHD Blob) be deleted when the Virtual Machine is destroyed? Defaults to
false
.Note: This setting works when instance is deleted via the provider only and don't forget to delete disks manually if you deleted VM manually. It can increase spending.
- identity Property Map
An
identity
block as defined below.- license
Type String Specifies the BYOL Type for this Virtual Machine. This is only applicable to Windows Virtual Machines. Possible values are
Windows_Client
andWindows_Server
.- location String
Specifies the Azure Region where the Virtual Machine exists. Changing this forces a new resource to be created.
- name String
Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- network
Interface List<String>Ids A list of Network Interface IDs which should be associated with the Virtual Machine.
- os
Profile Property Map An
os_profile
block as defined below. Required whencreate_option
in thestorage_os_disk
block is set toFromImage
.- os
Profile Property MapLinux Config (Required, when a Linux machine) An
os_profile_linux_config
block as defined below.- os
Profile List<Property Map>Secrets One or more
os_profile_secrets
blocks as defined below.- os
Profile Property MapWindows Config (Required, when a Windows machine) An
os_profile_windows_config
block as defined below.- plan Property Map
A
plan
block as defined below.- primary
Network StringInterface Id The ID of the Network Interface (which must be attached to the Virtual Machine) which should be the Primary Network Interface for this Virtual Machine.
- proximity
Placement StringGroup Id The ID of the Proximity Placement Group to which this Virtual Machine should be assigned. Changing this forces a new resource to be created
- resource
Group StringName Specifies the name of the Resource Group in which the Virtual Machine should exist. Changing this forces a new resource to be created.
- storage
Data List<Property Map>Disks One or more
storage_data_disk
blocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachment
resource - but not both.- storage
Image Property MapReference A
storage_image_reference
block as defined below. Changing this forces a new resource to be created.- storage
Os Property MapDisk A
storage_os_disk
block as defined below.- Map<String>
A mapping of tags to assign to the Virtual Machine.
- vm
Size String Specifies the size of the Virtual Machine. See also Azure VM Naming Conventions.
- zones String
A list of a single item of the Availability Zone which the Virtual Machine should be allocated in. Changing this forces a new resource to be created.
Please Note: Availability Zones are only supported in several regions at this time.
For more information on the different example configurations, please check out the Azure documentation
Supporting Types
VirtualMachineAdditionalCapabilities, VirtualMachineAdditionalCapabilitiesArgs
- Ultra
Ssd boolEnabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
- Ultra
Ssd boolEnabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
- ultra
Ssd BooleanEnabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
- ultra
Ssd booleanEnabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
- ultra_
ssd_ boolenabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
- ultra
Ssd BooleanEnabled Should Ultra SSD disk be enabled for this Virtual Machine? Changing this forces a new resource to be created.
Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series:
ESv3
,DSv3
,FSv3
,LSv2
,M
andMv2
. For more information see theAzure Ultra Disk Storage
product documentation.
VirtualMachineBootDiagnostics, VirtualMachineBootDiagnosticsArgs
- Enabled bool
Should Boot Diagnostics be enabled for this Virtual Machine?
- Storage
Uri string The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
- Enabled bool
Should Boot Diagnostics be enabled for this Virtual Machine?
- Storage
Uri string The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
- enabled Boolean
Should Boot Diagnostics be enabled for this Virtual Machine?
- storage
Uri String The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
- enabled boolean
Should Boot Diagnostics be enabled for this Virtual Machine?
- storage
Uri string The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
- enabled bool
Should Boot Diagnostics be enabled for this Virtual Machine?
- storage_
uri str The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
- enabled Boolean
Should Boot Diagnostics be enabled for this Virtual Machine?
- storage
Uri String The Storage Account's Blob Endpoint which should hold the virtual machine's diagnostic files.
NOTE: This needs to be the root of a Storage Account and not a Storage Container.
VirtualMachineIdentity, VirtualMachineIdentityArgs
- Type string
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- Identity
Ids List<string> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- Principal
Id string The Principal ID associated with this Managed Service Identity.
- Type string
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- Identity
Ids []string Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- Principal
Id string The Principal ID associated with this Managed Service Identity.
- type String
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- identity
Ids List<String> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id String The Principal ID associated with this Managed Service Identity.
- type string
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- identity
Ids string[] Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id string The Principal ID associated with this Managed Service Identity.
- type str
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- identity_
ids Sequence[str] Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal_
id str The Principal ID associated with this Managed Service Identity.
- type String
Specifies the type of Managed Service Identity that should be configured on this Virtual Machine. Possible values are
SystemAssigned
,UserAssigned
,SystemAssigned, UserAssigned
(to enable both).NOTE: Managed Service Identity previously required the installation of a VM Extension, but this information is now available via the Azure Instance Metadata Service.
NOTE: When
type
is set toSystemAssigned
, identity the Principal ID can be retrieved after the virtual machine has been created. More details are available below. See documentation for additional information.- identity
Ids List<String> Specifies a list of User Assigned Managed Identity IDs to be assigned to this Virtual Machine.
NOTE: This is required when
type
is set toUserAssigned
orSystemAssigned, UserAssigned
.- principal
Id String The Principal ID associated with this Managed Service Identity.
VirtualMachineOsProfile, VirtualMachineOsProfileArgs
- Admin
Username string Specifies the name of the local administrator account.
- Computer
Name string Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Admin
Password string (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- Custom
Data string Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
- Admin
Username string Specifies the name of the local administrator account.
- Computer
Name string Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- Admin
Password string (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- Custom
Data string Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
- admin
Username String Specifies the name of the local administrator account.
- computer
Name String Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- admin
Password String (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- custom
Data String Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
- admin
Username string Specifies the name of the local administrator account.
- computer
Name string Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- admin
Password string (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- custom
Data string Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
- admin_
username str Specifies the name of the local administrator account.
- computer_
name str Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- admin_
password str (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- custom_
data str Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
- admin
Username String Specifies the name of the local administrator account.
- computer
Name String Specifies the name of the Virtual Machine. Changing this forces a new resource to be created.
- admin
Password String (Optional for Windows, Optional for Linux) The password associated with the local administrator account.
NOTE: If using Linux, it may be preferable to use SSH Key authentication (available in the
os_profile_linux_config
block) instead of password authentication.- custom
Data String Specifies custom data to supply to the machine. On Linux-based systems, this can be used as a cloud-init script. On other systems, this will be copied as a file on disk. Internally, this provider will base64 encode this value before sending it to the API. The maximum length of the binary array is 65535 bytes. Changing this forces a new resource to be created.
VirtualMachineOsProfileLinuxConfig, VirtualMachineOsProfileLinuxConfigArgs
- Disable
Password boolAuthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- Ssh
Keys List<VirtualMachine Os Profile Linux Config Ssh Key> One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
- Disable
Password boolAuthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- Ssh
Keys []VirtualMachine Os Profile Linux Config Ssh Key One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
- disable
Password BooleanAuthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- ssh
Keys List<VirtualMachine Os Profile Linux Config Ssh Key> One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
- disable
Password booleanAuthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- ssh
Keys VirtualMachine Os Profile Linux Config Ssh Key[] One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
- disable_
password_ boolauthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- ssh_
keys Sequence[VirtualMachine Os Profile Linux Config Ssh Key] One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
- disable
Password BooleanAuthentication Specifies whether password authentication should be disabled. If set to
false
, anadmin_password
must be specified.- ssh
Keys List<Property Map> One or more
ssh_keys
blocks as defined below. This field is required ifdisable_password_authentication
is set totrue
.
VirtualMachineOsProfileLinuxConfigSshKey, VirtualMachineOsProfileLinuxConfigSshKeyArgs
- Key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- Path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
- Key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- Path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
- key
Data String The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- path String
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
- key
Data string The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- path string
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
- key_
data str The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- path str
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
- key
Data String The Public SSH Key which should be written to the
path
defined above.Note: Azure only supports RSA SSH2 key signatures of at least 2048 bits in length
- path String
The path of the destination file on the virtual machine
NOTE: Due to a limitation in the Azure VM Agent the only allowed
path
is/home/{username}/.ssh/authorized_keys
.
VirtualMachineOsProfileSecret, VirtualMachineOsProfileSecretArgs
- Source
Vault stringId Specifies the ID of the Key Vault to use.
- Vault
Certificates List<VirtualMachine Os Profile Secret Vault Certificate> One or more
vault_certificates
blocks as defined below.
- Source
Vault stringId Specifies the ID of the Key Vault to use.
- Vault
Certificates []VirtualMachine Os Profile Secret Vault Certificate One or more
vault_certificates
blocks as defined below.
- source
Vault StringId Specifies the ID of the Key Vault to use.
- vault
Certificates List<VirtualMachine Os Profile Secret Vault Certificate> One or more
vault_certificates
blocks as defined below.
- source
Vault stringId Specifies the ID of the Key Vault to use.
- vault
Certificates VirtualMachine Os Profile Secret Vault Certificate[] One or more
vault_certificates
blocks as defined below.
- source_
vault_ strid Specifies the ID of the Key Vault to use.
- vault_
certificates Sequence[VirtualMachine Os Profile Secret Vault Certificate] One or more
vault_certificates
blocks as defined below.
- source
Vault StringId Specifies the ID of the Key Vault to use.
- vault
Certificates List<Property Map> One or more
vault_certificates
blocks as defined below.
VirtualMachineOsProfileSecretVaultCertificate, VirtualMachineOsProfileSecretVaultCertificateArgs
- Certificate
Url string The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- Certificate
Store string (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
- Certificate
Url string The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- Certificate
Store string (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
- certificate
Url String The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- certificate
Store String (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
- certificate
Url string The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- certificate
Store string (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
- certificate_
url str The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- certificate_
store str (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
- certificate
Url String The ID of the Key Vault Secret. Stored secret is the Base64 encoding of a JSON Object that which is encoded in UTF-8 of which the contents need to be:
NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_id
property on theazure.keyvault.Certificate
resource.- certificate
Store String (Required, on windows machines) Specifies the certificate store on the Virtual Machine where the certificate should be added to, such as
My
.
VirtualMachineOsProfileWindowsConfig, VirtualMachineOsProfileWindowsConfigArgs
- Additional
Unattend List<VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config> An
additional_unattend_config
block as defined below.- Enable
Automatic boolUpgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- Provision
Vm boolAgent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- Timezone string
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- Winrms
List<Virtual
Machine Os Profile Windows Config Winrm> One or more
winrm
blocks as defined below.
- Additional
Unattend []VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config An
additional_unattend_config
block as defined below.- Enable
Automatic boolUpgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- Provision
Vm boolAgent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- Timezone string
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- Winrms
[]Virtual
Machine Os Profile Windows Config Winrm One or more
winrm
blocks as defined below.
- additional
Unattend List<VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config> An
additional_unattend_config
block as defined below.- enable
Automatic BooleanUpgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- provision
Vm BooleanAgent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- timezone String
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- winrms
List<Virtual
Machine Os Profile Windows Config Winrm> One or more
winrm
blocks as defined below.
- additional
Unattend VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config[] An
additional_unattend_config
block as defined below.- enable
Automatic booleanUpgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- provision
Vm booleanAgent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- timezone string
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- winrms
Virtual
Machine Os Profile Windows Config Winrm[] One or more
winrm
blocks as defined below.
- additional_
unattend_ Sequence[Virtualconfigs Machine Os Profile Windows Config Additional Unattend Config] An
additional_unattend_config
block as defined below.- enable_
automatic_ boolupgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- provision_
vm_ boolagent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- timezone str
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- winrms
Sequence[Virtual
Machine Os Profile Windows Config Winrm] One or more
winrm
blocks as defined below.
- additional
Unattend List<Property Map>Configs An
additional_unattend_config
block as defined below.- enable
Automatic BooleanUpgrades Are automatic updates enabled on this Virtual Machine? Defaults to
false
.- provision
Vm BooleanAgent Should the Azure Virtual Machine Guest Agent be installed on this Virtual Machine? Defaults to
false
.NOTE: This is different from the Default value used for this field within Azure.
- timezone String
Specifies the time zone of the virtual machine, the possible values are defined here. Changing this forces a new resource to be created.
- winrms List<Property Map>
One or more
winrm
blocks as defined below.
VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfig, VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfigArgs
- Component string
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- Content string
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- Pass string
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- Setting
Name string Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- Component string
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- Content string
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- Pass string
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- Setting
Name string Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- component String
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- content String
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- pass String
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- setting
Name String Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- component string
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- content string
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- pass string
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- setting
Name string Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- component str
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- content str
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- pass_ str
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- setting_
name str Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
- component String
Specifies the name of the component to configure with the added content. The only allowable value is
Microsoft-Windows-Shell-Setup
.- content String
Specifies the base-64 encoded XML formatted content that is added to the unattend.xml file for the specified path and component.
- pass String
Specifies the name of the pass that the content applies to. The only allowable value is
oobeSystem
.- setting
Name String Specifies the name of the setting to which the content applies. Possible values are:
FirstLogonCommands
andAutoLogon
.
VirtualMachineOsProfileWindowsConfigWinrm, VirtualMachineOsProfileWindowsConfigWinrmArgs
- Protocol string
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- Certificate
Url string The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
- Protocol string
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- Certificate
Url string The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
- protocol String
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- certificate
Url String The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
- protocol string
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- certificate
Url string The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
- protocol str
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- certificate_
url str The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
- protocol String
Specifies the protocol of listener. Possible values are
HTTP
orHTTPS
.- certificate
Url String The ID of the Key Vault Secret which contains the encrypted Certificate which should be installed on the Virtual Machine. This certificate must also be specified in the
vault_certificates
block within theos_profile_secrets
block.NOTE: This can be sourced from the
secret_id
field on theazure.keyvault.Certificate
resource.
VirtualMachinePlan, VirtualMachinePlanArgs
VirtualMachineStorageDataDisk, VirtualMachineStorageDataDiskArgs
- Create
Option string Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- Lun int
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- Name string
The name of the Data Disk.
- Caching string
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- Disk
Size intGb Specifies the size of the data disk in gigabytes.
- Managed
Disk stringId Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- Managed
Disk stringType Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- Vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- Write
Accelerator boolEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- Create
Option string Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- Lun int
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- Name string
The name of the Data Disk.
- Caching string
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- Disk
Size intGb Specifies the size of the data disk in gigabytes.
- Managed
Disk stringId Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- Managed
Disk stringType Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- Vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- Write
Accelerator boolEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option String Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- lun Integer
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- name String
The name of the Data Disk.
- caching String
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size IntegerGb Specifies the size of the data disk in gigabytes.
- managed
Disk StringId Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- managed
Disk StringType Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- vhd
Uri String Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- write
Accelerator BooleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option string Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- lun number
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- name string
The name of the Data Disk.
- caching string
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size numberGb Specifies the size of the data disk in gigabytes.
- managed
Disk stringId Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- managed
Disk stringType Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- write
Accelerator booleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create_
option str Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- lun int
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- name str
The name of the Data Disk.
- caching str
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk_
size_ intgb Specifies the size of the data disk in gigabytes.
- managed_
disk_ strid Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- managed_
disk_ strtype Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- vhd_
uri str Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- write_
accelerator_ boolenabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option String Specifies how the data disk should be created. Possible values are
Attach
,FromImage
andEmpty
.NOTE: If using an image that does not have data to be written to the Data Disk, use
Empty
as the create option in order to create the desired disk without any data.- lun Number
Specifies the logical unit number of the data disk. This needs to be unique within all the Data Disks on the Virtual Machine.
- name String
The name of the Data Disk.
- caching String
Specifies the caching requirements for the Data Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size NumberGb Specifies the size of the data disk in gigabytes.
- managed
Disk StringId Specifies the ID of an Existing Managed Disk which should be attached to this Virtual Machine. When this field is set
create_option
must be set toAttach
.The following properties apply when using Unmanaged Disks:
- managed
Disk StringType Specifies the type of managed disk to create. Possible values are either
Standard_LRS
,StandardSSD_LRS
,Premium_LRS
orUltraSSD_LRS
.Note:
managed_disk_type
of typeUltraSSD_LRS
is currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storage
preview.Azure Ultra Disk Storage
is only available inEast US 2
,North Europe
, andSoutheast Asia
regions. For more information see theAzure Ultra Disk Storage
product documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabled
totrue
.- vhd
Uri String Specifies the URI of the VHD file backing this Unmanaged Data Disk.
- write
Accelerator BooleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
VirtualMachineStorageImageReference, VirtualMachineStorageImageReferenceArgs
- Id string
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- Offer string
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Publisher string
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Sku string
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Version string
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
- Id string
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- Offer string
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Publisher string
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Sku string
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- Version string
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
- id String
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- offer String
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- publisher String
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- sku String
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- version String
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
- id string
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- offer string
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- publisher string
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- sku string
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- version string
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
- id str
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- offer str
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- publisher str
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- sku str
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- version str
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
- id String
Specifies the ID of the Custom Image which the Virtual Machine should be created from. Changing this forces a new resource to be created.
- offer String
Specifies the offer of the image used to create the virtual machine. Changing this forces a new resource to be created.
- publisher String
Specifies the publisher of the image used to create the virtual machine. Changing this forces a new resource to be created.
- sku String
Specifies the SKU of the image used to create the virtual machine. Changing this forces a new resource to be created.
- version String
Specifies the version of the image used to create the virtual machine. Changing this forces a new resource to be created.
To provision a Custom Image, the following fields are applicable:
VirtualMachineStorageOsDisk, VirtualMachineStorageOsDiskArgs
- Create
Option string Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- Name string
Specifies the name of the OS Disk.
- Caching string
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- Disk
Size intGb Specifies the size of the OS Disk in gigabytes.
- Image
Uri string Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- Managed
Disk stringId Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- Managed
Disk stringType Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- Os
Type string Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- Vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- Write
Accelerator boolEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- Create
Option string Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- Name string
Specifies the name of the OS Disk.
- Caching string
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- Disk
Size intGb Specifies the size of the OS Disk in gigabytes.
- Image
Uri string Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- Managed
Disk stringId Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- Managed
Disk stringType Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- Os
Type string Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- Vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- Write
Accelerator boolEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option String Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- name String
Specifies the name of the OS Disk.
- caching String
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size IntegerGb Specifies the size of the OS Disk in gigabytes.
- image
Uri String Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- managed
Disk StringId Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- managed
Disk StringType Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- os
Type String Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- vhd
Uri String Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- write
Accelerator BooleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option string Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- name string
Specifies the name of the OS Disk.
- caching string
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size numberGb Specifies the size of the OS Disk in gigabytes.
- image
Uri string Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- managed
Disk stringId Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- managed
Disk stringType Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- os
Type string Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- vhd
Uri string Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- write
Accelerator booleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create_
option str Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- name str
Specifies the name of the OS Disk.
- caching str
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk_
size_ intgb Specifies the size of the OS Disk in gigabytes.
- image_
uri str Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- managed_
disk_ strid Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- managed_
disk_ strtype Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- os_
type str Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- vhd_
uri str Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- write_
accelerator_ boolenabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
- create
Option String Specifies how the OS Disk should be created. Possible values are
Attach
(managed disks only) andFromImage
.- name String
Specifies the name of the OS Disk.
- caching String
Specifies the caching requirements for the OS Disk. Possible values include
None
,ReadOnly
andReadWrite
.- disk
Size NumberGb Specifies the size of the OS Disk in gigabytes.
- image
Uri String Specifies the Image URI in the format
publisherName:offer:skus:version
. This field can also specify the VHD URI of a custom VM image to clone. When cloning a Custom (Unmanaged) Disk Image theos_type
field must be set.- managed
Disk StringId Specifies the ID of an existing Managed Disk which should be attached as the OS Disk of this Virtual Machine. If this is set then the
create_option
must be set toAttach
. Changing this forces a new resource to be created.- managed
Disk StringType Specifies the type of Managed Disk which should be created. Possible values are
Standard_LRS
,StandardSSD_LRS
orPremium_LRS
.The following properties apply when using Unmanaged Disks:
- os
Type String Specifies the Operating System on the OS Disk. Possible values are
Linux
andWindows
.- vhd
Uri String Specifies the URI of the VHD file backing this Unmanaged OS Disk. Changing this forces a new resource to be created.
- write
Accelerator BooleanEnabled Specifies if Write Accelerator is enabled on the disk. This can only be enabled on
Premium_LRS
managed disks with no caching and M-Series VMs. Defaults tofalse
.The following properties apply when using Managed Disks:
Import
Virtual Machines can be imported using the resource id
, e.g.
$ pulumi import azure:compute/virtualMachine:VirtualMachine example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/virtualMachines/machine1
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
azurerm
Terraform Provider.