Skip to content

[RecoveryServicesBackupCrr] New TypeSpec project for CRR, stable 2026-07-15#44457

Draft
bharatpurwar wants to merge 2 commits into
Azure:mainfrom
bharatpurwar:users/bharatpurwar/crraccesstoken1
Draft

[RecoveryServicesBackupCrr] New TypeSpec project for CRR, stable 2026-07-15#44457
bharatpurwar wants to merge 2 commits into
Azure:mainfrom
bharatpurwar:users/bharatpurwar/crraccesstoken1

Conversation

@bharatpurwar

Copy link
Copy Markdown
Member

Summary

Migrates the Azure Backup Cross-Region-Restore (CRR / passive-stamp) API surface from the legacy hand-authored Swagger (stable/2023-01-15/bms.json) into a new dedicated top-level TypeSpec project at specification/recoveryservicesbackupcrr/, publishing a new stable API version 2026-07-15.

Draft — work in progress. The generated stable/2026-07-15/bms.json and fidelity fixes (Step 4) are not yet included.

Commits

  1. Bootstrap — CRR TypeSpec project generated from the 2023-01-15 Swagger via tsp-client convert (raw converter output).
  2. Customize (source only) — main.tsp (version 2026-07-15, service title, description, common-types v6), tspconfig.yaml (ARM emitters + distinct ...crr SDK package names), examples moved 2023-01-15 -> 2026-07-15 and retagged.

Not yet included (tracked, coming next)

  • Generated stable/2026-07-15/bms.json output (intentionally held back)
  • Step 4 fidelity fixes: virtual-resource parent chain, BMSAAD/BMSRP casing, Resource-base migration, x-ms-pageable / x-ms-odata, getAccessToken 400, raw-@route CRR ops, Tracked->Proxy, enum-doc cleanup
  • MSI model change to WorkloadCrrAccessToken

Notes

  • RP namespace is Microsoft.RecoveryServices (unchanged); this is a repo/CODEOWNERS reorganization into a dedicated top-level folder.
  • CRR has no provider operations-list endpoint (2023-01-15 never had one); missing-operations-endpoint will be suppressed.

Bharat Purwar and others added 2 commits July 6, 2026 16:11
…01-15 Swagger (raw converter output)

Create a new TOP-LEVEL service folder specification/recoveryservicesbackupcrr/ for the
passive-stamp Cross-Region-Restore (CRR) surface, and bootstrap a dedicated TypeSpec project
by converting the legacy hand-authored stable/2023-01-15/bms.json.

- New folder: recoveryservicesbackupcrr/resource-manager/Microsoft.RecoveryServices/RecoveryServicesBackupCrr/
- Generated via: npx tsp-client convert --arm --fully-compatible (from 2023-01-15 CRR bms.json)
- Files (raw converter output, NOT yet customized):
  main.tsp, models.tsp (119 models / 27 unions / 3 enums), routes.tsp (8 CRR operation groups),
  RecoveryPointResource.tsp, BackupResourceConfigResource.tsp, back-compatible.tsp, tspconfig.yaml,
  and examples/2023-01-15/ (18 example JSONs).

This is a bootstrap-only checkpoint. Still TODO (next commits): retarget to stable version
2026-07-15, CRR-specific SDK package names, route/casing/pageable/odata/response-code fidelity
fixes, common-types v6, lint config, and the WorkloadCrrAccessToken MSI model change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Step 3 of the CRR (cross-region-restore) TypeSpec migration into the new
top-level specification/recoveryservicesbackupcrr/ project. Source changes
only; the generated stable/2026-07-15/ swagger output (bms.json + emitted
example copies) is intentionally NOT committed yet.

main.tsp:
- Versions enum -> single stable v2026_07_15: "2026-07-15"
- real @doc service description
- @service title "Recovery Services Backup CRR Client"
- @armCommonTypesVersion CommonTypes.Versions.v6

tspconfig.yaml:
- replaced with mirrored ARM emitter config
- distinct ...crr SDK package names (Azure.ResourceManager.RecoveryServicesBackupCrr,
  azure-mgmt-recoveryservicesbackupcrr, azure-resourcemanager-recoveryservicesbackupcrr,
  @azure/arm-recoveryservicesbackupcrr, armrecoveryservicesbackupcrr)

examples:
- moved examples/2023-01-15 -> examples/2026-07-15 and retagged api-version

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ The required check named TypeSpec Validation has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide


Comment generated by summarize-checks workflow run.

@github-actions github-actions Bot added resource-manager TypeSpec Authored with TypeSpec labels Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
TypeSpec Microsoft.RecoveryServices
Go sdk/resourcemanager/recoveryservices/armrecoveryservicesbackupcrr

Comment generated by After APIView workflow run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

resource-manager TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant