Show / Hide Table of Contents

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.VirtualMachine resource, or using the azure.compute.DataDiskAttachment resource - 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_disk block in the azure.compute.VirtualMachine resource.

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 commandToExecute returns a 0 exit code to be classified as successfully deployed. You can achieve this by appending exit 0 to the end of your commandToExecute.

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 features configuration 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.VirtualMachine resource instead.

Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the azure.compute.VirtualMachine resource instead.

In this release there's a known issue where the public_ip_address and public_ip_addresses fields may not be fully populated for Dynamic Public IP's.

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 features configuration 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.ScaleSet resource 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.ScaleSet resource has been superseded by the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources. The existing azure.compute.ScaleSet resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources.

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.VirtualMachine resource has been superseded by the azure.compute.LinuxVirtualMachine and azure.compute.WindowsVirtualMachine resources. The existing azure.compute.VirtualMachine resource will continue to be available throughout the 2.x releases however is in a feature-frozen state to maintain compatibility - new functionality will instead be added to the azure.compute.LinuxVirtualMachine and azure.compute.WindowsVirtualMachine resources.

Note: Data Disks can be attached either directly on the azure.compute.VirtualMachine resource, or using the azure.compute.DataDiskAttachment resource - 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.ScaleSet resource - instead it's intended for this to be used with the azure.compute.LinuxVirtualMachineScaleSet and azure.compute.WindowsVirtualMachineScaleSet resources.

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 features configuration 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.VirtualMachine resource instead.

Note This resource does not support attaching existing OS Disks. You can instead capture an image of the OS Disk or continue to use the azure.compute.VirtualMachine resource instead.

In this release there's a known issue where the public_ip_address and public_ip_addresses fields may not be fully populated for Dynamic Public IP's.

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 features configuration 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.ScaleSet resource instead

WindowsVirtualMachineScaleSetArgs

WindowsVirtualMachineScaleSetState

WindowsVirtualMachineState

Back to top Copyright 2016-2020, Pulumi Corporation.