Skip to content

[Site Recovery] Support targetExtendedLocation when enabling V2A replication #34185

Description

@prakhar1200

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

Azure/azure-rest-api-specs#46144

Request Example

ReplicationProtectedItems_Create_InMageRcmEdgeZone.json in Azure/azure-rest-api-specs#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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions