[Site Recovery] Support targetExtendedLocation when enabling V2A replication

Aperta
#34,185 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
56/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
azure, python
Ambito
cli, cloud

Direzione di ricerca

Start with the generated site-recovery extension commands for az site-recovery protected-item create and show, plus the API specification PR #46144 and its ReplicationProtectedItems_Create_InMageRcmEdgeZone.json example. After the API contract is finalized, update the generated input and response schemas, help/example, and tests for target-extended-location. Done means the create request serializes the field, show returns it when present, and existing V2A behavior remains unchanged when omitted.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Recovery Services Site-Recovery Service Attention
Preconditions
  • No need to upgrade Python SDK or the Python SDK is ready.

The site-recovery extension command is generated with AAZ. The REST API specification is being added in Azure/azure-rest-api-specs#46144.

Related command
az site-recovery protected-item create
az site-recovery protected-item show
Resource Provider

Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems

Description of Feature or Work Requested

Add Azure CLI support for targetExtendedLocation when enabling VMware-to-Azure (V2A/InMageRcm) replication.

az site-recovery protected-item create currently accepts V2A provider input through --provider-details '{in-mage-rcm:{...}}'. Generate the new API field as target-extended-location within the in-mage-rcm provider-details object, matching the REST API contract:

"targetExtendedLocation": {
  "name": "edge-zone-1",
  "type": "EdgeZone"
}

For the read path, regenerate az site-recovery protected-item show against API version 2026-11-01 so its response schema recognizes and returns properties.providerSpecificDetails.targetExtendedLocation. No new input argument is required for show.
Expected CLI shape:

az site-recovery protected-item create \
  --resource-group <resource-group> \
  --vault-name <vault-name> \
  --fabric-name <fabric-name> \
  --protection-container <container-name> \
  --name <protected-item-name> \
  --policy-id <policy-id> \
  --protectable-item-id <protectable-item-id> \
  --provider-details '{in-mage-rcm:{fabric-discovery-machine-id:<machine-id>,process-server-id:<process-server-id>,target-resource-group-id:<target-rg-id>,target-network-id:<target-vnet-id>,target-subnet-name:<subnet>,target-vm-name:<vm-name>,target-extended-location:{name:<extended-location-name>,type:EdgeZone}}}'

Acceptance criteria:

  • The in-mage-rcm schema under --provider-details accepts target-extended-location with name and type.
  • CLI serializes it as providerSpecificDetails.targetExtendedLocation in ReplicationProtectedItems_Create.
  • az site-recovery protected-item show uses the updated response schema and returns properties.providerSpecificDetails.targetExtendedLocation when present; no new show argument is required.
  • Help and an example cover enabling V2A replication to an Azure Extended Zone.
  • Tests cover the new input.
  • Existing V2A enable-replication behavior is unchanged when the field is omitted.
Minimum API Version Required

2026-11-01

Swagger PR link / SDK link

https://github.com/Azure/azure-rest-api-specs/pull/46144

Request Example

ReplicationProtectedItems_Create_InMageRcmEdgeZone.json in https://github.com/Azure/azure-rest-api-specs/pull/46144

The example title is "Enables protection for an InMage RCM VM in an extended location" and demonstrates targetExtendedLocation in both the request and response.

Target Date

2026-11-01

PM Contact

N/A

Engineer Contact

Prakhar Doshi (@prakhar1200)

Additional context

The feature is specifically for VMware-to-Azure (V2A/InMageRcm), not Azure-to-Azure (A2A). The specs PR is currently open; CLI generation should use the finalized 2026-11-01 contract after it is merged.

Lingua principale
Python
Stelle
4.7k
Fork
3.5k
Merge medio
4g 14h
PR unite (30g)
92

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Azure/azure-cli

Tutte le issue di Azure/azure-cli

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.