[Site Recovery] Support targetExtendedLocation when enabling V2A replication

オープン
#34,185 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
56/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
azure, python
領域
cli, cloud

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
4.7k
フォーク
3.5k
平均マージ
4日 14時間
マージ済み PR(30日)
92

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Azure/azure-cli のほかの issue

Azure/azure-cli の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。