1. Packages
  2. Azure Native
  3. API Docs
  4. devtestlab
  5. Disk
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.1.0 published on Tuesday, Apr 8, 2025 by Pulumi

azure-native.devtestlab.Disk

Explore with Pulumi AI

This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.1.0 published on Tuesday, Apr 8, 2025 by Pulumi

A Disk.

Uses Azure REST API version 2018-09-15. In version 2.x of the Azure Native provider, it used API version 2018-09-15.

Example Usage

Disks_CreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;

return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.DevTestLab.Disk("disk", new()
    {
        DiskSizeGiB = 1023,
        DiskType = AzureNative.DevTestLab.StorageType.Standard,
        LabName = "{labName}",
        LeasedByLabVmId = "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName",
        Name = "{diskName}",
        ResourceGroupName = "resourceGroupName",
        UserName = "{userId}",
    });

});
Copy
package main

import (
	devtestlab "github.com/pulumi/pulumi-azure-native-sdk/devtestlab/v3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := devtestlab.NewDisk(ctx, "disk", &devtestlab.DiskArgs{
			DiskSizeGiB:       pulumi.Int(1023),
			DiskType:          pulumi.String(devtestlab.StorageTypeStandard),
			LabName:           pulumi.String("{labName}"),
			LeasedByLabVmId:   pulumi.String("/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName"),
			Name:              pulumi.String("{diskName}"),
			ResourceGroupName: pulumi.String("resourceGroupName"),
			UserName:          pulumi.String("{userId}"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.devtestlab.Disk;
import com.pulumi.azurenative.devtestlab.DiskArgs;
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) {
        var disk = new Disk("disk", DiskArgs.builder()
            .diskSizeGiB(1023)
            .diskType("Standard")
            .labName("{labName}")
            .leasedByLabVmId("/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName")
            .name("{diskName}")
            .resourceGroupName("resourceGroupName")
            .userName("{userId}")
            .build());

    }
}
Copy
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";

const disk = new azure_native.devtestlab.Disk("disk", {
    diskSizeGiB: 1023,
    diskType: azure_native.devtestlab.StorageType.Standard,
    labName: "{labName}",
    leasedByLabVmId: "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName",
    name: "{diskName}",
    resourceGroupName: "resourceGroupName",
    userName: "{userId}",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.devtestlab.Disk("disk",
    disk_size_gi_b=1023,
    disk_type=azure_native.devtestlab.StorageType.STANDARD,
    lab_name="{labName}",
    leased_by_lab_vm_id="/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName",
    name="{diskName}",
    resource_group_name="resourceGroupName",
    user_name="{userId}")
Copy
resources:
  disk:
    type: azure-native:devtestlab:Disk
    properties:
      diskSizeGiB: 1023
      diskType: Standard
      labName: '{labName}'
      leasedByLabVmId: /subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualmachines/vmName
      name: '{diskName}'
      resourceGroupName: resourceGroupName
      userName: '{userId}'
Copy

Create Disk Resource

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

Constructor syntax

new Disk(name: string, args: DiskArgs, opts?: CustomResourceOptions);
@overload
def Disk(resource_name: str,
         args: DiskArgs,
         opts: Optional[ResourceOptions] = None)

@overload
def Disk(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         lab_name: Optional[str] = None,
         user_name: Optional[str] = None,
         resource_group_name: Optional[str] = None,
         leased_by_lab_vm_id: Optional[str] = None,
         host_caching: Optional[str] = None,
         disk_uri: Optional[str] = None,
         disk_blob_name: Optional[str] = None,
         location: Optional[str] = None,
         managed_disk_id: Optional[str] = None,
         name: Optional[str] = None,
         disk_type: Optional[Union[str, StorageType]] = None,
         storage_account_id: Optional[str] = None,
         tags: Optional[Mapping[str, str]] = None,
         disk_size_gi_b: Optional[int] = None)
func NewDisk(ctx *Context, name string, args DiskArgs, opts ...ResourceOption) (*Disk, error)
public Disk(string name, DiskArgs args, CustomResourceOptions? opts = null)
public Disk(String name, DiskArgs args)
public Disk(String name, DiskArgs args, CustomResourceOptions options)
type: azure-native:devtestlab:Disk
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DiskArgs
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 azure_nativeDiskResource = new AzureNative.DevTestLab.Disk("azure-nativeDiskResource", new()
{
    LabName = "string",
    UserName = "string",
    ResourceGroupName = "string",
    LeasedByLabVmId = "string",
    HostCaching = "string",
    DiskUri = "string",
    DiskBlobName = "string",
    Location = "string",
    ManagedDiskId = "string",
    Name = "string",
    DiskType = "string",
    StorageAccountId = "string",
    Tags = 
    {
        { "string", "string" },
    },
    DiskSizeGiB = 0,
});
Copy
example, err := devtestlab.NewDisk(ctx, "azure-nativeDiskResource", &devtestlab.DiskArgs{
	LabName:           pulumi.String("string"),
	UserName:          pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	LeasedByLabVmId:   pulumi.String("string"),
	HostCaching:       pulumi.String("string"),
	DiskUri:           pulumi.String("string"),
	DiskBlobName:      pulumi.String("string"),
	Location:          pulumi.String("string"),
	ManagedDiskId:     pulumi.String("string"),
	Name:              pulumi.String("string"),
	DiskType:          pulumi.String("string"),
	StorageAccountId:  pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	DiskSizeGiB: pulumi.Int(0),
})
Copy
var azure_nativeDiskResource = new Disk("azure-nativeDiskResource", DiskArgs.builder()
    .labName("string")
    .userName("string")
    .resourceGroupName("string")
    .leasedByLabVmId("string")
    .hostCaching("string")
    .diskUri("string")
    .diskBlobName("string")
    .location("string")
    .managedDiskId("string")
    .name("string")
    .diskType("string")
    .storageAccountId("string")
    .tags(Map.of("string", "string"))
    .diskSizeGiB(0)
    .build());
Copy
azure_native_disk_resource = azure_native.devtestlab.Disk("azure-nativeDiskResource",
    lab_name="string",
    user_name="string",
    resource_group_name="string",
    leased_by_lab_vm_id="string",
    host_caching="string",
    disk_uri="string",
    disk_blob_name="string",
    location="string",
    managed_disk_id="string",
    name="string",
    disk_type="string",
    storage_account_id="string",
    tags={
        "string": "string",
    },
    disk_size_gi_b=0)
Copy
const azure_nativeDiskResource = new azure_native.devtestlab.Disk("azure-nativeDiskResource", {
    labName: "string",
    userName: "string",
    resourceGroupName: "string",
    leasedByLabVmId: "string",
    hostCaching: "string",
    diskUri: "string",
    diskBlobName: "string",
    location: "string",
    managedDiskId: "string",
    name: "string",
    diskType: "string",
    storageAccountId: "string",
    tags: {
        string: "string",
    },
    diskSizeGiB: 0,
});
Copy
type: azure-native:devtestlab:Disk
properties:
    diskBlobName: string
    diskSizeGiB: 0
    diskType: string
    diskUri: string
    hostCaching: string
    labName: string
    leasedByLabVmId: string
    location: string
    managedDiskId: string
    name: string
    resourceGroupName: string
    storageAccountId: string
    tags:
        string: string
    userName: string
Copy

Disk 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 Disk resource accepts the following input properties:

LabName
This property is required.
Changes to this property will trigger replacement.
string
The name of the lab.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
UserName
This property is required.
Changes to this property will trigger replacement.
string
The name of the user profile.
DiskBlobName string
When backed by a blob, the name of the VHD blob without extension.
DiskSizeGiB int
The size of the disk in Gibibytes.
DiskType string | Pulumi.AzureNative.DevTestLab.StorageType
The storage type for the disk (i.e. Standard, Premium).
DiskUri string
When backed by a blob, the URI of underlying blob.
HostCaching string
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
LeasedByLabVmId string
The resource ID of the VM to which this disk is leased.
Location string
The location of the resource.
ManagedDiskId string
When backed by managed disk, this is the ID of the compute disk resource.
Name Changes to this property will trigger replacement. string
The name of the disk.
StorageAccountId string
When backed by a blob, the storage account where the blob is.
Tags Dictionary<string, string>
The tags of the resource.
LabName
This property is required.
Changes to this property will trigger replacement.
string
The name of the lab.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
UserName
This property is required.
Changes to this property will trigger replacement.
string
The name of the user profile.
DiskBlobName string
When backed by a blob, the name of the VHD blob without extension.
DiskSizeGiB int
The size of the disk in Gibibytes.
DiskType string | StorageType
The storage type for the disk (i.e. Standard, Premium).
DiskUri string
When backed by a blob, the URI of underlying blob.
HostCaching string
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
LeasedByLabVmId string
The resource ID of the VM to which this disk is leased.
Location string
The location of the resource.
ManagedDiskId string
When backed by managed disk, this is the ID of the compute disk resource.
Name Changes to this property will trigger replacement. string
The name of the disk.
StorageAccountId string
When backed by a blob, the storage account where the blob is.
Tags map[string]string
The tags of the resource.
labName
This property is required.
Changes to this property will trigger replacement.
String
The name of the lab.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group.
userName
This property is required.
Changes to this property will trigger replacement.
String
The name of the user profile.
diskBlobName String
When backed by a blob, the name of the VHD blob without extension.
diskSizeGiB Integer
The size of the disk in Gibibytes.
diskType String | StorageType
The storage type for the disk (i.e. Standard, Premium).
diskUri String
When backed by a blob, the URI of underlying blob.
hostCaching String
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
leasedByLabVmId String
The resource ID of the VM to which this disk is leased.
location String
The location of the resource.
managedDiskId String
When backed by managed disk, this is the ID of the compute disk resource.
name Changes to this property will trigger replacement. String
The name of the disk.
storageAccountId String
When backed by a blob, the storage account where the blob is.
tags Map<String,String>
The tags of the resource.
labName
This property is required.
Changes to this property will trigger replacement.
string
The name of the lab.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the resource group.
userName
This property is required.
Changes to this property will trigger replacement.
string
The name of the user profile.
diskBlobName string
When backed by a blob, the name of the VHD blob without extension.
diskSizeGiB number
The size of the disk in Gibibytes.
diskType string | StorageType
The storage type for the disk (i.e. Standard, Premium).
diskUri string
When backed by a blob, the URI of underlying blob.
hostCaching string
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
leasedByLabVmId string
The resource ID of the VM to which this disk is leased.
location string
The location of the resource.
managedDiskId string
When backed by managed disk, this is the ID of the compute disk resource.
name Changes to this property will trigger replacement. string
The name of the disk.
storageAccountId string
When backed by a blob, the storage account where the blob is.
tags {[key: string]: string}
The tags of the resource.
lab_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the lab.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the resource group.
user_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the user profile.
disk_blob_name str
When backed by a blob, the name of the VHD blob without extension.
disk_size_gi_b int
The size of the disk in Gibibytes.
disk_type str | StorageType
The storage type for the disk (i.e. Standard, Premium).
disk_uri str
When backed by a blob, the URI of underlying blob.
host_caching str
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
leased_by_lab_vm_id str
The resource ID of the VM to which this disk is leased.
location str
The location of the resource.
managed_disk_id str
When backed by managed disk, this is the ID of the compute disk resource.
name Changes to this property will trigger replacement. str
The name of the disk.
storage_account_id str
When backed by a blob, the storage account where the blob is.
tags Mapping[str, str]
The tags of the resource.
labName
This property is required.
Changes to this property will trigger replacement.
String
The name of the lab.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the resource group.
userName
This property is required.
Changes to this property will trigger replacement.
String
The name of the user profile.
diskBlobName String
When backed by a blob, the name of the VHD blob without extension.
diskSizeGiB Number
The size of the disk in Gibibytes.
diskType String | "Standard" | "Premium" | "StandardSSD"
The storage type for the disk (i.e. Standard, Premium).
diskUri String
When backed by a blob, the URI of underlying blob.
hostCaching String
The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).
leasedByLabVmId String
The resource ID of the VM to which this disk is leased.
location String
The location of the resource.
managedDiskId String
When backed by managed disk, this is the ID of the compute disk resource.
name Changes to this property will trigger replacement. String
The name of the disk.
storageAccountId String
When backed by a blob, the storage account where the blob is.
tags Map<String>
The tags of the resource.

Outputs

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

AzureApiVersion string
The Azure API version of the resource.
CreatedDate string
The creation date of the disk.
Id string
The provider-assigned unique ID for this managed resource.
ProvisioningState string
The provisioning status of the resource.
Type string
The type of the resource.
UniqueIdentifier string
The unique immutable identifier of a resource (Guid).
AzureApiVersion string
The Azure API version of the resource.
CreatedDate string
The creation date of the disk.
Id string
The provider-assigned unique ID for this managed resource.
ProvisioningState string
The provisioning status of the resource.
Type string
The type of the resource.
UniqueIdentifier string
The unique immutable identifier of a resource (Guid).
azureApiVersion String
The Azure API version of the resource.
createdDate String
The creation date of the disk.
id String
The provider-assigned unique ID for this managed resource.
provisioningState String
The provisioning status of the resource.
type String
The type of the resource.
uniqueIdentifier String
The unique immutable identifier of a resource (Guid).
azureApiVersion string
The Azure API version of the resource.
createdDate string
The creation date of the disk.
id string
The provider-assigned unique ID for this managed resource.
provisioningState string
The provisioning status of the resource.
type string
The type of the resource.
uniqueIdentifier string
The unique immutable identifier of a resource (Guid).
azure_api_version str
The Azure API version of the resource.
created_date str
The creation date of the disk.
id str
The provider-assigned unique ID for this managed resource.
provisioning_state str
The provisioning status of the resource.
type str
The type of the resource.
unique_identifier str
The unique immutable identifier of a resource (Guid).
azureApiVersion String
The Azure API version of the resource.
createdDate String
The creation date of the disk.
id String
The provider-assigned unique ID for this managed resource.
provisioningState String
The provisioning status of the resource.
type String
The type of the resource.
uniqueIdentifier String
The unique immutable identifier of a resource (Guid).

Supporting Types

StorageType
, StorageTypeArgs

Standard
Standard
Premium
Premium
StandardSSD
StandardSSD
StorageTypeStandard
Standard
StorageTypePremium
Premium
StorageTypeStandardSSD
StandardSSD
Standard
Standard
Premium
Premium
StandardSSD
StandardSSD
Standard
Standard
Premium
Premium
StandardSSD
StandardSSD
STANDARD
Standard
PREMIUM
Premium
STANDARD_SSD
StandardSSD
"Standard"
Standard
"Premium"
Premium
"StandardSSD"
StandardSSD

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:devtestlab:Disk {diskName} /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name} 
Copy

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

Package Details

Repository
Azure Native pulumi/pulumi-azure-native
License
Apache-2.0
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.1.0 published on Tuesday, Apr 8, 2025 by Pulumi