1. Packages
  2. Azure Classic
  3. API Docs
  4. compute
  5. ManagedDisk

We recommend using Azure Native.

Azure v6.22.0 published on Tuesday, Apr 1, 2025 by Pulumi

azure.compute.ManagedDisk

Explore with Pulumi AI

Manages a managed disk.

Example Usage

With Create Empty

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const exampleManagedDisk = new azure.compute.ManagedDisk("example", {
    name: "acctestmd",
    location: example.location,
    resourceGroupName: example.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: 1,
    tags: {
        environment: "staging",
    },
});
Copy
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
example_managed_disk = azure.compute.ManagedDisk("example",
    name="acctestmd",
    location=example.location,
    resource_group_name=example.name,
    storage_account_type="Standard_LRS",
    create_option="Empty",
    disk_size_gb=1,
    tags={
        "environment": "staging",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = compute.NewManagedDisk(ctx, "example", &compute.ManagedDiskArgs{
			Name:               pulumi.String("acctestmd"),
			Location:           example.Location,
			ResourceGroupName:  example.Name,
			StorageAccountType: pulumi.String("Standard_LRS"),
			CreateOption:       pulumi.String("Empty"),
			DiskSizeGb:         pulumi.Int(1),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("staging"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });

    var exampleManagedDisk = new Azure.Compute.ManagedDisk("example", new()
    {
        Name = "acctestmd",
        Location = example.Location,
        ResourceGroupName = example.Name,
        StorageAccountType = "Standard_LRS",
        CreateOption = "Empty",
        DiskSizeGb = 1,
        Tags = 
        {
            { "environment", "staging" },
        },
    });

});
Copy
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.compute.ManagedDisk;
import com.pulumi.azure.compute.ManagedDiskArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());

        var exampleManagedDisk = new ManagedDisk("exampleManagedDisk", ManagedDiskArgs.builder()
            .name("acctestmd")
            .location(example.location())
            .resourceGroupName(example.name())
            .storageAccountType("Standard_LRS")
            .createOption("Empty")
            .diskSizeGb("1")
            .tags(Map.of("environment", "staging"))
            .build());

    }
}
Copy
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  exampleManagedDisk:
    type: azure:compute:ManagedDisk
    name: example
    properties:
      name: acctestmd
      location: ${example.location}
      resourceGroupName: ${example.name}
      storageAccountType: Standard_LRS
      createOption: Empty
      diskSizeGb: '1'
      tags:
        environment: staging
Copy

With Create Copy

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = new azure.core.ResourceGroup("example", {
    name: "example-resources",
    location: "West Europe",
});
const source = new azure.compute.ManagedDisk("source", {
    name: "acctestmd1",
    location: example.location,
    resourceGroupName: example.name,
    storageAccountType: "Standard_LRS",
    createOption: "Empty",
    diskSizeGb: 1,
    tags: {
        environment: "staging",
    },
});
const copy = new azure.compute.ManagedDisk("copy", {
    name: "acctestmd2",
    location: example.location,
    resourceGroupName: example.name,
    storageAccountType: "Standard_LRS",
    createOption: "Copy",
    sourceResourceId: source.id,
    diskSizeGb: 1,
    tags: {
        environment: "staging",
    },
});
Copy
import pulumi
import pulumi_azure as azure

example = azure.core.ResourceGroup("example",
    name="example-resources",
    location="West Europe")
source = azure.compute.ManagedDisk("source",
    name="acctestmd1",
    location=example.location,
    resource_group_name=example.name,
    storage_account_type="Standard_LRS",
    create_option="Empty",
    disk_size_gb=1,
    tags={
        "environment": "staging",
    })
copy = azure.compute.ManagedDisk("copy",
    name="acctestmd2",
    location=example.location,
    resource_group_name=example.name,
    storage_account_type="Standard_LRS",
    create_option="Copy",
    source_resource_id=source.id,
    disk_size_gb=1,
    tags={
        "environment": "staging",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/compute"
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		source, err := compute.NewManagedDisk(ctx, "source", &compute.ManagedDiskArgs{
			Name:               pulumi.String("acctestmd1"),
			Location:           example.Location,
			ResourceGroupName:  example.Name,
			StorageAccountType: pulumi.String("Standard_LRS"),
			CreateOption:       pulumi.String("Empty"),
			DiskSizeGb:         pulumi.Int(1),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("staging"),
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewManagedDisk(ctx, "copy", &compute.ManagedDiskArgs{
			Name:               pulumi.String("acctestmd2"),
			Location:           example.Location,
			ResourceGroupName:  example.Name,
			StorageAccountType: pulumi.String("Standard_LRS"),
			CreateOption:       pulumi.String("Copy"),
			SourceResourceId:   source.ID(),
			DiskSizeGb:         pulumi.Int(1),
			Tags: pulumi.StringMap{
				"environment": pulumi.String("staging"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;

return await Deployment.RunAsync(() => 
{
    var example = new Azure.Core.ResourceGroup("example", new()
    {
        Name = "example-resources",
        Location = "West Europe",
    });

    var source = new Azure.Compute.ManagedDisk("source", new()
    {
        Name = "acctestmd1",
        Location = example.Location,
        ResourceGroupName = example.Name,
        StorageAccountType = "Standard_LRS",
        CreateOption = "Empty",
        DiskSizeGb = 1,
        Tags = 
        {
            { "environment", "staging" },
        },
    });

    var copy = new Azure.Compute.ManagedDisk("copy", new()
    {
        Name = "acctestmd2",
        Location = example.Location,
        ResourceGroupName = example.Name,
        StorageAccountType = "Standard_LRS",
        CreateOption = "Copy",
        SourceResourceId = source.Id,
        DiskSizeGb = 1,
        Tags = 
        {
            { "environment", "staging" },
        },
    });

});
Copy
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.compute.ManagedDisk;
import com.pulumi.azure.compute.ManagedDiskArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
            .name("example-resources")
            .location("West Europe")
            .build());

        var source = new ManagedDisk("source", ManagedDiskArgs.builder()
            .name("acctestmd1")
            .location(example.location())
            .resourceGroupName(example.name())
            .storageAccountType("Standard_LRS")
            .createOption("Empty")
            .diskSizeGb("1")
            .tags(Map.of("environment", "staging"))
            .build());

        var copy = new ManagedDisk("copy", ManagedDiskArgs.builder()
            .name("acctestmd2")
            .location(example.location())
            .resourceGroupName(example.name())
            .storageAccountType("Standard_LRS")
            .createOption("Copy")
            .sourceResourceId(source.id())
            .diskSizeGb("1")
            .tags(Map.of("environment", "staging"))
            .build());

    }
}
Copy
resources:
  example:
    type: azure:core:ResourceGroup
    properties:
      name: example-resources
      location: West Europe
  source:
    type: azure:compute:ManagedDisk
    properties:
      name: acctestmd1
      location: ${example.location}
      resourceGroupName: ${example.name}
      storageAccountType: Standard_LRS
      createOption: Empty
      diskSizeGb: '1'
      tags:
        environment: staging
  copy:
    type: azure:compute:ManagedDisk
    properties:
      name: acctestmd2
      location: ${example.location}
      resourceGroupName: ${example.name}
      storageAccountType: Standard_LRS
      createOption: Copy
      sourceResourceId: ${source.id}
      diskSizeGb: '1'
      tags:
        environment: staging
Copy

Create ManagedDisk Resource

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

Constructor syntax

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

@overload
def ManagedDisk(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                create_option: Optional[str] = None,
                storage_account_type: Optional[str] = None,
                resource_group_name: Optional[str] = None,
                name: Optional[str] = None,
                trusted_launch_enabled: Optional[bool] = None,
                disk_mbps_read_only: Optional[int] = None,
                disk_mbps_read_write: Optional[int] = None,
                disk_size_gb: Optional[int] = None,
                edge_zone: Optional[str] = None,
                optimized_frequent_attach_enabled: Optional[bool] = None,
                gallery_image_reference_id: Optional[str] = None,
                hyper_v_generation: Optional[str] = None,
                image_reference_id: Optional[str] = None,
                location: Optional[str] = None,
                logical_sector_size: Optional[int] = None,
                max_shares: Optional[int] = None,
                disk_iops_read_only: Optional[int] = None,
                zone: Optional[str] = None,
                disk_iops_read_write: Optional[int] = None,
                encryption_settings: Optional[ManagedDiskEncryptionSettingsArgs] = None,
                os_type: Optional[str] = None,
                performance_plus_enabled: Optional[bool] = None,
                public_network_access_enabled: Optional[bool] = None,
                disk_encryption_set_id: Optional[str] = None,
                secure_vm_disk_encryption_set_id: Optional[str] = None,
                security_type: Optional[str] = None,
                source_resource_id: Optional[str] = None,
                source_uri: Optional[str] = None,
                storage_account_id: Optional[str] = None,
                disk_access_id: Optional[str] = None,
                tags: Optional[Mapping[str, str]] = None,
                tier: Optional[str] = None,
                on_demand_bursting_enabled: Optional[bool] = None,
                upload_size_bytes: Optional[int] = None,
                network_access_policy: Optional[str] = None)
func NewManagedDisk(ctx *Context, name string, args ManagedDiskArgs, opts ...ResourceOption) (*ManagedDisk, error)
public ManagedDisk(string name, ManagedDiskArgs args, CustomResourceOptions? opts = null)
public ManagedDisk(String name, ManagedDiskArgs args)
public ManagedDisk(String name, ManagedDiskArgs args, CustomResourceOptions options)
type: azure:compute:ManagedDisk
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. ManagedDiskArgs
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. ManagedDiskArgs
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. ManagedDiskArgs
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. ManagedDiskArgs
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. ManagedDiskArgs
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 managedDiskResource = new Azure.Compute.ManagedDisk("managedDiskResource", new()
{
    CreateOption = "string",
    StorageAccountType = "string",
    ResourceGroupName = "string",
    Name = "string",
    TrustedLaunchEnabled = false,
    DiskMbpsReadOnly = 0,
    DiskMbpsReadWrite = 0,
    DiskSizeGb = 0,
    EdgeZone = "string",
    OptimizedFrequentAttachEnabled = false,
    GalleryImageReferenceId = "string",
    HyperVGeneration = "string",
    ImageReferenceId = "string",
    Location = "string",
    LogicalSectorSize = 0,
    MaxShares = 0,
    DiskIopsReadOnly = 0,
    Zone = "string",
    DiskIopsReadWrite = 0,
    EncryptionSettings = new Azure.Compute.Inputs.ManagedDiskEncryptionSettingsArgs
    {
        DiskEncryptionKey = new Azure.Compute.Inputs.ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs
        {
            SecretUrl = "string",
            SourceVaultId = "string",
        },
        KeyEncryptionKey = new Azure.Compute.Inputs.ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs
        {
            KeyUrl = "string",
            SourceVaultId = "string",
        },
    },
    OsType = "string",
    PerformancePlusEnabled = false,
    PublicNetworkAccessEnabled = false,
    DiskEncryptionSetId = "string",
    SecureVmDiskEncryptionSetId = "string",
    SecurityType = "string",
    SourceResourceId = "string",
    SourceUri = "string",
    StorageAccountId = "string",
    DiskAccessId = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Tier = "string",
    OnDemandBurstingEnabled = false,
    UploadSizeBytes = 0,
    NetworkAccessPolicy = "string",
});
Copy
example, err := compute.NewManagedDisk(ctx, "managedDiskResource", &compute.ManagedDiskArgs{
	CreateOption:                   pulumi.String("string"),
	StorageAccountType:             pulumi.String("string"),
	ResourceGroupName:              pulumi.String("string"),
	Name:                           pulumi.String("string"),
	TrustedLaunchEnabled:           pulumi.Bool(false),
	DiskMbpsReadOnly:               pulumi.Int(0),
	DiskMbpsReadWrite:              pulumi.Int(0),
	DiskSizeGb:                     pulumi.Int(0),
	EdgeZone:                       pulumi.String("string"),
	OptimizedFrequentAttachEnabled: pulumi.Bool(false),
	GalleryImageReferenceId:        pulumi.String("string"),
	HyperVGeneration:               pulumi.String("string"),
	ImageReferenceId:               pulumi.String("string"),
	Location:                       pulumi.String("string"),
	LogicalSectorSize:              pulumi.Int(0),
	MaxShares:                      pulumi.Int(0),
	DiskIopsReadOnly:               pulumi.Int(0),
	Zone:                           pulumi.String("string"),
	DiskIopsReadWrite:              pulumi.Int(0),
	EncryptionSettings: &compute.ManagedDiskEncryptionSettingsArgs{
		DiskEncryptionKey: &compute.ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs{
			SecretUrl:     pulumi.String("string"),
			SourceVaultId: pulumi.String("string"),
		},
		KeyEncryptionKey: &compute.ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs{
			KeyUrl:        pulumi.String("string"),
			SourceVaultId: pulumi.String("string"),
		},
	},
	OsType:                      pulumi.String("string"),
	PerformancePlusEnabled:      pulumi.Bool(false),
	PublicNetworkAccessEnabled:  pulumi.Bool(false),
	DiskEncryptionSetId:         pulumi.String("string"),
	SecureVmDiskEncryptionSetId: pulumi.String("string"),
	SecurityType:                pulumi.String("string"),
	SourceResourceId:            pulumi.String("string"),
	SourceUri:                   pulumi.String("string"),
	StorageAccountId:            pulumi.String("string"),
	DiskAccessId:                pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Tier:                    pulumi.String("string"),
	OnDemandBurstingEnabled: pulumi.Bool(false),
	UploadSizeBytes:         pulumi.Int(0),
	NetworkAccessPolicy:     pulumi.String("string"),
})
Copy
var managedDiskResource = new ManagedDisk("managedDiskResource", ManagedDiskArgs.builder()
    .createOption("string")
    .storageAccountType("string")
    .resourceGroupName("string")
    .name("string")
    .trustedLaunchEnabled(false)
    .diskMbpsReadOnly(0)
    .diskMbpsReadWrite(0)
    .diskSizeGb(0)
    .edgeZone("string")
    .optimizedFrequentAttachEnabled(false)
    .galleryImageReferenceId("string")
    .hyperVGeneration("string")
    .imageReferenceId("string")
    .location("string")
    .logicalSectorSize(0)
    .maxShares(0)
    .diskIopsReadOnly(0)
    .zone("string")
    .diskIopsReadWrite(0)
    .encryptionSettings(ManagedDiskEncryptionSettingsArgs.builder()
        .diskEncryptionKey(ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs.builder()
            .secretUrl("string")
            .sourceVaultId("string")
            .build())
        .keyEncryptionKey(ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs.builder()
            .keyUrl("string")
            .sourceVaultId("string")
            .build())
        .build())
    .osType("string")
    .performancePlusEnabled(false)
    .publicNetworkAccessEnabled(false)
    .diskEncryptionSetId("string")
    .secureVmDiskEncryptionSetId("string")
    .securityType("string")
    .sourceResourceId("string")
    .sourceUri("string")
    .storageAccountId("string")
    .diskAccessId("string")
    .tags(Map.of("string", "string"))
    .tier("string")
    .onDemandBurstingEnabled(false)
    .uploadSizeBytes(0)
    .networkAccessPolicy("string")
    .build());
Copy
managed_disk_resource = azure.compute.ManagedDisk("managedDiskResource",
    create_option="string",
    storage_account_type="string",
    resource_group_name="string",
    name="string",
    trusted_launch_enabled=False,
    disk_mbps_read_only=0,
    disk_mbps_read_write=0,
    disk_size_gb=0,
    edge_zone="string",
    optimized_frequent_attach_enabled=False,
    gallery_image_reference_id="string",
    hyper_v_generation="string",
    image_reference_id="string",
    location="string",
    logical_sector_size=0,
    max_shares=0,
    disk_iops_read_only=0,
    zone="string",
    disk_iops_read_write=0,
    encryption_settings={
        "disk_encryption_key": {
            "secret_url": "string",
            "source_vault_id": "string",
        },
        "key_encryption_key": {
            "key_url": "string",
            "source_vault_id": "string",
        },
    },
    os_type="string",
    performance_plus_enabled=False,
    public_network_access_enabled=False,
    disk_encryption_set_id="string",
    secure_vm_disk_encryption_set_id="string",
    security_type="string",
    source_resource_id="string",
    source_uri="string",
    storage_account_id="string",
    disk_access_id="string",
    tags={
        "string": "string",
    },
    tier="string",
    on_demand_bursting_enabled=False,
    upload_size_bytes=0,
    network_access_policy="string")
Copy
const managedDiskResource = new azure.compute.ManagedDisk("managedDiskResource", {
    createOption: "string",
    storageAccountType: "string",
    resourceGroupName: "string",
    name: "string",
    trustedLaunchEnabled: false,
    diskMbpsReadOnly: 0,
    diskMbpsReadWrite: 0,
    diskSizeGb: 0,
    edgeZone: "string",
    optimizedFrequentAttachEnabled: false,
    galleryImageReferenceId: "string",
    hyperVGeneration: "string",
    imageReferenceId: "string",
    location: "string",
    logicalSectorSize: 0,
    maxShares: 0,
    diskIopsReadOnly: 0,
    zone: "string",
    diskIopsReadWrite: 0,
    encryptionSettings: {
        diskEncryptionKey: {
            secretUrl: "string",
            sourceVaultId: "string",
        },
        keyEncryptionKey: {
            keyUrl: "string",
            sourceVaultId: "string",
        },
    },
    osType: "string",
    performancePlusEnabled: false,
    publicNetworkAccessEnabled: false,
    diskEncryptionSetId: "string",
    secureVmDiskEncryptionSetId: "string",
    securityType: "string",
    sourceResourceId: "string",
    sourceUri: "string",
    storageAccountId: "string",
    diskAccessId: "string",
    tags: {
        string: "string",
    },
    tier: "string",
    onDemandBurstingEnabled: false,
    uploadSizeBytes: 0,
    networkAccessPolicy: "string",
});
Copy
type: azure:compute:ManagedDisk
properties:
    createOption: string
    diskAccessId: string
    diskEncryptionSetId: string
    diskIopsReadOnly: 0
    diskIopsReadWrite: 0
    diskMbpsReadOnly: 0
    diskMbpsReadWrite: 0
    diskSizeGb: 0
    edgeZone: string
    encryptionSettings:
        diskEncryptionKey:
            secretUrl: string
            sourceVaultId: string
        keyEncryptionKey:
            keyUrl: string
            sourceVaultId: string
    galleryImageReferenceId: string
    hyperVGeneration: string
    imageReferenceId: string
    location: string
    logicalSectorSize: 0
    maxShares: 0
    name: string
    networkAccessPolicy: string
    onDemandBurstingEnabled: false
    optimizedFrequentAttachEnabled: false
    osType: string
    performancePlusEnabled: false
    publicNetworkAccessEnabled: false
    resourceGroupName: string
    secureVmDiskEncryptionSetId: string
    securityType: string
    sourceResourceId: string
    sourceUri: string
    storageAccountId: string
    storageAccountType: string
    tags:
        string: string
    tier: string
    trustedLaunchEnabled: false
    uploadSizeBytes: 0
    zone: string
Copy

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

CreateOption
This property is required.
Changes to this property will trigger replacement.
string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
StorageAccountType This property is required. string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

DiskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

DiskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskIopsReadOnly int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
DiskIopsReadWrite int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
DiskMbpsReadOnly int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
DiskMbpsReadWrite int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
DiskSizeGb int
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
EncryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

GalleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
HyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
ImageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
Location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
LogicalSectorSize Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

MaxShares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

Name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
NetworkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
OnDemandBurstingEnabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

OptimizedFrequentAttachEnabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

OsType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
PerformancePlusEnabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
PublicNetworkAccessEnabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SecurityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
SourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
Tags Dictionary<string, string>
A mapping of tags to assign to the resource.
Tier string
TrustedLaunchEnabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

UploadSizeBytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
Zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

CreateOption
This property is required.
Changes to this property will trigger replacement.
string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
StorageAccountType This property is required. string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

DiskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

DiskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskIopsReadOnly int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
DiskIopsReadWrite int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
DiskMbpsReadOnly int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
DiskMbpsReadWrite int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
DiskSizeGb int
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
EncryptionSettings ManagedDiskEncryptionSettingsArgs

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

GalleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
HyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
ImageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
Location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
LogicalSectorSize Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

MaxShares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

Name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
NetworkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
OnDemandBurstingEnabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

OptimizedFrequentAttachEnabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

OsType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
PerformancePlusEnabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
PublicNetworkAccessEnabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SecurityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
SourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
Tags map[string]string
A mapping of tags to assign to the resource.
Tier string
TrustedLaunchEnabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

UploadSizeBytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
Zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption
This property is required.
Changes to this property will trigger replacement.
String
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
storageAccountType This property is required. String

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

diskAccessId String

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId String

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly Integer
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite Integer
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly Integer
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite Integer
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb Integer
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. String
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. String
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. String
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. String
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. Integer

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares Integer

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. String
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy String
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled Boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled Boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType String
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. Boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled Boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. String

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. String
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. String
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. String
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
tags Map<String,String>
A mapping of tags to assign to the resource.
tier String
trustedLaunchEnabled Changes to this property will trigger replacement. Boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. Integer
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. String

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption
This property is required.
Changes to this property will trigger replacement.
string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
storageAccountType This property is required. string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

diskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly number
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite number
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly number
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite number
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb number
edgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. number

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares number

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
tags {[key: string]: string}
A mapping of tags to assign to the resource.
tier string
trustedLaunchEnabled Changes to this property will trigger replacement. boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. number
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

create_option
This property is required.
Changes to this property will trigger replacement.
str
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
storage_account_type This property is required. str

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

disk_access_id str

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

disk_encryption_set_id str

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

disk_iops_read_only int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
disk_iops_read_write int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
disk_mbps_read_only int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
disk_mbps_read_write int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
disk_size_gb int
edge_zone Changes to this property will trigger replacement. str
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryption_settings ManagedDiskEncryptionSettingsArgs

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

gallery_image_reference_id Changes to this property will trigger replacement. str
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyper_v_generation Changes to this property will trigger replacement. str
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
image_reference_id Changes to this property will trigger replacement. str
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. str
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logical_sector_size Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

max_shares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. str
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
network_access_policy str
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
on_demand_bursting_enabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimized_frequent_attach_enabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

os_type str
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performance_plus_enabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
public_network_access_enabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

secure_vm_disk_encryption_set_id Changes to this property will trigger replacement. str

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

security_type Changes to this property will trigger replacement. str

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

source_resource_id Changes to this property will trigger replacement. str
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
source_uri Changes to this property will trigger replacement. str
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storage_account_id Changes to this property will trigger replacement. str
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
tags Mapping[str, str]
A mapping of tags to assign to the resource.
tier str
trusted_launch_enabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

upload_size_bytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. str

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption
This property is required.
Changes to this property will trigger replacement.
String
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
storageAccountType This property is required. String

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

diskAccessId String

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId String

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly Number
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite Number
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly Number
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite Number
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb Number
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings Property Map

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. String
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. String
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. String
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. String
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. Number

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares Number

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. String
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy String
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled Boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled Boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType String
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. Boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled Boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. String

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. String
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. String
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. String
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
tags Map<String>
A mapping of tags to assign to the resource.
tier String
trustedLaunchEnabled Changes to this property will trigger replacement. Boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. Number
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. String

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

Outputs

All input properties are implicitly available as output properties. Additionally, the ManagedDisk 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 ManagedDisk Resource

Get an existing ManagedDisk 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?: ManagedDiskState, opts?: CustomResourceOptions): ManagedDisk
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        create_option: Optional[str] = None,
        disk_access_id: Optional[str] = None,
        disk_encryption_set_id: Optional[str] = None,
        disk_iops_read_only: Optional[int] = None,
        disk_iops_read_write: Optional[int] = None,
        disk_mbps_read_only: Optional[int] = None,
        disk_mbps_read_write: Optional[int] = None,
        disk_size_gb: Optional[int] = None,
        edge_zone: Optional[str] = None,
        encryption_settings: Optional[ManagedDiskEncryptionSettingsArgs] = None,
        gallery_image_reference_id: Optional[str] = None,
        hyper_v_generation: Optional[str] = None,
        image_reference_id: Optional[str] = None,
        location: Optional[str] = None,
        logical_sector_size: Optional[int] = None,
        max_shares: Optional[int] = None,
        name: Optional[str] = None,
        network_access_policy: Optional[str] = None,
        on_demand_bursting_enabled: Optional[bool] = None,
        optimized_frequent_attach_enabled: Optional[bool] = None,
        os_type: Optional[str] = None,
        performance_plus_enabled: Optional[bool] = None,
        public_network_access_enabled: Optional[bool] = None,
        resource_group_name: Optional[str] = None,
        secure_vm_disk_encryption_set_id: Optional[str] = None,
        security_type: Optional[str] = None,
        source_resource_id: Optional[str] = None,
        source_uri: Optional[str] = None,
        storage_account_id: Optional[str] = None,
        storage_account_type: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tier: Optional[str] = None,
        trusted_launch_enabled: Optional[bool] = None,
        upload_size_bytes: Optional[int] = None,
        zone: Optional[str] = None) -> ManagedDisk
func GetManagedDisk(ctx *Context, name string, id IDInput, state *ManagedDiskState, opts ...ResourceOption) (*ManagedDisk, error)
public static ManagedDisk Get(string name, Input<string> id, ManagedDiskState? state, CustomResourceOptions? opts = null)
public static ManagedDisk get(String name, Output<String> id, ManagedDiskState state, CustomResourceOptions options)
resources:  _:    type: azure:compute:ManagedDisk    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
CreateOption Changes to this property will trigger replacement. string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
DiskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

DiskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskIopsReadOnly int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
DiskIopsReadWrite int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
DiskMbpsReadOnly int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
DiskMbpsReadWrite int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
DiskSizeGb int
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
EncryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

GalleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
HyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
ImageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
Location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
LogicalSectorSize Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

MaxShares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

Name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
NetworkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
OnDemandBurstingEnabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

OptimizedFrequentAttachEnabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

OsType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
PerformancePlusEnabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
PublicNetworkAccessEnabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

ResourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SecurityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
SourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountType string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

Tags Dictionary<string, string>
A mapping of tags to assign to the resource.
Tier string
TrustedLaunchEnabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

UploadSizeBytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
Zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

CreateOption Changes to this property will trigger replacement. string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
DiskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

DiskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

DiskIopsReadOnly int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
DiskIopsReadWrite int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
DiskMbpsReadOnly int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
DiskMbpsReadWrite int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
DiskSizeGb int
EdgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
EncryptionSettings ManagedDiskEncryptionSettingsArgs

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

GalleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
HyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
ImageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
Location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
LogicalSectorSize Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

MaxShares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

Name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
NetworkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
OnDemandBurstingEnabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

OptimizedFrequentAttachEnabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

OsType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
PerformancePlusEnabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
PublicNetworkAccessEnabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

ResourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
SecureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SecurityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

SourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
SourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
StorageAccountType string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

Tags map[string]string
A mapping of tags to assign to the resource.
Tier string
TrustedLaunchEnabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

UploadSizeBytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
Zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption Changes to this property will trigger replacement. String
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
diskAccessId String

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId String

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly Integer
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite Integer
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly Integer
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite Integer
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb Integer
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. String
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. String
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. String
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. String
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. Integer

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares Integer

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. String
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy String
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled Boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled Boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType String
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. Boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled Boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

resourceGroupName Changes to this property will trigger replacement. String
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. String

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. String
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. String
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. String
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountType String

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

tags Map<String,String>
A mapping of tags to assign to the resource.
tier String
trustedLaunchEnabled Changes to this property will trigger replacement. Boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. Integer
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. String

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption Changes to this property will trigger replacement. string
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
diskAccessId string

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId string

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly number
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite number
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly number
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite number
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb number
edgeZone Changes to this property will trigger replacement. string
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings ManagedDiskEncryptionSettings

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. string
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. string
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. string
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. string
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. number

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares number

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. string
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy string
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType string
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

resourceGroupName Changes to this property will trigger replacement. string
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
secureVmDiskEncryptionSetId Changes to this property will trigger replacement. string

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. string

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. string
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. string
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. string
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountType string

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

tags {[key: string]: string}
A mapping of tags to assign to the resource.
tier string
trustedLaunchEnabled Changes to this property will trigger replacement. boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. number
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. string

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

create_option Changes to this property will trigger replacement. str
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
disk_access_id str

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

disk_encryption_set_id str

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

disk_iops_read_only int
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
disk_iops_read_write int
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
disk_mbps_read_only int
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
disk_mbps_read_write int
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
disk_size_gb int
edge_zone Changes to this property will trigger replacement. str
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryption_settings ManagedDiskEncryptionSettingsArgs

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

gallery_image_reference_id Changes to this property will trigger replacement. str
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyper_v_generation Changes to this property will trigger replacement. str
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
image_reference_id Changes to this property will trigger replacement. str
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. str
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logical_sector_size Changes to this property will trigger replacement. int

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

max_shares int

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. str
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
network_access_policy str
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
on_demand_bursting_enabled bool

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimized_frequent_attach_enabled bool

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

os_type str
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performance_plus_enabled Changes to this property will trigger replacement. bool
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
public_network_access_enabled bool

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

resource_group_name Changes to this property will trigger replacement. str
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
secure_vm_disk_encryption_set_id Changes to this property will trigger replacement. str

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

security_type Changes to this property will trigger replacement. str

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

source_resource_id Changes to this property will trigger replacement. str
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
source_uri Changes to this property will trigger replacement. str
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storage_account_id Changes to this property will trigger replacement. str
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
storage_account_type str

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

tags Mapping[str, str]
A mapping of tags to assign to the resource.
tier str
trusted_launch_enabled Changes to this property will trigger replacement. bool

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

upload_size_bytes Changes to this property will trigger replacement. int
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. str

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

createOption Changes to this property will trigger replacement. String
The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:

  • Import - Import a VHD file in to the managed disk (VHD specified with source_uri).
  • ImportSecure - Securely import a VHD file in to the managed disk (VHD specified with source_uri).
  • Empty - Create an empty managed disk.
  • Copy - Copy an existing managed disk or snapshot (specified with source_resource_id).
  • FromImage - Copy a Platform Image (specified with image_reference_id)
  • Restore - Set by Azure Backup or Site Recovery on a restored disk (specified with source_resource_id).
  • Upload - Upload a VHD disk with the help of SAS URL (to be used with upload_size_bytes).
diskAccessId String

The ID of the disk access resource for using private endpoints on disks.

Note: disk_access_id is only supported when network_access_policy is set to AllowPrivate.

diskEncryptionSetId String

The ID of a Disk Encryption Set which should be used to encrypt this Managed Disk. Conflicts with secure_vm_disk_encryption_set_id.

NOTE: The Disk Encryption Set must have the Reader Role Assignment scoped on the Key Vault - in addition to an Access Policy to the Key Vault

NOTE: Disk Encryption Sets are in Public Preview in a limited set of regions

diskIopsReadOnly Number
The number of IOPS allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. One operation can transfer between 4k and 256k bytes.
diskIopsReadWrite Number
The number of IOPS allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. One operation can transfer between 4k and 256k bytes.
diskMbpsReadOnly Number
The bandwidth allowed across all VMs mounting the shared disk as read-only; only settable for UltraSSD disks and PremiumV2 disks with shared disk enabled. MBps means millions of bytes per second.
diskMbpsReadWrite Number
The bandwidth allowed for this disk; only settable for UltraSSD disks and PremiumV2 disks. MBps means millions of bytes per second.
diskSizeGb Number
edgeZone Changes to this property will trigger replacement. String
Specifies the Edge Zone within the Azure Region where this Managed Disk should exist. Changing this forces a new Managed Disk to be created.
encryptionSettings Property Map

A encryption_settings block as defined below.

NOTE: Removing encryption_settings forces a new resource to be created.

galleryImageReferenceId Changes to this property will trigger replacement. String
ID of a Gallery Image Version to copy when create_option is FromImage. This field cannot be specified if image_reference_id is specified. Changing this forces a new resource to be created.
hyperVGeneration Changes to this property will trigger replacement. String
The HyperV Generation of the Disk when the source of an Import or Copy operation targets a source that contains an operating system. Possible values are V1 and V2. For ImportSecure it must be set to V2. Changing this forces a new resource to be created.
imageReferenceId Changes to this property will trigger replacement. String
ID of an existing platform/marketplace disk image to copy when create_option is FromImage. This field cannot be specified if gallery_image_reference_id is specified. Changing this forces a new resource to be created.
location Changes to this property will trigger replacement. String
Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
logicalSectorSize Changes to this property will trigger replacement. Number

Logical Sector Size. Possible values are: 512 and 4096. Defaults to 4096. Changing this forces a new resource to be created.

NOTE: Setting logical sector size is supported only with UltraSSD_LRS disks and PremiumV2_LRS disks.

maxShares Number

The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.

Note: Premium SSD maxShares limit: P15 and P20 disks: 2. P30,P40,P50 disks: 5. P60,P70,P80 disks: 10. For ultra disks the max_shares minimum value is 1 and the maximum is 5.

name Changes to this property will trigger replacement. String
Specifies the name of the Managed Disk. Changing this forces a new resource to be created.
networkAccessPolicy String
Policy for accessing the disk via network. Allowed values are AllowAll, AllowPrivate, and DenyAll.
onDemandBurstingEnabled Boolean

Specifies if On-Demand Bursting is enabled for the Managed Disk.

Note: Credit-Based Bursting is enabled by default on all eligible disks. More information on Credit-Based and On-Demand Bursting can be found in the documentation.

optimizedFrequentAttachEnabled Boolean

Specifies whether this Managed Disk should be optimized for frequent disk attachments (where a disk is attached/detached more than 5 times in a day). Defaults to false.

Note: Setting optimized_frequent_attach_enabled to true causes the disks to not align with the fault domain of the Virtual Machine, which can have operational implications.

osType String
Specify a value when the source of an Import, ImportSecure or Copy operation targets a source that contains an operating system. Valid values are Linux or Windows.
performancePlusEnabled Changes to this property will trigger replacement. Boolean
Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.
publicNetworkAccessEnabled Boolean

Whether it is allowed to access the disk via public network. Defaults to true.

For more information on managed disks, such as sizing options and pricing, please check out the Azure Documentation.

resourceGroupName Changes to this property will trigger replacement. String
The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
secureVmDiskEncryptionSetId Changes to this property will trigger replacement. String

The ID of the Disk Encryption Set which should be used to Encrypt this OS Disk when the Virtual Machine is a Confidential VM. Conflicts with disk_encryption_set_id. Changing this forces a new resource to be created.

NOTE: secure_vm_disk_encryption_set_id can only be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

securityType Changes to this property will trigger replacement. String

Security Type of the Managed Disk when it is used for a Confidential VM. Possible values are ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey, ConfidentialVM_DiskEncryptedWithPlatformKey and ConfidentialVM_DiskEncryptedWithCustomerKey. Changing this forces a new resource to be created.

NOTE: When security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey the value of create_option must be one of FromImage or ImportSecure.

NOTE: security_type cannot be specified when trusted_launch_enabled is set to true.

NOTE: secure_vm_disk_encryption_set_id must be specified when security_type is set to ConfidentialVM_DiskEncryptedWithCustomerKey.

sourceResourceId Changes to this property will trigger replacement. String
The ID of an existing Managed Disk or Snapshot to copy when create_option is Copy or the recovery point to restore when create_option is Restore. Changing this forces a new resource to be created.
sourceUri Changes to this property will trigger replacement. String
URI to a valid VHD file to be used when create_option is Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountId Changes to this property will trigger replacement. String
The ID of the Storage Account where the source_uri is located. Required when create_option is set to Import or ImportSecure. Changing this forces a new resource to be created.
storageAccountType String

The type of storage to use for the managed disk. Possible values are Standard_LRS, StandardSSD_ZRS, Premium_LRS, PremiumV2_LRS, Premium_ZRS, StandardSSD_LRS or UltraSSD_LRS.

Note: Azure Ultra Disk Storage is only available in a region that support availability zones and can only enabled on the following VM series: ESv3, DSv3, FSv3, LSv2, M and Mv2. For more information see the Azure Ultra Disk Storage product documentation.

tags Map<String>
A mapping of tags to assign to the resource.
tier String
trustedLaunchEnabled Changes to this property will trigger replacement. Boolean

Specifies if Trusted Launch is enabled for the Managed Disk. Changing this forces a new resource to be created.

Note: Trusted Launch can only be enabled when create_option is FromImage or Import.

uploadSizeBytes Changes to this property will trigger replacement. Number
Specifies the size of the managed disk to create in bytes. Required when create_option is Upload. The value must be equal to the source disk to be copied in bytes. Source disk size could be calculated with ls -l or wc -c. More information can be found at Copy a managed disk. Changing this forces a new resource to be created.
zone Changes to this property will trigger replacement. String

Specifies the Availability Zone in which this Managed Disk should be located. Changing this property forces a new resource to be created.

Note: Availability Zones are only supported in select regions at this time.

Supporting Types

ManagedDiskEncryptionSettings
, ManagedDiskEncryptionSettingsArgs

DiskEncryptionKey This property is required. ManagedDiskEncryptionSettingsDiskEncryptionKey
A disk_encryption_key block as defined above.
KeyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
A key_encryption_key block as defined below.
DiskEncryptionKey This property is required. ManagedDiskEncryptionSettingsDiskEncryptionKey
A disk_encryption_key block as defined above.
KeyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. ManagedDiskEncryptionSettingsDiskEncryptionKey
A disk_encryption_key block as defined above.
keyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. ManagedDiskEncryptionSettingsDiskEncryptionKey
A disk_encryption_key block as defined above.
keyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
A key_encryption_key block as defined below.
disk_encryption_key This property is required. ManagedDiskEncryptionSettingsDiskEncryptionKey
A disk_encryption_key block as defined above.
key_encryption_key ManagedDiskEncryptionSettingsKeyEncryptionKey
A key_encryption_key block as defined below.
diskEncryptionKey This property is required. Property Map
A disk_encryption_key block as defined above.
keyEncryptionKey Property Map
A key_encryption_key block as defined below.

ManagedDiskEncryptionSettingsDiskEncryptionKey
, ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs

SecretUrl This property is required. string
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
SourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
SecretUrl This property is required. string
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
SourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
secretUrl This property is required. String
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
sourceVaultId This property is required. String
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
secretUrl This property is required. string
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
sourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
secret_url This property is required. str
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
source_vault_id This property is required. str
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
secretUrl This property is required. String
The URL to the Key Vault Secret used as the Disk Encryption Key. This can be found as id on the azure.keyvault.Secret resource.
sourceVaultId This property is required. String
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.

ManagedDiskEncryptionSettingsKeyEncryptionKey
, ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs

KeyUrl This property is required. string
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
SourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
KeyUrl This property is required. string
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
SourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
keyUrl This property is required. String
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
sourceVaultId This property is required. String
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
keyUrl This property is required. string
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
sourceVaultId This property is required. string
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
key_url This property is required. str
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
source_vault_id This property is required. str
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
keyUrl This property is required. String
The URL to the Key Vault Key used as the Key Encryption Key. This can be found as id on the azure.keyvault.Key resource.
sourceVaultId This property is required. String
The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.

Import

Managed Disks can be imported using the resource id, e.g.

$ pulumi import azure:compute/managedDisk:ManagedDisk example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Compute/disks/manageddisk1
Copy

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 azurerm Terraform Provider.