Azure / Azure/azure-rest-api-specs
[BUG] ResourceDisk value rejected for diffDiskSettings.placement in Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations (2026-01-01-preview)
Nobody has claimed this yet.
- Dominant language
- TypeSpec
- Stars
- 3.1k
- Forks
- 6k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 432
Description
API Spec link
API Spec version
2025-03-01 through 2026-01-01
Describe the bug
See this spec for bicep also:
https://learn.microsoft.com/en-us/azure/templates/microsoft.desktopvirtualization/2026-01-01-preview/hostpools/sessionhostconfigurations?pivots=deployment-language-bicep
- Deploy a sessionHostConfigurations resource with the following diskInfo:resource sessionHostConfig 'Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations@2026-01-01-preview' = {
parent: hostPool
name: 'default'
properties: {
// ... other properties ...
diskInfo: {
diffDiskSettings: {
option: 'Local'
placement: 'ResourceDisk'
}
}
}
}
Error Message:
ActivityId: 0fdd71c6-2ad5-45c7-aab2-da046b04f33a
Error: {
"error": {
"code": "InvalidInputFormat",
"message": "Error converting value "ResourceDisk" to type 'System.Nullable`1[Microsoft.RDInfra.Hpu.HostPoolUpdateClient.Models.Enums.OsDiffDiskPlacement]'. Path 'properties.diskInfo.diffDiskSettings.placement', line 15, position 35."
}
}
Expected behavior
The deployment should succeed since ResourceDisk is a documented valid value for placement in the 2026-01-01-preview API spec.
Actual behavior
The backend service (Microsoft.RDInfra.Hpu.HostPoolUpdateClient) fails to deserialize ResourceDisk because its internal OsDiffDiskPlacement enum does not include ResourceDisk as a member, even though the ARM schema/spec defines it as valid.
Root Cause Analysis
The ARM API schema correctly defines ResourceDisk as a valid enum value, but the backend implementation (Microsoft.RDInfra.Hpu.HostPoolUpdateClient.Models.Enums.OsDiffDiskPlacement) has not been updated to include it. This is a spec-vs-implementation mismatch.
Workaround
Using CacheDisk instead of ResourceDisk works, but this is not viable for VM sizes that lack a cache disk and only have a resource/temp disk.
Reproduction Steps
- Deploy a sessionHostConfigurations resource with the following diskInfo using any version of the spec since the diff disk properties were first introduced on 2025-03-01.
resource sessionHostConfig 'Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations@2026-01-01-preview' = {
parent: hostPool
name: 'default'
properties: {
// ... other properties ...
diskInfo: {
diffDiskSettings: {
option: 'Local'
placement: 'ResourceDisk'
}
}
}
}
Using CacheDisk instead of ResourceDisk works, but this is not viable for VM sizes that lack a cache disk and only have a resource/temp disk.
Environment
• Region: East US
• VM Size: Standard_D4ds_v4
• Deployment method: Bicep / ARM template
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked SessionHostConfigurations_Update.json example and the 2026-01-01-preview schema, then compare the documented placement values with the backend behavior described in the report. Done means ResourceDisk is accepted for diffDiskSettings.placement in deployments, without relying on the CacheDisk workaround.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, backend-api-design, cloud
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 30/100