Azure / Azure/azure-rest-api-specs

[BUG] ResourceDisk value rejected for diffDiskSettings.placement in Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations (2026-01-01-preview)

Open
#41,143 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug customer-reported question
Dominant language
TypeSpec
Stars
3.1k
Forks
6k
Avg merge
2d 21h
Merged PRs (30d)
432

Description

API Spec link

https://github.com/Azure/azure-rest-api-specs/blob/main/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/DesktopVirtualization/preview/2026-01-01-preview/examples/SessionHostConfigurations_Update.json

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

  1. 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
  1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.