azure-native.compute.Disk
Explore with Pulumi AI
Disk resource. Azure REST API version: 2022-07-02. Prior API version in Azure Native 1.x: 2020-12-01.
Other available API versions: 2023-01-02, 2023-04-02, 2023-10-02, 2024-03-02.
Example Usage
Create a confidential VM supported disk encrypted with customer managed key
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            ImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                Id = "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
            },
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
        SecurityProfile = new AzureNative.Compute.Inputs.DiskSecurityProfileArgs
        {
            SecureVMDiskEncryptionSetId = "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}",
            SecurityType = AzureNative.Compute.DiskSecurityTypes.ConfidentialVM_DiskEncryptedWithCustomerKey,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				ImageReference: &compute.ImageDiskReferenceArgs{
					Id: pulumi.String("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
			SecurityProfile: &compute.DiskSecurityProfileArgs{
				SecureVMDiskEncryptionSetId: pulumi.String("/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}"),
				SecurityType:                pulumi.String(compute.DiskSecurityTypes_ConfidentialVM_DiskEncryptedWithCustomerKey),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import com.pulumi.azurenative.compute.inputs.DiskSecurityProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .imageReference(ImageDiskReferenceArgs.builder()
                    .id("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0")
                    .build())
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .securityProfile(DiskSecurityProfileArgs.builder()
                .secureVMDiskEncryptionSetId("/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}")
                .securityType("ConfidentialVM_DiskEncryptedWithCustomerKey")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        imageReference: {
            id: "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
        },
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
    securityProfile: {
        secureVMDiskEncryptionSetId: "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}",
        securityType: azure_native.compute.DiskSecurityTypes.ConfidentialVM_DiskEncryptedWithCustomerKey,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "image_reference": {
            "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
        },
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup",
    security_profile={
        "secure_vm_disk_encryption_set_id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}",
        "security_type": azure_native.compute.DiskSecurityTypes.CONFIDENTIAL_V_M_DISK_ENCRYPTED_WITH_CUSTOMER_KEY,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        imageReference:
          id: /Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
      securityProfile:
        secureVMDiskEncryptionSetId: /subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}
        securityType: ConfidentialVM_DiskEncryptedWithCustomerKey
Create a managed disk and associate with disk access resource.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskAccessId = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}",
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        NetworkAccessPolicy = AzureNative.Compute.NetworkAccessPolicy.AllowPrivate,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskAccessId:        pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"),
			DiskName:            pulumi.String("myDisk"),
			DiskSizeGB:          pulumi.Int(200),
			Location:            pulumi.String("West US"),
			NetworkAccessPolicy: pulumi.String(compute.NetworkAccessPolicyAllowPrivate),
			ResourceGroupName:   pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskAccessId("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}")
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .networkAccessPolicy("AllowPrivate")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskAccessId: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}",
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    networkAccessPolicy: azure_native.compute.NetworkAccessPolicy.AllowPrivate,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_access_id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}",
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    network_access_policy=azure_native.compute.NetworkAccessPolicy.ALLOW_PRIVATE,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskAccessId: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      networkAccessPolicy: AllowPrivate
      resourceGroupName: myResourceGroup
Create a managed disk and associate with disk encryption set.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Encryption = new AzureNative.Compute.Inputs.EncryptionArgs
        {
            DiskEncryptionSetId = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
        },
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskName:   pulumi.String("myDisk"),
			DiskSizeGB: pulumi.Int(200),
			Encryption: &compute.EncryptionArgs{
				DiskEncryptionSetId: pulumi.String("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"),
			},
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.EncryptionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .encryption(EncryptionArgs.builder()
                .diskEncryptionSetId("/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")
                .build())
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    encryption: {
        diskEncryptionSetId: "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
    },
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    encryption={
        "disk_encryption_set_id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
    },
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      encryption:
        diskEncryptionSetId: /subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk by copying a snapshot.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Copy,
            SourceResourceId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:     pulumi.String(compute.DiskCreateOptionCopy),
				SourceResourceId: pulumi.String("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Copy")
                .sourceResourceId("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")
                .build())
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Copy,
        sourceResourceId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.COPY,
        "source_resource_id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
    },
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Copy
        sourceResourceId: subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk by importing an unmanaged blob from a different subscription.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Import,
            SourceUri = "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
            StorageAccountId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:     pulumi.String(compute.DiskCreateOptionImport),
				SourceUri:        pulumi.String("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"),
				StorageAccountId: pulumi.String("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Import")
                .sourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")
                .storageAccountId("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount")
                .build())
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Import,
        sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        storageAccountId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.IMPORT_,
        "source_uri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        "storage_account_id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
    },
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Import
        sourceUri: https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd
        storageAccountId: subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk by importing an unmanaged blob from the same subscription.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Import,
            SourceUri = "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionImport),
				SourceUri:    pulumi.String("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Import")
                .sourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")
                .build())
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Import,
        sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.IMPORT_,
        "source_uri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
    },
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Import
        sourceUri: https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk from ImportSecure create option
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.ImportSecure,
            SecurityDataUri = "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd",
            SourceUri = "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
            StorageAccountId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
        SecurityProfile = new AzureNative.Compute.Inputs.DiskSecurityProfileArgs
        {
            SecurityType = AzureNative.Compute.DiskSecurityTypes.ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:     pulumi.String(compute.DiskCreateOptionImportSecure),
				SecurityDataUri:  pulumi.String("https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd"),
				SourceUri:        pulumi.String("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"),
				StorageAccountId: pulumi.String("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount"),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
			SecurityProfile: &compute.DiskSecurityProfileArgs{
				SecurityType: pulumi.String(compute.DiskSecurityTypes_ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.DiskSecurityProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("ImportSecure")
                .securityDataUri("https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd")
                .sourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")
                .storageAccountId("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount")
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .securityProfile(DiskSecurityProfileArgs.builder()
                .securityType("ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.ImportSecure,
        securityDataUri: "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd",
        sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        storageAccountId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
    securityProfile: {
        securityType: azure_native.compute.DiskSecurityTypes.ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.IMPORT_SECURE,
        "security_data_uri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd",
        "source_uri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        "storage_account_id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup",
    security_profile={
        "security_type": azure_native.compute.DiskSecurityTypes.CONFIDENTIAL_V_M_VM_GUEST_STATE_ONLY_ENCRYPTED_WITH_PLATFORM_KEY,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: ImportSecure
        securityDataUri: https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd
        sourceUri: https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd
        storageAccountId: subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
      securityProfile:
        securityType: ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey
Create a managed disk from UploadPreparedSecure create option
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.UploadPreparedSecure,
            UploadSizeBytes = 10737418752,
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
        SecurityProfile = new AzureNative.Compute.Inputs.DiskSecurityProfileArgs
        {
            SecurityType = AzureNative.Compute.DiskSecurityTypes.TrustedLaunch,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:    pulumi.String(compute.DiskCreateOptionUploadPreparedSecure),
				UploadSizeBytes: pulumi.Float64(10737418752),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
			SecurityProfile: &compute.DiskSecurityProfileArgs{
				SecurityType: pulumi.String(compute.DiskSecurityTypesTrustedLaunch),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.DiskSecurityProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("UploadPreparedSecure")
                .uploadSizeBytes(10737418752)
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .securityProfile(DiskSecurityProfileArgs.builder()
                .securityType("TrustedLaunch")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.UploadPreparedSecure,
        uploadSizeBytes: 10737418752,
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
    securityProfile: {
        securityType: azure_native.compute.DiskSecurityTypes.TrustedLaunch,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.UPLOAD_PREPARED_SECURE,
        "upload_size_bytes": 10737418752,
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup",
    security_profile={
        "security_type": azure_native.compute.DiskSecurityTypes.TRUSTED_LAUNCH,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: UploadPreparedSecure
        uploadSizeBytes: 1.0737418752e+10
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
      securityProfile:
        securityType: TrustedLaunch
Create a managed disk from a platform image.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            ImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                Id = "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
            },
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				ImageReference: &compute.ImageDiskReferenceArgs{
					Id: pulumi.String("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .imageReference(ImageDiskReferenceArgs.builder()
                    .id("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0")
                    .build())
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        imageReference: {
            id: "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
        },
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "image_reference": {
            "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0",
        },
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        imageReference:
          id: /Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
Create a managed disk from an Azure Compute Gallery community image.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            GalleryImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                CommunityGalleryImageId = "/CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0",
            },
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				GalleryImageReference: &compute.ImageDiskReferenceArgs{
					CommunityGalleryImageId: pulumi.String("/CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .galleryImageReference(ImageDiskReferenceArgs.builder()
                    .communityGalleryImageId("/CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0")
                    .build())
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        galleryImageReference: {
            communityGalleryImageId: "/CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "gallery_image_reference": {
            "community_gallery_image_id": "/CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        galleryImageReference:
          communityGalleryImageId: /CommunityGalleries/{communityGalleryPublicGalleryName}/Images/{imageName}/Versions/1.0.0
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
Create a managed disk from an Azure Compute Gallery direct shared image.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            GalleryImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                SharedGalleryImageId = "/SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0",
            },
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				GalleryImageReference: &compute.ImageDiskReferenceArgs{
					SharedGalleryImageId: pulumi.String("/SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .galleryImageReference(ImageDiskReferenceArgs.builder()
                    .sharedGalleryImageId("/SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0")
                    .build())
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        galleryImageReference: {
            sharedGalleryImageId: "/SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "gallery_image_reference": {
            "shared_gallery_image_id": "/SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        galleryImageReference:
          sharedGalleryImageId: /SharedGalleries/{sharedGalleryUniqueName}/Images/{imageName}/Versions/1.0.0
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
Create a managed disk from an Azure Compute Gallery image.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            GalleryImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                Id = "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0",
            },
        },
        DiskName = "myDisk",
        Location = "West US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				GalleryImageReference: &compute.ImageDiskReferenceArgs{
					Id: pulumi.String("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .galleryImageReference(ImageDiskReferenceArgs.builder()
                    .id("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0")
                    .build())
                .build())
            .diskName("myDisk")
            .location("West US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        galleryImageReference: {
            id: "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    diskName: "myDisk",
    location: "West US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "gallery_image_reference": {
            "id": "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0",
        },
    },
    disk_name="myDisk",
    location="West US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        galleryImageReference:
          id: /Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Providers/Microsoft.Compute/Galleries/{galleryName}/Images/{imageName}/Versions/1.0.0
      diskName: myDisk
      location: West US
      osType: Windows
      resourceGroupName: myResourceGroup
Create a managed disk from an existing managed disk in the same or different subscription.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Copy,
            SourceResourceId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
        },
        DiskName = "myDisk2",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:     pulumi.String(compute.DiskCreateOptionCopy),
				SourceResourceId: pulumi.String("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"),
			},
			DiskName:          pulumi.String("myDisk2"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Copy")
                .sourceResourceId("subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1")
                .build())
            .diskName("myDisk2")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Copy,
        sourceResourceId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
    },
    diskName: "myDisk2",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.COPY,
        "source_resource_id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
    },
    disk_name="myDisk2",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Copy
        sourceResourceId: subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1
      diskName: myDisk2
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk with dataAccessAuthMode
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DataAccessAuthMode = AzureNative.Compute.DataAccessAuthMode.AzureActiveDirectory,
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DataAccessAuthMode: pulumi.String(compute.DataAccessAuthModeAzureActiveDirectory),
			DiskName:           pulumi.String("myDisk"),
			DiskSizeGB:         pulumi.Int(200),
			Location:           pulumi.String("West US"),
			ResourceGroupName:  pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .dataAccessAuthMode("AzureActiveDirectory")
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    dataAccessAuthMode: azure_native.compute.DataAccessAuthMode.AzureActiveDirectory,
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    data_access_auth_mode=azure_native.compute.DataAccessAuthMode.AZURE_ACTIVE_DIRECTORY,
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      dataAccessAuthMode: AzureActiveDirectory
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk with optimizedForFrequentAttach.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        OptimizedForFrequentAttach = true,
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskName:                   pulumi.String("myDisk"),
			DiskSizeGB:                 pulumi.Int(200),
			Location:                   pulumi.String("West US"),
			OptimizedForFrequentAttach: pulumi.Bool(true),
			ResourceGroupName:          pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .optimizedForFrequentAttach(true)
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    optimizedForFrequentAttach: true,
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    optimized_for_frequent_attach=True,
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      optimizedForFrequentAttach: true
      resourceGroupName: myResourceGroup
Create a managed disk with performancePlus.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Upload,
            PerformancePlus = true,
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:    pulumi.String(compute.DiskCreateOptionUpload),
				PerformancePlus: pulumi.Bool(true),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Upload")
                .performancePlus(true)
                .build())
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Upload,
        performancePlus: true,
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.UPLOAD,
        "performance_plus": True,
    },
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Upload
        performancePlus: true
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Create a managed disk with premium v2 account type.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskIOPSReadWrite = 125,
        DiskMBpsReadWrite = 3000,
        DiskName = "myPremiumV2Disk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = AzureNative.Compute.DiskStorageAccountTypes.PremiumV2_LRS,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskIOPSReadWrite: pulumi.Float64(125),
			DiskMBpsReadWrite: pulumi.Float64(3000),
			DiskName:          pulumi.String("myPremiumV2Disk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Sku: &compute.DiskSkuArgs{
				Name: pulumi.String(compute.DiskStorageAccountTypes_PremiumV2_LRS),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.DiskSkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskIOPSReadWrite(125)
            .diskMBpsReadWrite(3000)
            .diskName("myPremiumV2Disk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(DiskSkuArgs.builder()
                .name("PremiumV2_LRS")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskIOPSReadWrite: 125,
    diskMBpsReadWrite: 3000,
    diskName: "myPremiumV2Disk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: azure_native.compute.DiskStorageAccountTypes.PremiumV2_LRS,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_iops_read_write=125,
    disk_m_bps_read_write=3000,
    disk_name="myPremiumV2Disk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup",
    sku={
        "name": azure_native.compute.DiskStorageAccountTypes.PREMIUM_V2_LRS,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskIOPSReadWrite: 125
      diskMBpsReadWrite: 3000
      diskName: myPremiumV2Disk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
      sku:
        name: PremiumV2_LRS
Create a managed disk with security profile
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.FromImage,
            ImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
            {
                Id = "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}",
            },
        },
        DiskName = "myDisk",
        Location = "North Central US",
        OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
        ResourceGroupName = "myResourceGroup",
        SecurityProfile = new AzureNative.Compute.Inputs.DiskSecurityProfileArgs
        {
            SecurityType = AzureNative.Compute.DiskSecurityTypes.TrustedLaunch,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionFromImage),
				ImageReference: &compute.ImageDiskReferenceArgs{
					Id: pulumi.String("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"),
				},
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("North Central US"),
			OsType:            compute.OperatingSystemTypesWindows,
			ResourceGroupName: pulumi.String("myResourceGroup"),
			SecurityProfile: &compute.DiskSecurityProfileArgs{
				SecurityType: pulumi.String(compute.DiskSecurityTypesTrustedLaunch),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs;
import com.pulumi.azurenative.compute.inputs.DiskSecurityProfileArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("FromImage")
                .imageReference(ImageDiskReferenceArgs.builder()
                    .id("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}")
                    .build())
                .build())
            .diskName("myDisk")
            .location("North Central US")
            .osType("Windows")
            .resourceGroupName("myResourceGroup")
            .securityProfile(DiskSecurityProfileArgs.builder()
                .securityType("TrustedLaunch")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.FromImage,
        imageReference: {
            id: "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}",
        },
    },
    diskName: "myDisk",
    location: "North Central US",
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
    securityProfile: {
        securityType: azure_native.compute.DiskSecurityTypes.TrustedLaunch,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.FROM_IMAGE,
        "image_reference": {
            "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}",
        },
    },
    disk_name="myDisk",
    location="North Central US",
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    resource_group_name="myResourceGroup",
    security_profile={
        "security_type": azure_native.compute.DiskSecurityTypes.TRUSTED_LAUNCH,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: FromImage
        imageReference:
          id: /Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}
      diskName: myDisk
      location: North Central US
      osType: Windows
      resourceGroupName: myResourceGroup
      securityProfile:
        securityType: TrustedLaunch
Create a managed disk with ssd zrs account type.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = AzureNative.Compute.DiskStorageAccountTypes.Premium_ZRS,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskName:          pulumi.String("myDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Sku: &compute.DiskSkuArgs{
				Name: pulumi.String(compute.DiskStorageAccountTypes_Premium_ZRS),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.DiskSkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(DiskSkuArgs.builder()
                .name("Premium_ZRS")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: azure_native.compute.DiskStorageAccountTypes.Premium_ZRS,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup",
    sku={
        "name": azure_native.compute.DiskStorageAccountTypes.PREMIUM_ZRS,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
      sku:
        name: Premium_ZRS
Create a managed disk with ultra account type with readOnly property set.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
            LogicalSectorSize = 4096,
        },
        DiskIOPSReadWrite = 125,
        DiskMBpsReadWrite = 3000,
        DiskName = "myUltraReadOnlyDisk",
        DiskSizeGB = 200,
        Encryption = new AzureNative.Compute.Inputs.EncryptionArgs
        {
            Type = AzureNative.Compute.EncryptionType.EncryptionAtRestWithPlatformKey,
        },
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = AzureNative.Compute.DiskStorageAccountTypes.UltraSSD_LRS,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:      pulumi.String(compute.DiskCreateOptionEmpty),
				LogicalSectorSize: pulumi.Int(4096),
			},
			DiskIOPSReadWrite: pulumi.Float64(125),
			DiskMBpsReadWrite: pulumi.Float64(3000),
			DiskName:          pulumi.String("myUltraReadOnlyDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Encryption: &compute.EncryptionArgs{
				Type: pulumi.String(compute.EncryptionTypeEncryptionAtRestWithPlatformKey),
			},
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Sku: &compute.DiskSkuArgs{
				Name: pulumi.String(compute.DiskStorageAccountTypes_UltraSSD_LRS),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.EncryptionArgs;
import com.pulumi.azurenative.compute.inputs.DiskSkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .logicalSectorSize(4096)
                .build())
            .diskIOPSReadWrite(125)
            .diskMBpsReadWrite(3000)
            .diskName("myUltraReadOnlyDisk")
            .diskSizeGB(200)
            .encryption(EncryptionArgs.builder()
                .type("EncryptionAtRestWithPlatformKey")
                .build())
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(DiskSkuArgs.builder()
                .name("UltraSSD_LRS")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
        logicalSectorSize: 4096,
    },
    diskIOPSReadWrite: 125,
    diskMBpsReadWrite: 3000,
    diskName: "myUltraReadOnlyDisk",
    diskSizeGB: 200,
    encryption: {
        type: azure_native.compute.EncryptionType.EncryptionAtRestWithPlatformKey,
    },
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: azure_native.compute.DiskStorageAccountTypes.UltraSSD_LRS,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
        "logical_sector_size": 4096,
    },
    disk_iops_read_write=125,
    disk_m_bps_read_write=3000,
    disk_name="myUltraReadOnlyDisk",
    disk_size_gb=200,
    encryption={
        "type": azure_native.compute.EncryptionType.ENCRYPTION_AT_REST_WITH_PLATFORM_KEY,
    },
    location="West US",
    resource_group_name="myResourceGroup",
    sku={
        "name": azure_native.compute.DiskStorageAccountTypes.ULTRA_SS_D_LRS,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
        logicalSectorSize: 4096
      diskIOPSReadWrite: 125
      diskMBpsReadWrite: 3000
      diskName: myUltraReadOnlyDisk
      diskSizeGB: 200
      encryption:
        type: EncryptionAtRestWithPlatformKey
      location: West US
      resourceGroupName: myResourceGroup
      sku:
        name: UltraSSD_LRS
Create a managed upload disk.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Upload,
            UploadSizeBytes = 10737418752,
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:    pulumi.String(compute.DiskCreateOptionUpload),
				UploadSizeBytes: pulumi.Float64(10737418752),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Upload")
                .uploadSizeBytes(10737418752)
                .build())
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Upload,
        uploadSizeBytes: 10737418752,
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.UPLOAD,
        "upload_size_bytes": 10737418752,
    },
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Upload
        uploadSizeBytes: 1.0737418752e+10
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Create an empty managed disk in extended location.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        ExtendedLocation = new AzureNative.Compute.Inputs.ExtendedLocationArgs
        {
            Name = "{edge-zone-id}",
            Type = AzureNative.Compute.ExtendedLocationTypes.EdgeZone,
        },
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskName:   pulumi.String("myDisk"),
			DiskSizeGB: pulumi.Int(200),
			ExtendedLocation: &compute.ExtendedLocationArgs{
				Name: pulumi.String("{edge-zone-id}"),
				Type: pulumi.String(compute.ExtendedLocationTypesEdgeZone),
			},
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.ExtendedLocationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .extendedLocation(ExtendedLocationArgs.builder()
                .name("{edge-zone-id}")
                .type("EdgeZone")
                .build())
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    extendedLocation: {
        name: "{edge-zone-id}",
        type: azure_native.compute.ExtendedLocationTypes.EdgeZone,
    },
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    extended_location={
        "name": "{edge-zone-id}",
        "type": azure_native.compute.ExtendedLocationTypes.EDGE_ZONE,
    },
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      extendedLocation:
        name: '{edge-zone-id}'
        type: EdgeZone
      location: West US
      resourceGroupName: myResourceGroup
Create an empty managed disk.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption: pulumi.String(compute.DiskCreateOptionEmpty),
			},
			DiskName:          pulumi.String("myDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup")
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
Create an ultra managed disk with logicalSectorSize 512E
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var disk = new AzureNative.Compute.Disk("disk", new()
    {
        CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
        {
            CreateOption = AzureNative.Compute.DiskCreateOption.Empty,
            LogicalSectorSize = 512,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = AzureNative.Compute.DiskStorageAccountTypes.UltraSSD_LRS,
        },
    });
});
package main
import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewDisk(ctx, "disk", &compute.DiskArgs{
			CreationData: &compute.CreationDataArgs{
				CreateOption:      pulumi.String(compute.DiskCreateOptionEmpty),
				LogicalSectorSize: pulumi.Int(512),
			},
			DiskName:          pulumi.String("myDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Sku: &compute.DiskSkuArgs{
				Name: pulumi.String(compute.DiskStorageAccountTypes_UltraSSD_LRS),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import com.pulumi.azurenative.compute.inputs.CreationDataArgs;
import com.pulumi.azurenative.compute.inputs.DiskSkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()
            .creationData(CreationDataArgs.builder()
                .createOption("Empty")
                .logicalSectorSize(512)
                .build())
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(DiskSkuArgs.builder()
                .name("UltraSSD_LRS")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: azure_native.compute.DiskCreateOption.Empty,
        logicalSectorSize: 512,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: azure_native.compute.DiskStorageAccountTypes.UltraSSD_LRS,
    },
});
import pulumi
import pulumi_azure_native as azure_native
disk = azure_native.compute.Disk("disk",
    creation_data={
        "create_option": azure_native.compute.DiskCreateOption.EMPTY,
        "logical_sector_size": 512,
    },
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup",
    sku={
        "name": azure_native.compute.DiskStorageAccountTypes.ULTRA_SS_D_LRS,
    })
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
        logicalSectorSize: 512
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
      sku:
        name: UltraSSD_LRS
Create Disk Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Disk(name: string, args: DiskArgs, opts?: CustomResourceOptions);@overload
def Disk(resource_name: str,
         args: DiskArgs,
         opts: Optional[ResourceOptions] = None)
@overload
def Disk(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         creation_data: Optional[CreationDataArgs] = None,
         resource_group_name: Optional[str] = None,
         hyper_v_generation: Optional[Union[str, HyperVGeneration]] = None,
         tags: Optional[Mapping[str, str]] = None,
         disk_access_id: Optional[str] = None,
         disk_iops_read_only: Optional[float] = None,
         disk_iops_read_write: Optional[float] = None,
         disk_m_bps_read_only: Optional[float] = None,
         disk_m_bps_read_write: Optional[float] = None,
         disk_name: Optional[str] = None,
         disk_size_gb: Optional[int] = None,
         encryption: Optional[EncryptionArgs] = None,
         encryption_settings_collection: Optional[EncryptionSettingsCollectionArgs] = None,
         extended_location: Optional[ExtendedLocationArgs] = None,
         zones: Optional[Sequence[str]] = None,
         data_access_auth_mode: Optional[Union[str, DataAccessAuthMode]] = None,
         public_network_access: Optional[Union[str, PublicNetworkAccess]] = None,
         network_access_policy: Optional[Union[str, NetworkAccessPolicy]] = None,
         optimized_for_frequent_attach: Optional[bool] = None,
         os_type: Optional[OperatingSystemTypes] = None,
         max_shares: Optional[int] = None,
         purchase_plan: Optional[PurchasePlanArgs] = None,
         completion_percent: Optional[float] = None,
         security_profile: Optional[DiskSecurityProfileArgs] = None,
         sku: Optional[DiskSkuArgs] = None,
         supported_capabilities: Optional[SupportedCapabilitiesArgs] = None,
         supports_hibernation: Optional[bool] = None,
         location: Optional[str] = None,
         tier: Optional[str] = None,
         bursting_enabled: Optional[bool] = None)func NewDisk(ctx *Context, name string, args DiskArgs, opts ...ResourceOption) (*Disk, error)public Disk(string name, DiskArgs args, CustomResourceOptions? opts = null)type: azure-native:compute:Disk
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 DiskArgs
- 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 DiskArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DiskArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DiskArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DiskArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var diskResource = new AzureNative.Compute.Disk("diskResource", new()
{
    CreationData = new AzureNative.Compute.Inputs.CreationDataArgs
    {
        CreateOption = "string",
        GalleryImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
        {
            CommunityGalleryImageId = "string",
            Id = "string",
            Lun = 0,
            SharedGalleryImageId = "string",
        },
        ImageReference = new AzureNative.Compute.Inputs.ImageDiskReferenceArgs
        {
            CommunityGalleryImageId = "string",
            Id = "string",
            Lun = 0,
            SharedGalleryImageId = "string",
        },
        LogicalSectorSize = 0,
        PerformancePlus = false,
        SecurityDataUri = "string",
        SourceResourceId = "string",
        SourceUri = "string",
        StorageAccountId = "string",
        UploadSizeBytes = 0,
    },
    ResourceGroupName = "string",
    HyperVGeneration = "string",
    Tags = 
    {
        { "string", "string" },
    },
    DiskAccessId = "string",
    DiskIOPSReadOnly = 0,
    DiskIOPSReadWrite = 0,
    DiskMBpsReadOnly = 0,
    DiskMBpsReadWrite = 0,
    DiskName = "string",
    DiskSizeGB = 0,
    Encryption = new AzureNative.Compute.Inputs.EncryptionArgs
    {
        DiskEncryptionSetId = "string",
        Type = "string",
    },
    EncryptionSettingsCollection = new AzureNative.Compute.Inputs.EncryptionSettingsCollectionArgs
    {
        Enabled = false,
        EncryptionSettings = new[]
        {
            new AzureNative.Compute.Inputs.EncryptionSettingsElementArgs
            {
                DiskEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultAndSecretReferenceArgs
                {
                    SecretUrl = "string",
                    SourceVault = new AzureNative.Compute.Inputs.SourceVaultArgs
                    {
                        Id = "string",
                    },
                },
                KeyEncryptionKey = new AzureNative.Compute.Inputs.KeyVaultAndKeyReferenceArgs
                {
                    KeyUrl = "string",
                    SourceVault = new AzureNative.Compute.Inputs.SourceVaultArgs
                    {
                        Id = "string",
                    },
                },
            },
        },
        EncryptionSettingsVersion = "string",
    },
    ExtendedLocation = new AzureNative.Compute.Inputs.ExtendedLocationArgs
    {
        Name = "string",
        Type = "string",
    },
    Zones = new[]
    {
        "string",
    },
    DataAccessAuthMode = "string",
    PublicNetworkAccess = "string",
    NetworkAccessPolicy = "string",
    OptimizedForFrequentAttach = false,
    OsType = AzureNative.Compute.OperatingSystemTypes.Windows,
    MaxShares = 0,
    PurchasePlan = new AzureNative.Compute.Inputs.PurchasePlanArgs
    {
        Name = "string",
        Product = "string",
        Publisher = "string",
        PromotionCode = "string",
    },
    CompletionPercent = 0,
    SecurityProfile = new AzureNative.Compute.Inputs.DiskSecurityProfileArgs
    {
        SecureVMDiskEncryptionSetId = "string",
        SecurityType = "string",
    },
    Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
    {
        Name = "string",
    },
    SupportedCapabilities = new AzureNative.Compute.Inputs.SupportedCapabilitiesArgs
    {
        AcceleratedNetwork = false,
        Architecture = "string",
        DiskControllerTypes = "string",
    },
    SupportsHibernation = false,
    Location = "string",
    Tier = "string",
    BurstingEnabled = false,
});
example, err := compute.NewDisk(ctx, "diskResource", &compute.DiskArgs{
	CreationData: &compute.CreationDataArgs{
		CreateOption: pulumi.String("string"),
		GalleryImageReference: &compute.ImageDiskReferenceArgs{
			CommunityGalleryImageId: pulumi.String("string"),
			Id:                      pulumi.String("string"),
			Lun:                     pulumi.Int(0),
			SharedGalleryImageId:    pulumi.String("string"),
		},
		ImageReference: &compute.ImageDiskReferenceArgs{
			CommunityGalleryImageId: pulumi.String("string"),
			Id:                      pulumi.String("string"),
			Lun:                     pulumi.Int(0),
			SharedGalleryImageId:    pulumi.String("string"),
		},
		LogicalSectorSize: pulumi.Int(0),
		PerformancePlus:   pulumi.Bool(false),
		SecurityDataUri:   pulumi.String("string"),
		SourceResourceId:  pulumi.String("string"),
		SourceUri:         pulumi.String("string"),
		StorageAccountId:  pulumi.String("string"),
		UploadSizeBytes:   pulumi.Float64(0),
	},
	ResourceGroupName: pulumi.String("string"),
	HyperVGeneration:  pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	DiskAccessId:      pulumi.String("string"),
	DiskIOPSReadOnly:  pulumi.Float64(0),
	DiskIOPSReadWrite: pulumi.Float64(0),
	DiskMBpsReadOnly:  pulumi.Float64(0),
	DiskMBpsReadWrite: pulumi.Float64(0),
	DiskName:          pulumi.String("string"),
	DiskSizeGB:        pulumi.Int(0),
	Encryption: &compute.EncryptionArgs{
		DiskEncryptionSetId: pulumi.String("string"),
		Type:                pulumi.String("string"),
	},
	EncryptionSettingsCollection: &compute.EncryptionSettingsCollectionArgs{
		Enabled: pulumi.Bool(false),
		EncryptionSettings: compute.EncryptionSettingsElementArray{
			&compute.EncryptionSettingsElementArgs{
				DiskEncryptionKey: &compute.KeyVaultAndSecretReferenceArgs{
					SecretUrl: pulumi.String("string"),
					SourceVault: &compute.SourceVaultArgs{
						Id: pulumi.String("string"),
					},
				},
				KeyEncryptionKey: &compute.KeyVaultAndKeyReferenceArgs{
					KeyUrl: pulumi.String("string"),
					SourceVault: &compute.SourceVaultArgs{
						Id: pulumi.String("string"),
					},
				},
			},
		},
		EncryptionSettingsVersion: pulumi.String("string"),
	},
	ExtendedLocation: &compute.ExtendedLocationArgs{
		Name: pulumi.String("string"),
		Type: pulumi.String("string"),
	},
	Zones: pulumi.StringArray{
		pulumi.String("string"),
	},
	DataAccessAuthMode:         pulumi.String("string"),
	PublicNetworkAccess:        pulumi.String("string"),
	NetworkAccessPolicy:        pulumi.String("string"),
	OptimizedForFrequentAttach: pulumi.Bool(false),
	OsType:                     compute.OperatingSystemTypesWindows,
	MaxShares:                  pulumi.Int(0),
	PurchasePlan: &compute.PurchasePlanArgs{
		Name:          pulumi.String("string"),
		Product:       pulumi.String("string"),
		Publisher:     pulumi.String("string"),
		PromotionCode: pulumi.String("string"),
	},
	CompletionPercent: pulumi.Float64(0),
	SecurityProfile: &compute.DiskSecurityProfileArgs{
		SecureVMDiskEncryptionSetId: pulumi.String("string"),
		SecurityType:                pulumi.String("string"),
	},
	Sku: &compute.DiskSkuArgs{
		Name: pulumi.String("string"),
	},
	SupportedCapabilities: &compute.SupportedCapabilitiesArgs{
		AcceleratedNetwork:  pulumi.Bool(false),
		Architecture:        pulumi.String("string"),
		DiskControllerTypes: pulumi.String("string"),
	},
	SupportsHibernation: pulumi.Bool(false),
	Location:            pulumi.String("string"),
	Tier:                pulumi.String("string"),
	BurstingEnabled:     pulumi.Bool(false),
})
var diskResource = new Disk("diskResource", DiskArgs.builder()
    .creationData(CreationDataArgs.builder()
        .createOption("string")
        .galleryImageReference(ImageDiskReferenceArgs.builder()
            .communityGalleryImageId("string")
            .id("string")
            .lun(0)
            .sharedGalleryImageId("string")
            .build())
        .imageReference(ImageDiskReferenceArgs.builder()
            .communityGalleryImageId("string")
            .id("string")
            .lun(0)
            .sharedGalleryImageId("string")
            .build())
        .logicalSectorSize(0)
        .performancePlus(false)
        .securityDataUri("string")
        .sourceResourceId("string")
        .sourceUri("string")
        .storageAccountId("string")
        .uploadSizeBytes(0)
        .build())
    .resourceGroupName("string")
    .hyperVGeneration("string")
    .tags(Map.of("string", "string"))
    .diskAccessId("string")
    .diskIOPSReadOnly(0)
    .diskIOPSReadWrite(0)
    .diskMBpsReadOnly(0)
    .diskMBpsReadWrite(0)
    .diskName("string")
    .diskSizeGB(0)
    .encryption(EncryptionArgs.builder()
        .diskEncryptionSetId("string")
        .type("string")
        .build())
    .encryptionSettingsCollection(EncryptionSettingsCollectionArgs.builder()
        .enabled(false)
        .encryptionSettings(EncryptionSettingsElementArgs.builder()
            .diskEncryptionKey(KeyVaultAndSecretReferenceArgs.builder()
                .secretUrl("string")
                .sourceVault(SourceVaultArgs.builder()
                    .id("string")
                    .build())
                .build())
            .keyEncryptionKey(KeyVaultAndKeyReferenceArgs.builder()
                .keyUrl("string")
                .sourceVault(SourceVaultArgs.builder()
                    .id("string")
                    .build())
                .build())
            .build())
        .encryptionSettingsVersion("string")
        .build())
    .extendedLocation(ExtendedLocationArgs.builder()
        .name("string")
        .type("string")
        .build())
    .zones("string")
    .dataAccessAuthMode("string")
    .publicNetworkAccess("string")
    .networkAccessPolicy("string")
    .optimizedForFrequentAttach(false)
    .osType("Windows")
    .maxShares(0)
    .purchasePlan(PurchasePlanArgs.builder()
        .name("string")
        .product("string")
        .publisher("string")
        .promotionCode("string")
        .build())
    .completionPercent(0)
    .securityProfile(DiskSecurityProfileArgs.builder()
        .secureVMDiskEncryptionSetId("string")
        .securityType("string")
        .build())
    .sku(DiskSkuArgs.builder()
        .name("string")
        .build())
    .supportedCapabilities(SupportedCapabilitiesArgs.builder()
        .acceleratedNetwork(false)
        .architecture("string")
        .diskControllerTypes("string")
        .build())
    .supportsHibernation(false)
    .location("string")
    .tier("string")
    .burstingEnabled(false)
    .build());
disk_resource = azure_native.compute.Disk("diskResource",
    creation_data={
        "create_option": "string",
        "gallery_image_reference": {
            "community_gallery_image_id": "string",
            "id": "string",
            "lun": 0,
            "shared_gallery_image_id": "string",
        },
        "image_reference": {
            "community_gallery_image_id": "string",
            "id": "string",
            "lun": 0,
            "shared_gallery_image_id": "string",
        },
        "logical_sector_size": 0,
        "performance_plus": False,
        "security_data_uri": "string",
        "source_resource_id": "string",
        "source_uri": "string",
        "storage_account_id": "string",
        "upload_size_bytes": 0,
    },
    resource_group_name="string",
    hyper_v_generation="string",
    tags={
        "string": "string",
    },
    disk_access_id="string",
    disk_iops_read_only=0,
    disk_iops_read_write=0,
    disk_m_bps_read_only=0,
    disk_m_bps_read_write=0,
    disk_name="string",
    disk_size_gb=0,
    encryption={
        "disk_encryption_set_id": "string",
        "type": "string",
    },
    encryption_settings_collection={
        "enabled": False,
        "encryption_settings": [{
            "disk_encryption_key": {
                "secret_url": "string",
                "source_vault": {
                    "id": "string",
                },
            },
            "key_encryption_key": {
                "key_url": "string",
                "source_vault": {
                    "id": "string",
                },
            },
        }],
        "encryption_settings_version": "string",
    },
    extended_location={
        "name": "string",
        "type": "string",
    },
    zones=["string"],
    data_access_auth_mode="string",
    public_network_access="string",
    network_access_policy="string",
    optimized_for_frequent_attach=False,
    os_type=azure_native.compute.OperatingSystemTypes.WINDOWS,
    max_shares=0,
    purchase_plan={
        "name": "string",
        "product": "string",
        "publisher": "string",
        "promotion_code": "string",
    },
    completion_percent=0,
    security_profile={
        "secure_vm_disk_encryption_set_id": "string",
        "security_type": "string",
    },
    sku={
        "name": "string",
    },
    supported_capabilities={
        "accelerated_network": False,
        "architecture": "string",
        "disk_controller_types": "string",
    },
    supports_hibernation=False,
    location="string",
    tier="string",
    bursting_enabled=False)
const diskResource = new azure_native.compute.Disk("diskResource", {
    creationData: {
        createOption: "string",
        galleryImageReference: {
            communityGalleryImageId: "string",
            id: "string",
            lun: 0,
            sharedGalleryImageId: "string",
        },
        imageReference: {
            communityGalleryImageId: "string",
            id: "string",
            lun: 0,
            sharedGalleryImageId: "string",
        },
        logicalSectorSize: 0,
        performancePlus: false,
        securityDataUri: "string",
        sourceResourceId: "string",
        sourceUri: "string",
        storageAccountId: "string",
        uploadSizeBytes: 0,
    },
    resourceGroupName: "string",
    hyperVGeneration: "string",
    tags: {
        string: "string",
    },
    diskAccessId: "string",
    diskIOPSReadOnly: 0,
    diskIOPSReadWrite: 0,
    diskMBpsReadOnly: 0,
    diskMBpsReadWrite: 0,
    diskName: "string",
    diskSizeGB: 0,
    encryption: {
        diskEncryptionSetId: "string",
        type: "string",
    },
    encryptionSettingsCollection: {
        enabled: false,
        encryptionSettings: [{
            diskEncryptionKey: {
                secretUrl: "string",
                sourceVault: {
                    id: "string",
                },
            },
            keyEncryptionKey: {
                keyUrl: "string",
                sourceVault: {
                    id: "string",
                },
            },
        }],
        encryptionSettingsVersion: "string",
    },
    extendedLocation: {
        name: "string",
        type: "string",
    },
    zones: ["string"],
    dataAccessAuthMode: "string",
    publicNetworkAccess: "string",
    networkAccessPolicy: "string",
    optimizedForFrequentAttach: false,
    osType: azure_native.compute.OperatingSystemTypes.Windows,
    maxShares: 0,
    purchasePlan: {
        name: "string",
        product: "string",
        publisher: "string",
        promotionCode: "string",
    },
    completionPercent: 0,
    securityProfile: {
        secureVMDiskEncryptionSetId: "string",
        securityType: "string",
    },
    sku: {
        name: "string",
    },
    supportedCapabilities: {
        acceleratedNetwork: false,
        architecture: "string",
        diskControllerTypes: "string",
    },
    supportsHibernation: false,
    location: "string",
    tier: "string",
    burstingEnabled: false,
});
type: azure-native:compute:Disk
properties:
    burstingEnabled: false
    completionPercent: 0
    creationData:
        createOption: string
        galleryImageReference:
            communityGalleryImageId: string
            id: string
            lun: 0
            sharedGalleryImageId: string
        imageReference:
            communityGalleryImageId: string
            id: string
            lun: 0
            sharedGalleryImageId: string
        logicalSectorSize: 0
        performancePlus: false
        securityDataUri: string
        sourceResourceId: string
        sourceUri: string
        storageAccountId: string
        uploadSizeBytes: 0
    dataAccessAuthMode: string
    diskAccessId: string
    diskIOPSReadOnly: 0
    diskIOPSReadWrite: 0
    diskMBpsReadOnly: 0
    diskMBpsReadWrite: 0
    diskName: string
    diskSizeGB: 0
    encryption:
        diskEncryptionSetId: string
        type: string
    encryptionSettingsCollection:
        enabled: false
        encryptionSettings:
            - diskEncryptionKey:
                secretUrl: string
                sourceVault:
                    id: string
              keyEncryptionKey:
                keyUrl: string
                sourceVault:
                    id: string
        encryptionSettingsVersion: string
    extendedLocation:
        name: string
        type: string
    hyperVGeneration: string
    location: string
    maxShares: 0
    networkAccessPolicy: string
    optimizedForFrequentAttach: false
    osType: Windows
    publicNetworkAccess: string
    purchasePlan:
        name: string
        product: string
        promotionCode: string
        publisher: string
    resourceGroupName: string
    securityProfile:
        secureVMDiskEncryptionSetId: string
        securityType: string
    sku:
        name: string
    supportedCapabilities:
        acceleratedNetwork: false
        architecture: string
        diskControllerTypes: string
    supportsHibernation: false
    tags:
        string: string
    tier: string
    zones:
        - string
Disk Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Disk resource accepts the following input properties:
- CreationData Pulumi.Azure Native. Compute. Inputs. Creation Data 
- Disk source information. CreationData information cannot be changed after the disk has been created.
- ResourceGroup stringName 
- The name of the resource group.
- BurstingEnabled bool
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- CompletionPercent double
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- DataAccess string | Pulumi.Auth Mode Azure Native. Compute. Data Access Auth Mode 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- DiskAccess stringId 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- DiskIOPSRead doubleOnly 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- DiskIOPSRead doubleWrite 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- DiskMBps doubleRead Only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- DiskMBps doubleRead Write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- DiskName string
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- DiskSize intGB 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- Encryption
Pulumi.Azure Native. Compute. Inputs. Encryption 
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- EncryptionSettings Pulumi.Collection Azure Native. Compute. Inputs. Encryption Settings Collection 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- ExtendedLocation Pulumi.Azure Native. Compute. Inputs. Extended Location 
- The extended location where the disk will be created. Extended location cannot be changed.
- HyperVGeneration string | Pulumi.Azure Native. Compute. Hyper VGeneration 
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- Location string
- Resource location
- 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.
- NetworkAccess string | Pulumi.Policy Azure Native. Compute. Network Access Policy 
- Policy for accessing the disk via network.
- OptimizedFor boolFrequent Attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- OsType Pulumi.Azure Native. Compute. Operating System Types 
- The Operating System type.
- PublicNetwork string | Pulumi.Access Azure Native. Compute. Public Network Access 
- Policy for controlling export on the disk.
- PurchasePlan Pulumi.Azure Native. Compute. Inputs. Purchase Plan 
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- SecurityProfile Pulumi.Azure Native. Compute. Inputs. Disk Security Profile 
- Contains the security related information for the resource.
- Sku
Pulumi.Azure Native. Compute. Inputs. Disk Sku 
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- SupportedCapabilities Pulumi.Azure Native. Compute. Inputs. Supported Capabilities 
- List of supported capabilities for the image from which the OS disk was created.
- SupportsHibernation bool
- Indicates the OS on a disk supports hibernation.
- Dictionary<string, string>
- Resource tags
- Tier string
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- Zones List<string>
- The Logical zone list for Disk.
- CreationData CreationData Args 
- Disk source information. CreationData information cannot be changed after the disk has been created.
- ResourceGroup stringName 
- The name of the resource group.
- BurstingEnabled bool
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- CompletionPercent float64
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- DataAccess string | DataAuth Mode Access Auth Mode 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- DiskAccess stringId 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- DiskIOPSRead float64Only 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- DiskIOPSRead float64Write 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- DiskMBps float64Read Only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- DiskMBps float64Read Write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- DiskName string
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- DiskSize intGB 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- Encryption
EncryptionArgs 
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- EncryptionSettings EncryptionCollection Settings Collection Args 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- ExtendedLocation ExtendedLocation Args 
- The extended location where the disk will be created. Extended location cannot be changed.
- HyperVGeneration string | HyperVGeneration 
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- Location string
- Resource location
- 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.
- NetworkAccess string | NetworkPolicy Access Policy 
- Policy for accessing the disk via network.
- OptimizedFor boolFrequent Attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- OsType OperatingSystem Types 
- The Operating System type.
- PublicNetwork string | PublicAccess Network Access 
- Policy for controlling export on the disk.
- PurchasePlan PurchasePlan Args 
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- SecurityProfile DiskSecurity Profile Args 
- Contains the security related information for the resource.
- Sku
DiskSku Args 
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- SupportedCapabilities SupportedCapabilities Args 
- List of supported capabilities for the image from which the OS disk was created.
- SupportsHibernation bool
- Indicates the OS on a disk supports hibernation.
- map[string]string
- Resource tags
- Tier string
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- Zones []string
- The Logical zone list for Disk.
- creationData CreationData 
- Disk source information. CreationData information cannot be changed after the disk has been created.
- resourceGroup StringName 
- The name of the resource group.
- burstingEnabled Boolean
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- completionPercent Double
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- dataAccess String | DataAuth Mode Access Auth Mode 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- diskAccess StringId 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- diskIOPSRead DoubleOnly 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- diskIOPSRead DoubleWrite 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- diskMBps DoubleRead Only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskMBps DoubleRead Write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskName String
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- diskSize IntegerGB 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- encryption Encryption
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- encryptionSettings EncryptionCollection Settings Collection 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- extendedLocation ExtendedLocation 
- The extended location where the disk will be created. Extended location cannot be changed.
- hyperVGeneration String | HyperVGeneration 
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- location String
- Resource location
- 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.
- networkAccess String | NetworkPolicy Access Policy 
- Policy for accessing the disk via network.
- optimizedFor BooleanFrequent Attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- osType OperatingSystem Types 
- The Operating System type.
- publicNetwork String | PublicAccess Network Access 
- Policy for controlling export on the disk.
- purchasePlan PurchasePlan 
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- securityProfile DiskSecurity Profile 
- Contains the security related information for the resource.
- sku
DiskSku 
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- supportedCapabilities SupportedCapabilities 
- List of supported capabilities for the image from which the OS disk was created.
- supportsHibernation Boolean
- Indicates the OS on a disk supports hibernation.
- Map<String,String>
- Resource tags
- tier String
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- zones List<String>
- The Logical zone list for Disk.
- creationData CreationData 
- Disk source information. CreationData information cannot be changed after the disk has been created.
- resourceGroup stringName 
- The name of the resource group.
- burstingEnabled boolean
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- completionPercent number
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- dataAccess string | DataAuth Mode Access Auth Mode 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- diskAccess stringId 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- diskIOPSRead numberOnly 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- diskIOPSRead numberWrite 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- diskMBps numberRead Only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskMBps numberRead Write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskName string
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- diskSize numberGB 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- encryption Encryption
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- encryptionSettings EncryptionCollection Settings Collection 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- extendedLocation ExtendedLocation 
- The extended location where the disk will be created. Extended location cannot be changed.
- hyperVGeneration string | HyperVGeneration 
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- location string
- Resource location
- 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.
- networkAccess string | NetworkPolicy Access Policy 
- Policy for accessing the disk via network.
- optimizedFor booleanFrequent Attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- osType OperatingSystem Types 
- The Operating System type.
- publicNetwork string | PublicAccess Network Access 
- Policy for controlling export on the disk.
- purchasePlan PurchasePlan 
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- securityProfile DiskSecurity Profile 
- Contains the security related information for the resource.
- sku
DiskSku 
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- supportedCapabilities SupportedCapabilities 
- List of supported capabilities for the image from which the OS disk was created.
- supportsHibernation boolean
- Indicates the OS on a disk supports hibernation.
- {[key: string]: string}
- Resource tags
- tier string
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- zones string[]
- The Logical zone list for Disk.
- creation_data CreationData Args 
- Disk source information. CreationData information cannot be changed after the disk has been created.
- resource_group_ strname 
- The name of the resource group.
- bursting_enabled bool
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- completion_percent float
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- data_access_ str | Dataauth_ mode Access Auth Mode 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- disk_access_ strid 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- disk_iops_ floatread_ only 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- disk_iops_ floatread_ write 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- disk_m_ floatbps_ read_ only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- disk_m_ floatbps_ read_ write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- disk_name str
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- disk_size_ intgb 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- encryption
EncryptionArgs 
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- encryption_settings_ Encryptioncollection Settings Collection Args 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- extended_location ExtendedLocation Args 
- The extended location where the disk will be created. Extended location cannot be changed.
- hyper_v_ str | Hypergeneration VGeneration 
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- location str
- Resource location
- 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.
- network_access_ str | Networkpolicy Access Policy 
- Policy for accessing the disk via network.
- optimized_for_ boolfrequent_ attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- os_type OperatingSystem Types 
- The Operating System type.
- public_network_ str | Publicaccess Network Access 
- Policy for controlling export on the disk.
- purchase_plan PurchasePlan Args 
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- security_profile DiskSecurity Profile Args 
- Contains the security related information for the resource.
- sku
DiskSku Args 
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- supported_capabilities SupportedCapabilities Args 
- List of supported capabilities for the image from which the OS disk was created.
- supports_hibernation bool
- Indicates the OS on a disk supports hibernation.
- Mapping[str, str]
- Resource tags
- tier str
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- zones Sequence[str]
- The Logical zone list for Disk.
- creationData Property Map
- Disk source information. CreationData information cannot be changed after the disk has been created.
- resourceGroup StringName 
- The name of the resource group.
- burstingEnabled Boolean
- Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks.
- completionPercent Number
- Percentage complete for the background copy when a resource is created via the CopyStart operation.
- dataAccess String | "AzureAuth Mode Active Directory" | "None" 
- Additional authentication requirements when exporting or uploading to a disk or snapshot.
- diskAccess StringId 
- ARM id of the DiskAccess resource for using private endpoints on disks.
- diskIOPSRead NumberOnly 
- The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes.
- diskIOPSRead NumberWrite 
- The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
- diskMBps NumberRead Only 
- The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskMBps NumberRead Write 
- The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10.
- diskName String
- The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.
- diskSize NumberGB 
- If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size.
- encryption Property Map
- Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
- encryptionSettings Property MapCollection 
- Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
- extendedLocation Property Map
- The extended location where the disk will be created. Extended location cannot be changed.
- hyperVGeneration String | "V1" | "V2"
- The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
- location String
- Resource location
- 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.
- networkAccess String | "AllowPolicy All" | "Allow Private" | "Deny All" 
- Policy for accessing the disk via network.
- optimizedFor BooleanFrequent Attach 
- Setting this property to true improves reliability and performance of data disks that are frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault domain of the virtual machine.
- osType "Windows" | "Linux"
- The Operating System type.
- publicNetwork String | "Enabled" | "Disabled"Access 
- Policy for controlling export on the disk.
- purchasePlan Property Map
- Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
- securityProfile Property Map
- Contains the security related information for the resource.
- sku Property Map
- The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or PremiumV2_LRS.
- supportedCapabilities Property Map
- List of supported capabilities for the image from which the OS disk was created.
- supportsHibernation Boolean
- Indicates the OS on a disk supports hibernation.
- Map<String>
- Resource tags
- tier String
- Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks.
- zones List<String>
- The Logical zone list for Disk.
Outputs
All input properties are implicitly available as output properties. Additionally, the Disk resource produces the following output properties:
- BurstingEnabled stringTime 
- Latest time when bursting was last enabled on a disk.
- DiskSize doubleBytes 
- The size of the disk in bytes. This field is read only.
- DiskState string
- The state of the disk.
- Id string
- The provider-assigned unique ID for this managed resource.
- ManagedBy string
- A relative URI containing the ID of the VM that has the disk attached.
- ManagedBy List<string>Extended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- Name string
- Resource name
- PropertyUpdates Pulumi.In Progress Azure Native. Compute. Outputs. Property Updates In Progress Response 
- Properties of the disk for which update is pending.
- ProvisioningState string
- The disk provisioning state.
- 
List<Pulumi.Azure Native. Compute. Outputs. Share Info Element Response> 
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- TimeCreated string
- The time when the disk was created.
- Type string
- Resource type
- UniqueId string
- Unique Guid identifying the resource.
- BurstingEnabled stringTime 
- Latest time when bursting was last enabled on a disk.
- DiskSize float64Bytes 
- The size of the disk in bytes. This field is read only.
- DiskState string
- The state of the disk.
- Id string
- The provider-assigned unique ID for this managed resource.
- ManagedBy string
- A relative URI containing the ID of the VM that has the disk attached.
- ManagedBy []stringExtended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- Name string
- Resource name
- PropertyUpdates PropertyIn Progress Updates In Progress Response 
- Properties of the disk for which update is pending.
- ProvisioningState string
- The disk provisioning state.
- 
[]ShareInfo Element Response 
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- TimeCreated string
- The time when the disk was created.
- Type string
- Resource type
- UniqueId string
- Unique Guid identifying the resource.
- burstingEnabled StringTime 
- Latest time when bursting was last enabled on a disk.
- diskSize DoubleBytes 
- The size of the disk in bytes. This field is read only.
- diskState String
- The state of the disk.
- id String
- The provider-assigned unique ID for this managed resource.
- managedBy String
- A relative URI containing the ID of the VM that has the disk attached.
- managedBy List<String>Extended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- name String
- Resource name
- propertyUpdates PropertyIn Progress Updates In Progress Response 
- Properties of the disk for which update is pending.
- provisioningState String
- The disk provisioning state.
- 
List<ShareInfo Element Response> 
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- timeCreated String
- The time when the disk was created.
- type String
- Resource type
- uniqueId String
- Unique Guid identifying the resource.
- burstingEnabled stringTime 
- Latest time when bursting was last enabled on a disk.
- diskSize numberBytes 
- The size of the disk in bytes. This field is read only.
- diskState string
- The state of the disk.
- id string
- The provider-assigned unique ID for this managed resource.
- managedBy string
- A relative URI containing the ID of the VM that has the disk attached.
- managedBy string[]Extended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- name string
- Resource name
- propertyUpdates PropertyIn Progress Updates In Progress Response 
- Properties of the disk for which update is pending.
- provisioningState string
- The disk provisioning state.
- 
ShareInfo Element Response[] 
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- timeCreated string
- The time when the disk was created.
- type string
- Resource type
- uniqueId string
- Unique Guid identifying the resource.
- bursting_enabled_ strtime 
- Latest time when bursting was last enabled on a disk.
- disk_size_ floatbytes 
- The size of the disk in bytes. This field is read only.
- disk_state str
- The state of the disk.
- id str
- The provider-assigned unique ID for this managed resource.
- managed_by str
- A relative URI containing the ID of the VM that has the disk attached.
- managed_by_ Sequence[str]extended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- name str
- Resource name
- property_updates_ Propertyin_ progress Updates In Progress Response 
- Properties of the disk for which update is pending.
- provisioning_state str
- The disk provisioning state.
- 
Sequence[ShareInfo Element Response] 
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- time_created str
- The time when the disk was created.
- type str
- Resource type
- unique_id str
- Unique Guid identifying the resource.
- burstingEnabled StringTime 
- Latest time when bursting was last enabled on a disk.
- diskSize NumberBytes 
- The size of the disk in bytes. This field is read only.
- diskState String
- The state of the disk.
- id String
- The provider-assigned unique ID for this managed resource.
- managedBy String
- A relative URI containing the ID of the VM that has the disk attached.
- managedBy List<String>Extended 
- List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- name String
- Resource name
- propertyUpdates Property MapIn Progress 
- Properties of the disk for which update is pending.
- provisioningState String
- The disk provisioning state.
- List<Property Map>
- Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs.
- timeCreated String
- The time when the disk was created.
- type String
- Resource type
- uniqueId String
- Unique Guid identifying the resource.
Supporting Types
Architecture, ArchitectureArgs  
- X64
- x64
- Arm64
- Arm64
- ArchitectureX64 
- x64
- ArchitectureArm64 
- Arm64
- X64
- x64
- Arm64
- Arm64
- X64
- x64
- Arm64
- Arm64
- X64
- x64
- ARM64
- Arm64
- "x64"
- x64
- "Arm64"
- Arm64
CreationData, CreationDataArgs    
- CreateOption string | Pulumi.Azure Native. Compute. Disk Create Option 
- This enumerates the possible sources of a disk's creation.
- GalleryImage Pulumi.Reference Azure Native. Compute. Inputs. Image Disk Reference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- ImageReference Pulumi.Azure Native. Compute. Inputs. Image Disk Reference 
- Disk source information for PIR or user images.
- LogicalSector intSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- PerformancePlus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- SecurityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- SourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- SourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- StorageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- UploadSize doubleBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- CreateOption string | DiskCreate Option 
- This enumerates the possible sources of a disk's creation.
- GalleryImage ImageReference Disk Reference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- ImageReference ImageDisk Reference 
- Disk source information for PIR or user images.
- LogicalSector intSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- PerformancePlus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- SecurityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- SourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- SourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- StorageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- UploadSize float64Bytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption String | DiskCreate Option 
- This enumerates the possible sources of a disk's creation.
- galleryImage ImageReference Disk Reference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference ImageDisk Reference 
- Disk source information for PIR or user images.
- logicalSector IntegerSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus Boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData StringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource StringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri String
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount StringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize DoubleBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption string | DiskCreate Option 
- This enumerates the possible sources of a disk's creation.
- galleryImage ImageReference Disk Reference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference ImageDisk Reference 
- Disk source information for PIR or user images.
- logicalSector numberSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize numberBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- create_option str | DiskCreate Option 
- This enumerates the possible sources of a disk's creation.
- gallery_image_ Imagereference Disk Reference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- image_reference ImageDisk Reference 
- Disk source information for PIR or user images.
- logical_sector_ intsize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performance_plus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- security_data_ struri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- source_resource_ strid 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- source_uri str
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storage_account_ strid 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- upload_size_ floatbytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption String | "Empty" | "Attach" | "FromImage" | "Import" | "Copy" | "Restore" | "Upload" | "Copy Start" | "Import Secure" | "Upload Prepared Secure" 
- This enumerates the possible sources of a disk's creation.
- galleryImage Property MapReference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference Property Map
- Disk source information for PIR or user images.
- logicalSector NumberSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus Boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData StringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource StringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri String
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount StringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize NumberBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
CreationDataResponse, CreationDataResponseArgs      
- CreateOption string
- This enumerates the possible sources of a disk's creation.
- SourceUnique stringId 
- If this field is set, this is the unique id identifying the source of this resource.
- GalleryImage Pulumi.Reference Azure Native. Compute. Inputs. Image Disk Reference Response 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- ImageReference Pulumi.Azure Native. Compute. Inputs. Image Disk Reference Response 
- Disk source information for PIR or user images.
- LogicalSector intSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- PerformancePlus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- SecurityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- SourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- SourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- StorageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- UploadSize doubleBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- CreateOption string
- This enumerates the possible sources of a disk's creation.
- SourceUnique stringId 
- If this field is set, this is the unique id identifying the source of this resource.
- GalleryImage ImageReference Disk Reference Response 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- ImageReference ImageDisk Reference Response 
- Disk source information for PIR or user images.
- LogicalSector intSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- PerformancePlus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- SecurityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- SourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- SourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- StorageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- UploadSize float64Bytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption String
- This enumerates the possible sources of a disk's creation.
- sourceUnique StringId 
- If this field is set, this is the unique id identifying the source of this resource.
- galleryImage ImageReference Disk Reference Response 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference ImageDisk Reference Response 
- Disk source information for PIR or user images.
- logicalSector IntegerSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus Boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData StringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource StringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri String
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount StringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize DoubleBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption string
- This enumerates the possible sources of a disk's creation.
- sourceUnique stringId 
- If this field is set, this is the unique id identifying the source of this resource.
- galleryImage ImageReference Disk Reference Response 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference ImageDisk Reference Response 
- Disk source information for PIR or user images.
- logicalSector numberSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData stringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource stringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri string
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount stringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize numberBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- create_option str
- This enumerates the possible sources of a disk's creation.
- source_unique_ strid 
- If this field is set, this is the unique id identifying the source of this resource.
- gallery_image_ Imagereference Disk Reference Response 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- image_reference ImageDisk Reference Response 
- Disk source information for PIR or user images.
- logical_sector_ intsize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performance_plus bool
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- security_data_ struri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- source_resource_ strid 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- source_uri str
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storage_account_ strid 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- upload_size_ floatbytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
- createOption String
- This enumerates the possible sources of a disk's creation.
- sourceUnique StringId 
- If this field is set, this is the unique id identifying the source of this resource.
- galleryImage Property MapReference 
- Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
- imageReference Property Map
- Disk source information for PIR or user images.
- logicalSector NumberSize 
- Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
- performancePlus Boolean
- Set this flag to true to get a boost on the performance target of the disk deployed, see here on the respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled.
- securityData StringUri 
- If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.
- sourceResource StringId 
- If createOption is Copy, this is the ARM id of the source snapshot or disk.
- sourceUri String
- If createOption is Import, this is the URI of a blob to be imported into a managed disk.
- storageAccount StringId 
- Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
- uploadSize NumberBytes 
- If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer).
DataAccessAuthMode, DataAccessAuthModeArgs        
- AzureActive Directory 
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- None
- NoneNo additional authentication would be performed when accessing export/upload URL.
- DataAccess Auth Mode Azure Active Directory 
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- DataAccess Auth Mode None 
- NoneNo additional authentication would be performed when accessing export/upload URL.
- AzureActive Directory 
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- None
- NoneNo additional authentication would be performed when accessing export/upload URL.
- AzureActive Directory 
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- None
- NoneNo additional authentication would be performed when accessing export/upload URL.
- AZURE_ACTIVE_DIRECTORY
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- NONE
- NoneNo additional authentication would be performed when accessing export/upload URL.
- "AzureActive Directory" 
- AzureActiveDirectoryWhen export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth.
- "None"
- NoneNo additional authentication would be performed when accessing export/upload URL.
DiskCreateOption, DiskCreateOptionArgs      
- Empty
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- Attach
- AttachDisk will be attached to a VM.
- FromImage 
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- Import
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- Copy
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- Restore
- RestoreCreate a new disk by copying from a backup recovery point.
- Upload
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- CopyStart 
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- ImportSecure 
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- UploadPrepared Secure 
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
- DiskCreate Option Empty 
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- DiskCreate Option Attach 
- AttachDisk will be attached to a VM.
- DiskCreate Option From Image 
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- DiskCreate Option Import 
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- DiskCreate Option Copy 
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- DiskCreate Option Restore 
- RestoreCreate a new disk by copying from a backup recovery point.
- DiskCreate Option Upload 
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- DiskCreate Option Copy Start 
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- DiskCreate Option Import Secure 
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- DiskCreate Option Upload Prepared Secure 
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
- Empty
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- Attach
- AttachDisk will be attached to a VM.
- FromImage 
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- Import
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- Copy
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- Restore
- RestoreCreate a new disk by copying from a backup recovery point.
- Upload
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- CopyStart 
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- ImportSecure 
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- UploadPrepared Secure 
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
- Empty
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- Attach
- AttachDisk will be attached to a VM.
- FromImage 
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- Import
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- Copy
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- Restore
- RestoreCreate a new disk by copying from a backup recovery point.
- Upload
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- CopyStart 
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- ImportSecure 
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- UploadPrepared Secure 
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
- EMPTY
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- ATTACH
- AttachDisk will be attached to a VM.
- FROM_IMAGE
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- IMPORT_
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- COPY
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- RESTORE
- RestoreCreate a new disk by copying from a backup recovery point.
- UPLOAD
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- COPY_START
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- IMPORT_SECURE
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- UPLOAD_PREPARED_SECURE
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
- "Empty"
- EmptyCreate an empty data disk of a size given by diskSizeGB.
- "Attach"
- AttachDisk will be attached to a VM.
- "FromImage" 
- FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
- "Import"
- ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
- "Copy"
- CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
- "Restore"
- RestoreCreate a new disk by copying from a backup recovery point.
- "Upload"
- UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
- "CopyStart" 
- CopyStartCreate a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source.
- "ImportSecure" 
- ImportSecureSimilar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId
- "UploadPrepared Secure" 
- UploadPreparedSecureSimilar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state
DiskSecurityProfile, DiskSecurityProfileArgs      
- SecureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- SecurityType string | Pulumi.Azure Native. Compute. Disk Security Types 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- SecureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- SecurityType string | DiskSecurity Types 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk StringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType String | DiskSecurity Types 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType string | DiskSecurity Types 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secure_vm_ strdisk_ encryption_ set_ id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- security_type str | DiskSecurity Types 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk StringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType String | "TrustedLaunch" | "Confidential VM_VMGuest State Only Encrypted With Platform Key" | "Confidential VM_Disk Encrypted With Platform Key" | "Confidential VM_Disk Encrypted With Customer Key" 
- Specifies the SecurityType of the VM. Applicable for OS disks only.
DiskSecurityProfileResponse, DiskSecurityProfileResponseArgs        
- SecureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- SecurityType string
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- SecureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- SecurityType string
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk StringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType String
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk stringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType string
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secure_vm_ strdisk_ encryption_ set_ id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- security_type str
- Specifies the SecurityType of the VM. Applicable for OS disks only.
- secureVMDisk StringEncryption Set Id 
- ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key
- securityType String
- Specifies the SecurityType of the VM. Applicable for OS disks only.
DiskSecurityTypes, DiskSecurityTypesArgs      
- TrustedLaunch 
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- ConfidentialVM_VMGuest State Only Encrypted With Platform Key 
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- ConfidentialVM_Disk Encrypted With Platform Key 
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- ConfidentialVM_Disk Encrypted With Customer Key 
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
- DiskSecurity Types Trusted Launch 
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- DiskSecurity Types_Confidential VM_VMGuest State Only Encrypted With Platform Key 
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- DiskSecurity Types_Confidential VM_Disk Encrypted With Platform Key 
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- DiskSecurity Types_Confidential VM_Disk Encrypted With Customer Key 
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
- TrustedLaunch 
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- ConfidentialVM_VMGuest State Only Encrypted With Platform Key 
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- ConfidentialVM_Disk Encrypted With Platform Key 
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- ConfidentialVM_Disk Encrypted With Customer Key 
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
- TrustedLaunch 
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- ConfidentialVM_VMGuest State Only Encrypted With Platform Key 
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- ConfidentialVM_Disk Encrypted With Platform Key 
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- ConfidentialVM_Disk Encrypted With Customer Key 
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
- TRUSTED_LAUNCH
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- CONFIDENTIAL_V_M_VM_GUEST_STATE_ONLY_ENCRYPTED_WITH_PLATFORM_KEY
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- CONFIDENTIAL_V_M_DISK_ENCRYPTED_WITH_PLATFORM_KEY
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- CONFIDENTIAL_V_M_DISK_ENCRYPTED_WITH_CUSTOMER_KEY
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
- "TrustedLaunch" 
- TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
- "ConfidentialVM_VMGuest State Only Encrypted With Platform Key" 
- ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKeyIndicates Confidential VM disk with only VM guest state encrypted
- "ConfidentialVM_Disk Encrypted With Platform Key" 
- ConfidentialVM_DiskEncryptedWithPlatformKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key
- "ConfidentialVM_Disk Encrypted With Customer Key" 
- ConfidentialVM_DiskEncryptedWithCustomerKeyIndicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key
DiskSku, DiskSkuArgs    
- Name
string | Pulumi.Azure Native. Compute. Disk Storage Account Types 
- The sku name.
- Name
string | DiskStorage Account Types 
- The sku name.
- name
String | DiskStorage Account Types 
- The sku name.
- name
string | DiskStorage Account Types 
- The sku name.
- name
str | DiskStorage Account Types 
- The sku name.
DiskSkuResponse, DiskSkuResponseArgs      
DiskStorageAccountTypes, DiskStorageAccountTypesArgs        
- Standard_LRS
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- Premium_LRS
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- StandardSSD_LRS 
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- UltraSSD_LRS 
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- Premium_ZRS
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- StandardSSD_ZRS 
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- PremiumV2_LRS 
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
- DiskStorage Account Types_Standard_LRS 
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- DiskStorage Account Types_Premium_LRS 
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- DiskStorage Account Types_Standard SSD_LRS 
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- DiskStorage Account Types_Ultra SSD_LRS 
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- DiskStorage Account Types_Premium_ZRS 
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- DiskStorage Account Types_Standard SSD_ZRS 
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- DiskStorage Account Types_Premium V2_LRS 
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
- Standard_LRS
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- Premium_LRS
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- StandardSSD_LRS 
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- UltraSSD_LRS 
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- Premium_ZRS
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- StandardSSD_ZRS 
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- PremiumV2_LRS 
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
- Standard_LRS
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- Premium_LRS
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- StandardSSD_LRS 
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- UltraSSD_LRS 
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- Premium_ZRS
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- StandardSSD_ZRS 
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- PremiumV2_LRS 
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
- STANDARD_LRS
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- PREMIUM_LRS
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- STANDARD_SS_D_LRS
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- ULTRA_SS_D_LRS
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- PREMIUM_ZRS
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- STANDARD_SS_D_ZRS
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- PREMIUM_V2_LRS
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
- "Standard_LRS"
- Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
- "Premium_LRS"
- Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
- "StandardSSD_LRS" 
- StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
- "UltraSSD_LRS" 
- UltraSSD_LRSUltra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads.
- "Premium_ZRS"
- Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
- "StandardSSD_ZRS" 
- StandardSSD_ZRSStandard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures.
- "PremiumV2_LRS" 
- PremiumV2_LRSPremium SSD v2 locally redundant storage. Best for production and performance-sensitive workloads that consistently require low latency and high IOPS and throughput.
Encryption, EncryptionArgs  
- DiskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- Type
string | Pulumi.Azure Native. Compute. Encryption Type 
- The type of key used to encrypt the data of the disk.
- DiskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- Type
string | EncryptionType 
- The type of key used to encrypt the data of the disk.
- diskEncryption StringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type
String | EncryptionType 
- The type of key used to encrypt the data of the disk.
- diskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type
string | EncryptionType 
- The type of key used to encrypt the data of the disk.
- disk_encryption_ strset_ id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type
str | EncryptionType 
- The type of key used to encrypt the data of the disk.
- diskEncryption StringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type
String | "EncryptionAt Rest With Platform Key" | "Encryption At Rest With Customer Key" | "Encryption At Rest With Platform And Customer Keys" 
- The type of key used to encrypt the data of the disk.
EncryptionResponse, EncryptionResponseArgs    
- DiskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- Type string
- The type of key used to encrypt the data of the disk.
- DiskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- Type string
- The type of key used to encrypt the data of the disk.
- diskEncryption StringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type String
- The type of key used to encrypt the data of the disk.
- diskEncryption stringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type string
- The type of key used to encrypt the data of the disk.
- disk_encryption_ strset_ id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type str
- The type of key used to encrypt the data of the disk.
- diskEncryption StringSet Id 
- ResourceId of the disk encryption set to use for enabling encryption at rest.
- type String
- The type of key used to encrypt the data of the disk.
EncryptionSettingsCollection, EncryptionSettingsCollectionArgs      
- Enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- EncryptionSettings List<Pulumi.Azure Native. Compute. Inputs. Encryption Settings Element> 
- A collection of encryption settings, one for each disk volume.
- EncryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- Enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- EncryptionSettings []EncryptionSettings Element 
- A collection of encryption settings, one for each disk volume.
- EncryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled Boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings List<EncryptionSettings Element> 
- A collection of encryption settings, one for each disk volume.
- encryptionSettings StringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings EncryptionSettings Element[] 
- A collection of encryption settings, one for each disk volume.
- encryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryption_settings Sequence[EncryptionSettings Element] 
- A collection of encryption settings, one for each disk volume.
- encryption_settings_ strversion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled Boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings List<Property Map>
- A collection of encryption settings, one for each disk volume.
- encryptionSettings StringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
EncryptionSettingsCollectionResponse, EncryptionSettingsCollectionResponseArgs        
- Enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- EncryptionSettings List<Pulumi.Azure Native. Compute. Inputs. Encryption Settings Element Response> 
- A collection of encryption settings, one for each disk volume.
- EncryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- Enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- EncryptionSettings []EncryptionSettings Element Response 
- A collection of encryption settings, one for each disk volume.
- EncryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled Boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings List<EncryptionSettings Element Response> 
- A collection of encryption settings, one for each disk volume.
- encryptionSettings StringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings EncryptionSettings Element Response[] 
- A collection of encryption settings, one for each disk volume.
- encryptionSettings stringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled bool
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryption_settings Sequence[EncryptionSettings Element Response] 
- A collection of encryption settings, one for each disk volume.
- encryption_settings_ strversion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
- enabled Boolean
- Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged.
- encryptionSettings List<Property Map>
- A collection of encryption settings, one for each disk volume.
- encryptionSettings StringVersion 
- Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption.
EncryptionSettingsElement, EncryptionSettingsElementArgs      
- DiskEncryption Pulumi.Key Azure Native. Compute. Inputs. Key Vault And Secret Reference 
- Key Vault Secret Url and vault id of the disk encryption key
- KeyEncryption Pulumi.Key Azure Native. Compute. Inputs. Key Vault And Key Reference 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- DiskEncryption KeyKey Vault And Secret Reference 
- Key Vault Secret Url and vault id of the disk encryption key
- KeyEncryption KeyKey Vault And Key Reference 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption KeyKey Vault And Secret Reference 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption KeyKey Vault And Key Reference 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption KeyKey Vault And Secret Reference 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption KeyKey Vault And Key Reference 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- disk_encryption_ Keykey Vault And Secret Reference 
- Key Vault Secret Url and vault id of the disk encryption key
- key_encryption_ Keykey Vault And Key Reference 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption Property MapKey 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption Property MapKey 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
EncryptionSettingsElementResponse, EncryptionSettingsElementResponseArgs        
- DiskEncryption Pulumi.Key Azure Native. Compute. Inputs. Key Vault And Secret Reference Response 
- Key Vault Secret Url and vault id of the disk encryption key
- KeyEncryption Pulumi.Key Azure Native. Compute. Inputs. Key Vault And Key Reference Response 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- DiskEncryption KeyKey Vault And Secret Reference Response 
- Key Vault Secret Url and vault id of the disk encryption key
- KeyEncryption KeyKey Vault And Key Reference Response 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption KeyKey Vault And Secret Reference Response 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption KeyKey Vault And Key Reference Response 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption KeyKey Vault And Secret Reference Response 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption KeyKey Vault And Key Reference Response 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- disk_encryption_ Keykey Vault And Secret Reference Response 
- Key Vault Secret Url and vault id of the disk encryption key
- key_encryption_ Keykey Vault And Key Reference Response 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
- diskEncryption Property MapKey 
- Key Vault Secret Url and vault id of the disk encryption key
- keyEncryption Property MapKey 
- Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key.
EncryptionType, EncryptionTypeArgs    
- EncryptionAt Rest With Platform Key 
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- EncryptionAt Rest With Customer Key 
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- EncryptionAt Rest With Platform And Customer Keys 
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
- EncryptionType Encryption At Rest With Platform Key 
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- EncryptionType Encryption At Rest With Customer Key 
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- EncryptionType Encryption At Rest With Platform And Customer Keys 
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
- EncryptionAt Rest With Platform Key 
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- EncryptionAt Rest With Customer Key 
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- EncryptionAt Rest With Platform And Customer Keys 
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
- EncryptionAt Rest With Platform Key 
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- EncryptionAt Rest With Customer Key 
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- EncryptionAt Rest With Platform And Customer Keys 
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
- ENCRYPTION_AT_REST_WITH_PLATFORM_KEY
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- ENCRYPTION_AT_REST_WITH_CUSTOMER_KEY
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- ENCRYPTION_AT_REST_WITH_PLATFORM_AND_CUSTOMER_KEYS
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
- "EncryptionAt Rest With Platform Key" 
- EncryptionAtRestWithPlatformKeyDisk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets.
- "EncryptionAt Rest With Customer Key" 
- EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
- "EncryptionAt Rest With Platform And Customer Keys" 
- EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
ExtendedLocation, ExtendedLocationArgs    
- Name string
- The name of the extended location.
- Type
string | Pulumi.Azure Native. Compute. Extended Location Types 
- The type of the extended location.
- Name string
- The name of the extended location.
- Type
string | ExtendedLocation Types 
- The type of the extended location.
- name String
- The name of the extended location.
- type
String | ExtendedLocation Types 
- The type of the extended location.
- name string
- The name of the extended location.
- type
string | ExtendedLocation Types 
- The type of the extended location.
- name str
- The name of the extended location.
- type
str | ExtendedLocation Types 
- The type of the extended location.
- name String
- The name of the extended location.
- type
String | "EdgeZone" 
- The type of the extended location.
ExtendedLocationResponse, ExtendedLocationResponseArgs      
ExtendedLocationTypes, ExtendedLocationTypesArgs      
- EdgeZone 
- EdgeZone
- ExtendedLocation Types Edge Zone 
- EdgeZone
- EdgeZone 
- EdgeZone
- EdgeZone 
- EdgeZone
- EDGE_ZONE
- EdgeZone
- "EdgeZone" 
- EdgeZone
HyperVGeneration, HyperVGenerationArgs    
- V1
- V1
- V2
- V2
- HyperVGeneration V1 
- V1
- HyperVGeneration V2 
- V2
- V1
- V1
- V2
- V2
- V1
- V1
- V2
- V2
- V1
- V1
- V2
- V2
- "V1"
- V1
- "V2"
- V2
ImageDiskReference, ImageDiskReferenceArgs      
- CommunityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- Id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- Lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- CommunityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- Id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- Lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery StringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id String
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun Integer
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- String
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun number
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- community_gallery_ strimage_ id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id str
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- str
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery StringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id String
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun Number
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- String
- A relative uri containing a direct shared Azure Compute Gallery image reference.
ImageDiskReferenceResponse, ImageDiskReferenceResponseArgs        
- CommunityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- Id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- Lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- CommunityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- Id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- Lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery StringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id String
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun Integer
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- String
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery stringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id string
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun number
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- string
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- community_gallery_ strimage_ id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id str
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun int
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- str
- A relative uri containing a direct shared Azure Compute Gallery image reference.
- communityGallery StringImage Id 
- A relative uri containing a community Azure Compute Gallery image reference.
- id String
- A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
- lun Number
- If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
- String
- A relative uri containing a direct shared Azure Compute Gallery image reference.
KeyVaultAndKeyReference, KeyVaultAndKeyReferenceArgs          
- KeyUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault Pulumi.Azure Native. Compute. Inputs. Source Vault 
- Resource id of the KeyVault containing the key or secret
- KeyUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- keyUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- keyUrl string
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- key_url str
- Url pointing to a key or secret in KeyVault
- source_vault SourceVault 
- Resource id of the KeyVault containing the key or secret
- keyUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault Property Map
- Resource id of the KeyVault containing the key or secret
KeyVaultAndKeyReferenceResponse, KeyVaultAndKeyReferenceResponseArgs            
- KeyUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault Pulumi.Azure Native. Compute. Inputs. Source Vault Response 
- Resource id of the KeyVault containing the key or secret
- KeyUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- keyUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- keyUrl string
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- key_url str
- Url pointing to a key or secret in KeyVault
- source_vault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- keyUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault Property Map
- Resource id of the KeyVault containing the key or secret
KeyVaultAndSecretReference, KeyVaultAndSecretReferenceArgs          
- SecretUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault Pulumi.Azure Native. Compute. Inputs. Source Vault 
- Resource id of the KeyVault containing the key or secret
- SecretUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- secretUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- secretUrl string
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault 
- Resource id of the KeyVault containing the key or secret
- secret_url str
- Url pointing to a key or secret in KeyVault
- source_vault SourceVault 
- Resource id of the KeyVault containing the key or secret
- secretUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault Property Map
- Resource id of the KeyVault containing the key or secret
KeyVaultAndSecretReferenceResponse, KeyVaultAndSecretReferenceResponseArgs            
- SecretUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault Pulumi.Azure Native. Compute. Inputs. Source Vault Response 
- Resource id of the KeyVault containing the key or secret
- SecretUrl string
- Url pointing to a key or secret in KeyVault
- SourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- secretUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- secretUrl string
- Url pointing to a key or secret in KeyVault
- sourceVault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- secret_url str
- Url pointing to a key or secret in KeyVault
- source_vault SourceVault Response 
- Resource id of the KeyVault containing the key or secret
- secretUrl String
- Url pointing to a key or secret in KeyVault
- sourceVault Property Map
- Resource id of the KeyVault containing the key or secret
NetworkAccessPolicy, NetworkAccessPolicyArgs      
- AllowAll 
- AllowAllThe disk can be exported or uploaded to from any network.
- AllowPrivate 
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- DenyAll 
- DenyAllThe disk cannot be exported.
- NetworkAccess Policy Allow All 
- AllowAllThe disk can be exported or uploaded to from any network.
- NetworkAccess Policy Allow Private 
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- NetworkAccess Policy Deny All 
- DenyAllThe disk cannot be exported.
- AllowAll 
- AllowAllThe disk can be exported or uploaded to from any network.
- AllowPrivate 
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- DenyAll 
- DenyAllThe disk cannot be exported.
- AllowAll 
- AllowAllThe disk can be exported or uploaded to from any network.
- AllowPrivate 
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- DenyAll 
- DenyAllThe disk cannot be exported.
- ALLOW_ALL
- AllowAllThe disk can be exported or uploaded to from any network.
- ALLOW_PRIVATE
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- DENY_ALL
- DenyAllThe disk cannot be exported.
- "AllowAll" 
- AllowAllThe disk can be exported or uploaded to from any network.
- "AllowPrivate" 
- AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
- "DenyAll" 
- DenyAllThe disk cannot be exported.
OperatingSystemTypes, OperatingSystemTypesArgs      
- Windows
- Windows
- Linux
- Linux
- OperatingSystem Types Windows 
- Windows
- OperatingSystem Types Linux 
- Linux
- Windows
- Windows
- Linux
- Linux
- Windows
- Windows
- Linux
- Linux
- WINDOWS
- Windows
- LINUX
- Linux
- "Windows"
- Windows
- "Linux"
- Linux
PropertyUpdatesInProgressResponse, PropertyUpdatesInProgressResponseArgs          
- TargetTier string
- The target performance tier of the disk if a tier change operation is in progress.
- TargetTier string
- The target performance tier of the disk if a tier change operation is in progress.
- targetTier String
- The target performance tier of the disk if a tier change operation is in progress.
- targetTier string
- The target performance tier of the disk if a tier change operation is in progress.
- target_tier str
- The target performance tier of the disk if a tier change operation is in progress.
- targetTier String
- The target performance tier of the disk if a tier change operation is in progress.
PublicNetworkAccess, PublicNetworkAccessArgs      
- Enabled
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- Disabled
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- PublicNetwork Access Enabled 
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- PublicNetwork Access Disabled 
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- Enabled
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- Disabled
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- Enabled
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- Disabled
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- ENABLED
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- DISABLED
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- "Enabled"
- EnabledYou can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
- "Disabled"
- DisabledYou cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate.
PurchasePlan, PurchasePlanArgs    
- Name string
- The plan ID.
- Product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- Publisher string
- The publisher ID.
- PromotionCode string
- The Offer Promotion Code.
- Name string
- The plan ID.
- Product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- Publisher string
- The publisher ID.
- PromotionCode string
- The Offer Promotion Code.
- name String
- The plan ID.
- product String
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher String
- The publisher ID.
- promotionCode String
- The Offer Promotion Code.
- name string
- The plan ID.
- product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher string
- The publisher ID.
- promotionCode string
- The Offer Promotion Code.
- name str
- The plan ID.
- product str
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher str
- The publisher ID.
- promotion_code str
- The Offer Promotion Code.
- name String
- The plan ID.
- product String
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher String
- The publisher ID.
- promotionCode String
- The Offer Promotion Code.
PurchasePlanResponse, PurchasePlanResponseArgs      
- Name string
- The plan ID.
- Product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- Publisher string
- The publisher ID.
- PromotionCode string
- The Offer Promotion Code.
- Name string
- The plan ID.
- Product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- Publisher string
- The publisher ID.
- PromotionCode string
- The Offer Promotion Code.
- name String
- The plan ID.
- product String
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher String
- The publisher ID.
- promotionCode String
- The Offer Promotion Code.
- name string
- The plan ID.
- product string
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher string
- The publisher ID.
- promotionCode string
- The Offer Promotion Code.
- name str
- The plan ID.
- product str
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher str
- The publisher ID.
- promotion_code str
- The Offer Promotion Code.
- name String
- The plan ID.
- product String
- Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
- publisher String
- The publisher ID.
- promotionCode String
- The Offer Promotion Code.
ShareInfoElementResponse, ShareInfoElementResponseArgs        
- VmUri string
- A relative URI containing the ID of the VM that has the disk attached.
- VmUri string
- A relative URI containing the ID of the VM that has the disk attached.
- vmUri String
- A relative URI containing the ID of the VM that has the disk attached.
- vmUri string
- A relative URI containing the ID of the VM that has the disk attached.
- vm_uri str
- A relative URI containing the ID of the VM that has the disk attached.
- vmUri String
- A relative URI containing the ID of the VM that has the disk attached.
SourceVault, SourceVaultArgs    
- Id string
- Resource Id
- Id string
- Resource Id
- id String
- Resource Id
- id string
- Resource Id
- id str
- Resource Id
- id String
- Resource Id
SourceVaultResponse, SourceVaultResponseArgs      
- Id string
- Resource Id
- Id string
- Resource Id
- id String
- Resource Id
- id string
- Resource Id
- id str
- Resource Id
- id String
- Resource Id
SupportedCapabilities, SupportedCapabilitiesArgs    
- AcceleratedNetwork bool
- True if the image from which the OS disk is created supports accelerated networking.
- Architecture
string | Pulumi.Azure Native. Compute. Architecture 
- CPU architecture supported by an OS disk.
- DiskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- AcceleratedNetwork bool
- True if the image from which the OS disk is created supports accelerated networking.
- Architecture string | Architecture
- CPU architecture supported by an OS disk.
- DiskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork Boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture String | Architecture
- CPU architecture supported by an OS disk.
- diskController StringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture string | Architecture
- CPU architecture supported by an OS disk.
- diskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- accelerated_network bool
- True if the image from which the OS disk is created supports accelerated networking.
- architecture str | Architecture
- CPU architecture supported by an OS disk.
- disk_controller_ strtypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork Boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture String | "x64" | "Arm64"
- CPU architecture supported by an OS disk.
- diskController StringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
SupportedCapabilitiesResponse, SupportedCapabilitiesResponseArgs      
- AcceleratedNetwork bool
- True if the image from which the OS disk is created supports accelerated networking.
- Architecture string
- CPU architecture supported by an OS disk.
- DiskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- AcceleratedNetwork bool
- True if the image from which the OS disk is created supports accelerated networking.
- Architecture string
- CPU architecture supported by an OS disk.
- DiskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork Boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture String
- CPU architecture supported by an OS disk.
- diskController StringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture string
- CPU architecture supported by an OS disk.
- diskController stringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- accelerated_network bool
- True if the image from which the OS disk is created supports accelerated networking.
- architecture str
- CPU architecture supported by an OS disk.
- disk_controller_ strtypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
- acceleratedNetwork Boolean
- True if the image from which the OS disk is created supports accelerated networking.
- architecture String
- CPU architecture supported by an OS disk.
- diskController StringTypes 
- The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:compute:Disk myDisk /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} 
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0