1. Packages
  2. Azure Native v1
  3. API Docs
  4. compute
  5. Disk
These are the docs for Azure Native v1. We recommenend using the latest version, Azure Native v2.
Azure Native v1 v1.104.0 published on Thursday, Jul 6, 2023 by Pulumi

azure-native.compute.Disk

Explore with Pulumi AI

Disk resource. API Version: 2020-12-01.

Example Usage

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 = "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",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
			},
			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("AllowPrivate"),
			ResourceGroupName:   pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.of("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")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    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",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="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="AllowPrivate",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "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",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
			},
			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
	})
}
Copy
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 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(Map.of("createOption", "Empty"))
            .diskName("myDisk")
            .diskSizeGB(200)
            .encryption(Map.of("diskEncryptionSetId", "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"))
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    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",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Empty",
    ),
    disk_name="myDisk",
    disk_size_gb=200,
    encryption=azure_native.compute.EncryptionArgs(
        disk_encryption_set_id="/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
    ),
    location="West US",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "Copy",
            SourceResourceId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Copy"),
				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
	})
}
Copy
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 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(Map.ofEntries(
                Map.entry("createOption", "Copy"),
                Map.entry("sourceResourceId", "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")
            ))
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Copy",
        sourceResourceId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Copy",
        source_resource_id="subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
    ),
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "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",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Import"),
				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
	})
}
Copy
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 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(Map.ofEntries(
                Map.entry("createOption", "Import"),
                Map.entry("sourceUri", "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"),
                Map.entry("storageAccountId", "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount")
            ))
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    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",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="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")
Copy
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
Copy

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 = "Import",
            SourceUri = "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Import"),
				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
	})
}
Copy
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 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(Map.ofEntries(
                Map.entry("createOption", "Import"),
                Map.entry("sourceUri", "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")
            ))
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Import",
        sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Import",
        source_uri="https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
    ),
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "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",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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.CreationDataResponse{
				CreateOption: pulumi.String("FromImage"),
				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
	})
}
Copy
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 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(Map.ofEntries(
                Map.entry("createOption", "FromImage"),
                Map.entry("imageReference", Map.of("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")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    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: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataResponseArgs(
        create_option="FromImage",
        image_reference=azure_native.compute.ImageDiskReferenceArgs(
            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")
Copy
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
Copy

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 = "Copy",
            SourceResourceId = "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
        },
        DiskName = "myDisk2",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Copy"),
				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
	})
}
Copy
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 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(Map.ofEntries(
                Map.entry("createOption", "Copy"),
                Map.entry("sourceResourceId", "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1")
            ))
            .diskName("myDisk2")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Copy",
        sourceResourceId: "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
    },
    diskName: "myDisk2",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Copy",
        source_resource_id="subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
    ),
    disk_name="myDisk2",
    location="West US",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "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 = "TrustedLaunch",
        },
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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.CreationDataResponse{
				CreateOption: pulumi.String("FromImage"),
				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("TrustedLaunch"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.ofEntries(
                Map.entry("createOption", "FromImage"),
                Map.entry("imageReference", Map.of("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(Map.of("securityType", "TrustedLaunch"))
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    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: azure_native.compute.OperatingSystemTypes.Windows,
    resourceGroupName: "myResourceGroup",
    securityProfile: {
        securityType: "TrustedLaunch",
    },
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataResponseArgs(
        create_option="FromImage",
        image_reference=azure_native.compute.ImageDiskReferenceArgs(
            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=azure_native.compute.DiskSecurityProfileArgs(
        security_type="TrustedLaunch",
    ))
Copy
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
Copy

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 = "Empty",
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = "Premium_ZRS",
        },
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
			},
			DiskName:          pulumi.String("myDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
			Sku: &compute.DiskSkuArgs{
				Name: pulumi.String("Premium_ZRS"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.of("createOption", "Empty"))
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(Map.of("name", "Premium_ZRS"))
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Empty",
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: "Premium_ZRS",
    },
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Empty",
    ),
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup",
    sku=azure_native.compute.DiskSkuArgs(
        name="Premium_ZRS",
    ))
Copy
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
      sku:
        name: Premium_ZRS
Copy

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 = "Upload",
            UploadSizeBytes = 10737418752,
        },
        DiskName = "myDisk",
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Upload"),
				UploadSizeBytes: pulumi.Float64(10737418752),
			},
			DiskName:          pulumi.String("myDisk"),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.ofEntries(
                Map.entry("createOption", "Upload"),
                Map.entry("uploadSizeBytes", 10737418752)
            ))
            .diskName("myDisk")
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Upload",
        uploadSizeBytes: 10737418752,
    },
    diskName: "myDisk",
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Upload",
        upload_size_bytes=10737418752,
    ),
    disk_name="myDisk",
    location="West US",
    resource_group_name="myResourceGroup")
Copy
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Upload
        uploadSizeBytes: 1.0737418752e+10
      diskName: myDisk
      location: West US
      resourceGroupName: myResourceGroup
Copy

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 = "Empty",
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        ExtendedLocation = new AzureNative.Compute.Inputs.ExtendedLocationArgs
        {
            Name = "{edge-zone-id}",
            Type = "EdgeZone",
        },
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
			},
			DiskName:   pulumi.String("myDisk"),
			DiskSizeGB: pulumi.Int(200),
			ExtendedLocation: &compute.ExtendedLocationArgs{
				Name: pulumi.String("{edge-zone-id}"),
				Type: pulumi.String("EdgeZone"),
			},
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.of("createOption", "Empty"))
            .diskName("myDisk")
            .diskSizeGB(200)
            .extendedLocation(Map.ofEntries(
                Map.entry("name", "{edge-zone-id}"),
                Map.entry("type", "EdgeZone")
            ))
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Empty",
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    extendedLocation: {
        name: "{edge-zone-id}",
        type: "EdgeZone",
    },
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Empty",
    ),
    disk_name="myDisk",
    disk_size_gb=200,
    extended_location=azure_native.compute.ExtendedLocationArgs(
        name="{edge-zone-id}",
        type="EdgeZone",
    ),
    location="West US",
    resource_group_name="myResourceGroup")
Copy
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
Copy

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 = "Empty",
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
			},
			DiskName:          pulumi.String("myDisk"),
			DiskSizeGB:        pulumi.Int(200),
			Location:          pulumi.String("West US"),
			ResourceGroupName: pulumi.String("myResourceGroup"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.of("createOption", "Empty"))
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Empty",
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Empty",
    ),
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup")
Copy
resources:
  disk:
    type: azure-native:compute:Disk
    properties:
      creationData:
        createOption: Empty
      diskName: myDisk
      diskSizeGB: 200
      location: West US
      resourceGroupName: myResourceGroup
Copy

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 = "Empty",
            LogicalSectorSize = 512,
        },
        DiskName = "myDisk",
        DiskSizeGB = 200,
        Location = "West US",
        ResourceGroupName = "myResourceGroup",
        Sku = new AzureNative.Compute.Inputs.DiskSkuArgs
        {
            Name = "UltraSSD_LRS",
        },
    });

});
Copy
package main

import (
	compute "github.com/pulumi/pulumi-azure-native-sdk/compute"
	"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("Empty"),
				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("UltraSSD_LRS"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.compute.Disk;
import com.pulumi.azurenative.compute.DiskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var disk = new Disk("disk", DiskArgs.builder()        
            .creationData(Map.ofEntries(
                Map.entry("createOption", "Empty"),
                Map.entry("logicalSectorSize", 512)
            ))
            .diskName("myDisk")
            .diskSizeGB(200)
            .location("West US")
            .resourceGroupName("myResourceGroup")
            .sku(Map.of("name", "UltraSSD_LRS"))
            .build());

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

const disk = new azure_native.compute.Disk("disk", {
    creationData: {
        createOption: "Empty",
        logicalSectorSize: 512,
    },
    diskName: "myDisk",
    diskSizeGB: 200,
    location: "West US",
    resourceGroupName: "myResourceGroup",
    sku: {
        name: "UltraSSD_LRS",
    },
});
Copy
import pulumi
import pulumi_azure_native as azure_native

disk = azure_native.compute.Disk("disk",
    creation_data=azure_native.compute.CreationDataArgs(
        create_option="Empty",
        logical_sector_size=512,
    ),
    disk_name="myDisk",
    disk_size_gb=200,
    location="West US",
    resource_group_name="myResourceGroup",
    sku=azure_native.compute.DiskSkuArgs(
        name="UltraSSD_LRS",
    ))
Copy
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
Copy

Create Disk Resource

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

Constructor syntax

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

@overload
def Disk(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         resource_group_name: Optional[str] = None,
         creation_data: Optional[CreationDataArgs] = None,
         disk_m_bps_read_write: Optional[float] = None,
         zones: Optional[Sequence[str]] = None,
         hyper_v_generation: Optional[Union[str, HyperVGeneration]] = None,
         disk_m_bps_read_only: Optional[float] = None,
         bursting_enabled: Optional[bool] = None,
         disk_name: Optional[str] = None,
         disk_size_gb: Optional[int] = None,
         encryption: Optional[EncryptionArgs] = None,
         encryption_settings_collection: Optional[EncryptionSettingsCollectionArgs] = None,
         max_shares: Optional[int] = None,
         disk_iops_read_write: Optional[float] = None,
         disk_iops_read_only: Optional[float] = None,
         extended_location: Optional[ExtendedLocationArgs] = None,
         network_access_policy: Optional[Union[str, NetworkAccessPolicy]] = None,
         os_type: Optional[OperatingSystemTypes] = None,
         purchase_plan: Optional[PurchasePlanArgs] = None,
         disk_access_id: Optional[str] = None,
         security_profile: Optional[DiskSecurityProfileArgs] = None,
         sku: Optional[DiskSkuArgs] = None,
         supports_hibernation: Optional[bool] = None,
         tags: Optional[Mapping[str, str]] = None,
         tier: Optional[str] = None,
         location: Optional[str] = None)
func NewDisk(ctx *Context, name string, args DiskArgs, opts ...ResourceOption) (*Disk, error)
public Disk(string name, DiskArgs args, CustomResourceOptions? opts = null)
public Disk(String name, DiskArgs args)
public Disk(String name, DiskArgs args, CustomResourceOptions options)
type: azure-native:compute:Disk
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DiskArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var diskResource = new AzureNative.Compute.Disk("diskResource", new()
{
    ResourceGroupName = "string",
    CreationData = 
    {
        { "createOption", "string" },
        { "galleryImageReference", 
        {
            { "id", "string" },
            { "lun", 0 },
        } },
        { "imageReference", 
        {
            { "id", "string" },
            { "lun", 0 },
        } },
        { "logicalSectorSize", 0 },
        { "sourceResourceId", "string" },
        { "sourceUri", "string" },
        { "storageAccountId", "string" },
        { "uploadSizeBytes", 0 },
    },
    DiskMBpsReadWrite = 0,
    Zones = new[]
    {
        "string",
    },
    HyperVGeneration = "string",
    DiskMBpsReadOnly = 0,
    BurstingEnabled = false,
    DiskName = "string",
    DiskSizeGB = 0,
    Encryption = 
    {
        { "diskEncryptionSetId", "string" },
        { "type", "string" },
    },
    EncryptionSettingsCollection = 
    {
        { "enabled", false },
        { "encryptionSettings", new[]
        {
            
            {
                { "diskEncryptionKey", 
                {
                    { "secretUrl", "string" },
                    { "sourceVault", 
                    {
                        { "id", "string" },
                    } },
                } },
                { "keyEncryptionKey", 
                {
                    { "keyUrl", "string" },
                    { "sourceVault", 
                    {
                        { "id", "string" },
                    } },
                } },
            },
        } },
        { "encryptionSettingsVersion", "string" },
    },
    MaxShares = 0,
    DiskIOPSReadWrite = 0,
    DiskIOPSReadOnly = 0,
    ExtendedLocation = 
    {
        { "name", "string" },
        { "type", "string" },
    },
    NetworkAccessPolicy = "string",
    OsType = "Windows",
    PurchasePlan = 
    {
        { "name", "string" },
        { "product", "string" },
        { "publisher", "string" },
        { "promotionCode", "string" },
    },
    DiskAccessId = "string",
    SecurityProfile = 
    {
        { "securityType", "string" },
    },
    Sku = 
    {
        { "name", "string" },
    },
    SupportsHibernation = false,
    Tags = 
    {
        { "string", "string" },
    },
    Tier = "string",
    Location = "string",
});
Copy
example, err := compute.NewDisk(ctx, "diskResource", &compute.DiskArgs{
	ResourceGroupName: "string",
	CreationData: map[string]interface{}{
		"createOption": "string",
		"galleryImageReference": map[string]interface{}{
			"id":  "string",
			"lun": 0,
		},
		"imageReference": map[string]interface{}{
			"id":  "string",
			"lun": 0,
		},
		"logicalSectorSize": 0,
		"sourceResourceId":  "string",
		"sourceUri":         "string",
		"storageAccountId":  "string",
		"uploadSizeBytes":   0,
	},
	DiskMBpsReadWrite: 0,
	Zones: []string{
		"string",
	},
	HyperVGeneration: "string",
	DiskMBpsReadOnly: 0,
	BurstingEnabled:  false,
	DiskName:         "string",
	DiskSizeGB:       0,
	Encryption: map[string]interface{}{
		"diskEncryptionSetId": "string",
		"type":                "string",
	},
	EncryptionSettingsCollection: map[string]interface{}{
		"enabled": false,
		"encryptionSettings": []map[string]interface{}{
			map[string]interface{}{
				"diskEncryptionKey": map[string]interface{}{
					"secretUrl": "string",
					"sourceVault": map[string]interface{}{
						"id": "string",
					},
				},
				"keyEncryptionKey": map[string]interface{}{
					"keyUrl": "string",
					"sourceVault": map[string]interface{}{
						"id": "string",
					},
				},
			},
		},
		"encryptionSettingsVersion": "string",
	},
	MaxShares:         0,
	DiskIOPSReadWrite: 0,
	DiskIOPSReadOnly:  0,
	ExtendedLocation: map[string]interface{}{
		"name": "string",
		"type": "string",
	},
	NetworkAccessPolicy: "string",
	OsType:              "Windows",
	PurchasePlan: map[string]interface{}{
		"name":          "string",
		"product":       "string",
		"publisher":     "string",
		"promotionCode": "string",
	},
	DiskAccessId: "string",
	SecurityProfile: map[string]interface{}{
		"securityType": "string",
	},
	Sku: map[string]interface{}{
		"name": "string",
	},
	SupportsHibernation: false,
	Tags: map[string]interface{}{
		"string": "string",
	},
	Tier:     "string",
	Location: "string",
})
Copy
var diskResource = new Disk("diskResource", DiskArgs.builder()
    .resourceGroupName("string")
    .creationData(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .diskMBpsReadWrite(0)
    .zones("string")
    .hyperVGeneration("string")
    .diskMBpsReadOnly(0)
    .burstingEnabled(false)
    .diskName("string")
    .diskSizeGB(0)
    .encryption(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .encryptionSettingsCollection(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .maxShares(0)
    .diskIOPSReadWrite(0)
    .diskIOPSReadOnly(0)
    .extendedLocation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .networkAccessPolicy("string")
    .osType("Windows")
    .purchasePlan(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .diskAccessId("string")
    .securityProfile(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .sku(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .supportsHibernation(false)
    .tags(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
    .tier("string")
    .location("string")
    .build());
Copy
disk_resource = azure_native.compute.Disk("diskResource",
    resource_group_name=string,
    creation_data={
        createOption: string,
        galleryImageReference: {
            id: string,
            lun: 0,
        },
        imageReference: {
            id: string,
            lun: 0,
        },
        logicalSectorSize: 0,
        sourceResourceId: string,
        sourceUri: string,
        storageAccountId: string,
        uploadSizeBytes: 0,
    },
    disk_m_bps_read_write=0,
    zones=[string],
    hyper_v_generation=string,
    disk_m_bps_read_only=0,
    bursting_enabled=False,
    disk_name=string,
    disk_size_gb=0,
    encryption={
        diskEncryptionSetId: string,
        type: string,
    },
    encryption_settings_collection={
        enabled: False,
        encryptionSettings: [{
            diskEncryptionKey: {
                secretUrl: string,
                sourceVault: {
                    id: string,
                },
            },
            keyEncryptionKey: {
                keyUrl: string,
                sourceVault: {
                    id: string,
                },
            },
        }],
        encryptionSettingsVersion: string,
    },
    max_shares=0,
    disk_iops_read_write=0,
    disk_iops_read_only=0,
    extended_location={
        name: string,
        type: string,
    },
    network_access_policy=string,
    os_type=Windows,
    purchase_plan={
        name: string,
        product: string,
        publisher: string,
        promotionCode: string,
    },
    disk_access_id=string,
    security_profile={
        securityType: string,
    },
    sku={
        name: string,
    },
    supports_hibernation=False,
    tags={
        string: string,
    },
    tier=string,
    location=string)
Copy
const diskResource = new azure_native.compute.Disk("diskResource", {
    resourceGroupName: "string",
    creationData: {
        createOption: "string",
        galleryImageReference: {
            id: "string",
            lun: 0,
        },
        imageReference: {
            id: "string",
            lun: 0,
        },
        logicalSectorSize: 0,
        sourceResourceId: "string",
        sourceUri: "string",
        storageAccountId: "string",
        uploadSizeBytes: 0,
    },
    diskMBpsReadWrite: 0,
    zones: ["string"],
    hyperVGeneration: "string",
    diskMBpsReadOnly: 0,
    burstingEnabled: false,
    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",
    },
    maxShares: 0,
    diskIOPSReadWrite: 0,
    diskIOPSReadOnly: 0,
    extendedLocation: {
        name: "string",
        type: "string",
    },
    networkAccessPolicy: "string",
    osType: "Windows",
    purchasePlan: {
        name: "string",
        product: "string",
        publisher: "string",
        promotionCode: "string",
    },
    diskAccessId: "string",
    securityProfile: {
        securityType: "string",
    },
    sku: {
        name: "string",
    },
    supportsHibernation: false,
    tags: {
        string: "string",
    },
    tier: "string",
    location: "string",
});
Copy
type: azure-native:compute:Disk
properties:
    burstingEnabled: false
    creationData:
        createOption: string
        galleryImageReference:
            id: string
            lun: 0
        imageReference:
            id: string
            lun: 0
        logicalSectorSize: 0
        sourceResourceId: string
        sourceUri: string
        storageAccountId: string
        uploadSizeBytes: 0
    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
    osType: Windows
    purchasePlan:
        name: string
        product: string
        promotionCode: string
        publisher: string
    resourceGroupName: string
    securityProfile:
        securityType: string
    sku:
        name: string
    supportsHibernation: false
    tags:
        string: string
    tier: string
    zones:
        - string
Copy

Disk Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Disk resource accepts the following input properties:

CreationData This property is required. Pulumi.AzureNative.Compute.Inputs.CreationData
Disk source information. CreationData information cannot be changed after the disk has been created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
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.
DiskAccessId string
ARM id of the DiskAccess resource for using private endpoints on disks.
DiskIOPSReadOnly double
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.
DiskIOPSReadWrite double
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
DiskMBpsReadOnly double
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.
DiskMBpsReadWrite double
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 Changes to this property will trigger replacement. 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.
DiskSizeGB int
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.AzureNative.Compute.Inputs.Encryption
Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.
EncryptionSettingsCollection Pulumi.AzureNative.Compute.Inputs.EncryptionSettingsCollection
Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
ExtendedLocation Pulumi.AzureNative.Compute.Inputs.ExtendedLocation
The extended location where the disk will be created. Extended location cannot be changed.
HyperVGeneration string | Pulumi.AzureNative.Compute.HyperVGeneration
The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
Location string
Resource location
MaxShares int
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
NetworkAccessPolicy string | Pulumi.AzureNative.Compute.NetworkAccessPolicy
Policy for accessing the disk via network.
OsType Pulumi.AzureNative.Compute.OperatingSystemTypes
The Operating System type.
PurchasePlan Pulumi.AzureNative.Compute.Inputs.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 Pulumi.AzureNative.Compute.Inputs.DiskSecurityProfile
Contains the security related information for the resource.
Sku Pulumi.AzureNative.Compute.Inputs.DiskSku
The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS.
SupportsHibernation bool
Indicates the OS on a disk supports hibernation.
Tags 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 This property is required. CreationDataArgs
Disk source information. CreationData information cannot be changed after the disk has been created.
ResourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
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.
DiskAccessId string
ARM id of the DiskAccess resource for using private endpoints on disks.
DiskIOPSReadOnly float64
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.
DiskIOPSReadWrite float64
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
DiskMBpsReadOnly float64
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.
DiskMBpsReadWrite float64
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 Changes to this property will trigger replacement. 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.
DiskSizeGB int
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.
EncryptionSettingsCollection EncryptionSettingsCollectionArgs
Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
ExtendedLocation ExtendedLocationArgs
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
MaxShares int
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
NetworkAccessPolicy string | NetworkAccessPolicy
Policy for accessing the disk via network.
OsType OperatingSystemTypes
The Operating System type.
PurchasePlan PurchasePlanArgs
Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
SecurityProfile DiskSecurityProfileArgs
Contains the security related information for the resource.
Sku DiskSkuArgs
The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS.
SupportsHibernation bool
Indicates the OS on a disk supports hibernation.
Tags 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 This property is required. CreationData
Disk source information. CreationData information cannot be changed after the disk has been created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
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.
diskAccessId String
ARM id of the DiskAccess resource for using private endpoints on disks.
diskIOPSReadOnly Double
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.
diskIOPSReadWrite Double
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
diskMBpsReadOnly Double
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.
diskMBpsReadWrite Double
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 Changes to this property will trigger replacement. 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.
diskSizeGB Integer
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.
encryptionSettingsCollection EncryptionSettingsCollection
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
maxShares Integer
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
networkAccessPolicy String | NetworkAccessPolicy
Policy for accessing the disk via network.
osType OperatingSystemTypes
The Operating System type.
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 DiskSecurityProfile
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, or StandardSSD_ZRS.
supportsHibernation Boolean
Indicates the OS on a disk supports hibernation.
tags 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 This property is required. CreationData
Disk source information. CreationData information cannot be changed after the disk has been created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
string
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.
diskAccessId string
ARM id of the DiskAccess resource for using private endpoints on disks.
diskIOPSReadOnly number
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.
diskIOPSReadWrite number
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
diskMBpsReadOnly number
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.
diskMBpsReadWrite number
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 Changes to this property will trigger replacement. 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.
diskSizeGB number
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.
encryptionSettingsCollection EncryptionSettingsCollection
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
maxShares number
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
networkAccessPolicy string | NetworkAccessPolicy
Policy for accessing the disk via network.
osType OperatingSystemTypes
The Operating System type.
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 DiskSecurityProfile
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, or StandardSSD_ZRS.
supportsHibernation boolean
Indicates the OS on a disk supports hibernation.
tags {[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 This property is required. CreationDataArgs
Disk source information. CreationData information cannot be changed after the disk has been created.
resource_group_name
This property is required.
Changes to this property will trigger replacement.
str
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.
disk_access_id str
ARM id of the DiskAccess resource for using private endpoints on disks.
disk_iops_read_only float
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_read_write float
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
disk_m_bps_read_only float
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_bps_read_write float
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 Changes to this property will trigger replacement. 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_gb int
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_collection EncryptionSettingsCollectionArgs
Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
extended_location ExtendedLocationArgs
The extended location where the disk will be created. Extended location cannot be changed.
hyper_v_generation str | HyperVGeneration
The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
location str
Resource location
max_shares int
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
network_access_policy str | NetworkAccessPolicy
Policy for accessing the disk via network.
os_type OperatingSystemTypes
The Operating System type.
purchase_plan PurchasePlanArgs
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 DiskSecurityProfileArgs
Contains the security related information for the resource.
sku DiskSkuArgs
The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS.
supports_hibernation bool
Indicates the OS on a disk supports hibernation.
tags 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 This property is required. Property Map
Disk source information. CreationData information cannot be changed after the disk has been created.
resourceGroupName
This property is required.
Changes to this property will trigger replacement.
String
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.
diskAccessId String
ARM id of the DiskAccess resource for using private endpoints on disks.
diskIOPSReadOnly Number
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.
diskIOPSReadWrite Number
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
diskMBpsReadOnly Number
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.
diskMBpsReadWrite Number
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 Changes to this property will trigger replacement. 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.
diskSizeGB Number
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.
encryptionSettingsCollection Property Map
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
maxShares Number
The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time.
networkAccessPolicy String | "AllowAll" | "AllowPrivate" | "DenyAll"
Policy for accessing the disk via network.
osType "Windows" | "Linux"
The Operating System type.
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, or StandardSSD_ZRS.
supportsHibernation Boolean
Indicates the OS on a disk supports hibernation.
tags 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:

DiskSizeBytes double
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.
ManagedByExtended List<string>
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
PropertyUpdatesInProgress Pulumi.AzureNative.Compute.Outputs.PropertyUpdatesInProgressResponse
Properties of the disk for which update is pending.
ProvisioningState string
The disk provisioning state.
ShareInfo List<Pulumi.AzureNative.Compute.Outputs.ShareInfoElementResponse>
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.
DiskSizeBytes float64
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.
ManagedByExtended []string
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
PropertyUpdatesInProgress PropertyUpdatesInProgressResponse
Properties of the disk for which update is pending.
ProvisioningState string
The disk provisioning state.
ShareInfo []ShareInfoElementResponse
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.
diskSizeBytes Double
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.
managedByExtended List<String>
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
propertyUpdatesInProgress PropertyUpdatesInProgressResponse
Properties of the disk for which update is pending.
provisioningState String
The disk provisioning state.
shareInfo List<ShareInfoElementResponse>
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.
diskSizeBytes number
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.
managedByExtended string[]
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
propertyUpdatesInProgress PropertyUpdatesInProgressResponse
Properties of the disk for which update is pending.
provisioningState string
The disk provisioning state.
shareInfo ShareInfoElementResponse[]
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.
disk_size_bytes float
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_extended Sequence[str]
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_in_progress PropertyUpdatesInProgressResponse
Properties of the disk for which update is pending.
provisioning_state str
The disk provisioning state.
share_info Sequence[ShareInfoElementResponse]
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.
diskSizeBytes Number
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.
managedByExtended List<String>
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
propertyUpdatesInProgress Property Map
Properties of the disk for which update is pending.
provisioningState String
The disk provisioning state.
shareInfo 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

CreationData
, CreationDataArgs

CreateOption This property is required. string | Pulumi.AzureNative.Compute.DiskCreateOption
This enumerates the possible sources of a disk's creation.
GalleryImageReference Pulumi.AzureNative.Compute.Inputs.ImageDiskReference
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
ImageReference Pulumi.AzureNative.Compute.Inputs.ImageDiskReference
Disk source information.
LogicalSectorSize int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
SourceResourceId string
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.
StorageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
UploadSizeBytes double
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 This property is required. string | DiskCreateOption
This enumerates the possible sources of a disk's creation.
GalleryImageReference ImageDiskReference
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
ImageReference ImageDiskReference
Disk source information.
LogicalSectorSize int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
SourceResourceId string
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.
StorageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
UploadSizeBytes float64
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 This property is required. String | DiskCreateOption
This enumerates the possible sources of a disk's creation.
galleryImageReference ImageDiskReference
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
imageReference ImageDiskReference
Disk source information.
logicalSectorSize Integer
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId String
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.
storageAccountId String
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes Double
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 This property is required. string | DiskCreateOption
This enumerates the possible sources of a disk's creation.
galleryImageReference ImageDiskReference
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
imageReference ImageDiskReference
Disk source information.
logicalSectorSize number
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId string
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.
storageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes number
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 This property is required. str | DiskCreateOption
This enumerates the possible sources of a disk's creation.
gallery_image_reference ImageDiskReference
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
image_reference ImageDiskReference
Disk source information.
logical_sector_size int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
source_resource_id str
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_id str
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
upload_size_bytes float
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 This property is required. String | "Empty" | "Attach" | "FromImage" | "Import" | "Copy" | "Restore" | "Upload"
This enumerates the possible sources of a disk's creation.
galleryImageReference Property Map
Required if creating from a Gallery Image. The id 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.
logicalSectorSize Number
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId String
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.
storageAccountId String
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes Number
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 This property is required. string
This enumerates the possible sources of a disk's creation.
SourceUniqueId This property is required. string
If this field is set, this is the unique id identifying the source of this resource.
GalleryImageReference Pulumi.AzureNative.Compute.Inputs.ImageDiskReferenceResponse
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
ImageReference Pulumi.AzureNative.Compute.Inputs.ImageDiskReferenceResponse
Disk source information.
LogicalSectorSize int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
SourceResourceId string
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.
StorageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
UploadSizeBytes double
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 This property is required. string
This enumerates the possible sources of a disk's creation.
SourceUniqueId This property is required. string
If this field is set, this is the unique id identifying the source of this resource.
GalleryImageReference ImageDiskReferenceResponse
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
ImageReference ImageDiskReferenceResponse
Disk source information.
LogicalSectorSize int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
SourceResourceId string
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.
StorageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
UploadSizeBytes float64
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 This property is required. String
This enumerates the possible sources of a disk's creation.
sourceUniqueId This property is required. String
If this field is set, this is the unique id identifying the source of this resource.
galleryImageReference ImageDiskReferenceResponse
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
imageReference ImageDiskReferenceResponse
Disk source information.
logicalSectorSize Integer
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId String
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.
storageAccountId String
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes Double
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 This property is required. string
This enumerates the possible sources of a disk's creation.
sourceUniqueId This property is required. string
If this field is set, this is the unique id identifying the source of this resource.
galleryImageReference ImageDiskReferenceResponse
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
imageReference ImageDiskReferenceResponse
Disk source information.
logicalSectorSize number
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId string
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.
storageAccountId string
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes number
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 This property is required. str
This enumerates the possible sources of a disk's creation.
source_unique_id This property is required. str
If this field is set, this is the unique id identifying the source of this resource.
gallery_image_reference ImageDiskReferenceResponse
Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk.
image_reference ImageDiskReferenceResponse
Disk source information.
logical_sector_size int
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
source_resource_id str
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_id str
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
upload_size_bytes float
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 This property is required. String
This enumerates the possible sources of a disk's creation.
sourceUniqueId This property is required. String
If this field is set, this is the unique id identifying the source of this resource.
galleryImageReference Property Map
Required if creating from a Gallery Image. The id 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.
logicalSectorSize Number
Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.
sourceResourceId String
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.
storageAccountId String
Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk.
uploadSizeBytes Number
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).

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.
DiskCreateOptionEmpty
EmptyCreate an empty data disk of a size given by diskSizeGB.
DiskCreateOptionAttach
AttachDisk will be attached to a VM.
DiskCreateOptionFromImage
FromImageCreate a new disk from a platform image specified by the given imageReference or galleryImageReference.
DiskCreateOptionImport
ImportCreate a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId.
DiskCreateOptionCopy
CopyCreate a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId.
DiskCreateOptionRestore
RestoreCreate a new disk by copying from a backup recovery point.
DiskCreateOptionUpload
UploadCreate a new disk by obtaining a write token and using it to directly upload the contents of the disk.
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.
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.
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.
"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.

DiskSecurityProfile
, DiskSecurityProfileArgs

SecurityType string | Pulumi.AzureNative.Compute.DiskSecurityTypes
Specifies the SecurityType of the VM. Applicable for OS disks only.
SecurityType string | DiskSecurityTypes
Specifies the SecurityType of the VM. Applicable for OS disks only.
securityType String | DiskSecurityTypes
Specifies the SecurityType of the VM. Applicable for OS disks only.
securityType string | DiskSecurityTypes
Specifies the SecurityType of the VM. Applicable for OS disks only.
security_type str | DiskSecurityTypes
Specifies the SecurityType of the VM. Applicable for OS disks only.
securityType String | "TrustedLaunch"
Specifies the SecurityType of the VM. Applicable for OS disks only.

DiskSecurityProfileResponse
, DiskSecurityProfileResponseArgs

SecurityType string
Specifies the SecurityType of the VM. Applicable for OS disks only.
SecurityType string
Specifies the SecurityType of the VM. Applicable for OS disks only.
securityType String
Specifies the SecurityType of the VM. Applicable for OS disks only.
securityType string
Specifies the SecurityType of the VM. Applicable for OS disks only.
security_type str
Specifies the SecurityType of the VM. Applicable for OS disks only.
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)
DiskSecurityTypesTrustedLaunch
TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
TrustedLaunch
TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
TrustedLaunch
TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
TRUSTED_LAUNCH
TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)
"TrustedLaunch"
TrustedLaunchTrusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)

DiskSku
, DiskSkuArgs

Name string | DiskStorageAccountTypes
The sku name.
name String | DiskStorageAccountTypes
The sku name.
name string | DiskStorageAccountTypes
The sku name.
name str | DiskStorageAccountTypes
The sku name.

DiskSkuResponse
, DiskSkuResponseArgs

Tier This property is required. string
The sku tier.
Name string
The sku name.
Tier This property is required. string
The sku tier.
Name string
The sku name.
tier This property is required. String
The sku tier.
name String
The sku name.
tier This property is required. string
The sku tier.
name string
The sku name.
tier This property is required. str
The sku tier.
name str
The sku name.
tier This property is required. String
The sku tier.
name String
The sku name.

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.
DiskStorageAccountTypes_Standard_LRS
Standard_LRSStandard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.
DiskStorageAccountTypes_Premium_LRS
Premium_LRSPremium SSD locally redundant storage. Best for production and performance sensitive workloads.
DiskStorageAccountTypes_StandardSSD_LRS
StandardSSD_LRSStandard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.
DiskStorageAccountTypes_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.
DiskStorageAccountTypes_Premium_ZRS
Premium_ZRSPremium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures.
DiskStorageAccountTypes_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.
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.
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.
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.
"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.

Encryption
, EncryptionArgs

DiskEncryptionSetId string
ResourceId of the disk encryption set to use for enabling encryption at rest.
Type string | Pulumi.AzureNative.Compute.EncryptionType
The type of key used to encrypt the data of the disk.
DiskEncryptionSetId string
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.
diskEncryptionSetId String
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.
diskEncryptionSetId string
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_set_id str
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.
diskEncryptionSetId String
ResourceId of the disk encryption set to use for enabling encryption at rest.
type String | "EncryptionAtRestWithPlatformKey" | "EncryptionAtRestWithCustomerKey" | "EncryptionAtRestWithPlatformAndCustomerKeys"
The type of key used to encrypt the data of the disk.

EncryptionResponse
, EncryptionResponseArgs

DiskEncryptionSetId string
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.
DiskEncryptionSetId string
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.
diskEncryptionSetId String
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.
diskEncryptionSetId string
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_set_id str
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.
diskEncryptionSetId String
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 This property is required. 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.AzureNative.Compute.Inputs.EncryptionSettingsElement>
A collection of encryption settings, one for each disk volume.
EncryptionSettingsVersion string
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 This property is required. 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 []EncryptionSettingsElement
A collection of encryption settings, one for each disk volume.
EncryptionSettingsVersion string
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 This property is required. 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<EncryptionSettingsElement>
A collection of encryption settings, one for each disk volume.
encryptionSettingsVersion String
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 This property is required. 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 EncryptionSettingsElement[]
A collection of encryption settings, one for each disk volume.
encryptionSettingsVersion string
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 This property is required. 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[EncryptionSettingsElement]
A collection of encryption settings, one for each disk volume.
encryption_settings_version str
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 This property is required. 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.
encryptionSettingsVersion String
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 This property is required. 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.AzureNative.Compute.Inputs.EncryptionSettingsElementResponse>
A collection of encryption settings, one for each disk volume.
EncryptionSettingsVersion string
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 This property is required. 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 []EncryptionSettingsElementResponse
A collection of encryption settings, one for each disk volume.
EncryptionSettingsVersion string
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 This property is required. 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<EncryptionSettingsElementResponse>
A collection of encryption settings, one for each disk volume.
encryptionSettingsVersion String
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 This property is required. 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 EncryptionSettingsElementResponse[]
A collection of encryption settings, one for each disk volume.
encryptionSettingsVersion string
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 This property is required. 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[EncryptionSettingsElementResponse]
A collection of encryption settings, one for each disk volume.
encryption_settings_version str
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 This property is required. 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.
encryptionSettingsVersion String
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

DiskEncryptionKey Pulumi.AzureNative.Compute.Inputs.KeyVaultAndSecretReference
Key Vault Secret Url and vault id of the disk encryption key
KeyEncryptionKey Pulumi.AzureNative.Compute.Inputs.KeyVaultAndKeyReference
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.
DiskEncryptionKey KeyVaultAndSecretReference
Key Vault Secret Url and vault id of the disk encryption key
KeyEncryptionKey KeyVaultAndKeyReference
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.
diskEncryptionKey KeyVaultAndSecretReference
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey KeyVaultAndKeyReference
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.
diskEncryptionKey KeyVaultAndSecretReference
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey KeyVaultAndKeyReference
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_key KeyVaultAndSecretReference
Key Vault Secret Url and vault id of the disk encryption key
key_encryption_key KeyVaultAndKeyReference
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.
diskEncryptionKey Property Map
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey Property Map
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

DiskEncryptionKey Pulumi.AzureNative.Compute.Inputs.KeyVaultAndSecretReferenceResponse
Key Vault Secret Url and vault id of the disk encryption key
KeyEncryptionKey Pulumi.AzureNative.Compute.Inputs.KeyVaultAndKeyReferenceResponse
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.
DiskEncryptionKey KeyVaultAndSecretReferenceResponse
Key Vault Secret Url and vault id of the disk encryption key
KeyEncryptionKey KeyVaultAndKeyReferenceResponse
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.
diskEncryptionKey KeyVaultAndSecretReferenceResponse
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey KeyVaultAndKeyReferenceResponse
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.
diskEncryptionKey KeyVaultAndSecretReferenceResponse
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey KeyVaultAndKeyReferenceResponse
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_key KeyVaultAndSecretReferenceResponse
Key Vault Secret Url and vault id of the disk encryption key
key_encryption_key KeyVaultAndKeyReferenceResponse
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.
diskEncryptionKey Property Map
Key Vault Secret Url and vault id of the disk encryption key
keyEncryptionKey Property Map
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

EncryptionAtRestWithPlatformKey
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.
EncryptionAtRestWithCustomerKey
EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
EncryptionAtRestWithPlatformAndCustomerKeys
EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
EncryptionTypeEncryptionAtRestWithPlatformKey
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.
EncryptionTypeEncryptionAtRestWithCustomerKey
EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
EncryptionTypeEncryptionAtRestWithPlatformAndCustomerKeys
EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
EncryptionAtRestWithPlatformKey
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.
EncryptionAtRestWithCustomerKey
EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
EncryptionAtRestWithPlatformAndCustomerKeys
EncryptionAtRestWithPlatformAndCustomerKeysDisk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed.
EncryptionAtRestWithPlatformKey
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.
EncryptionAtRestWithCustomerKey
EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
EncryptionAtRestWithPlatformAndCustomerKeys
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.
"EncryptionAtRestWithPlatformKey"
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.
"EncryptionAtRestWithCustomerKey"
EncryptionAtRestWithCustomerKeyDisk is encrypted at rest with Customer managed key that can be changed and revoked by a customer.
"EncryptionAtRestWithPlatformAndCustomerKeys"
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.AzureNative.Compute.ExtendedLocationTypes
The type of the extended location.
Name string
The name of the extended location.
Type string | ExtendedLocationTypes
The type of the extended location.
name String
The name of the extended location.
type String | ExtendedLocationTypes
The type of the extended location.
name string
The name of the extended location.
type string | ExtendedLocationTypes
The type of the extended location.
name str
The name of the extended location.
type str | ExtendedLocationTypes
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

Name string
The name of the extended location.
Type string
The type of the extended location.
Name string
The name of the extended location.
Type string
The type of the extended location.
name String
The name of the extended location.
type String
The type of the extended location.
name string
The name of the extended location.
type string
The type of the extended location.
name str
The name of the extended location.
type str
The type of the extended location.
name String
The name of the extended location.
type String
The type of the extended location.

ExtendedLocationTypes
, ExtendedLocationTypesArgs

EdgeZone
EdgeZone
ExtendedLocationTypesEdgeZone
EdgeZone
EdgeZone
EdgeZone
EdgeZone
EdgeZone
EDGE_ZONE
EdgeZone
"EdgeZone"
EdgeZone

HyperVGeneration
, HyperVGenerationArgs

V1
V1
V2
V2
HyperVGenerationV1
V1
HyperVGenerationV2
V2
V1
V1
V2
V2
V1
V1
V2
V2
V1
V1
V2
V2
"V1"
V1
"V2"
V2

ImageDiskReference
, ImageDiskReferenceArgs

Id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
Id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. String
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. str
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. String
A relative uri containing either a Platform Image Repository or user 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.

ImageDiskReferenceResponse
, ImageDiskReferenceResponseArgs

Id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
Id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. String
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. string
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. str
A relative uri containing either a Platform Image Repository or user 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.
id This property is required. String
A relative uri containing either a Platform Image Repository or user 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.

KeyVaultAndKeyReference
, KeyVaultAndKeyReferenceArgs

KeyUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. Pulumi.AzureNative.Compute.Inputs.SourceVault
Resource id of the KeyVault containing the key or secret
KeyUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. string
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
key_url This property is required. str
Url pointing to a key or secret in KeyVault
source_vault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. Property Map
Resource id of the KeyVault containing the key or secret

KeyVaultAndKeyReferenceResponse
, KeyVaultAndKeyReferenceResponseArgs

KeyUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. Pulumi.AzureNative.Compute.Inputs.SourceVaultResponse
Resource id of the KeyVault containing the key or secret
KeyUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. string
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
key_url This property is required. str
Url pointing to a key or secret in KeyVault
source_vault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
keyUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. Property Map
Resource id of the KeyVault containing the key or secret

KeyVaultAndSecretReference
, KeyVaultAndSecretReferenceArgs

SecretUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. Pulumi.AzureNative.Compute.Inputs.SourceVault
Resource id of the KeyVault containing the key or secret
SecretUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. string
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
secret_url This property is required. str
Url pointing to a key or secret in KeyVault
source_vault This property is required. SourceVault
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. Property Map
Resource id of the KeyVault containing the key or secret

KeyVaultAndSecretReferenceResponse
, KeyVaultAndSecretReferenceResponseArgs

SecretUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. Pulumi.AzureNative.Compute.Inputs.SourceVaultResponse
Resource id of the KeyVault containing the key or secret
SecretUrl This property is required. string
Url pointing to a key or secret in KeyVault
SourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. string
Url pointing to a key or secret in KeyVault
sourceVault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
secret_url This property is required. str
Url pointing to a key or secret in KeyVault
source_vault This property is required. SourceVaultResponse
Resource id of the KeyVault containing the key or secret
secretUrl This property is required. String
Url pointing to a key or secret in KeyVault
sourceVault This property is required. 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.
NetworkAccessPolicyAllowAll
AllowAllThe disk can be exported or uploaded to from any network.
NetworkAccessPolicyAllowPrivate
AllowPrivateThe disk can be exported or uploaded to using a DiskAccess resource's private endpoints.
NetworkAccessPolicyDenyAll
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
OperatingSystemTypesWindows
Windows
OperatingSystemTypesLinux
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.

PurchasePlan
, PurchasePlanArgs

Name This property is required. string
The plan ID.
Product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
Publisher This property is required. string
The publisher ID.
PromotionCode string
The Offer Promotion Code.
Name This property is required. string
The plan ID.
Product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
Publisher This property is required. string
The publisher ID.
PromotionCode string
The Offer Promotion Code.
name This property is required. String
The plan ID.
product This property is required. String
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. String
The publisher ID.
promotionCode String
The Offer Promotion Code.
name This property is required. string
The plan ID.
product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. string
The publisher ID.
promotionCode string
The Offer Promotion Code.
name This property is required. str
The plan ID.
product This property is required. str
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. str
The publisher ID.
promotion_code str
The Offer Promotion Code.
name This property is required. String
The plan ID.
product This property is required. String
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. String
The publisher ID.
promotionCode String
The Offer Promotion Code.

PurchasePlanResponse
, PurchasePlanResponseArgs

Name This property is required. string
The plan ID.
Product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
Publisher This property is required. string
The publisher ID.
PromotionCode string
The Offer Promotion Code.
Name This property is required. string
The plan ID.
Product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
Publisher This property is required. string
The publisher ID.
PromotionCode string
The Offer Promotion Code.
name This property is required. String
The plan ID.
product This property is required. String
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. String
The publisher ID.
promotionCode String
The Offer Promotion Code.
name This property is required. string
The plan ID.
product This property is required. string
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. string
The publisher ID.
promotionCode string
The Offer Promotion Code.
name This property is required. str
The plan ID.
product This property is required. str
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. str
The publisher ID.
promotion_code str
The Offer Promotion Code.
name This property is required. String
The plan ID.
product This property is required. String
Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
publisher This property is required. String
The publisher ID.
promotionCode String
The Offer Promotion Code.

ShareInfoElementResponse
, ShareInfoElementResponseArgs

VmUri This property is required. string
A relative URI containing the ID of the VM that has the disk attached.
VmUri This property is required. string
A relative URI containing the ID of the VM that has the disk attached.
vmUri This property is required. String
A relative URI containing the ID of the VM that has the disk attached.
vmUri This property is required. string
A relative URI containing the ID of the VM that has the disk attached.
vm_uri This property is required. str
A relative URI containing the ID of the VM that has the disk attached.
vmUri This property is required. 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

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} 
Copy

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

Package Details

Repository
azure-native-v1 pulumi/pulumi-azure-native
License
Apache-2.0