Skip to content

Commit c48aa1b

Browse files
new pub preview 2026-02-15-preview (#40108)
* try tsp deprecate * new preview version * cluster jobs * updates swagger changes * Remove 2025-11-01-preview api and remove supportStatus from cluster as no longer supported * restore swagger for november preview as breaking change * update readme * fix model validation * add new enum value, remove unused path --------- Co-authored-by: Mary Gao <yanmeigao1210@gmail.com>
1 parent b4a177f commit c48aa1b

226 files changed

Lines changed: 21794 additions & 3206 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/resource-manager/Microsoft.AzureStackHCI/StackHCI/Cluster.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ interface Clusters {
128128
/**
129129
* Changes ring of a cluster
130130
*/
131-
@removed(Versions.v2026_02_01)
131+
@added(Versions.v2026_02_15_preview)
132132
changeRing is ArmResourceActionAsync<Cluster, ChangeRingRequest, Cluster>;
133133

134134
/**

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Microsoft.AzureStackHCI;
1616
* Publisher details.
1717
*/
1818
@parentResource(Cluster)
19-
@removed(Versions.v2026_02_01)
19+
@added(Versions.v2026_02_15_preview)
2020
model Publisher is Azure.ResourceManager.ProxyResource<PublisherProperties> {
2121
...ResourceNameParameter<
2222
Resource = Publisher,
@@ -27,7 +27,7 @@ model Publisher is Azure.ResourceManager.ProxyResource<PublisherProperties> {
2727
}
2828

2929
@armResourceOperations
30-
@removed(Versions.v2026_02_01)
30+
@added(Versions.v2026_02_15_preview)
3131
interface Publishers {
3232
/**
3333
* Get Publisher resource details of HCI Cluster.

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ using TypeSpec.Rest;
99
using Azure.ResourceManager;
1010
using TypeSpec.Http;
1111
using TypeSpec.OpenAPI;
12+
using TypeSpec.Versioning;
1213

1314
namespace Microsoft.AzureStackHCI;
1415
/**
@@ -74,6 +75,13 @@ interface Updates {
7475
OkResponse,
7576
LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader
7677
>;
78+
79+
/**
80+
* Prepare Update
81+
*/
82+
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
83+
@added(Versions.v2026_02_15_preview)
84+
prepare is ArmResourceActionNoContentAsync<Update, void>;
7785
}
7886

7987
@@doc(Update.name, "The name of the Update");

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ using TypeSpec.Rest;
99
using Azure.ResourceManager;
1010
using TypeSpec.Http;
1111
using TypeSpec.OpenAPI;
12+
using TypeSpec.Versioning;
1213

1314
namespace Microsoft.AzureStackHCI;
1415
/**
@@ -67,6 +68,23 @@ interface UpdateSummariesOperationGroup {
6768
UpdateSummaries,
6869
Response = ArmResponse<UpdateSummariesList>
6970
>;
71+
72+
/**
73+
* Check for updates
74+
*/
75+
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
76+
@added(Versions.v2026_02_15_preview)
77+
checkUpdates is ArmResourceActionNoContentAsync<
78+
UpdateSummaries,
79+
CheckUpdatesRequest
80+
>;
81+
82+
/**
83+
* Check health of UpdateSummaries
84+
*/
85+
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
86+
@added(Versions.v2026_02_15_preview)
87+
checkHealth is ArmResourceActionNoContentAsync<UpdateSummaries, void>;
7088
}
7189

7290
@@doc(UpdateSummaries.name, "");
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 "@typespec/openapi";
4+
import "@typespec/rest";
5+
import "./models.tsp";
6+
import "./Cluster.tsp";
7+
8+
using TypeSpec.Rest;
9+
using Azure.ResourceManager;
10+
using TypeSpec.Http;
11+
using TypeSpec.OpenAPI;
12+
using TypeSpec.Versioning;
13+
14+
namespace Microsoft.AzureStackHCI;
15+
16+
/**
17+
* Cluster Jobs resource
18+
*/
19+
@added(Versions.v2026_02_15_preview)
20+
@parentResource(Cluster)
21+
model ClusterJob is Azure.ResourceManager.ProxyResource<ClusterJobProperties> {
22+
...ResourceNameParameter<
23+
Resource = ClusterJob,
24+
KeyName = "jobsName",
25+
SegmentName = "jobs",
26+
NamePattern = "^[a-zA-Z0-9-]{3,24}$"
27+
>;
28+
}
29+
30+
/**
31+
* ClusterJobs operations
32+
*/
33+
@added(Versions.v2026_02_15_preview)
34+
@armResourceOperations
35+
interface ClusterJobs {
36+
/** Get a ClusterJob */
37+
get is ArmResourceRead<ClusterJob>;
38+
39+
/** Create a ClusterJob */
40+
createOrUpdate is ArmResourceCreateOrUpdateAsync<ClusterJob>;
41+
42+
/** Delete a ClusterJob */
43+
delete is ArmResourceDeleteWithoutOkAsync<ClusterJob>;
44+
45+
/** List ClusterJob resources by Clusters */
46+
list is ArmResourceListByParent<
47+
ClusterJob,
48+
Response = ArmResponse<ClusterJobListResult>
49+
>;
50+
}
51+
52+
/** Cluster Job properties */
53+
@added(Versions.v2026_02_15_preview)
54+
@discriminator("jobType")
55+
model ClusterJobProperties {
56+
/** Job Type to support polymorphic resource. */
57+
@visibility(Lifecycle.Create, Lifecycle.Read)
58+
jobType: HciJobType;
59+
60+
/** Deployment mode to trigger job. */
61+
deploymentMode?: DeploymentMode = DeploymentMode.Deploy;
62+
63+
/** Job provisioning state */
64+
@visibility(Lifecycle.Read)
65+
provisioningState?: ProvisioningState;
66+
67+
/** Unique, immutable job id. */
68+
@visibility(Lifecycle.Read)
69+
jobId?: string;
70+
71+
/** The UTC date and time at which the job started. */
72+
@visibility(Lifecycle.Read)
73+
startTimeUtc?: utcDateTime;
74+
75+
/** The UTC date and time at which the job completed. */
76+
@visibility(Lifecycle.Read)
77+
endTimeUtc?: utcDateTime;
78+
79+
/** Status of Cluster job. */
80+
@visibility(Lifecycle.Read)
81+
status?: JobStatus;
82+
83+
/** Reported properties for job */
84+
@visibility(Lifecycle.Read)
85+
reportedProperties?: JobReportedProperties;
86+
}
87+
88+
@@doc(ClusterJob.name, "Name of ClusterJob");
89+
90+
/**
91+
* List of Cluster Job resources for the HCI cluster.
92+
*/
93+
@added(Versions.v2026_02_15_preview)
94+
model ClusterJobListResult is Azure.Core.Page<ClusterJob>;

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

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ namespace Microsoft.AzureStackHCI;
1414
/**
1515
* Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource.
1616
*/
17-
@added(Versions.v2025_12_01_preview)
18-
@removed(Versions.v2026_02_01)
17+
@added(Versions.v2026_02_15_preview)
1918
model ConfidentialVmProperties {
2019
/**
2120
* Captures the customer's intent to enable or disable CVM support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).
@@ -39,8 +38,7 @@ model ConfidentialVmProperties {
3938
/**
4039
* Captures the customer's intent to enable or disable Confidential Virtual Machine (CVM) support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N).
4140
*/
42-
@added(Versions.v2025_12_01_preview)
43-
@removed(Versions.v2026_02_01)
41+
@added(Versions.v2026_02_15_preview)
4442
union ConfidentialVmIntent {
4543
string,
4644

@@ -58,8 +56,7 @@ union ConfidentialVmIntent {
5856
/**
5957
* Captures the current status of Confidential Virtual Machine (CVM) support on the cluster.
6058
*/
61-
@added(Versions.v2025_12_01_preview)
62-
@removed(Versions.v2026_02_01)
59+
@added(Versions.v2026_02_15_preview)
6360
union ConfidentialVmStatus {
6461
string,
6562

@@ -82,8 +79,7 @@ union ConfidentialVmStatus {
8279
/**
8380
* Represents the Confidential Virtual Machine (CVM) configuration status for an edge device. It includes the current IGVM support state and detailed component-level status information.
8481
*/
85-
@added(Versions.v2025_12_01_preview)
86-
@removed(Versions.v2026_02_01)
82+
@added(Versions.v2026_02_15_preview)
8783
model ConfidentialVmProfile {
8884
/**
8985
* Indicates whether Independent Guest Virtual Machine (IGVM) support is available on the device. This will be 'Enabled' if the device supports CVMs, 'Disabled' if not, and 'Unknown' if the status cannot be determined.
@@ -101,8 +97,7 @@ model ConfidentialVmProfile {
10197
/**
10298
* Provides component-level status information related to IGVM enablement on the device.
10399
*/
104-
@added(Versions.v2025_12_01_preview)
105-
@removed(Versions.v2026_02_01)
100+
@added(Versions.v2026_02_15_preview)
106101
model IgvmStatusDetail {
107102
/**
108103
* A machine-readable status code indicating the result or condition of a specific IGVM-related check or operation.
@@ -120,8 +115,7 @@ model IgvmStatusDetail {
120115
/**
121116
* Represents the IGVM support status for the device.
122117
*/
123-
@added(Versions.v2025_12_01_preview)
124-
@removed(Versions.v2026_02_01)
118+
@added(Versions.v2026_02_15_preview)
125119
union IgvmStatus {
126120
string,
127121

@@ -145,8 +139,7 @@ union IgvmStatus {
145139
* Represents the Software Defined Networking (SDN) configuration state of the Azure Stack HCI cluster.
146140
*/
147141
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
148-
@added(Versions.v2025_12_01_preview)
149-
@removed(Versions.v2026_02_01)
142+
@added(Versions.v2026_02_15_preview)
150143
model ClusterSdnProperties extends SdnProperties {
151144
/**
152145
* Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.
@@ -158,8 +151,7 @@ model ClusterSdnProperties extends SdnProperties {
158151
/**
159152
* Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.
160153
*/
161-
@added(Versions.v2025_12_01_preview)
162-
@removed(Versions.v2026_02_01)
154+
@added(Versions.v2026_02_15_preview)
163155
union SdnIntegrationIntent {
164156
string,
165157

@@ -177,8 +169,7 @@ union SdnIntegrationIntent {
177169
/**
178170
* Represents the Software Defined Networking (SDN) configuration state.
179171
*/
180-
@added(Versions.v2025_12_01_preview)
181-
@removed(Versions.v2026_02_01)
172+
@added(Versions.v2026_02_15_preview)
182173
model SdnProperties {
183174
/**
184175
* Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.
@@ -202,8 +193,7 @@ model SdnProperties {
202193
/**
203194
* Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.
204195
*/
205-
@added(Versions.v2025_12_01_preview)
206-
@removed(Versions.v2026_02_01)
196+
@added(Versions.v2026_02_15_preview)
207197
union SdnStatus {
208198
string,
209199

0 commit comments

Comments
 (0)