Azure / Azure/azure-rest-api-specs
[BUG] The `Identity` block is referenced with wrong type for Managed Devops Pool
- Dominant language
- TypeSpec
- Stars
- 3.1k
- Forks
- 5.9k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 424
Description
### API Spec link
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/stable/2025-01-21/devopsinfrastructure.json#L1295-L1298
### API Spec version
2025-01-21, 2025-09-20
### Describe the bug
The identity block [only supports](https://learn.microsoft.com/en-us/azure/devops/managed-devops-pools/configure-identity?view=azure-devops) UserAssignedIdentity. But it's defined as [ManagedServiceIdentity](https://github.com/Azure/azure-rest-api-specs/blob/main/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/stable/2025-01-21/devopsinfrastructure.json#L1295-L1298), which accepts SystemAssigned, UserAssignedIdentity and SystemAssigned, UserAssignedIdentity. The consequence is that downstream SDKs will match a wrong type for this property and causing confusions during development.
Relevant with https://github.com/Azure/azure-rest-api-specs/issues/22634
### Expected behavior
Correct type should be used for the identity block.
For example: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2022-05-15/managedCassandra.json#L771
https://github.com/Azure/azure-rest-api-specs/blob/main/specification/network/resource-manager/Microsoft.Network/stable/2022-07-01/firewallPolicy.json#L955
### Actual behavior
Wrong type is used for Identity
### Reproduction Steps
As indicated in Microsoft learn and Swagger above
### Environment
_No response_
Contributor guide
Research direction
Open specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/stable/2025-01-21/devopsinfrastructure.json around lines 1295-1298 and compare the identity definitions in the linked Cosmos DB and Network examples. Update the Managed DevOps Pool identity block to use the type that supports only UserAssignedIdentity, then verify the API specification remains valid for the listed API versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi
- Domain
- api, backend-api-design
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100