Azure / Azure/azure-rest-api-specs

Migrate management-plane specs away from @typespec/openapi client-altering extensions (P0/P1)

Open
#45,384 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeSpec
Stars
3.1k
Forks
5.9k
Avg merge
3d 37m
Merged PRs (30d)
446

Description

The new `@azure-tools/typespec-azure-core/no-openapi-client-extensions` rule ([Azure/typespec-azure#5109](https://github.com/Azure/typespec-azure/pull/5109)) flags uses of the `@typespec/openapi` `@extension` decorator that emit client-altering `x-ms-*` / `x-*` extensions. Those only affect OpenAPI output and are ignored by client SDKs and other emitters, so the affected specs should migrate to first-class TypeSpec constructs.

This issue tracks the **management-plane (resource-manager)** specs at priority **P0** (latest api-version within 6 months) and **P1** (within 1 year). Each item links its violation count to the full analysis document. Check off each spec as it is migrated.

Full analysis (per-extension assessment, per-location detail): [`no-openapi-client-extensions-analysis.md`](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md) (draft PR #45324).

### P0 — latest api-version within 6 months

- [ ] `search/resource-manager/Microsoft.Search/Search` — [60 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 24 locations, `2026-09-01-preview`
- [ ] `resources/resource-manager/Microsoft.Authorization/policy` — [22 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 2 locations, `2026-07-01`
- [ ] `azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCIVM` — [15 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 15 locations, `2026-04-01-preview`
- [ ] `servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/ServiceFabricManagedClusters` — [14 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 14 locations, `2026-05-01-preview`
- [ ] `recoveryservicesdatareplication/resource-manager/Microsoft.DataReplication/DataReplication` — [11 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 11 locations, `2026-05-01`
- [ ] `purestorage/resource-manager/PureStorage.Block/PureStorageBlock` — [8 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 8 locations, `2026-05-01-preview`
- [ ] `desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/DesktopVirtualization` — [6 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 6 locations, `2026-04-01-preview`
- [ ] `cosmos-db/resource-manager/Microsoft.DocumentDB/DocumentDB` — [4 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 4 locations, `2026-04-01-preview`
- [ ] `containerservice/resource-manager/Microsoft.ContainerService/fleet` — [3 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 3 locations, `2026-06-01`
- [ ] `web/resource-manager/Microsoft.Web/AppService` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2026-07-15`
- [ ] `liftrcommvault/Commvault.ContentStore.Management` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2026-07-03-preview`
- [ ] `chaos/resource-manager/Microsoft.Chaos/Chaos` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2026-08-01-preview`
- [ ] `azurefleet/resource-manager/Microsoft.AzureFleet/AzureFleet` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2026-06-01-preview`

### P1 — latest api-version within 1 year

- [ ] `oracle/resource-manager/Oracle.Database/OracleDatabase` — [12 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 2 locations, `2025-09-01`
- [ ] `cdn/resource-manager/Microsoft.Cdn/EdgeActions` — [3 violations](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 3 locations, `2025-12-01-preview`
- [ ] `mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2025-12-01-preview`
- [ ] `informatica/resource-manager/Informatica.DataManagement/Informatica` — [1 violation](https://github.com/markcowl/azure-rest-api-specs/blob/markcowl/no-openapi-client-extensions-analysis/no-openapi-client-extensions-analysis.md), 1 location, `2025-11-27`

Contributor guide

Open the contributing guide

Research direction

Start with no-openapi-client-extensions-analysis.md and the listed resource-manager spec directories to review each violation and its location. Use the no-openapi-client-extensions rule as the first validation point. Done means every listed P0/P1 spec is migrated to first-class TypeSpec constructs and all checklist items are checked.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi
Domain
api, backend-api-design
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.