Skip to content

Commit 98f45f9

Browse files
committed
added info and finalize
1 parent 679c77b commit 98f45f9

15 files changed

+447
-44
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"title": "Finalize subset of resources in a regional move container",
3+
"operationId": "RegionalMoveContainers_Finalize",
4+
"parameters": {
5+
"api-version": "2026-01-01-preview",
6+
"subscriptionId": "00000000-0000-0000-0000-000000000000",
7+
"resourceGroupName": "sampleResourceGroup",
8+
"moveContainerName": "sampleContainer1",
9+
"body": {
10+
"resourceIds": [
11+
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1"
12+
]
13+
}
14+
},
15+
"responses": {
16+
"200": {}
17+
}
18+
}

specification/resources/RegionalMove.Management/examples/2026-01-01-preview/RegionalMoveContainers_Get.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,23 @@
2222
{
2323
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
2424
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
25-
"resourceProperties": {},
2625
"apiVersion": "2025-04-01"
2726
},
2827
{
2928
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
3029
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
31-
"resourceProperties": {},
3230
"apiVersion": "2025-04-01"
3331
}
32+
],
33+
"resourceStatusDetails": [
34+
{
35+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
36+
"status": "MoveSucceeded"
37+
},
38+
{
39+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
40+
"status": "MoveSucceeded"
41+
}
3442
]
3543
}
3644
}

specification/resources/RegionalMove.Management/examples/2026-01-01-preview/RegionalMoveContainers_ListByResourceGroup.json

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,23 @@
2323
{
2424
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
2525
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
26-
"resourceProperties": {},
2726
"apiVersion": "2025-04-01"
2827
},
2928
{
3029
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
3130
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
32-
"resourceProperties": {},
3331
"apiVersion": "2025-04-01"
3432
}
33+
],
34+
"resourceStatusDetails": [
35+
{
36+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
37+
"status": "MoveSucceeded"
38+
},
39+
{
40+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
41+
"status": "MoveSucceeded"
42+
}
3543
]
3644
}
3745
},
@@ -48,15 +56,23 @@
4856
{
4957
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3",
5058
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3Copy",
51-
"resourceProperties": {},
5259
"apiVersion": "2025-04-01"
5360
},
5461
{
5562
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm4",
5663
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm4Copy",
57-
"resourceProperties": {},
5864
"apiVersion": "2025-04-01"
5965
}
66+
],
67+
"resourceStatusDetails": [
68+
{
69+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3",
70+
"status": "MoveSucceeded"
71+
},
72+
{
73+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm4",
74+
"status": "MoveSucceeded"
75+
}
6076
]
6177
}
6278
}

specification/resources/RegionalMove.Management/examples/2026-01-01-preview/RegionalMoveContainers_ListBySubscription.json

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,23 @@
2222
{
2323
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
2424
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
25-
"resourceProperties": {},
2625
"apiVersion": "2025-04-01"
2726
},
2827
{
2928
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
3029
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
31-
"resourceProperties": {},
3230
"apiVersion": "2025-04-01"
3331
}
32+
],
33+
"resourceStatusDetails": [
34+
{
35+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
36+
"status": "MoveSucceeded"
37+
},
38+
{
39+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
40+
"status": "MoveSucceeded"
41+
}
3442
]
3543
}
3644
},
@@ -45,17 +53,25 @@
4553
"targetLocation": "northeurope",
4654
"requestedResources": [
4755
{
48-
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3",
49-
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3Copy",
50-
"resourceProperties": {},
56+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm3",
57+
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm3Copy",
5158
"apiVersion": "2025-04-01"
5259
},
5360
{
54-
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm3",
55-
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm4Copy",
56-
"resourceProperties": {},
61+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm3",
62+
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups2/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm4Copy",
5763
"apiVersion": "2025-04-01"
5864
}
65+
],
66+
"resourceStatusDetails": [
67+
{
68+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm3",
69+
"status": "MoveSucceeded"
70+
},
71+
{
72+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup2/providers/Microsoft.Compute/virtualMachines/sampleVm4",
73+
"status": "MoveSucceeded"
74+
}
5975
]
6076
}
6177
}

specification/resources/RegionalMove.Management/examples/2026-01-01-preview/RegionalMoveContainers_Update.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,23 @@
2828
{
2929
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
3030
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
31-
"resourceProperties": {},
3231
"apiVersion": "2025-04-01"
3332
},
3433
{
3534
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
3635
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
37-
"resourceProperties": {},
3836
"apiVersion": "2025-04-01"
3937
}
38+
],
39+
"resourceStatusDetails": [
40+
{
41+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
42+
"status": "MoveSucceeded"
43+
},
44+
{
45+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
46+
"status": "MoveSucceeded"
47+
}
4048
]
4149
},
4250
"tags": {

specification/resources/RegionalMove.Management/examples/2026-01-01-preview/RegionalMove_CreateOrUpdate.json

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,11 @@
1515
{
1616
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
1717
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
18-
"resourceProperties": {},
1918
"apiVersion": "2025-04-01"
2019
},
2120
{
2221
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
2322
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
24-
"resourceProperties": {},
2523
"apiVersion": "2025-04-01"
2624
}
2725
]
@@ -43,15 +41,23 @@
4341
{
4442
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
4543
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
46-
"resourceProperties": {},
4744
"apiVersion": "2025-04-01"
4845
},
4946
{
5047
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
5148
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
52-
"resourceProperties": {},
5349
"apiVersion": "2025-04-01"
5450
}
51+
],
52+
"resourceStatusDetails": [
53+
{
54+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
55+
"status": "MoveSucceeded"
56+
},
57+
{
58+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
59+
"status": "MoveSucceeded"
60+
}
5561
]
5662
}
5763
}
@@ -70,15 +76,23 @@
7076
{
7177
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
7278
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
73-
"resourceProperties": {},
7479
"apiVersion": "2025-04-01"
7580
},
7681
{
7782
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
7883
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
79-
"resourceProperties": {},
8084
"apiVersion": "2025-04-01"
8185
}
86+
],
87+
"resourceStatusDetails": [
88+
{
89+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
90+
"status": "Moving"
91+
},
92+
{
93+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
94+
"status": "MoveFinalizing"
95+
}
8296
]
8397
}
8498
}

specification/resources/RegionalMove.Management/models.tsp

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,41 @@ union RegionalMoveProvisioningState {
2121
InProgressAwaitingFinalization: "InProgressAwaitingFinalization",
2222
}
2323

24+
/** Represents the status of the move or copy operation for an individual resource within a move container. */
25+
union ResourceMoveStatus {
26+
string,
27+
28+
/** The resource operation is queued. */
29+
Queued: "Queued",
30+
31+
/** Pre-move validation is in progress. */
32+
ValidatingPreMove: "ValidatingPreMove",
33+
34+
/** Pre-move validation has completed. */
35+
ValidatedPreMove: "ValidatedPreMove",
36+
37+
/** Pre-move validation failed. */
38+
FailedPreMoveValidate: "FailedPreMoveValidate",
39+
40+
/** The resource move is in progress. */
41+
Moving: "Moving",
42+
43+
/** The resource is awaiting finalization. */
44+
AwaitingMoveFinalization: "AwaitingMoveFinalization",
45+
46+
/** The resource move is finalizing. */
47+
MoveFinalizing: "MoveFinalizing",
48+
49+
/** The resource move is cleaning up. */
50+
CleaningUp: "CleaningUp",
51+
52+
/** The resource move has succeeded. */
53+
MoveSucceeded: "MoveSucceeded",
54+
55+
/** The resource move has failed. */
56+
MoveFailed: "MoveFailed",
57+
}
58+
2459
model RegionalMoveContainer
2560
is TrackedResource<
2661
RegionalMoveContainerProperties,
@@ -60,6 +95,11 @@ model RegionalMoveContainerProperties {
6095
@identifiers(#["sourceResourceId"])
6196
requestedResources: ResourceMoveRequest[];
6297

98+
/** Status of operations for each resource in the move container. */
99+
@visibility(Lifecycle.Read)
100+
@identifiers(#["sourceResourceId"])
101+
resourceStatusDetails?: ResourceMoveStatusInfo[];
102+
63103
...ErrorResponse;
64104
}
65105

@@ -78,3 +118,23 @@ model ResourceMoveRequest {
78118
/** The API version to use to perform the copy operation. */
79119
apiVersion: string;
80120
}
121+
122+
/** Represents the status details (state, errors, etc.) of a resource within a move container. */
123+
model ResourceMoveStatusInfo {
124+
/** Resource ID of the resource being moved/copied. */
125+
sourceResourceId: string;
126+
127+
/** Status of the resource move/copy operation. */
128+
status: ResourceMoveStatus;
129+
130+
...ErrorResponse;
131+
}
132+
133+
/** Represents the finalization request body. */
134+
model FinalizationRequest {
135+
/**
136+
* List of fully-qualified resource IDs to mark for finalization. Each resource ID specified should be part of the Regional Move Container.
137+
* If you set this to null, all resources in the move container will be marked for finalization.
138+
*/
139+
resourceIds?: string[];
140+
}

specification/resources/RegionalMove.Management/routes.tsp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import "@azure-tools/typespec-client-generator-core";
66
import "@typespec/openapi";
77

88
using Azure.ResourceManager;
9+
using TypeSpec.Http;
10+
using TypeSpec.Rest;
911

1012
namespace RegionalMoveClient;
1113

@@ -22,4 +24,12 @@ interface RegionalMoveContainers {
2224
update is ArmTagsPatchSync<RegionalMoveContainer>;
2325

2426
delete is ArmResourceDeleteSync<RegionalMoveContainer>;
27+
28+
@action("finalize")
29+
finalize is ArmResourceActionSync<
30+
RegionalMoveContainer,
31+
FinalizationRequest,
32+
OkResponse,
33+
OptionalRequestBody = true
34+
>;
2535
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"title": "Finalize subset of resources in a regional move container",
3+
"operationId": "RegionalMoveContainers_Finalize",
4+
"parameters": {
5+
"api-version": "2026-01-01-preview",
6+
"subscriptionId": "00000000-0000-0000-0000-000000000000",
7+
"resourceGroupName": "sampleResourceGroup",
8+
"moveContainerName": "sampleContainer1",
9+
"body": {
10+
"resourceIds": [
11+
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1"
12+
]
13+
}
14+
},
15+
"responses": {
16+
"200": {}
17+
}
18+
}

specification/resources/resource-manager/Microsoft.Resources/regionalmove/preview/2026-01-01-preview/examples/RegionalMoveContainers_Get.json

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,23 @@
2222
{
2323
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
2424
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1Copy",
25-
"resourceProperties": {},
2625
"apiVersion": "2025-04-01"
2726
},
2827
{
2928
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
3029
"targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2Copy",
31-
"resourceProperties": {},
3230
"apiVersion": "2025-04-01"
3331
}
32+
],
33+
"resourceStatusDetails": [
34+
{
35+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm1",
36+
"status": "MoveSucceeded"
37+
},
38+
{
39+
"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sampleResourceGroup/providers/Microsoft.Compute/virtualMachines/sampleVm2",
40+
"status": "MoveSucceeded"
41+
}
3442
]
3543
}
3644
}

0 commit comments

Comments
 (0)