Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ interface Clusters {
/**
* Changes ring of a cluster
*/
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
changeRing is ArmResourceActionAsync<Cluster, ChangeRingRequest, Cluster>;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace Microsoft.AzureStackHCI;
* Publisher details.
*/
@parentResource(Cluster)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model Publisher is Azure.ResourceManager.ProxyResource<PublisherProperties> {
...ResourceNameParameter<
Resource = Publisher,
Expand All @@ -27,7 +27,7 @@ model Publisher is Azure.ResourceManager.ProxyResource<PublisherProperties> {
}

@armResourceOperations
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
interface Publishers {
/**
* Get Publisher resource details of HCI Cluster.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.AzureStackHCI;
/**
Expand Down Expand Up @@ -74,6 +75,13 @@ interface Updates {
OkResponse,
LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader
>;

/**
* Prepare Update
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
@added(Versions.v2026_02_15_preview)
prepare is ArmResourceActionNoContentAsync<Update, void>;
}

@@doc(Update.name, "The name of the Update");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.AzureStackHCI;
/**
Expand Down Expand Up @@ -67,6 +68,23 @@ interface UpdateSummariesOperationGroup {
UpdateSummaries,
Response = ArmResponse<UpdateSummariesList>
>;

/**
* Check for updates
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
@added(Versions.v2026_02_15_preview)
checkUpdates is ArmResourceActionNoContentAsync<
UpdateSummaries,
CheckUpdatesRequest
>;

/**
* Check health of UpdateSummaries
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned."
@added(Versions.v2026_02_15_preview)
checkHealth is ArmResourceActionNoContentAsync<UpdateSummaries, void>;
}

@@doc(UpdateSummaries.name, "");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";
import "./Cluster.tsp";

using TypeSpec.Rest;
using Azure.ResourceManager;
using TypeSpec.Http;
using TypeSpec.OpenAPI;
using TypeSpec.Versioning;

namespace Microsoft.AzureStackHCI;

/**
* Cluster Jobs resource
*/
@added(Versions.v2026_02_15_preview)
@parentResource(Cluster)
model ClusterJob is Azure.ResourceManager.ProxyResource<ClusterJobProperties> {
...ResourceNameParameter<
Resource = ClusterJob,
KeyName = "jobsName",
SegmentName = "jobs",
NamePattern = "^[a-zA-Z0-9-]{3,24}$"
>;
}

/**
* ClusterJobs operations
*/
@added(Versions.v2026_02_15_preview)
@armResourceOperations
interface ClusterJobs {
/** Get a ClusterJob */
get is ArmResourceRead<ClusterJob>;

/** Create a ClusterJob */
createOrUpdate is ArmResourceCreateOrUpdateAsync<ClusterJob>;

/** Delete a ClusterJob */
delete is ArmResourceDeleteWithoutOkAsync<ClusterJob>;

/** List ClusterJob resources by Clusters */
list is ArmResourceListByParent<
ClusterJob,
Response = ArmResponse<ClusterJobListResult>
>;
}

/** Cluster Job properties */
@added(Versions.v2026_02_15_preview)
@discriminator("jobType")
model ClusterJobProperties {
/** Job Type to support polymorphic resource. */
@visibility(Lifecycle.Create, Lifecycle.Read)
jobType: HciJobType;

/** Deployment mode to trigger job. */
deploymentMode?: DeploymentMode = DeploymentMode.Deploy;

/** Job provisioning state */
@visibility(Lifecycle.Read)
provisioningState?: ProvisioningState;

/** Unique, immutable job id. */
@visibility(Lifecycle.Read)
jobId?: string;

/** The UTC date and time at which the job started. */
@visibility(Lifecycle.Read)
startTimeUtc?: utcDateTime;

/** The UTC date and time at which the job completed. */
@visibility(Lifecycle.Read)
endTimeUtc?: utcDateTime;

/** Status of Cluster job. */
@visibility(Lifecycle.Read)
status?: JobStatus;

/** Reported properties for job */
@visibility(Lifecycle.Read)
reportedProperties?: JobReportedProperties;
}

@@doc(ClusterJob.name, "Name of ClusterJob");

/**
* List of Cluster Job resources for the HCI cluster.
*/
@added(Versions.v2026_02_15_preview)
model ClusterJobListResult is Azure.Core.Page<ClusterJob>;
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ namespace Microsoft.AzureStackHCI;
/**
* Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model ConfidentialVmProperties {
/**
* 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).
Expand All @@ -39,8 +38,7 @@ model ConfidentialVmProperties {
/**
* 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).
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
union ConfidentialVmIntent {
string,

Expand All @@ -58,8 +56,7 @@ union ConfidentialVmIntent {
/**
* Captures the current status of Confidential Virtual Machine (CVM) support on the cluster.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
union ConfidentialVmStatus {
string,

Expand All @@ -82,8 +79,7 @@ union ConfidentialVmStatus {
/**
* 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.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model ConfidentialVmProfile {
/**
* 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.
Expand All @@ -101,8 +97,7 @@ model ConfidentialVmProfile {
/**
* Provides component-level status information related to IGVM enablement on the device.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model IgvmStatusDetail {
/**
* A machine-readable status code indicating the result or condition of a specific IGVM-related check or operation.
Expand All @@ -120,8 +115,7 @@ model IgvmStatusDetail {
/**
* Represents the IGVM support status for the device.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
union IgvmStatus {
string,

Expand All @@ -145,8 +139,7 @@ union IgvmStatus {
* Represents the Software Defined Networking (SDN) configuration state of the Azure Stack HCI cluster.
*/
#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "For backward compatibility"
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model ClusterSdnProperties extends SdnProperties {
/**
* Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.
Expand All @@ -158,8 +151,7 @@ model ClusterSdnProperties extends SdnProperties {
/**
* Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
union SdnIntegrationIntent {
string,

Expand All @@ -177,8 +169,7 @@ union SdnIntegrationIntent {
/**
* Represents the Software Defined Networking (SDN) configuration state.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
model SdnProperties {
/**
* Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.
Expand All @@ -202,8 +193,7 @@ model SdnProperties {
/**
* Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster.
*/
@added(Versions.v2025_12_01_preview)
@removed(Versions.v2026_02_01)
@added(Versions.v2026_02_15_preview)
union SdnStatus {
string,

Expand Down
Loading