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

We recommend using Azure Native.

Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi

azure.compute.ManagedDisk

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi

    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",
        },
    });
    
    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",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
    	"github.com/pulumi/pulumi-azure/sdk/v5/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
    	})
    }
    
    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" },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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",
        },
    });
    
    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",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/compute"
    	"github.com/pulumi/pulumi-azure/sdk/v5/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
    	})
    }
    
    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" },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args ManagedDiskArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args ManagedDiskArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ManagedDiskArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ManagedDiskArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    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",
    });
    
    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"),
    })
    
    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());
    
    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=azure.compute.ManagedDiskEncryptionSettingsArgs(
            disk_encryption_key=azure.compute.ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs(
                secret_url="string",
                source_vault_id="string",
            ),
            key_encryption_key=azure.compute.ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs(
                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")
    
    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",
    });
    
    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
    

    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

    The ManagedDisk resource accepts the following input properties:

    CreateOption string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    ResourceGroupName string
    The name of the Resource Group where the Managed Disk should exist. 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.

    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    LogicalSectorSize 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    ResourceGroupName string
    The name of the Resource Group where the Managed Disk should exist. 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.

    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    LogicalSectorSize 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 String
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    resourceGroupName String
    The name of the Resource Group where the Managed Disk should exist. 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.

    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 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 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 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 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 String
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 Boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    resourceGroupName string
    The name of the Resource Group where the Managed Disk should exist. 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.

    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 str
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    resource_group_name 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 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 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 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 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 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 str
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logical_sector_size 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 String
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    resourceGroupName String
    The name of the Resource Group where the Managed Disk should exist. 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.

    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 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 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 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 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 String
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 Boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateOption string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    LogicalSectorSize 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 string
    The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
    SecureVmDiskEncryptionSetId 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 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 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 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 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 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 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 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 string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    LogicalSectorSize 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 string
    The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
    SecureVmDiskEncryptionSetId 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 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 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 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 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 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 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 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 String
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 String
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 Boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 String
    The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
    secureVmDiskEncryptionSetId 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 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 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 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 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 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 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 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 string
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 string
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 string
    The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
    secureVmDiskEncryptionSetId 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 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 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 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 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 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 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 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 str
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 str
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logical_sector_size 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 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 bool

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 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 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 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 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 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 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 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 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 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 String
    The method to use when creating the managed disk. Changing this forces a new resource to be created. Possible values include:
    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 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 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 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 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 String
    Specified the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    logicalSectorSize 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 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 Boolean

    Specifies whether Performance Plus is enabled for this Managed Disk. Defaults to false. Changing this forces a new resource to be created.

    Note: performance_plus_enabled can only be set to true when using a Managed Disk with an Ultra SSD.

    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 String
    The name of the Resource Group where the Managed Disk should exist. Changing this forces a new resource to be created.
    secureVmDiskEncryptionSetId 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 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 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 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 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 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 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 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 ManagedDiskEncryptionSettingsDiskEncryptionKey
    A disk_encryption_key block as defined above.
    Enabled bool

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    KeyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
    A key_encryption_key block as defined below.
    DiskEncryptionKey ManagedDiskEncryptionSettingsDiskEncryptionKey
    A disk_encryption_key block as defined above.
    Enabled bool

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    KeyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
    A key_encryption_key block as defined below.
    diskEncryptionKey ManagedDiskEncryptionSettingsDiskEncryptionKey
    A disk_encryption_key block as defined above.
    enabled Boolean

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    keyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
    A key_encryption_key block as defined below.
    diskEncryptionKey ManagedDiskEncryptionSettingsDiskEncryptionKey
    A disk_encryption_key block as defined above.
    enabled boolean

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    keyEncryptionKey ManagedDiskEncryptionSettingsKeyEncryptionKey
    A key_encryption_key block as defined below.
    disk_encryption_key ManagedDiskEncryptionSettingsDiskEncryptionKey
    A disk_encryption_key block as defined above.
    enabled bool

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    key_encryption_key ManagedDiskEncryptionSettingsKeyEncryptionKey
    A key_encryption_key block as defined below.
    diskEncryptionKey Property Map
    A disk_encryption_key block as defined above.
    enabled Boolean

    Deprecated: Deprecated, Azure Disk Encryption is now configured directly by disk_encryption_key and key_encryption_key. To disable Azure Disk Encryption, please remove encryption_settings block. To enabled, specify a encryption_settings block`

    keyEncryptionKey Property Map
    A key_encryption_key block as defined below.

    ManagedDiskEncryptionSettingsDiskEncryptionKey, ManagedDiskEncryptionSettingsDiskEncryptionKeyArgs

    SecretUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    SecretUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    secretUrl 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 String
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    secretUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    secret_url 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 str
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    secretUrl 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 String
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.

    ManagedDiskEncryptionSettingsKeyEncryptionKey, ManagedDiskEncryptionSettingsKeyEncryptionKeyArgs

    KeyUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    KeyUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    keyUrl 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 String
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    keyUrl 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 string
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    key_url 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 str
    The ID of the source Key Vault. This can be found as id on the azure.keyvault.KeyVault resource.
    keyUrl 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 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
    

    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.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.73.0 published on Monday, Apr 22, 2024 by Pulumi