Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,262 @@
{
"parameters": {
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"vmScaleSetName": "{vmss-name}",
"api-version": "2025-11-01",
"parameters": {
"sku": {
"tier": "Standard",
"capacity": 3,
"name": "Standard_D1_v2"
},
"location": "westus",
"properties": {
"overprovision": true,
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"sku": "2016-Datacenter",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"createOption": "FromImage",
"storageFDAlignment": "BestEffortAligned"
}
},
"osProfile": {
"computerNamePrefix": "{vmss-name}",
"adminUsername": "{your-username}",
"adminPassword": "{your-password}"
},
"networkProfile": {
"networkInterfaceConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"primary": true,
"enableIPForwarding": true,
"ipConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"subnet": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
}
}
}
]
}
}
]
}
},
"upgradePolicy": {
"mode": "Manual"
},
"scheduledEventsPolicy": {
"scheduledEventsAdditionalPublishingTargets": {
"eventGridAndResourceGraph": {
"enable": true
}
},
"userInitiatedRedeploy": {
"automaticallyApprove": true
},
"userInitiatedReboot": {
"automaticallyApprove": true
}
},
"zonalPlatformFaultDomainAlignMode": "Aligned"
}
}
},
"responses": {
"200": {
"body": {
"sku": {
"tier": "Standard",
"capacity": 3,
"name": "Standard_D1_v2"
},
"name": "{vmss-name}",
"properties": {
"singlePlacementGroup": true,
"overprovision": true,
"uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"sku": "2016-Datacenter",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"storageFDAlignment": "BestEffortAligned",
"createOption": "FromImage"
}
},
"osProfile": {
"computerNamePrefix": "{vmss-name}",
"adminUsername": "{your-username}",
"secrets": [],
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true
}
},
"networkProfile": {
"networkInterfaceConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"dnsSettings": {
"dnsServers": []
},
"primary": true,
"enableIPForwarding": true,
"ipConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"subnet": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
},
"privateIPAddressVersion": "IPv4"
}
}
],
"enableAcceleratedNetworking": false
}
}
]
}
},
"upgradePolicy": {
"mode": "Manual"
},
"scheduledEventsPolicy": {
"scheduledEventsAdditionalPublishingTargets": {
"eventGridAndResourceGraph": {
"enable": true
}
},
"userInitiatedRedeploy": {
"automaticallyApprove": true
},
"userInitiatedReboot": {
"automaticallyApprove": true
}
},
"provisioningState": "Creating",
"zonalPlatformFaultDomainAlignMode": "Aligned"
},
"location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
}
},
"201": {
"body": {
"sku": {
"tier": "Standard",
"capacity": 3,
"name": "Standard_D1_v2"
},
"name": "{vmss-name}",
"properties": {
"singlePlacementGroup": true,
"overprovision": true,
"uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"sku": "2016-Datacenter",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"storageFDAlignment": "BestEffortAligned",
"createOption": "FromImage"
}
},
"osProfile": {
"computerNamePrefix": "{vmss-name}",
"adminUsername": "{your-username}",
"secrets": [],
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true
}
},
"networkProfile": {
"networkInterfaceConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"dnsSettings": {
"dnsServers": []
},
"primary": true,
"enableIPForwarding": true,
"ipConfigurations": [
{
"name": "{vmss-name}",
"properties": {
"subnet": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
},
"privateIPAddressVersion": "IPv4"
}
}
],
"enableAcceleratedNetworking": false
}
}
]
}
},
"upgradePolicy": {
"mode": "Manual"
},
"scheduledEventsPolicy": {
"scheduledEventsAdditionalPublishingTargets": {
"eventGridAndResourceGraph": {
"enable": true
}
},
"userInitiatedRedeploy": {
"automaticallyApprove": true
},
"userInitiatedReboot": {
"automaticallyApprove": true
}
},
"provisioningState": "Creating",
"zonalPlatformFaultDomainAlignMode": "Aligned"
},
"location": "westus",
"type": "Microsoft.Compute/virtualMachineScaleSets",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
}
}
},
"operationId": "VirtualMachineScaleSets_CreateOrUpdate",
"title": "Create a scale set containing disks with storage fault domain alignment."
}
64 changes: 64 additions & 0 deletions specification/compute/Compute.Management/models.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,10 @@ union ZonalPlatformFaultDomainAlignMode {
Aligned: "Aligned",
#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
Unaligned: "Unaligned",

#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
@added(Versions.v2025_11_01)
BestEffortAligned: "BestEffortAligned",
}

/**
Expand Down Expand Up @@ -902,6 +906,30 @@ union DiskControllerTypes {
NVMe: "NVMe",
}

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
union StorageFaultDomainAlignmentType {
string,
#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
Aligned: "Aligned",
#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
BestEffortAligned: "BestEffortAligned",
}

/**
* Specifies the storage alignment status for the disk.
*/
@added(Versions.v2025_11_01)
union StorageAlignment {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

StorageAlignment

May be rename to, StorageAlignmentStatus ?

string,
#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
Unaligned: "Unaligned",
#suppress "@azure-tools/typespec-azure-core/documentation-required" "For backward compatibility"
Aligned: "Aligned",
}

/**
* Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.
*/
Expand Down Expand Up @@ -2500,6 +2528,12 @@ model VirtualMachineScaleSetOSDisk {
*/
diskSizeGB?: int32;

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
storageFDAlignment?: StorageFaultDomainAlignmentType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageFDAlignment

Use the full wording for the property names.

storageFaultDomainAlignmentType ?


/**
* This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD. Possible values are: **Windows,** **Linux.**
*/
Expand Down Expand Up @@ -2633,6 +2667,12 @@ model VirtualMachineScaleSetDataDisk {
*/
diskSizeGB?: int32;

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
storageFDAlignment?: StorageFaultDomainAlignmentType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageFDAlignment

storageFaultDomainAlignmentType ?


/**
* The managed disk parameters.
*/
Expand Down Expand Up @@ -3851,6 +3891,12 @@ model VirtualMachineScaleSetUpdateOSDisk {
*/
diskSizeGB?: int32;

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
storageFDAlignment?: StorageFaultDomainAlignmentType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageFDAlignment

storageFaultDomainAlignmentType ?


/**
* The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist.
*/
Expand Down Expand Up @@ -5012,6 +5058,12 @@ model DiskInstanceView {
*/
@identifiers(#[])
statuses?: InstanceViewStatus[];

/**
* Specifies the storage alignment status for the disk.
*/
@added(Versions.v2025_11_01)
storageAlignment?: StorageAlignment;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageAlignment

storageAlignmentStatus ?

}

/**
Expand Down Expand Up @@ -5215,6 +5267,12 @@ model OSDisk {
*/
diskSizeGB?: int32;

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
storageFDAlignment?: StorageFaultDomainAlignmentType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageFDAlignment

storageFaultDomainAlignmentType ?


/**
* The managed disk parameters.
*/
Expand Down Expand Up @@ -5291,6 +5349,12 @@ model DataDisk {
*/
diskSizeGB?: int32;

/**
* Specifies the storage fault domain alignment type for the disk.
*/
@added(Versions.v2025_11_01)
storageFDAlignment?: StorageFaultDomainAlignmentType;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

storageFDAlignment

storageFaultDomainAlignmentType ?


/**
* The managed disk parameters.
*/
Expand Down
Loading
Loading