Disk
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
},
});
});
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
})
}
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());
}
}
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",
},
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
});
});
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
})
}
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());
}
}
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",
},
});
});
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
})
}
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());
}
}
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}
Properties
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 source information. CreationData information cannot be changed after the disk has been created.
ARM id of the DiskAccess resource for using private endpoints on disks.
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.
The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes.
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.
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.
The size of the disk in bytes. This field is read only.
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 can be used to encrypt data at rest with customer managed keys or platform managed keys.
Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot.
The extended location where the disk will be created. Extended location cannot be changed.
The hypervisor generation of the Virtual Machine. Applicable to OS disks only.
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.
Policy for accessing the disk via network.
Properties of the disk for which update is pending.
The disk provisioning state.
Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
Contains the security related information for the resource.
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.
The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS.
Indicates the OS on a disk supports hibernation.
The time when the disk was created.