Namespace Pulumi.Azure.Compute
Classes
AvailabilitySet
Manages an Availability Set for Virtual Machines.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleAvailabilitySet = new Azure.Compute.AvailabilitySet("exampleAvailabilitySet", new Azure.Compute.AvailabilitySetArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
Tags =
{
{ "environment", "Production" },
},
});
}
}
AvailabilitySetArgs
AvailabilitySetState
BastionHost
Manages a Bastion Host.
Note: Bastion Hosts are a preview feature in Azure, and therefore are only supported in a select number of regions. Read more.
BastionHostArgs
BastionHostState
DataDiskAttachment
Manages attaching a Disk to a Virtual Machine.
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.
Please Note: only Managed Disks are supported via this separate resource, Unmanaged Disks can be attached using the
storage_data_diskblock in theazure.compute.VirtualMachineresource.
DataDiskAttachmentArgs
DataDiskAttachmentState
DedicatedHost
Manage a Dedicated Host within a Dedicated Host Group.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup("exampleDedicatedHostGroup", new Azure.Compute.DedicatedHostGroupArgs
{
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
PlatformFaultDomainCount = 2,
});
var exampleDedicatedHost = new Azure.Compute.DedicatedHost("exampleDedicatedHost", new Azure.Compute.DedicatedHostArgs
{
Location = exampleResourceGroup.Location,
DedicatedHostGroupId = exampleDedicatedHostGroup.Id,
SkuName = "DSv3-Type1",
PlatformFaultDomain = 1,
});
}
}
DedicatedHostArgs
DedicatedHostGroup
Manage a Dedicated Host Group.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleDedicatedHostGroup = new Azure.Compute.DedicatedHostGroup("exampleDedicatedHostGroup", new Azure.Compute.DedicatedHostGroupArgs
{
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
PlatformFaultDomainCount = 1,
});
}
}
DedicatedHostGroupArgs
DedicatedHostGroupState
DedicatedHostState
DiskEncryptionSet
Manages a Disk Encryption Set.
NOTE: At this time the Key Vault used to store the Active Key for this Disk Encryption Set must have both Soft Delete & Purge Protection enabled - which are not yet supported by this provider.
DiskEncryptionSetArgs
DiskEncryptionSetState
Extension
Manages a Virtual Machine Extension to provide post deployment configuration and run automated tasks.
NOTE: Custom Script Extensions for Linux & Windows require that the
commandToExecutereturns a0exit code to be classified as successfully deployed. You can achieve this by appendingexit 0to the end of yourcommandToExecute.
NOTE: Custom Script Extensions require that the Azure Virtual Machine Guest Agent is running on the Virtual Machine.
ExtensionArgs
ExtensionState
GetAvailabilitySet
GetAvailabilitySetArgs
GetAvailabilitySetResult
GetDedicatedHost
GetDedicatedHostArgs
GetDedicatedHostGroup
GetDedicatedHostGroupArgs
GetDedicatedHostGroupResult
GetDedicatedHostResult
GetDiskEncryptionSet
GetDiskEncryptionSetArgs
GetDiskEncryptionSetResult
GetImage
GetImageArgs
GetImageResult
GetManagedDisk
GetManagedDiskArgs
GetManagedDiskResult
GetPlatformImage
GetPlatformImageArgs
GetPlatformImageResult
GetSharedImage
GetSharedImageArgs
GetSharedImageGallery
GetSharedImageGalleryArgs
GetSharedImageGalleryResult
GetSharedImageResult
GetSharedImageVersion
GetSharedImageVersionArgs
GetSharedImageVersionResult
GetSharedImageVersions
GetSharedImageVersionsArgs
GetSharedImageVersionsResult
GetSnapshot
GetSnapshotArgs
GetSnapshotResult
GetVirtualMachine
GetVirtualMachineArgs
GetVirtualMachineResult
Image
Manages a custom virtual machine image that can be used to create virtual machines.
Example Usage Creating from Virtual Machine (VM must be generalized beforehand)
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West US",
});
var exampleImage = new Azure.Compute.Image("exampleImage", new Azure.Compute.ImageArgs
{
Location = "West US",
ResourceGroupName = exampleResourceGroup.Name,
SourceVirtualMachineId = "{vm_id}",
});
}
}
ImageArgs
ImageState
LinuxVirtualMachine
Manages a Linux Virtual Machine.
Disclaimers
Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.VirtualMachineresource instead.
Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the
azure.compute.VirtualMachineresource instead.
In this release there's a known issue where the
public_ip_addressandpublic_ip_addressesfields may not be fully populated for Dynamic Public IP's.
LinuxVirtualMachineArgs
LinuxVirtualMachineScaleSet
Manages a Linux Virtual Machine Scale Set.
Disclaimers
Note This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.ScaleSetresource instead
LinuxVirtualMachineScaleSetArgs
LinuxVirtualMachineScaleSetState
LinuxVirtualMachineState
ManagedDisk
Manages a managed disk.
Example Usage with Create Empty
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West US 2",
});
var exampleManagedDisk = new Azure.Compute.ManagedDisk("exampleManagedDisk", new Azure.Compute.ManagedDiskArgs
{
Location = "West US 2",
ResourceGroupName = exampleResourceGroup.Name,
StorageAccountType = "Standard_LRS",
CreateOption = "Empty",
DiskSizeGb = "1",
Tags =
{
{ "environment", "staging" },
},
});
}
}
Example Usage with Create Copy
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var example = new Azure.Core.ResourceGroup("example", new Azure.Core.ResourceGroupArgs
{
Location = "West US 2",
});
var source = new Azure.Compute.ManagedDisk("source", new Azure.Compute.ManagedDiskArgs
{
Location = "West US 2",
ResourceGroupName = example.Name,
StorageAccountType = "Standard_LRS",
CreateOption = "Empty",
DiskSizeGb = "1",
Tags =
{
{ "environment", "staging" },
},
});
var copy = new Azure.Compute.ManagedDisk("copy", new Azure.Compute.ManagedDiskArgs
{
Location = "West US 2",
ResourceGroupName = example.Name,
StorageAccountType = "Standard_LRS",
CreateOption = "Copy",
SourceResourceId = source.Id,
DiskSizeGb = "1",
Tags =
{
{ "environment", "staging" },
},
});
}
}
ManagedDiskArgs
ManagedDiskState
OrchestratedVirtualMachineScaleSet
Manages an Orchestrated Virtual Machine Scale Set.
Note: Orchestrated Virtual Machine Scale Sets are in Public Preview - more details can be found in the Azure Documentation.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleOrchestratedVirtualMachineScaleSet = new Azure.Compute.OrchestratedVirtualMachineScaleSet("exampleOrchestratedVirtualMachineScaleSet", new Azure.Compute.OrchestratedVirtualMachineScaleSetArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
PlatformFaultDomainCount = 5,
SinglePlacementGroup = true,
Zones =
{
"1",
},
});
}
}
OrchestratedVirtualMachineScaleSetArgs
OrchestratedVirtualMachineScaleSetState
ScaleSet
Manages a virtual machine scale set.
## Disclaimers
Note: The
azure.compute.ScaleSetresource has been superseded by theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources. The existingazure.compute.ScaleSetresource 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.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources.
ScaleSetArgs
ScaleSetState
SharedImage
Manages a Shared Image within a Shared Image Gallery.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery("exampleSharedImageGallery", new Azure.Compute.SharedImageGalleryArgs
{
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
Description = "Shared images and things.",
Tags =
{
{ "Hello", "There" },
{ "World", "Example" },
},
});
var exampleSharedImage = new Azure.Compute.SharedImage("exampleSharedImage", new Azure.Compute.SharedImageArgs
{
GalleryName = exampleSharedImageGallery.Name,
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
OsType = "Linux",
Identifier = new Azure.Compute.Inputs.SharedImageIdentifierArgs
{
Publisher = "PublisherName",
Offer = "OfferName",
Sku = "ExampleSku",
},
});
}
}
SharedImageArgs
SharedImageGallery
Manages a Shared Image Gallery.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleSharedImageGallery = new Azure.Compute.SharedImageGallery("exampleSharedImageGallery", new Azure.Compute.SharedImageGalleryArgs
{
ResourceGroupName = exampleResourceGroup.Name,
Location = exampleResourceGroup.Location,
Description = "Shared images and things.",
Tags =
{
{ "Hello", "There" },
{ "World", "Example" },
},
});
}
}
SharedImageGalleryArgs
SharedImageGalleryState
SharedImageState
SharedImageVersion
Manages a Version of a Shared Image within a Shared Image Gallery.
SharedImageVersionArgs
SharedImageVersionState
Snapshot
Manages a Disk Snapshot.
Example Usage
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
{
Location = "West Europe",
});
var exampleManagedDisk = new Azure.Compute.ManagedDisk("exampleManagedDisk", new Azure.Compute.ManagedDiskArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
StorageAccountType = "Standard_LRS",
CreateOption = "Empty",
DiskSizeGb = "10",
});
var exampleSnapshot = new Azure.Compute.Snapshot("exampleSnapshot", new Azure.Compute.SnapshotArgs
{
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
CreateOption = "Copy",
SourceUri = exampleManagedDisk.Id,
});
}
}
SnapshotArgs
SnapshotState
VirtualMachine
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.
VirtualMachineArgs
VirtualMachineScaleSetExtension
Manages an Extension for a Virtual Machine Scale Set.
NOTE: This resource is not intended to be used with the
azure.compute.ScaleSetresource - instead it's intended for this to be used with theazure.compute.LinuxVirtualMachineScaleSetandazure.compute.WindowsVirtualMachineScaleSetresources.
Example Usage
using System.Collections.Generic;
using System.Text.Json;
using Pulumi;
using Azure = Pulumi.Azure;
class MyStack : Stack
{
public MyStack()
{
var exampleLinuxVirtualMachineScaleSet = new Azure.Compute.LinuxVirtualMachineScaleSet("exampleLinuxVirtualMachineScaleSet", new Azure.Compute.LinuxVirtualMachineScaleSetArgs
{
});
//...
var exampleVirtualMachineScaleSetExtension = new Azure.Compute.VirtualMachineScaleSetExtension("exampleVirtualMachineScaleSetExtension", new Azure.Compute.VirtualMachineScaleSetExtensionArgs
{
VirtualMachineScaleSetId = exampleLinuxVirtualMachineScaleSet.Id,
Publisher = "Microsoft.Azure.Extensions",
Type = "CustomScript",
TypeHandlerVersion = "2.0",
Settings = JsonSerializer.Serialize(new Dictionary<string, object?>
{
{ "commandToExecute", "echo $HOSTNAME" },
}),
});
}
}
VirtualMachineScaleSetExtensionArgs
VirtualMachineScaleSetExtensionState
VirtualMachineState
WindowsVirtualMachine
Manages a Windows Virtual Machine.
Disclaimers
Note This provider will automatically remove the OS Disk by default - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.VirtualMachineresource instead.
Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the
azure.compute.VirtualMachineresource instead.
In this release there's a known issue where the
public_ip_addressandpublic_ip_addressesfields may not be fully populated for Dynamic Public IP's.
WindowsVirtualMachineArgs
WindowsVirtualMachineScaleSet
Manages a Windows Virtual Machine Scale Set.
Disclaimers
Note This provider will automatically update & reimage the nodes in the Scale Set (if Required) during an Update - this behaviour can be configured using the
featuresconfiguration within the Provider configuration block.
Note: This resource does not support Unmanaged Disks. If you need to use Unmanaged Disks you can continue to use the
azure.compute.ScaleSetresource instead