We recommend using Azure Native.
azure.compute.VirtualMachine
Explore with Pulumi AI
Manages a Virtual Machine.
Disclaimers
Note: The
azure.compute.VirtualMachineresource has been superseded by theazure.compute.LinuxVirtualMachineandazure.compute.WindowsVirtualMachineresources. The existingazure.compute.VirtualMachineresource 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.LinuxVirtualMachineandazure.compute.WindowsVirtualMachineresources.
Note: Data Disks can be attached either directly on the
azure.compute.VirtualMachineresource, or using theazure.compute.DataDiskAttachmentresource - 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)
This example provisions a Virtual Machine with Managed Disks.
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", {
name: `${prefix}-resources`,
location: "West Europe",
});
const main = new azure.network.VirtualNetwork("main", {
name: `${prefix}-network`,
addressSpaces: ["10.0.0.0/16"],
location: example.location,
resourceGroupName: example.name,
});
const internal = new azure.network.Subnet("internal", {
name: "internal",
resourceGroupName: example.name,
virtualNetworkName: main.name,
addressPrefixes: ["10.0.2.0/24"],
});
const mainNetworkInterface = new azure.network.NetworkInterface("main", {
name: `${prefix}-nic`,
location: example.location,
resourceGroupName: example.name,
ipConfigurations: [{
name: "testconfiguration1",
subnetId: internal.id,
privateIpAddressAllocation: "Dynamic",
}],
});
const mainVirtualMachine = new azure.compute.VirtualMachine("main", {
name: `${prefix}-vm`,
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",
},
});
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",
name=f"{prefix}-resources",
location="West Europe")
main = azure.network.VirtualNetwork("main",
name=f"{prefix}-network",
address_spaces=["10.0.0.0/16"],
location=example.location,
resource_group_name=example.name)
internal = azure.network.Subnet("internal",
name="internal",
resource_group_name=example.name,
virtual_network_name=main.name,
address_prefixes=["10.0.2.0/24"])
main_network_interface = azure.network.NetworkInterface("main",
name=f"{prefix}-nic",
location=example.location,
resource_group_name=example.name,
ip_configurations=[{
"name": "testconfiguration1",
"subnet_id": internal.id,
"private_ip_address_allocation": "Dynamic",
}])
main_virtual_machine = azure.compute.VirtualMachine("main",
name=f"{prefix}-vm",
location=example.location,
resource_group_name=example.name,
network_interface_ids=[main_network_interface.id],
vm_size="Standard_DS1_v2",
storage_image_reference={
"publisher": "Canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest",
},
storage_os_disk={
"name": "myosdisk1",
"caching": "ReadWrite",
"create_option": "FromImage",
"managed_disk_type": "Standard_LRS",
},
os_profile={
"computer_name": "hostname",
"admin_username": "testadmin",
"admin_password": "Password1234!",
},
os_profile_linux_config={
"disable_password_authentication": False,
},
tags={
"environment": "staging",
})
package main
import (
"fmt"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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{
Name: pulumi.Sprintf("%v-resources", prefix),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
main, err := network.NewVirtualNetwork(ctx, "main", &network.VirtualNetworkArgs{
Name: pulumi.Sprintf("%v-network", prefix),
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{
Name: pulumi.String("internal"),
ResourceGroupName: example.Name,
VirtualNetworkName: main.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.2.0/24"),
},
})
if err != nil {
return err
}
mainNetworkInterface, err := network.NewNetworkInterface(ctx, "main", &network.NetworkInterfaceArgs{
Name: pulumi.Sprintf("%v-nic", prefix),
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, "main", &compute.VirtualMachineArgs{
Name: pulumi.Sprintf("%v-vm", prefix),
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
})
}
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()
{
Name = $"{prefix}-resources",
Location = "West Europe",
});
var main = new Azure.Network.VirtualNetwork("main", new()
{
Name = $"{prefix}-network",
AddressSpaces = new[]
{
"10.0.0.0/16",
},
Location = example.Location,
ResourceGroupName = example.Name,
});
var @internal = new Azure.Network.Subnet("internal", new()
{
Name = "internal",
ResourceGroupName = example.Name,
VirtualNetworkName = main.Name,
AddressPrefixes = new[]
{
"10.0.2.0/24",
},
});
var mainNetworkInterface = new Azure.Network.NetworkInterface("main", new()
{
Name = $"{prefix}-nic",
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("main", new()
{
Name = $"{prefix}-vm",
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 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()
.name(String.format("%s-resources", prefix))
.location("West Europe")
.build());
var main = new VirtualNetwork("main", VirtualNetworkArgs.builder()
.name(String.format("%s-network", prefix))
.addressSpaces("10.0.0.0/16")
.location(example.location())
.resourceGroupName(example.name())
.build());
var internal = new Subnet("internal", SubnetArgs.builder()
.name("internal")
.resourceGroupName(example.name())
.virtualNetworkName(main.name())
.addressPrefixes("10.0.2.0/24")
.build());
var mainNetworkInterface = new NetworkInterface("mainNetworkInterface", NetworkInterfaceArgs.builder()
.name(String.format("%s-nic", prefix))
.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()
.name(String.format("%s-vm", prefix))
.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());
}
}
configuration:
prefix:
type: string
default: tfvmex
resources:
example:
type: azure:core:ResourceGroup
properties:
name: ${prefix}-resources
location: West Europe
main:
type: azure:network:VirtualNetwork
properties:
name: ${prefix}-network
addressSpaces:
- 10.0.0.0/16
location: ${example.location}
resourceGroupName: ${example.name}
internal:
type: azure:network:Subnet
properties:
name: internal
resourceGroupName: ${example.name}
virtualNetworkName: ${main.name}
addressPrefixes:
- 10.0.2.0/24
mainNetworkInterface:
type: azure:network:NetworkInterface
name: main
properties:
name: ${prefix}-nic
location: ${example.location}
resourceGroupName: ${example.name}
ipConfigurations:
- name: testconfiguration1
subnetId: ${internal.id}
privateIpAddressAllocation: Dynamic
mainVirtualMachine:
type: azure:compute:VirtualMachine
name: main
properties:
name: ${prefix}-vm
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
Create VirtualMachine Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new VirtualMachine(name: string, args: VirtualMachineArgs, opts?: CustomResourceOptions);@overload
def VirtualMachine(resource_name: str,
args: VirtualMachineArgs,
opts: Optional[ResourceOptions] = None)
@overload
def VirtualMachine(resource_name: str,
opts: Optional[ResourceOptions] = None,
network_interface_ids: Optional[Sequence[str]] = None,
vm_size: Optional[str] = None,
storage_os_disk: Optional[VirtualMachineStorageOsDiskArgs] = None,
resource_group_name: Optional[str] = None,
os_profile_secrets: Optional[Sequence[VirtualMachineOsProfileSecretArgs]] = None,
os_profile_windows_config: Optional[VirtualMachineOsProfileWindowsConfigArgs] = None,
license_type: Optional[str] = None,
location: Optional[str] = None,
name: Optional[str] = None,
delete_os_disk_on_termination: Optional[bool] = None,
os_profile: Optional[VirtualMachineOsProfileArgs] = None,
os_profile_linux_config: Optional[VirtualMachineOsProfileLinuxConfigArgs] = None,
additional_capabilities: Optional[VirtualMachineAdditionalCapabilitiesArgs] = None,
identity: Optional[VirtualMachineIdentityArgs] = None,
plan: Optional[VirtualMachinePlanArgs] = None,
primary_network_interface_id: Optional[str] = None,
proximity_placement_group_id: Optional[str] = None,
delete_data_disks_on_termination: Optional[bool] = None,
storage_data_disks: Optional[Sequence[VirtualMachineStorageDataDiskArgs]] = None,
storage_image_reference: Optional[VirtualMachineStorageImageReferenceArgs] = None,
boot_diagnostics: Optional[VirtualMachineBootDiagnosticsArgs] = None,
tags: Optional[Mapping[str, str]] = None,
availability_set_id: Optional[str] = None,
zones: Optional[str] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var virtualMachineResource = new Azure.Compute.VirtualMachine("virtualMachineResource", new()
{
NetworkInterfaceIds = new[]
{
"string",
},
VmSize = "string",
StorageOsDisk = new Azure.Compute.Inputs.VirtualMachineStorageOsDiskArgs
{
CreateOption = "string",
Name = "string",
Caching = "string",
DiskSizeGb = 0,
ImageUri = "string",
ManagedDiskId = "string",
ManagedDiskType = "string",
OsType = "string",
VhdUri = "string",
WriteAcceleratorEnabled = false,
},
ResourceGroupName = "string",
OsProfileSecrets = new[]
{
new Azure.Compute.Inputs.VirtualMachineOsProfileSecretArgs
{
SourceVaultId = "string",
VaultCertificates = new[]
{
new Azure.Compute.Inputs.VirtualMachineOsProfileSecretVaultCertificateArgs
{
CertificateUrl = "string",
CertificateStore = "string",
},
},
},
},
OsProfileWindowsConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileWindowsConfigArgs
{
AdditionalUnattendConfigs = new[]
{
new Azure.Compute.Inputs.VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfigArgs
{
Component = "string",
Content = "string",
Pass = "string",
SettingName = "string",
},
},
EnableAutomaticUpgrades = false,
ProvisionVmAgent = false,
Timezone = "string",
Winrms = new[]
{
new Azure.Compute.Inputs.VirtualMachineOsProfileWindowsConfigWinrmArgs
{
Protocol = "string",
CertificateUrl = "string",
},
},
},
LicenseType = "string",
Location = "string",
Name = "string",
DeleteOsDiskOnTermination = false,
OsProfile = new Azure.Compute.Inputs.VirtualMachineOsProfileArgs
{
AdminUsername = "string",
ComputerName = "string",
AdminPassword = "string",
CustomData = "string",
},
OsProfileLinuxConfig = new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigArgs
{
DisablePasswordAuthentication = false,
SshKeys = new[]
{
new Azure.Compute.Inputs.VirtualMachineOsProfileLinuxConfigSshKeyArgs
{
KeyData = "string",
Path = "string",
},
},
},
AdditionalCapabilities = new Azure.Compute.Inputs.VirtualMachineAdditionalCapabilitiesArgs
{
UltraSsdEnabled = false,
},
Identity = new Azure.Compute.Inputs.VirtualMachineIdentityArgs
{
Type = "string",
IdentityIds = new[]
{
"string",
},
PrincipalId = "string",
TenantId = "string",
},
Plan = new Azure.Compute.Inputs.VirtualMachinePlanArgs
{
Name = "string",
Product = "string",
Publisher = "string",
},
PrimaryNetworkInterfaceId = "string",
ProximityPlacementGroupId = "string",
DeleteDataDisksOnTermination = false,
StorageDataDisks = new[]
{
new Azure.Compute.Inputs.VirtualMachineStorageDataDiskArgs
{
CreateOption = "string",
Lun = 0,
Name = "string",
Caching = "string",
DiskSizeGb = 0,
ManagedDiskId = "string",
ManagedDiskType = "string",
VhdUri = "string",
WriteAcceleratorEnabled = false,
},
},
StorageImageReference = new Azure.Compute.Inputs.VirtualMachineStorageImageReferenceArgs
{
Id = "string",
Offer = "string",
Publisher = "string",
Sku = "string",
Version = "string",
},
BootDiagnostics = new Azure.Compute.Inputs.VirtualMachineBootDiagnosticsArgs
{
Enabled = false,
StorageUri = "string",
},
Tags =
{
{ "string", "string" },
},
AvailabilitySetId = "string",
Zones = "string",
});
example, err := compute.NewVirtualMachine(ctx, "virtualMachineResource", &compute.VirtualMachineArgs{
NetworkInterfaceIds: pulumi.StringArray{
pulumi.String("string"),
},
VmSize: pulumi.String("string"),
StorageOsDisk: &compute.VirtualMachineStorageOsDiskArgs{
CreateOption: pulumi.String("string"),
Name: pulumi.String("string"),
Caching: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
ImageUri: pulumi.String("string"),
ManagedDiskId: pulumi.String("string"),
ManagedDiskType: pulumi.String("string"),
OsType: pulumi.String("string"),
VhdUri: pulumi.String("string"),
WriteAcceleratorEnabled: pulumi.Bool(false),
},
ResourceGroupName: pulumi.String("string"),
OsProfileSecrets: compute.VirtualMachineOsProfileSecretArray{
&compute.VirtualMachineOsProfileSecretArgs{
SourceVaultId: pulumi.String("string"),
VaultCertificates: compute.VirtualMachineOsProfileSecretVaultCertificateArray{
&compute.VirtualMachineOsProfileSecretVaultCertificateArgs{
CertificateUrl: pulumi.String("string"),
CertificateStore: pulumi.String("string"),
},
},
},
},
OsProfileWindowsConfig: &compute.VirtualMachineOsProfileWindowsConfigArgs{
AdditionalUnattendConfigs: compute.VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfigArray{
&compute.VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfigArgs{
Component: pulumi.String("string"),
Content: pulumi.String("string"),
Pass: pulumi.String("string"),
SettingName: pulumi.String("string"),
},
},
EnableAutomaticUpgrades: pulumi.Bool(false),
ProvisionVmAgent: pulumi.Bool(false),
Timezone: pulumi.String("string"),
Winrms: compute.VirtualMachineOsProfileWindowsConfigWinrmArray{
&compute.VirtualMachineOsProfileWindowsConfigWinrmArgs{
Protocol: pulumi.String("string"),
CertificateUrl: pulumi.String("string"),
},
},
},
LicenseType: pulumi.String("string"),
Location: pulumi.String("string"),
Name: pulumi.String("string"),
DeleteOsDiskOnTermination: pulumi.Bool(false),
OsProfile: &compute.VirtualMachineOsProfileArgs{
AdminUsername: pulumi.String("string"),
ComputerName: pulumi.String("string"),
AdminPassword: pulumi.String("string"),
CustomData: pulumi.String("string"),
},
OsProfileLinuxConfig: &compute.VirtualMachineOsProfileLinuxConfigArgs{
DisablePasswordAuthentication: pulumi.Bool(false),
SshKeys: compute.VirtualMachineOsProfileLinuxConfigSshKeyArray{
&compute.VirtualMachineOsProfileLinuxConfigSshKeyArgs{
KeyData: pulumi.String("string"),
Path: pulumi.String("string"),
},
},
},
AdditionalCapabilities: &compute.VirtualMachineAdditionalCapabilitiesArgs{
UltraSsdEnabled: pulumi.Bool(false),
},
Identity: &compute.VirtualMachineIdentityArgs{
Type: pulumi.String("string"),
IdentityIds: pulumi.StringArray{
pulumi.String("string"),
},
PrincipalId: pulumi.String("string"),
TenantId: pulumi.String("string"),
},
Plan: &compute.VirtualMachinePlanArgs{
Name: pulumi.String("string"),
Product: pulumi.String("string"),
Publisher: pulumi.String("string"),
},
PrimaryNetworkInterfaceId: pulumi.String("string"),
ProximityPlacementGroupId: pulumi.String("string"),
DeleteDataDisksOnTermination: pulumi.Bool(false),
StorageDataDisks: compute.VirtualMachineStorageDataDiskArray{
&compute.VirtualMachineStorageDataDiskArgs{
CreateOption: pulumi.String("string"),
Lun: pulumi.Int(0),
Name: pulumi.String("string"),
Caching: pulumi.String("string"),
DiskSizeGb: pulumi.Int(0),
ManagedDiskId: pulumi.String("string"),
ManagedDiskType: pulumi.String("string"),
VhdUri: pulumi.String("string"),
WriteAcceleratorEnabled: pulumi.Bool(false),
},
},
StorageImageReference: &compute.VirtualMachineStorageImageReferenceArgs{
Id: pulumi.String("string"),
Offer: pulumi.String("string"),
Publisher: pulumi.String("string"),
Sku: pulumi.String("string"),
Version: pulumi.String("string"),
},
BootDiagnostics: &compute.VirtualMachineBootDiagnosticsArgs{
Enabled: pulumi.Bool(false),
StorageUri: pulumi.String("string"),
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
AvailabilitySetId: pulumi.String("string"),
Zones: pulumi.String("string"),
})
var virtualMachineResource = new com.pulumi.azure.compute.VirtualMachine("virtualMachineResource", com.pulumi.azure.compute.VirtualMachineArgs.builder()
.networkInterfaceIds("string")
.vmSize("string")
.storageOsDisk(VirtualMachineStorageOsDiskArgs.builder()
.createOption("string")
.name("string")
.caching("string")
.diskSizeGb(0)
.imageUri("string")
.managedDiskId("string")
.managedDiskType("string")
.osType("string")
.vhdUri("string")
.writeAcceleratorEnabled(false)
.build())
.resourceGroupName("string")
.osProfileSecrets(VirtualMachineOsProfileSecretArgs.builder()
.sourceVaultId("string")
.vaultCertificates(VirtualMachineOsProfileSecretVaultCertificateArgs.builder()
.certificateUrl("string")
.certificateStore("string")
.build())
.build())
.osProfileWindowsConfig(VirtualMachineOsProfileWindowsConfigArgs.builder()
.additionalUnattendConfigs(VirtualMachineOsProfileWindowsConfigAdditionalUnattendConfigArgs.builder()
.component("string")
.content("string")
.pass("string")
.settingName("string")
.build())
.enableAutomaticUpgrades(false)
.provisionVmAgent(false)
.timezone("string")
.winrms(VirtualMachineOsProfileWindowsConfigWinrmArgs.builder()
.protocol("string")
.certificateUrl("string")
.build())
.build())
.licenseType("string")
.location("string")
.name("string")
.deleteOsDiskOnTermination(false)
.osProfile(VirtualMachineOsProfileArgs.builder()
.adminUsername("string")
.computerName("string")
.adminPassword("string")
.customData("string")
.build())
.osProfileLinuxConfig(VirtualMachineOsProfileLinuxConfigArgs.builder()
.disablePasswordAuthentication(false)
.sshKeys(VirtualMachineOsProfileLinuxConfigSshKeyArgs.builder()
.keyData("string")
.path("string")
.build())
.build())
.additionalCapabilities(VirtualMachineAdditionalCapabilitiesArgs.builder()
.ultraSsdEnabled(false)
.build())
.identity(VirtualMachineIdentityArgs.builder()
.type("string")
.identityIds("string")
.principalId("string")
.tenantId("string")
.build())
.plan(VirtualMachinePlanArgs.builder()
.name("string")
.product("string")
.publisher("string")
.build())
.primaryNetworkInterfaceId("string")
.proximityPlacementGroupId("string")
.deleteDataDisksOnTermination(false)
.storageDataDisks(VirtualMachineStorageDataDiskArgs.builder()
.createOption("string")
.lun(0)
.name("string")
.caching("string")
.diskSizeGb(0)
.managedDiskId("string")
.managedDiskType("string")
.vhdUri("string")
.writeAcceleratorEnabled(false)
.build())
.storageImageReference(VirtualMachineStorageImageReferenceArgs.builder()
.id("string")
.offer("string")
.publisher("string")
.sku("string")
.version("string")
.build())
.bootDiagnostics(VirtualMachineBootDiagnosticsArgs.builder()
.enabled(false)
.storageUri("string")
.build())
.tags(Map.of("string", "string"))
.availabilitySetId("string")
.zones("string")
.build());
virtual_machine_resource = azure.compute.VirtualMachine("virtualMachineResource",
network_interface_ids=["string"],
vm_size="string",
storage_os_disk={
"create_option": "string",
"name": "string",
"caching": "string",
"disk_size_gb": 0,
"image_uri": "string",
"managed_disk_id": "string",
"managed_disk_type": "string",
"os_type": "string",
"vhd_uri": "string",
"write_accelerator_enabled": False,
},
resource_group_name="string",
os_profile_secrets=[{
"source_vault_id": "string",
"vault_certificates": [{
"certificate_url": "string",
"certificate_store": "string",
}],
}],
os_profile_windows_config={
"additional_unattend_configs": [{
"component": "string",
"content": "string",
"pass_": "string",
"setting_name": "string",
}],
"enable_automatic_upgrades": False,
"provision_vm_agent": False,
"timezone": "string",
"winrms": [{
"protocol": "string",
"certificate_url": "string",
}],
},
license_type="string",
location="string",
name="string",
delete_os_disk_on_termination=False,
os_profile={
"admin_username": "string",
"computer_name": "string",
"admin_password": "string",
"custom_data": "string",
},
os_profile_linux_config={
"disable_password_authentication": False,
"ssh_keys": [{
"key_data": "string",
"path": "string",
}],
},
additional_capabilities={
"ultra_ssd_enabled": False,
},
identity={
"type": "string",
"identity_ids": ["string"],
"principal_id": "string",
"tenant_id": "string",
},
plan={
"name": "string",
"product": "string",
"publisher": "string",
},
primary_network_interface_id="string",
proximity_placement_group_id="string",
delete_data_disks_on_termination=False,
storage_data_disks=[{
"create_option": "string",
"lun": 0,
"name": "string",
"caching": "string",
"disk_size_gb": 0,
"managed_disk_id": "string",
"managed_disk_type": "string",
"vhd_uri": "string",
"write_accelerator_enabled": False,
}],
storage_image_reference={
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string",
},
boot_diagnostics={
"enabled": False,
"storage_uri": "string",
},
tags={
"string": "string",
},
availability_set_id="string",
zones="string")
const virtualMachineResource = new azure.compute.VirtualMachine("virtualMachineResource", {
networkInterfaceIds: ["string"],
vmSize: "string",
storageOsDisk: {
createOption: "string",
name: "string",
caching: "string",
diskSizeGb: 0,
imageUri: "string",
managedDiskId: "string",
managedDiskType: "string",
osType: "string",
vhdUri: "string",
writeAcceleratorEnabled: false,
},
resourceGroupName: "string",
osProfileSecrets: [{
sourceVaultId: "string",
vaultCertificates: [{
certificateUrl: "string",
certificateStore: "string",
}],
}],
osProfileWindowsConfig: {
additionalUnattendConfigs: [{
component: "string",
content: "string",
pass: "string",
settingName: "string",
}],
enableAutomaticUpgrades: false,
provisionVmAgent: false,
timezone: "string",
winrms: [{
protocol: "string",
certificateUrl: "string",
}],
},
licenseType: "string",
location: "string",
name: "string",
deleteOsDiskOnTermination: false,
osProfile: {
adminUsername: "string",
computerName: "string",
adminPassword: "string",
customData: "string",
},
osProfileLinuxConfig: {
disablePasswordAuthentication: false,
sshKeys: [{
keyData: "string",
path: "string",
}],
},
additionalCapabilities: {
ultraSsdEnabled: false,
},
identity: {
type: "string",
identityIds: ["string"],
principalId: "string",
tenantId: "string",
},
plan: {
name: "string",
product: "string",
publisher: "string",
},
primaryNetworkInterfaceId: "string",
proximityPlacementGroupId: "string",
deleteDataDisksOnTermination: false,
storageDataDisks: [{
createOption: "string",
lun: 0,
name: "string",
caching: "string",
diskSizeGb: 0,
managedDiskId: "string",
managedDiskType: "string",
vhdUri: "string",
writeAcceleratorEnabled: false,
}],
storageImageReference: {
id: "string",
offer: "string",
publisher: "string",
sku: "string",
version: "string",
},
bootDiagnostics: {
enabled: false,
storageUri: "string",
},
tags: {
string: "string",
},
availabilitySetId: "string",
zones: "string",
});
type: azure:compute:VirtualMachine
properties:
additionalCapabilities:
ultraSsdEnabled: false
availabilitySetId: string
bootDiagnostics:
enabled: false
storageUri: string
deleteDataDisksOnTermination: false
deleteOsDiskOnTermination: false
identity:
identityIds:
- string
principalId: string
tenantId: string
type: string
licenseType: string
location: string
name: string
networkInterfaceIds:
- string
osProfile:
adminPassword: string
adminUsername: string
computerName: string
customData: string
osProfileLinuxConfig:
disablePasswordAuthentication: false
sshKeys:
- keyData: string
path: string
osProfileSecrets:
- sourceVaultId: string
vaultCertificates:
- certificateStore: string
certificateUrl: string
osProfileWindowsConfig:
additionalUnattendConfigs:
- component: string
content: string
pass: string
settingName: string
enableAutomaticUpgrades: false
provisionVmAgent: false
timezone: string
winrms:
- certificateUrl: string
protocol: string
plan:
name: string
product: string
publisher: string
primaryNetworkInterfaceId: string
proximityPlacementGroupId: string
resourceGroupName: string
storageDataDisks:
- caching: string
createOption: string
diskSizeGb: 0
lun: 0
managedDiskId: string
managedDiskType: string
name: string
vhdUri: string
writeAcceleratorEnabled: false
storageImageReference:
id: string
offer: string
publisher: string
sku: string
version: string
storageOsDisk:
caching: string
createOption: string
diskSizeGb: 0
imageUri: string
managedDiskId: string
managedDiskType: string
name: string
osType: string
vhdUri: string
writeAcceleratorEnabled: false
tags:
string: string
vmSize: string
zones: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - Os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - Os
Profile List<VirtualSecrets Machine Os Profile Secret> - One or more
os_profile_secretsblocks as defined below. - Os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - Plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock 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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - Os
Profile VirtualLinux Config Machine Os Profile Linux Config Args - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - Os
Profile []VirtualSecrets Machine Os Profile Secret Args - One or more
os_profile_secretsblocks as defined below. - Os
Profile VirtualWindows Config Machine Os Profile Windows Config Args - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - Plan
Virtual
Machine Plan Args - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference Args - A
storage_image_referenceblock 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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile List<VirtualSecrets Machine Os Profile Secret> - One or more
os_profile_secretsblocks as defined below. - os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock 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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile VirtualSecrets Machine Os Profile Secret[] - One or more
os_profile_secretsblocks as defined below. - os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock 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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os_
profile_ Virtuallinux_ config Machine Os Profile Linux Config Args - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os_
profile_ Sequence[Virtualsecrets Machine Os Profile Secret Args] - One or more
os_profile_secretsblocks as defined below. - os_
profile_ Virtualwindows_ config Machine Os Profile Windows Config Args - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan Args - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage_
image_ Virtualreference Machine Storage Image Reference Args - A
storage_image_referenceblock 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_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile Property MapLinux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile List<Property Map>Secrets - One or more
os_profile_secretsblocks as defined below. - os
Profile Property MapWindows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan Property Map
- A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image Property MapReference - A
storage_image_referenceblock 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) -> VirtualMachinefunc 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)resources: _: type: azure:compute:VirtualMachine get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Additional
Capabilities VirtualMachine Additional Capabilities - An
additional_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - Os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - Os
Profile List<VirtualSecrets Machine Os Profile Secret> - One or more
os_profile_secretsblocks as defined below. - Os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - Plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - Storage
Os VirtualDisk Machine Storage Os Disk - A
storage_os_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - Os
Profile VirtualLinux Config Machine Os Profile Linux Config Args - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - Os
Profile []VirtualSecrets Machine Os Profile Secret Args - One or more
os_profile_secretsblocks as defined below. - Os
Profile VirtualWindows Config Machine Os Profile Windows Config Args - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - Plan
Virtual
Machine Plan Args - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- Storage
Image VirtualReference Machine Storage Image Reference Args - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - Storage
Os VirtualDisk Machine Storage Os Disk Args - A
storage_os_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile List<VirtualSecrets Machine Os Profile Secret> - One or more
os_profile_secretsblocks as defined below. - os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - storage
Os VirtualDisk Machine Storage Os Disk - A
storage_os_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile VirtualLinux Config Machine Os Profile Linux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile VirtualSecrets Machine Os Profile Secret[] - One or more
os_profile_secretsblocks as defined below. - os
Profile VirtualWindows Config Machine Os Profile Windows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image VirtualReference Machine Storage Image Reference - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - storage
Os VirtualDisk Machine Storage Os Disk - A
storage_os_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os_
profile_ Virtuallinux_ config Machine Os Profile Linux Config Args - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os_
profile_ Sequence[Virtualsecrets Machine Os Profile Secret Args] - One or more
os_profile_secretsblocks as defined below. - os_
profile_ Virtualwindows_ config Machine Os Profile Windows Config Args - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan
Virtual
Machine Plan Args - A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage_
image_ Virtualreference Machine Storage Image Reference Args - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - storage_
os_ Virtualdisk Machine Storage Os Disk Args - A
storage_os_diskblock 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_capabilitiesblock 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_diagnosticsblock 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
identityblock 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_ClientandWindows_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_profileblock as defined below. Required whencreate_optionin thestorage_os_diskblock is set toFromImage. - os
Profile Property MapLinux Config - (Required, when a Linux machine) An
os_profile_linux_configblock as defined below. - os
Profile List<Property Map>Secrets - One or more
os_profile_secretsblocks as defined below. - os
Profile Property MapWindows Config - (Required, when a Windows machine) An
os_profile_windows_configblock as defined below. - plan Property Map
- A
planblock 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_diskblocks as defined below.Please Note: Data Disks can also be attached either using this block or the
azure.compute.DataDiskAttachmentresource - but not both.- storage
Image Property MapReference - A
storage_image_referenceblock as defined below. Changing this forces a new resource to be created. - storage
Os Property MapDisk - A
storage_os_diskblock 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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,MandMv2. For more information see theAzure Ultra Disk Storageproduct 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- Principal
Id string - The Principal ID associated with this Managed Service Identity.
- Tenant
Id string
- 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- Principal
Id string - The Principal ID associated with this Managed Service Identity.
- Tenant
Id string
- 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- principal
Id String - The Principal ID associated with this Managed Service Identity.
- tenant
Id String
- 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- principal
Id string - The Principal ID associated with this Managed Service Identity.
- tenant
Id string
- 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- principal_
id str - The Principal ID associated with this Managed Service Identity.
- tenant_
id str
- 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
typeis 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
typeis set toUserAssignedorSystemAssigned, UserAssigned.- principal
Id String - The Principal ID associated with this Managed Service Identity.
- tenant
Id String
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_configblock) 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_configblock) 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_configblock) 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_configblock) 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_configblock) 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_configblock) 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_passwordmust be specified. - Ssh
Keys List<VirtualMachine Os Profile Linux Config Ssh Key> - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
- Disable
Password boolAuthentication - Specifies whether password authentication should be disabled. If set to
false, anadmin_passwordmust be specified. - Ssh
Keys []VirtualMachine Os Profile Linux Config Ssh Key - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
- disable
Password BooleanAuthentication - Specifies whether password authentication should be disabled. If set to
false, anadmin_passwordmust be specified. - ssh
Keys List<VirtualMachine Os Profile Linux Config Ssh Key> - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
- disable
Password booleanAuthentication - Specifies whether password authentication should be disabled. If set to
false, anadmin_passwordmust be specified. - ssh
Keys VirtualMachine Os Profile Linux Config Ssh Key[] - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
- disable_
password_ boolauthentication - Specifies whether password authentication should be disabled. If set to
false, anadmin_passwordmust be specified. - ssh_
keys Sequence[VirtualMachine Os Profile Linux Config Ssh Key] - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
- disable
Password BooleanAuthentication - Specifies whether password authentication should be disabled. If set to
false, anadmin_passwordmust be specified. - ssh
Keys List<Property Map> - One or more
ssh_keysblocks as defined below. This field is required ifdisable_password_authenticationis set totrue.
VirtualMachineOsProfileLinuxConfigSshKey, VirtualMachineOsProfileLinuxConfigSshKeyArgs
- Key
Data string The Public SSH Key which should be written to the
pathdefined 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
pathis/home/{username}/.ssh/authorized_keys.
- Key
Data string The Public SSH Key which should be written to the
pathdefined 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
pathis/home/{username}/.ssh/authorized_keys.
- key
Data String The Public SSH Key which should be written to the
pathdefined 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
pathis/home/{username}/.ssh/authorized_keys.
- key
Data string The Public SSH Key which should be written to the
pathdefined 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
pathis/home/{username}/.ssh/authorized_keys.
- key_
data str The Public SSH Key which should be written to the
pathdefined 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
pathis/home/{username}/.ssh/authorized_keys.
- key
Data String The Public SSH Key which should be written to the
pathdefined 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
pathis/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_certificatesblocks 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_certificatesblocks 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_certificatesblocks 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_certificatesblocks 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_certificatesblocks as defined below.
- source
Vault StringId - Specifies the ID of the Key Vault to use.
- vault
Certificates List<Property Map> - One or more
vault_certificatesblocks 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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:
{ "data":"<Base64-encoded-certificate>", "dataType":"pfx", "password":"<pfx-file-password>" }NOTE: If your certificate is stored in Azure Key Vault - this can be sourced from the
secret_idproperty on theazure.keyvault.Certificateresource.- 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_configblock 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
winrmblocks as defined below.
- Additional
Unattend []VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config - An
additional_unattend_configblock 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
winrmblocks as defined below.
- additional
Unattend List<VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config> - An
additional_unattend_configblock 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
winrmblocks as defined below.
- additional
Unattend VirtualConfigs Machine Os Profile Windows Config Additional Unattend Config[] - An
additional_unattend_configblock 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
winrmblocks as defined below.
- additional_
unattend_ Sequence[Virtualconfigs Machine Os Profile Windows Config Additional Unattend Config] - An
additional_unattend_configblock 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
winrmblocks as defined below.
- additional
Unattend List<Property Map>Configs - An
additional_unattend_configblock 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
winrmblocks 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:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
- 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:
FirstLogonCommandsandAutoLogon.
VirtualMachineOsProfileWindowsConfigWinrm, VirtualMachineOsProfileWindowsConfigWinrmArgs
- Protocol string
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
- Protocol string
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
- protocol String
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
- protocol string
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
- protocol str
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
- protocol String
- Specifies the protocol of listener. Possible values are
HTTPorHTTPS. - 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_certificatesblock within theos_profile_secretsblock.NOTE: This can be sourced from the
secret_idfield on theazure.keyvault.Certificateresource.
VirtualMachinePlan, VirtualMachinePlanArgs
VirtualMachineStorageDataDisk, VirtualMachineStorageDataDiskArgs
- Create
Option string Specifies how the data disk should be created. Possible values are
Attach,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,FromImageandEmpty.NOTE: If using an image that does not have data to be written to the Data Disk, use
Emptyas 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,ReadOnlyandReadWrite. - 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_optionmust 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_LRSorUltraSSD_LRS.Note:
managed_disk_typeof typeUltraSSD_LRSis currently in preview and are not available to subscriptions that have not requested onboarding toAzure Ultra Disk Storagepreview.Azure Ultra Disk Storageis only available inEast US 2,North Europe, andSoutheast Asiaregions. For more information see theAzure Ultra Disk Storageproduct documentation, product blog and FAQ. You must also setadditional_capabilities.ultra_ssd_enabledtotrue.- 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- Os
Type string - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- Os
Type string - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- os
Type String - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- os
Type string - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- os_
type str - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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,ReadOnlyandReadWrite. - 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_typefield 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_optionmust 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_LRSorPremium_LRS.The following properties apply when using Unmanaged Disks:
- os
Type String - Specifies the Operating System on the OS Disk. Possible values are
LinuxandWindows. - 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_LRSmanaged 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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.