Skip to content

Commit f130ebb

Browse files
abaranwal-msshuklaprakhar415Prakhar ShuklaCopilotlarikaS
authored
Azure Local, SFF public preview May 2026 (#43203)
* new public preview * add changes * Readme changes * Adding AddServer and RepairServer to Public Preview 2026-05-01-preview (#43209) Co-authored-by: Prakhar Shukla <prakshukla@microsoft.com> * Sync generated files with tsv * suppress XMSSecretInResponse for gpgPubKey - GPG public key is not a secret * Remove orphaned DevicePools examples and clarify gpgPubKey suppression reason - Delete orphaned example files for non-existent AddDevices/RemoveDevices operations: DevicePools_AddDevices_MaximumSet_Gen.json DevicePools_AddDevices_MinimumSet_Gen.json DevicePools_RemoveDevices_MaximumSet_Gen.json DevicePools_RemoveDevices_MinimumSet_Gen.json - Update XMSSecretInResponse suppression reason in readme.md to clarify gpgPubKey contains only public key material, not a secret * remove local only working file * Address PR review: WitnessType union and DevicePools example cleanup - Add WitnessType extensible enum (Cloud, FileShare) with @added(v2026_05_01_preview) - Update HciAddServerJobProperties.witnessType to use WitnessType union - Fix DevicePools_CreateOrUpdate.json placeholder values: Remove extraneous resourceUri parameter Set type to Microsoft.AzureStackHCI/devicePools Set realistic name, location, createdBy, lastModifiedBy Add tags field to 200/201 response bodies - Update gpgPubKey #suppress reasons in models.tsp to match readme.md * Remove unnecessary provisioning-state suppress from EdgeMachineJobs EdgeMachineJobProperties already includes provisioningState, so the #suppress directive with an empty reason was unnecessary. Removed it. * Add versioning policy doc to Versions enum and define VsrRing union for ChangeRingRequest and ClusterProperties.ring * Remove unnecessary suppress from DevicePool and add reason strings to catalog resource suppresses * re-compiled all tsp changes * Fix sdnProperties doc comment typo and switch ClusterSdnProperties to composition * clarify claimedBy descriptions * Port EdgeMachines validate action to 2026-05-01-preview (#43217) Add the validate long-running action on EdgeMachine resource for public preview API version 2026-05-01-preview. Ported from private preview 2026-03-15-preview. Changes: - EdgeMachine.tsp: Added validate operation (ArmResourceActionAsync) - models.tsp: Added EdgeMachineValidateRequest and EdgeMachineValidateResponse - examples: Added EdgeMachines_Validate.json Co-authored-by: Prakhar Shukla <prakshukla@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Edge machine lifecycle changes for 2026-05-01-preview (#43262) * Edge machine lifecycle changes for 2026-05-01-preview * Fix StackHCI 2026-05-01-preview generated files for TypeSpec validation Agent-Logs-Url: https://github.com/Azure/azure-rest-api-specs/sessions/767e7675-b44d-468d-8553-f2cdea23bc0e Co-authored-by: larikaS <127827858+larikaS@users.noreply.github.com> --------- Co-authored-by: Larika Sehgal <larikasehgal@microsft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * add updates resource (#43240) Co-authored-by: Harsh Saroha <sarohaharsh@microsoft.com> * Add gpu to 2026 05 01 (#43269) * Add GPU models and examples * Change api version * Fix examples * Compile after rebase * recpmpile with pr merged * Replace VsrRing enum with string type for cluster ring property The ring property may support a broader range of values that are not controlled by our system, so a fixed enum is too restrictive. Changed ClusterProperties.ring and ChangeRingRequestProperties.targetRing to plain string and removed the VsrRing union. * Added workload inventory details to edge machine (#43482) * Add error details to os job step (#43425) * Add error details to os job step * Add examples * webpubsub: parameter reordering customization for Go/Python/JavaScript (#43474) * webpubsub: Go-only parameter reordering for backward compatibility Preserve the original swagger Go SDK parameter order (childName, resourceGroupName, resourceName, ...) for Hubs, PrivateEndpointConnections, and WebPubSubSharedPrivateLinkResources operations. Follows the @@OverRide pattern used in DataBoxEdge (#43159). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * webpubsub: extend parameter-order overrides to python and javascript Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * update * update --------- Co-authored-by: tadelesh <chenjieshi@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add python to clientName override for ChargeSummary.eTag (#43476) * [DataBox] Preserve SDK parameter order (#43418) * [DataBox] Preserve SDK parameter order * tsp format * Update client.tsp * tsp format * [servicebus] fix for Namespaces.update to be sync operation (#43478) Co-authored-by: tadelesh <chenjieshi@microsoft.com> * [JS] Enable compatibility-lro for billingbenefits (#43475) * Mitigate Python SDK breaking changes for azure-mgmt-msi (#43479) * Added examples for inventory * compiled examples * VMConnect 2026-05-01 changes (#43391) * vmconnect model changes * adding example files * compile --------- Co-authored-by: abaranwal-ms <124332815+abaranwal-ms@users.noreply.github.com> Co-authored-by: Abhijeet Baranwal <abaranwal@microsoft.com> * Add EdgeMachine Fabric Management resources for 2026-05-01-preview (#43542) * Add PEAP and TTLS to cspell allowed words * Fix TypeSpec formatting to pass tsv validation * fix formatting * Add Fabric Management changes and update cspell (#43630) * fix formatting, uncheckout protected file * Added PEAP and TTLS to cspell * Add solutionType (ProvisioningOsType) to EdgeMachineUpdate for 2026-05-01-preview (#43636) --------- Co-authored-by: prakhar_shukla <78557330+shuklaprakhar415@users.noreply.github.com> Co-authored-by: Prakhar Shukla <prakshukla@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: larikaS <127827858+larikaS@users.noreply.github.com> Co-authored-by: Larika Sehgal <larikasehgal@microsft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: le-codeur <sarohah967@gmail.com> Co-authored-by: Harsh Saroha <sarohaharsh@microsoft.com> Co-authored-by: Shishira Iyar <106435637+shishiraiyar@users.noreply.github.com> Co-authored-by: IndraneelPal <105407886+IndraneelPal@users.noreply.github.com> Co-authored-by: Sushma Reddy <59618780+sush-101@users.noreply.github.com> Co-authored-by: Chenjie Shi <tadelesh.shi@live.cn> Co-authored-by: tadelesh <chenjieshi@microsoft.com> Co-authored-by: Yuchao Yan <yuchaoyan@microsoft.com> Co-authored-by: Xinni Tong <v-xinnitong@microsoft.com> Co-authored-by: Jiao Di (MSFT) <80496810+v-jiaodi@users.noreply.github.com> Co-authored-by: hvedati <43424696+hvedati@users.noreply.github.com> Co-authored-by: pvsraviteja <67624658+pvsraviteja@users.noreply.github.com> Co-authored-by: Ravi Teja PVS (from Dev Box) <rapvs@microsoft.com> Co-authored-by: baheti1409 <naman.baheti14@gmail.com>
1 parent 96fbcec commit f130ebb

365 files changed

Lines changed: 56674 additions & 265 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

specification/azurestackhci/cspell.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,15 @@ words:
1919
- igvm
2020
- imds
2121
- mitigations
22+
- PEAP
2223
- rdma
2324
- sdkauto
2425
- stackhcivm
26+
- TTLS
2527
- uefi
2628
- unattend
2729
- unpurposed
30+
- vfat
2831
- vhds
2932
- vhdx
3033
- wdac

specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/Cluster.tsp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ model Cluster is Azure.ResourceManager.TrackedResource<ClusterProperties> {
3333
}
3434

3535
// here is the augment decorator for versioning
36-
@@added(Cluster.kind, Versions.v2026_04_01_preview);
36+
@@added(Cluster.kind, Versions.v2026_04_30);
3737

3838
@armResourceOperations
3939
interface Clusters {
@@ -131,8 +131,7 @@ interface Clusters {
131131
/**
132132
* Changes ring of a cluster
133133
*/
134-
@added(Versions.v2026_04_01_preview)
135-
@removed(Versions.v2026_04_30)
134+
@added(Versions.v2026_05_01_preview)
136135
changeRing is ArmResourceActionAsync<Cluster, ChangeRingRequest, Cluster>;
137136

138137
/**

specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/ClusterJobs.tsp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ namespace Microsoft.AzureStackHCI;
1616
/**
1717
* Cluster Jobs resource
1818
*/
19-
@added(Versions.v2026_04_01_preview)
20-
@removed(Versions.v2026_04_30)
19+
@added(Versions.v2026_05_01_preview)
2120
@parentResource(Cluster)
2221
model ClusterJob is Azure.ResourceManager.ProxyResource<ClusterJobProperties> {
2322
...ResourceNameParameter<
@@ -31,8 +30,7 @@ model ClusterJob is Azure.ResourceManager.ProxyResource<ClusterJobProperties> {
3130
/**
3231
* ClusterJobs operations
3332
*/
34-
@added(Versions.v2026_04_01_preview)
35-
@removed(Versions.v2026_04_30)
33+
@added(Versions.v2026_05_01_preview)
3634
@armResourceOperations
3735
interface ClusterJobs {
3836
/** Get a ClusterJob */

specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/DevicePool.tsp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ namespace Microsoft.AzureStackHCI;
1414
/**
1515
* DevicePool details.
1616
*/
17-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state"
18-
@added(Versions.v2026_04_01_preview)
19-
@removed(Versions.v2026_04_30)
17+
@added(Versions.v2026_05_01_preview)
2018
model DevicePool
2119
is Azure.ResourceManager.TrackedResource<DevicePoolProperties> {
2220
...ResourceNameParameter<
@@ -28,8 +26,7 @@ model DevicePool
2826
...ManagedServiceIdentityProperty;
2927
}
3028

31-
@added(Versions.v2026_04_01_preview)
32-
@removed(Versions.v2026_04_30)
29+
@added(Versions.v2026_05_01_preview)
3330
@armResourceOperations
3431
interface DevicePools {
3532
/**

specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/EdgeMachine.tsp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ namespace Microsoft.AzureStackHCI;
1414
/**
1515
* EdgeMachine details.
1616
*/
17-
@added(Versions.v2026_04_01_preview)
18-
@removed(Versions.v2026_04_30)
17+
@added(Versions.v2026_05_01_preview)
1918
model EdgeMachine
2019
is Azure.ResourceManager.TrackedResource<EdgeMachineProperties> {
2120
...ResourceNameParameter<
@@ -27,8 +26,7 @@ model EdgeMachine
2726
...ManagedServiceIdentityProperty;
2827
}
2928

30-
@added(Versions.v2026_04_01_preview)
31-
@removed(Versions.v2026_04_30)
29+
@added(Versions.v2026_05_01_preview)
3230
@armResourceOperations
3331
interface EdgeMachines {
3432
/**
@@ -61,6 +59,16 @@ interface EdgeMachines {
6159
* List all edge machines in a subscription.
6260
*/
6361
listBySubscription is ArmListBySubscription<EdgeMachine>;
62+
63+
/**
64+
* A long-running resource action to validate the edge machine.
65+
*/
66+
@added(Versions.v2026_05_01_preview)
67+
validate is ArmResourceActionAsync<
68+
EdgeMachine,
69+
EdgeMachineValidateRequest,
70+
EdgeMachineValidateResponse
71+
>;
6472
}
6573

6674
@@doc(EdgeMachine.name, "Name of Device");
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
import "@azure-tools/typespec-azure-core";
2+
import "@azure-tools/typespec-azure-resource-manager";
3+
import "@azure-tools/typespec-client-generator-core";
4+
import "@typespec/openapi";
5+
import "@typespec/rest";
6+
import "./models.tsp";
7+
8+
using TypeSpec.Rest;
9+
using TypeSpec.Versioning;
10+
using Azure.ResourceManager;
11+
12+
namespace Microsoft.AzureStackHCI;
13+
14+
/**
15+
* Details of a particular GPU in an EdgeMachine.
16+
*/
17+
@added(Versions.v2026_05_01_preview)
18+
@parentResource(EdgeMachine)
19+
model EdgeMachineGpu
20+
is Azure.ResourceManager.ProxyResource<EdgeMachineGpuProperties> {
21+
...ResourceNameParameter<
22+
Resource = EdgeMachineGpu,
23+
KeyName = "gpuName",
24+
SegmentName = "gpus",
25+
NamePattern = "^[a-zA-Z0-9-_]{3,85}$"
26+
>;
27+
}
28+
29+
/**
30+
* CRUD + List operations for Edge Machine GPUs.
31+
*/
32+
@added(Versions.v2026_05_01_preview)
33+
@armResourceOperations
34+
interface EdgeMachineGpus {
35+
/**
36+
* Get a specific GPU on an Edge Machine.
37+
*/
38+
get is ArmResourceRead<EdgeMachineGpu>;
39+
40+
/**
41+
* List all GPUs on an Edge Machine.
42+
*/
43+
list is ArmResourceListByParent<
44+
EdgeMachineGpu,
45+
Response = ArmResponse<GpuList>
46+
>;
47+
48+
/**
49+
* Create or update a GPU on an Edge Machine.
50+
*/
51+
createOrUpdate is ArmResourceCreateOrUpdateAsync<EdgeMachineGpu>;
52+
53+
@doc("Delete a EdgeMachineGpu")
54+
delete is ArmResourceDeleteWithoutOkAsync<EdgeMachineGpu>;
55+
}
56+
57+
// ==================== GpuJobs Resource ====================
58+
59+
/**
60+
* Details of a GPU Job on an Edge Machine GPU.
61+
*/
62+
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" ""
63+
@added(Versions.v2026_05_01_preview)
64+
@parentResource(EdgeMachineGpu)
65+
model EdgeMachineGpuJob
66+
is Azure.ResourceManager.ProxyResource<EdgeMachineGpuJobProperties> {
67+
...ResourceNameParameter<
68+
Resource = EdgeMachineGpuJob,
69+
KeyName = "jobsName",
70+
SegmentName = "jobs",
71+
NamePattern = "^[a-zA-Z0-9-_]{3,512}$"
72+
>;
73+
}
74+
75+
/**
76+
* CRUD + List operations for Edge Machine GPU Jobs.
77+
*/
78+
@added(Versions.v2026_05_01_preview)
79+
@armResourceOperations
80+
interface EdgeMachineGpuJobs {
81+
/** Get a specific GPU Job on an Edge Machine GPU. */
82+
get is ArmResourceRead<EdgeMachineGpuJob>;
83+
84+
/** Create or update a GPU Job on an Edge Machine GPU. */
85+
createOrUpdate is ArmResourceCreateOrUpdateAsync<EdgeMachineGpuJob>;
86+
87+
/** Delete a specific GPU Job on an Edge Machine GPU. */
88+
delete is ArmResourceDeleteWithoutOkAsync<EdgeMachineGpuJob>;
89+
90+
/** List EdgeMachineGpuJob resources by EdgeMachineGpu. */
91+
list is ArmResourceListByParent<EdgeMachineGpuJob>;
92+
}
93+
94+
@@doc(EdgeMachineGpuJob.name, "Name of EdgeMachineGpuJob");

specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI/EdgeMachineJobs.tsp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ namespace Microsoft.AzureStackHCI;
1212
/**
1313
* Cluster Jobs resource
1414
*/
15-
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" ""
16-
@added(Versions.v2026_04_01_preview)
17-
@removed(Versions.v2026_04_30)
15+
@added(Versions.v2026_05_01_preview)
1816
@parentResource(EdgeMachine)
1917
model EdgeMachineJob
2018
is Azure.ResourceManager.ProxyResource<EdgeMachineJobProperties> {
@@ -28,8 +26,7 @@ model EdgeMachineJob
2826

2927
@@doc(EdgeMachineJob.name, "Name of EdgeMachineJob");
3028

31-
@added(Versions.v2026_04_01_preview)
32-
@removed(Versions.v2026_04_30)
29+
@added(Versions.v2026_05_01_preview)
3330
@armResourceOperations
3431
interface EdgeMachineJobs {
3532
/**
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
import "@azure-tools/typespec-azure-core";
2+
import "@azure-tools/typespec-azure-resource-manager";
3+
import "@typespec/openapi";
4+
import "@typespec/rest";
5+
import "./models.tsp";
6+
import "./EdgeMachine.tsp";
7+
8+
using TypeSpec.Rest;
9+
using TypeSpec.Versioning;
10+
using Azure.ResourceManager;
11+
using TypeSpec.Http;
12+
using TypeSpec.OpenAPI;
13+
using Azure.Core;
14+
15+
namespace Microsoft.AzureStackHCI;
16+
17+
// ==================== Network Adapter Resource ====================
18+
19+
/**
20+
* Edge Machine Network Adapter Resource.
21+
*/
22+
@added(Versions.v2026_05_01_preview)
23+
@parentResource(EdgeMachine)
24+
model EdgeMachineNetworkAdapter
25+
is Azure.ResourceManager.ProxyResource<EdgeMachineNetworkAdapterProperties> {
26+
...ResourceNameParameter<
27+
Resource = EdgeMachineNetworkAdapter,
28+
KeyName = "networkAdapterName",
29+
SegmentName = "networkAdapters",
30+
NamePattern = "^[a-zA-Z0-9-_]{3,63}$"
31+
>;
32+
}
33+
34+
/**
35+
* Operations for Edge Machine Network Adapters.
36+
*/
37+
@added(Versions.v2026_05_01_preview)
38+
@armResourceOperations
39+
interface EdgeMachineNetworkAdapters {
40+
/** Get a specific network adapter on an Edge Machine. */
41+
get is ArmResourceRead<EdgeMachineNetworkAdapter>;
42+
43+
/** List all network adapters on an Edge Machine. */
44+
list is ArmResourceListByParent<EdgeMachineNetworkAdapter>;
45+
}
46+
47+
// ==================== Network Adapter Jobs Resource ====================
48+
49+
/**
50+
* Job for an Edge Machine Network Adapter.
51+
*/
52+
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" ""
53+
@added(Versions.v2026_05_01_preview)
54+
@parentResource(EdgeMachineNetworkAdapter)
55+
model EdgeMachineNetworkAdapterJob
56+
is Azure.ResourceManager.ProxyResource<EdgeMachineNetworkAdapterJobProperties> {
57+
...ResourceNameParameter<
58+
Resource = EdgeMachineNetworkAdapterJob,
59+
KeyName = "jobName",
60+
SegmentName = "jobs",
61+
NamePattern = "^[a-zA-Z0-9-_]{3,63}$"
62+
>;
63+
}
64+
65+
/**
66+
* Operations for Edge Machine Network Adapter Jobs.
67+
*/
68+
@added(Versions.v2026_05_01_preview)
69+
@armResourceOperations
70+
interface EdgeMachineNetworkAdapterJobs {
71+
/** Get a specific network adapter job. */
72+
get is ArmResourceRead<EdgeMachineNetworkAdapterJob>;
73+
74+
/** List all jobs for a network adapter. */
75+
list is ArmResourceListByParent<EdgeMachineNetworkAdapterJob>;
76+
77+
/** Create or update a network adapter job. */
78+
createOrUpdate is ArmResourceCreateOrUpdateAsync<EdgeMachineNetworkAdapterJob>;
79+
80+
/** Delete a network adapter job. */
81+
delete is ArmResourceDeleteWithoutOkAsync<EdgeMachineNetworkAdapterJob>;
82+
}

0 commit comments

Comments
 (0)