你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
Disks - Create Or Update
创建或更新磁盘。
本文内容
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}?api-version=2021-12-01
URI 参数
名称
在
必需
类型
说明
diskName
path
True
string
正在创建的托管磁盘的名称。 创建磁盘后,无法更改名称。 名称支持的字符为 a-z、A-Z、0-9、_ 和 -。 名称最大长度为 80 个字符。
resourceGroupName
path
True
string
资源组的名称。
subscriptionId
path
True
string
唯一标识 Microsoft Azure 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。
api-version
query
True
string
客户端 API 版本。
请求正文
名称
必需
类型
说明
location
True
string
资源位置
properties.creationData
True
CreationData
磁盘源信息。 创建磁盘后,无法更改创建数据信息。
extendedLocation
ExtendedLocation
将在其中创建磁盘的扩展位置。 无法更改扩展位置。
properties.burstingEnabled
boolean
设置为 true 可启用超出磁盘预配性能目标的突发。 默认情况下,突发处于禁用状态。 不适用于超级磁盘。
properties.completionPercent
number
通过 CopyStart 操作创建资源时后台副本的完成百分比。
properties.dataAccessAuthMode
DataAccessAuthMode
导出或上传到磁盘或快照时的其他身份验证要求。
properties.diskAccessId
string
用于在磁盘上使用专用终结点的 DiskAccess 资源的 ARM ID。
properties.diskIOPSReadOnly
integer
将共享磁盘装载为 ReadOnly 的所有 VM 中允许的 IOPS 总数。 一个操作可以在 4k 到 256k 字节之间传输。
properties.diskIOPSReadWrite
integer
此磁盘允许的 IOPS 数;只能为 UltraSSD 磁盘设置。 一个操作可以在 4k 到 256k 字节之间传输。
properties.diskMBpsReadOnly
integer
总吞吐量 (MBps) ,将允许跨所有 VM 装载共享磁盘为 ReadOnly。 MBps 表示每秒数百万字节 - 此处的 MB 使用 ISO 表示法,幂为 10。
properties.diskMBpsReadWrite
integer
此磁盘允许的带宽;只能为 UltraSSD 磁盘设置。 MBps 表示每秒数百万字节 - 此处的 MB 使用 ISO 表示法,幂为 10。
properties.diskSizeGB
integer
如果 creationData.createOption 为空,则此字段是必需的,它指示要创建的磁盘的大小。 如果存在此字段用于更新或创建其他选项,则表示调整大小。 仅当磁盘未附加到正在运行的 VM 时,才允许调整大小,并且只能增加磁盘的大小。
properties.encryption
Encryption
加密属性可用于使用客户管理的密钥或平台管理的密钥加密静态数据。
properties.encryptionSettingsCollection
EncryptionSettingsCollection
用于 Azure 磁盘加密的加密设置集合可以包含每个磁盘或快照的多个加密设置。
properties.hyperVGeneration
HyperVGeneration
虚拟机的虚拟机监控程序生成。 仅适用于 OS 磁盘。
properties.maxShares
integer
可以同时附加到磁盘的最大 VM 数。 大于 1 的值表示可以同时装载到多个 VM 上的磁盘。
properties.networkAccessPolicy
NetworkAccessPolicy
用于通过网络访问磁盘的策略。
properties.osType
OperatingSystemTypes
操作系统类型。
properties.publicNetworkAccess
PublicNetworkAccess
用于控制磁盘导出的策略。
properties.purchasePlan
PurchasePlan
从中创建 OS 磁盘的映像的购买计划信息。 例如 - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
properties.securityProfile
DiskSecurityProfile
包含资源的安全相关信息。
properties.supportedCapabilities
SupportedCapabilities
从中创建 OS 磁盘的映像支持的功能列表。
properties.supportsHibernation
boolean
指示磁盘上的 OS 支持休眠。
properties.tier
string
磁盘的性能层 (例如 P4、S10) ,如下所述: https://azure.microsoft.com/en-us/pricing/details/managed-disks/ 。 不适用于超级磁盘。
sku
DiskSku
磁盘 SKU 名称。 可以是Standard_LRS、Premium_LRS、StandardSSD_LRS、UltraSSD_LRS、Premium_ZRS或StandardSSD_ZRS。
tags
object
资源标记
zones
string[]
磁盘的逻辑区域列表。
响应
名称
类型
说明
200 OK
Disk
确定
202 Accepted
Disk
已接受
安全性
azure_auth
Azure Active Directory OAuth2 流
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名称
说明
user_impersonation
模拟用户帐户
示例
Create a confidential VM supported disk encrypted with customer managed key
Sample Request
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey",
"secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSecurityProfile;
import com.azure.resourcemanager.compute.models.DiskSecurityTypes;
import com.azure.resourcemanager.compute.models.ImageDiskReference;
import com.azure.resourcemanager.compute.models.OperatingSystemTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json
*/
/**
* Sample code: Create a confidential VM supported disk encrypted with customer managed key.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAConfidentialVMSupportedDiskEncryptedWithCustomerManagedKey(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withOsType(OperatingSystemTypes.WINDOWS)
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.FROM_IMAGE)
.withImageReference(
new ImageDiskReference()
.withId(
"/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0")))
.withSecurityProfile(
new DiskSecurityProfile()
.withSecurityType(DiskSecurityTypes.CONFIDENTIAL_VM_DISK_ENCRYPTED_WITH_CUSTOMER_KEY)
.withSecureVMDiskEncryptionSetId(
"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json
*/
async function createAConfidentialVMSupportedDiskEncryptedWithCustomerManagedKey() {
const subscriptionId = "{subscriptionId}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const 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",
},
},
location: "West US",
osType: "Windows",
securityProfile: {
secureVMDiskEncryptionSetId:
"/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}",
securityType: "ConfidentialVM_DiskEncryptedWithCustomerKey",
},
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAConfidentialVMSupportedDiskEncryptedWithCustomerManagedKey().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
package armcompute_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json
func ExampleDisksClient_BeginCreateOrUpdate() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
client, err := armcompute.NewDisksClient("{subscriptionId}", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := client.BeginCreateOrUpdate(ctx,
"myResourceGroup",
"myDisk",
armcompute.Disk{
Location: to.Ptr("West US"),
Properties: &armcompute.DiskProperties{
CreationData: &armcompute.CreationData{
CreateOption: to.Ptr(armcompute.DiskCreateOptionFromImage),
ImageReference: &armcompute.ImageDiskReference{
ID: to.Ptr("/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"),
},
},
OSType: to.Ptr(armcompute.OperatingSystemTypesWindows),
SecurityProfile: &armcompute.DiskSecurityProfile{
SecureVMDiskEncryptionSetID: to.Ptr("/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}"),
SecurityType: to.Ptr(armcompute.DiskSecurityTypesConfidentialVMDiskEncryptedWithCustomerKey),
},
},
},
nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
// TODO: use response item
_ = res
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey",
"secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
}
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Succeeded",
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey",
"secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
}
}
}
Create a managed disk and associate with disk access resource.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"networkAccessPolicy": "AllowPrivate",
"diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.NetworkAccessPolicy;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskAccess.json
*/
/**
* Sample code: Create a managed disk and associate with disk access resource.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskAndAssociateWithDiskAccessResource(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200)
.withNetworkAccessPolicy(NetworkAccessPolicy.ALLOW_PRIVATE)
.withDiskAccessId(
"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}"),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskAccess.json
*/
async function createAManagedDiskAndAssociateWithDiskAccessResource() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
diskAccessId:
"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}",
diskSizeGB: 200,
location: "West US",
networkAccessPolicy: "AllowPrivate",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskAndAssociateWithDiskAccessResource().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Succeeded",
"networkAccessPolicy": "AllowPrivate",
"diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}",
"publicNetworkAccess": "Enabled"
},
"location": "West US",
"name": "myDisk"
}
Create a managed disk and associate with disk encryption set.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"encryption": {
"diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.Encryption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json
*/
/**
* Sample code: Create a managed disk and associate with disk encryption set.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskAndAssociateWithDiskEncryptionSet(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200)
.withEncryption(
new Encryption()
.withDiskEncryptionSetId(
"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json
*/
async function createAManagedDiskAndAssociateWithDiskEncryptionSet() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
diskSizeGB: 200,
encryption: {
diskEncryptionSetId:
"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}",
},
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskAndAssociateWithDiskEncryptionSet().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Succeeded",
"encryption": {
"diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
}
},
"location": "West US",
"name": "myDisk"
}
Create a managed disk by copying a snapshot.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json
*/
/**
* Sample code: Create a managed disk by copying a snapshot.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskByCopyingASnapshot(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.COPY)
.withSourceResourceId(
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json
*/
async function createAManagedDiskByCopyingASnapshot() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "Copy",
sourceResourceId:
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
},
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskByCopyingASnapshot().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
}
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
}
}
}
Create a managed disk by importing an unmanaged blob from a different subscription.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Import",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
*/
/**
* Sample code: Create a managed disk by importing an unmanaged blob from a different subscription.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.IMPORT)
.withStorageAccountId(
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount")
.withSourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
*/
async function createAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "Import",
sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
storageAccountId:
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
},
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Import",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Import",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
Create a managed disk by importing an unmanaged blob from the same subscription.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Import",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
*/
/**
* Sample code: Create a managed disk by importing an unmanaged blob from the same subscription.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.IMPORT)
.withSourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
*/
async function createAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "Import",
sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
},
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Import",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"creationData": {
"createOption": "Import",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd"
}
}
}
Sample Request
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"osType": "Windows",
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.ImageDiskReference;
import com.azure.resourcemanager.compute.models.OperatingSystemTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAPlatformImage.json
*/
/**
* Sample code: Create a managed disk from a platform image.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskFromAPlatformImage(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withOsType(OperatingSystemTypes.WINDOWS)
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.FROM_IMAGE)
.withImageReference(
new ImageDiskReference()
.withId(
"/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"))),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAPlatformImage.json
*/
async function createAManagedDiskFromAPlatformImage() {
const subscriptionId = "{subscriptionId}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const 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",
},
},
location: "West US",
osType: "Windows",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskFromAPlatformImage().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"osType": "Windows",
"hyperVGeneration": "V1",
"purchasePlan": {
"name": "{sku}",
"publisher": "{publisher}",
"product": "{offer}"
},
"supportedCapabilities": {
"acceleratedNetwork": true,
"architecture": "Arm64"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
},
"provisioningState": "Updating"
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Succeeded",
"osType": "Windows",
"hyperVGeneration": "V1",
"purchasePlan": {
"name": "{sku}",
"publisher": "{publisher}",
"product": "{offer}"
},
"supportedCapabilities": {
"acceleratedNetwork": true
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0"
}
}
}
}
Create a managed disk from an existing managed disk in the same or different subscription.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk2?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
*/
/**
* Sample code: Create a managed disk from an existing managed disk in the same or different subscription.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskFromAnExistingManagedDiskInTheSameOrDifferentSubscription(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk2",
new DiskInner()
.withLocation("West US")
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.COPY)
.withSourceResourceId(
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1")),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
*/
async function createAManagedDiskFromAnExistingManagedDiskInTheSameOrDifferentSubscription() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk2";
const disk = {
creationData: {
createOption: "Copy",
sourceResourceId:
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1",
},
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskFromAnExistingManagedDiskInTheSameOrDifferentSubscription().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
},
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk2"
}
{
"properties": {
"creationData": {
"createOption": "Copy",
"sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1"
},
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk2"
}
Create a managed disk from ImportSecure create option
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey"
},
"creationData": {
"createOption": "ImportSecure",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd"
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSecurityProfile;
import com.azure.resourcemanager.compute.models.DiskSecurityTypes;
import com.azure.resourcemanager.compute.models.OperatingSystemTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromImportSecure.json
*/
/**
* Sample code: Create a managed disk from ImportSecure create option.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskFromImportSecureCreateOption(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withOsType(OperatingSystemTypes.WINDOWS)
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.IMPORT_SECURE)
.withStorageAccountId(
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount")
.withSourceUri("https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd")
.withSecurityDataUri("https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd"))
.withSecurityProfile(
new DiskSecurityProfile()
.withSecurityType(
DiskSecurityTypes.CONFIDENTIAL_VM_VMGUEST_STATE_ONLY_ENCRYPTED_WITH_PLATFORM_KEY)),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromImportSecure.json
*/
async function createAManagedDiskFromImportSecureCreateOption() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "ImportSecure",
securityDataUri: "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd",
sourceUri: "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
storageAccountId:
"subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
},
location: "West US",
osType: "Windows",
securityProfile: {
securityType: "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey",
},
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskFromImportSecureCreateOption().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Updating",
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey"
},
"creationData": {
"createOption": "ImportSecure",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd"
}
}
}
{
"name": "myDisk",
"location": "West US",
"properties": {
"provisioningState": "Succeeded",
"osType": "Windows",
"securityProfile": {
"securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey"
},
"creationData": {
"createOption": "ImportSecure",
"storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
"securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd"
}
}
}
Create a managed disk from UploadPreparedSecure create option
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "UploadPreparedSecure",
"uploadSizeBytes": 10737418752
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSecurityProfile;
import com.azure.resourcemanager.compute.models.DiskSecurityTypes;
import com.azure.resourcemanager.compute.models.OperatingSystemTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromUploadPreparedSecure.json
*/
/**
* Sample code: Create a managed disk from UploadPreparedSecure create option.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskFromUploadPreparedSecureCreateOption(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withOsType(OperatingSystemTypes.WINDOWS)
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.UPLOAD_PREPARED_SECURE)
.withUploadSizeBytes(10737418752L))
.withSecurityProfile(new DiskSecurityProfile().withSecurityType(DiskSecurityTypes.TRUSTED_LAUNCH)),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromUploadPreparedSecure.json
*/
async function createAManagedDiskFromUploadPreparedSecureCreateOption() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "UploadPreparedSecure",
uploadSizeBytes: 10737418752,
},
location: "West US",
osType: "Windows",
securityProfile: { securityType: "TrustedLaunch" },
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskFromUploadPreparedSecureCreateOption().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "UploadPreparedSecure",
"uploadSizeBytes": 10737418752
},
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "UploadPreparedSecure",
"uploadSizeBytes": 10737418752
},
"provisioningState": "Succeeded"
},
"location": "West US",
"name": "myDisk"
}
Create a managed disk with dataAccessAuthMode
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"dataAccessAuthMode": "AzureActiveDirectory"
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DataAccessAuthMode;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDataAccessAuthMode.json
*/
/**
* Sample code: Create a managed disk with dataAccessAuthMode.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskWithDataAccessAuthMode(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200)
.withDataAccessAuthMode(DataAccessAuthMode.AZURE_ACTIVE_DIRECTORY),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDataAccessAuthMode.json
*/
async function createAManagedDiskWithDataAccessAuthMode() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
dataAccessAuthMode: "AzureActiveDirectory",
diskSizeGB: 200,
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskWithDataAccessAuthMode().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Succeeded",
"dataAccessAuthMode": "AzureActiveDirectory"
},
"location": "West US",
"name": "myDisk"
}
Create a managed disk with security profile
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "North Central US",
"properties": {
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
}
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSecurityProfile;
import com.azure.resourcemanager.compute.models.DiskSecurityTypes;
import com.azure.resourcemanager.compute.models.ImageDiskReference;
import com.azure.resourcemanager.compute.models.OperatingSystemTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSecurityProfile.json
*/
/**
* Sample code: Create a managed disk with security profile.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskWithSecurityProfile(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("North Central US")
.withOsType(OperatingSystemTypes.WINDOWS)
.withCreationData(
new CreationData()
.withCreateOption(DiskCreateOption.FROM_IMAGE)
.withImageReference(
new ImageDiskReference()
.withId(
"/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}")))
.withSecurityProfile(new DiskSecurityProfile().withSecurityType(DiskSecurityTypes.TRUSTED_LAUNCH)),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSecurityProfile.json
*/
async function createAManagedDiskWithSecurityProfile() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: {
createOption: "FromImage",
imageReference: {
id: "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}",
},
},
location: "North Central US",
osType: "Windows",
securityProfile: { securityType: "TrustedLaunch" },
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskWithSecurityProfile().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"name": "myDisk",
"location": "North Central US",
"properties": {
"provisioningState": "Updating",
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
}
}
}
}
{
"name": "myDisk",
"location": "North Central US",
"properties": {
"provisioningState": "Succeeded",
"osType": "Windows",
"securityProfile": {
"securityType": "TrustedLaunch"
},
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
}
}
}
}
Create a managed disk with ssd zrs account type.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"sku": {
"name": "Premium_ZRS"
},
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSku;
import com.azure.resourcemanager.compute.models.DiskStorageAccountTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json
*/
/**
* Sample code: Create a managed disk with ssd zrs account type.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedDiskWithSsdZrsAccountType(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withSku(new DiskSku().withName(DiskStorageAccountTypes.PREMIUM_ZRS))
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json
*/
async function createAManagedDiskWithSsdZrsAccountType() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
diskSizeGB: 200,
location: "West US",
sku: { name: "Premium_ZRS" },
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedDiskWithSsdZrsAccountType().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"sku": {
"name": "Premium_ZRS",
"tier": "Premium"
}
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"sku": {
"name": "Premium_ZRS",
"tier": "Premium"
}
}
Create a managed upload disk.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Upload",
"uploadSizeBytes": 10737418752
}
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedUploadDisk.json
*/
/**
* Sample code: Create a managed upload disk.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAManagedUploadDisk(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(
new CreationData().withCreateOption(DiskCreateOption.UPLOAD).withUploadSizeBytes(10737418752L)),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedUploadDisk.json
*/
async function createAManagedUploadDisk() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Upload", uploadSizeBytes: 10737418752 },
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAManagedUploadDisk().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Upload",
"uploadSizeBytes": 10737418752
},
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"creationData": {
"createOption": "Upload",
"uploadSizeBytes": 10737418752
},
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
Create an empty managed disk in extended location.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"extendedLocation": {
"type": "EdgeZone",
"name": "{edge-zone-id}"
},
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.ExtendedLocation;
import com.azure.resourcemanager.compute.models.ExtendedLocationTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json
*/
/**
* Sample code: Create an empty managed disk in extended location.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAnEmptyManagedDiskInExtendedLocation(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withExtendedLocation(
new ExtendedLocation().withName("{edge-zone-id}").withType(ExtendedLocationTypes.EDGE_ZONE))
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json
*/
async function createAnEmptyManagedDiskInExtendedLocation() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
diskSizeGB: 200,
extendedLocation: { name: "{edge-zone-id}", type: "EdgeZone" },
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAnEmptyManagedDiskInExtendedLocation().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"extendedLocation": {
"type": "EdgeZone",
"name": "{edge-zone-id}"
}
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"extendedLocation": {
"type": "EdgeZone",
"name": "{edge-zone-id}"
}
}
Create an empty managed disk.
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDisk.json
*/
/**
* Sample code: Create an empty managed disk.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAnEmptyManagedDisk(com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withCreationData(new CreationData().withCreateOption(DiskCreateOption.EMPTY))
.withDiskSizeGB(200),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDisk.json
*/
async function createAnEmptyManagedDisk() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty" },
diskSizeGB: 200,
location: "West US",
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAnEmptyManagedDisk().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
{
"properties": {
"creationData": {
"createOption": "Empty"
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk"
}
Create an ultra managed disk with logicalSectorSize 512E
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01
{
"location": "West US",
"sku": {
"name": "UltraSSD_LRS"
},
"properties": {
"creationData": {
"createOption": "Empty",
"logicalSectorSize": 512
},
"diskSizeGB": 200
}
}
import com.azure.core.util.Context;
import com.azure.resourcemanager.compute.fluent.models.DiskInner;
import com.azure.resourcemanager.compute.models.CreationData;
import com.azure.resourcemanager.compute.models.DiskCreateOption;
import com.azure.resourcemanager.compute.models.DiskSku;
import com.azure.resourcemanager.compute.models.DiskStorageAccountTypes;
/** Samples for Disks CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json
*/
/**
* Sample code: Create an ultra managed disk with logicalSectorSize 512E.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void createAnUltraManagedDiskWithLogicalSectorSize512E(
com.azure.resourcemanager.AzureResourceManager azure) {
azure
.virtualMachines()
.manager()
.serviceClient()
.getDisks()
.createOrUpdate(
"myResourceGroup",
"myDisk",
new DiskInner()
.withLocation("West US")
.withSku(new DiskSku().withName(DiskStorageAccountTypes.ULTRA_SSD_LRS))
.withCreationData(
new CreationData().withCreateOption(DiskCreateOption.EMPTY).withLogicalSectorSize(512))
.withDiskSizeGB(200),
Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
const { ComputeManagementClient } = require("@azure/arm-compute");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates a disk.
*
* @summary Creates or updates a disk.
* x-ms-original-file: specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json
*/
async function createAnUltraManagedDiskWithLogicalSectorSize512E() {
const subscriptionId = "{subscription-id}";
const resourceGroupName = "myResourceGroup";
const diskName = "myDisk";
const disk = {
creationData: { createOption: "Empty", logicalSectorSize: 512 },
diskSizeGB: 200,
location: "West US",
sku: { name: "UltraSSD_LRS" },
};
const credential = new DefaultAzureCredential();
const client = new ComputeManagementClient(credential, subscriptionId);
const result = await client.disks.beginCreateOrUpdateAndWait(resourceGroupName, diskName, disk);
console.log(result);
}
createAnUltraManagedDiskWithLogicalSectorSize512E().catch(console.error);
To use the Azure SDK library in your project, see this documentation . To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"properties": {
"creationData": {
"createOption": "Empty",
"logicalSectorSize": 512
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"sku": {
"name": "UltraSSD_LRS",
"tier": "Ultra"
}
}
{
"properties": {
"creationData": {
"createOption": "Empty",
"logicalSectorSize": 512
},
"diskSizeGB": 200,
"provisioningState": "Updating"
},
"location": "West US",
"name": "myDisk",
"sku": {
"name": "UltraSSD_LRS",
"tier": "Ultra"
}
}
定义
Architecture
OS 磁盘支持的 CPU 体系结构。
名称
类型
说明
Arm64
string
x64
string
CreationData
创建磁盘时使用的数据。
名称
类型
说明
createOption
DiskCreateOption
这会枚举创建磁盘的可能来源。
galleryImageReference
ImageDiskReference
如果从库映像创建,则为必需项。 ImageDiskReference 的 ID 将是从中创建磁盘的共享映像版本的 ARM ID。
imageReference
ImageDiskReference
磁盘源信息。
logicalSectorSize
integer
超级磁盘的逻辑扇区大小(以字节为单位)。 支持的值为 512 和 4096。 4096 是默认值。
securityDataUri
string
如果 createOption 为 ImportSecure,则这是要导入到 VM 来宾状态的 Blob 的 URI。
sourceResourceId
string
如果 createOption 为 Copy,则这是源快照或磁盘的 ARM ID。
sourceUniqueId
string
如果设置了此字段,则这是标识此资源源的唯一 ID。
sourceUri
string
如果 createOption 为 Import,则这是要导入到托管磁盘的 Blob 的 URI。
storageAccountId
string
如果 createOption 为 Import,则为必需项。 包含要导入为磁盘的 Blob 的存储帐户的 Azure 资源管理器标识符。
uploadSizeBytes
integer
如果 createOption 为 Upload,则这是上传内容(包括 VHD 页脚)的大小。 对于 VHD 页脚) ,此值应介于 20972032 (20 MiB + 512 字节之间,对于 VHD 页脚) ,此值应介于 32 TiB + 512 字节 (35183298347520字节之间。
DataAccessAuthMode
导出或上传到磁盘或快照时的其他身份验证要求。
名称
类型
说明
AzureActiveDirectory
string
使用导出/上传 URL 时,系统会检查用户是否在 Azure Active Directory 中具有标识,并且是否具有导出/上传数据的必要权限。 请参阅 aka.ms/DisksAzureADAuth。
None
string
访问导出/上传 URL 时,不会执行其他身份验证。
Disk
磁盘资源。
名称
类型
说明
extendedLocation
ExtendedLocation
将在其中创建磁盘的扩展位置。 无法更改扩展位置。
id
string
资源 ID
location
string
资源位置
managedBy
string
包含附加了磁盘的 VM 的 ID 的相对 URI。
managedByExtended
string[]
包含附加了磁盘的 VM ID 的相对 URI 列表。 对于磁盘,maxShares 应设置为大于 1 的值,以允许将其附加到多个 VM。
name
string
资源名称
properties.burstingEnabled
boolean
设置为 true 可启用超出磁盘预配的性能目标的突发。 默认情况下,突发处于禁用状态。 不适用于超级磁盘。
properties.completionPercent
number
通过 CopyStart 操作创建资源时后台副本的完成百分比。
properties.creationData
CreationData
磁盘源信息。 创建磁盘后,无法更改创建数据信息。
properties.dataAccessAuthMode
DataAccessAuthMode
导出或上传到磁盘或快照时的其他身份验证要求。
properties.diskAccessId
string
用于在磁盘上使用专用终结点的 DiskAccess 资源的 ARM ID。
properties.diskIOPSReadOnly
integer
将共享磁盘装载为 ReadOnly 的所有 VM 中允许的 IOPS 总数。 一个操作可以在 4k 到 256k 字节之间传输。
properties.diskIOPSReadWrite
integer
此磁盘允许的 IOPS 数;只能为 UltraSSD 磁盘设置。 一个操作可以在 4k 到 256k 字节之间传输。
properties.diskMBpsReadOnly
integer
将共享磁盘装载为 ReadOnly 的所有 VM 允许的总吞吐量 (MBps) 。 MBps 表示每秒数百万字节 - 此处的 MB 使用 ISO 表示法,其幂为 10。
properties.diskMBpsReadWrite
integer
此磁盘允许的带宽;只能为 UltraSSD 磁盘设置。 MBps 表示每秒数百万字节 - 此处的 MB 使用 ISO 表示法,其幂为 10。
properties.diskSizeBytes
integer
磁盘的大小(以字节为单位)。 该字段是只读字段。
properties.diskSizeGB
integer
如果 creationData.createOption 为 Empty,则此字段是必需的,它指示要创建的磁盘的大小。 如果此字段可用于使用其他选项进行更新或创建,则表示调整大小。 仅当磁盘未附加到正在运行的 VM 时,才允许重设大小,并且只能增加磁盘的大小。
properties.diskState
DiskState
磁盘的状态。
properties.encryption
Encryption
加密属性可用于使用客户管理的密钥或平台管理的密钥加密静态数据。
properties.encryptionSettingsCollection
EncryptionSettingsCollection
用于 Azure 磁盘加密的加密设置集合可以包含每个磁盘或快照的多个加密设置。
properties.hyperVGeneration
HyperVGeneration
虚拟机的虚拟机监控程序生成。 仅适用于 OS 磁盘。
properties.maxShares
integer
可以同时附加到磁盘的最大 VM 数。 大于 1 的值表示可以同时装载到多个 VM 上的磁盘。
properties.networkAccessPolicy
NetworkAccessPolicy
用于通过网络访问磁盘的策略。
properties.osType
OperatingSystemTypes
操作系统类型。
properties.propertyUpdatesInProgress
PropertyUpdatesInProgress
等待更新的磁盘的属性。
properties.provisioningState
string
磁盘预配状态。
properties.publicNetworkAccess
PublicNetworkAccess
用于控制磁盘上的导出的策略。
properties.purchasePlan
PurchasePlan
从中创建 OS 磁盘的映像的购买计划信息。 例如 - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}
properties.securityProfile
DiskSecurityProfile
包含资源的安全相关信息。
properties.shareInfo
ShareInfoElement []
附加了磁盘的所有 VM 的列表的详细信息。 对于磁盘,maxShares 应设置为大于 1 的值,以允许将其附加到多个 VM。
properties.supportedCapabilities
SupportedCapabilities
从中创建 OS 磁盘的映像支持的功能列表。
properties.supportsHibernation
boolean
指示磁盘上的 OS 支持休眠。
properties.tier
string
磁盘的性能层 (例如 P4、S10) ,如此处所述: https://azure.microsoft.com/en-us/pricing/details/managed-disks/ 。 不适用于超级磁盘。
properties.timeCreated
string
创建磁盘的时间。
properties.uniqueId
string
标识资源的唯一 Guid。
sku
DiskSku
磁盘 SKU 名称。 可以是Standard_LRS、Premium_LRS、StandardSSD_LRS、UltraSSD_LRS、Premium_ZRS或StandardSSD_ZRS。
tags
object
资源标记
type
string
资源类型
zones
string[]
磁盘的逻辑区域列表。
DiskCreateOption
这会枚举创建磁盘的可能来源。
名称
类型
说明
Attach
string
磁盘将附加到 VM。
Copy
string
通过从给定 sourceResourceId 指定的磁盘或快照复制来创建新磁盘或快照。
CopyStart
string
使用深层复制过程创建新磁盘,只有在从源复制所有数据后,资源创建才被视为完成。
Empty
string
创建 diskSizeGB 给定大小的空数据磁盘。
FromImage
string
从给定的 imageReference 或 galleryImageReference 指定的平台映像创建新磁盘。
Import
string
通过在 storageAccountId 指定的存储帐户中从 sourceUri 指定的 blob 导入来创建磁盘。
ImportSecure
string
类似于导入创建选项。 通过在 storageAccountId 指定的存储帐户中为 securityDataUri 指定的 VM 来宾状态导入其他 Blob,创建新的受信任的启动 VM 或机密 VM 支持的磁盘
Restore
string
通过从备份恢复点复制来创建新磁盘。
Upload
string
通过获取写入令牌并使用它直接上传磁盘的内容来创建新磁盘。
UploadPreparedSecure
string
类似于“上传创建”选项。 创建新的受信任启动 VM 或机密 VM 支持的磁盘,并在磁盘和 VM 来宾状态中使用写入令牌上传
DiskSecurityProfile
包含资源的安全相关信息。
名称
类型
说明
secureVMDiskEncryptionSetId
string
与使用客户管理的密钥加密的机密 VM 支持的磁盘关联的磁盘加密集的 ResourceId
securityType
DiskSecurityTypes
指定 VM 的 SecurityType。 仅适用于 OS 磁盘。
DiskSecurityTypes
指定 VM 的 SecurityType。 仅适用于 OS 磁盘。
名称
类型
说明
ConfidentialVM_DiskEncryptedWithCustomerKey
string
指示使用客户管理的密钥加密的 OS 磁盘和 VM 来宾状态的机密 VM 磁盘
ConfidentialVM_DiskEncryptedWithPlatformKey
string
指示使用平台管理的密钥加密的 OS 磁盘和 VM 来宾状态的机密 VM 磁盘
ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey
string
指示仅加密 VM 来宾状态的机密 VM 磁盘
TrustedLaunch
string
受信任启动提供安全功能,例如安全启动和虚拟受信任的平台模块 (vTPM)
DiskSku
磁盘 SKU 名称。 可以是Standard_LRS、Premium_LRS、StandardSSD_LRS、UltraSSD_LRS、Premium_ZRS或StandardSSD_ZRS。
DiskState
这会枚举磁盘的可能状态。
名称
类型
说明
ActiveSAS
string
磁盘当前具有与之关联的活动 SAS URI。
ActiveSASFrozen
string
磁盘附加到处于休眠状态的 VM,并具有与之关联的活动 SAS URI。
ActiveUpload
string
创建用于上传的磁盘,并颁发了写入令牌以上传到该磁盘。
Attached
string
磁盘当前已附加到正在运行的 VM。
Frozen
string
磁盘附加到处于休眠状态的 VM。
ReadyToUpload
string
可以通过请求写入令牌上传来创建磁盘。
Reserved
string
磁盘附加到已停止解除分配的 VM。
Unattached
string
磁盘未使用,可以附加到 VM。
DiskStorageAccountTypes
SKU 名称。
名称
类型
说明
Premium_LRS
string
高级 SSD,本地冗余存储。 最适合生产和性能敏感的工作负载。
Premium_ZRS
string
高级 SSD 区域冗余存储。 最适合需要针对区域故障进行存储复原的生产工作负荷。
StandardSSD_LRS
string
标准 SSD,本地冗余存储。 最适合 Web 服务器、很少使用的企业应用程序和开发/测试。
StandardSSD_ZRS
string
标准 SSD 区域冗余存储。 最适合 Web 服务器、很少使用的企业应用程序和开发/测试,这些应用程序需要存储复原能力来应对区域故障。
Standard_LRS
string
标准 HDD,本地冗余存储。 最适合备份、非关键和不频繁的访问。
UltraSSD_LRS
string
超级 SSD 本地冗余存储。 最适合 IO 密集型工作负荷,例如 SAP HANA、顶层数据库 (SQL、Oracle) 和其他事务密集型工作负载。
Encryption
磁盘或快照的静态加密设置
名称
类型
说明
diskEncryptionSetId
string
要用于启用静态加密的磁盘加密集的 ResourceId。
type
EncryptionType
用于加密磁盘数据的密钥类型。
EncryptionSettingsCollection
磁盘或快照的加密设置
名称
类型
说明
enabled
boolean
将此标志设置为 true,并提供 DiskEncryptionKey 和可选的 KeyEncryptionKey 以启用加密。 将此标志设置为 false 并删除 DiskEncryptionKey 和 KeyEncryptionKey 以禁用加密。 如果请求对象中的 EncryptionSettings 为 null,则现有设置保持不变。
encryptionSettings
EncryptionSettingsElement []
加密设置的集合,每个磁盘卷对应一个。
encryptionSettingsVersion
string
描述磁盘使用的加密类型。 设置此字段后,无法覆盖该字段。 “1.0”对应于使用 AAD 应用的 Azure 磁盘加密。“1.1”对应于 Azure 磁盘加密。
EncryptionSettingsElement
一个磁盘卷的加密设置。
EncryptionType
用于加密磁盘数据的密钥类型。
名称
类型
说明
EncryptionAtRestWithCustomerKey
string
磁盘使用客户管理的密钥进行静态加密,客户可以更改和撤销该密钥。
EncryptionAtRestWithPlatformAndCustomerKeys
string
磁盘使用 2 层加密进行静态加密。 其中一个密钥是客户管理的,另一个密钥是平台管理的。
EncryptionAtRestWithPlatformKey
string
磁盘使用平台管理的密钥进行静态加密。 它是默认加密类型。 这不是磁盘加密集的有效加密类型。
ExtendedLocation
扩展位置的复杂类型。
ExtendedLocationTypes
扩展位置的类型。
HyperVGeneration
虚拟机的虚拟机监控程序生成。 仅适用于 OS 磁盘。
名称
类型
说明
V1
string
V2
string
ImageDiskReference
用于创建磁盘的源映像。
名称
类型
说明
id
string
包含平台映像存储库或用户映像引用的相对 URI。
lun
integer
如果磁盘是从映像的数据磁盘创建的,则这是一个索引,指示要使用映像中的哪个数据磁盘。 对于 OS 磁盘,此字段为 null。
KeyVaultAndKeyReference
密钥保管库 KeK 的密钥 URL 和保管库 ID,KeK 是可选的,如果提供,则用于解包 encryptionKey
名称
类型
说明
keyUrl
string
指向 KeyVault 中的密钥或机密的 URL
sourceVault
SourceVault
包含密钥或机密的 KeyVault 的资源 ID
KeyVaultAndSecretReference
密钥保管库加密密钥的机密 URL 和保管库 ID
名称
类型
说明
secretUrl
string
指向 KeyVault 中的密钥或机密的 URL
sourceVault
SourceVault
包含密钥或机密的 KeyVault 的资源 ID
NetworkAccessPolicy
用于通过网络访问磁盘的策略。
名称
类型
说明
AllowAll
string
可以将磁盘从任何网络导出或上传到 。
AllowPrivate
string
可以使用 DiskAccess 资源的专用终结点导出或上传到磁盘。
DenyAll
string
无法导出磁盘。
OperatingSystemTypes
操作系统类型。
名称
类型
说明
Linux
string
Windows
string
PropertyUpdatesInProgress
等待更新的磁盘的属性。
名称
类型
说明
targetTier
string
磁盘的目标性能层(如果正在进行层更改操作)。
PublicNetworkAccess
用于控制磁盘上的导出的策略。
名称
类型
说明
Disabled
string
即使 NetworkAccessPolicy 设置为 AllowAll,也无法在 Internet 上公开访问磁盘的基础数据。 当 NetworkAccessPolicy 设置为 AllowPrivate 时,只能通过 SAS URI 从受信任的 Azure VNET 访问数据。
Enabled
string
当 NetworkAccessPolicy 设置为 AllowAll 时,可以生成 SAS URI 以在 Internet 上公开访问磁盘的基础数据。 当 NetworkAccessPolicy 设置为 AllowPrivate 时,只能通过 SAS URI 从受信任的 Azure VNET 访问数据。
PurchasePlan
用于通过 MarketPlace 建立任何第三方项目的购买上下文。
名称
类型
说明
name
string
计划 ID。
product
string
指定市场中映像的乘积。 此值与 imageReference 元素下的 Offer 值相同。
promotionCode
string
产品/服务促销代码。
publisher
string
发布者 ID。
ShareInfoElement
名称
类型
说明
vmUri
string
包含附加了磁盘的 VM 的 ID 的相对 URI。
SourceVault
保管库 ID 是 Azure 资源管理器 资源 ID,格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}
SupportedCapabilities
磁盘资源上保留的受支持功能列表,以供 VM 使用。
名称
类型
说明
acceleratedNetwork
boolean
如果从中创建 OS 磁盘的映像支持加速网络,则其值为 True。
architecture
Architecture
OS 磁盘支持的 CPU 体系结构。