Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
0aee7c8
typespec move for november preview
abaranwal-ms Nov 26, 2025
cd4ce89
delete manual swaggers
abaranwal-ms Nov 26, 2025
ab2010a
update readme
abaranwal-ms Nov 26, 2025
a59c663
update
welovej Dec 2, 2025
0b54166
update
welovej Dec 2, 2025
9eefa16
rename for java
weidongxu-microsoft Dec 3, 2025
bd9ff2a
client.tsp
weidongxu-microsoft Dec 3, 2025
a5c7581
fix
weidongxu-microsoft Dec 3, 2025
1d2d00d
java client
weidongxu-microsoft Dec 3, 2025
e3c0f1b
Update tspconfig.yaml for Azure Stack HCI SDK
ChenxiJiang333 Dec 3, 2025
afcc3d7
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
msyyc Dec 3, 2025
373fe28
Merge branch 'users/abaranwal/tsp-move-public-nov' of https://github.…
welovej Dec 4, 2025
79b72ff
update
welovej Dec 4, 2025
afb290a
Revert "update"
welovej Dec 4, 2025
ca93648
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 8, 2025
f2a0f27
duplicate list
abaranwal-ms Dec 8, 2025
7d81570
use arm operations
abaranwal-ms Dec 8, 2025
044c9d1
fix doc comment
abaranwal-ms Dec 8, 2025
59d8c61
Merge branch 'users/abaranwal/restructure-ov-api' into users/abaranwa…
abaranwal-ms Dec 8, 2025
d8b7538
Merge remote-tracking branch 'origin/main' into users/abaranwal/restr…
abaranwal-ms Dec 8, 2025
cebd950
Merge branch 'users/abaranwal/restructure-ov-api' into users/abaranwa…
abaranwal-ms Dec 8, 2025
82e521b
fix documentation
abaranwal-ms Dec 8, 2025
cc7ddb5
Merge branch 'users/abaranwal/restructure-ov-api' into users/abaranwa…
abaranwal-ms Dec 8, 2025
f151a61
roo analysis
abaranwal-ms Dec 8, 2025
09b8b03
refactor duplicate models
abaranwal-ms Dec 8, 2025
3ccdba9
remove dup text
abaranwal-ms Dec 8, 2025
62e47f4
Merge remote-tracking branch 'origin/main' into users/abaranwal/merge…
abaranwal-ms Dec 10, 2025
15b584d
adding dec preview
abaranwal-ms Dec 10, 2025
ecbdf18
remove swaggers
abaranwal-ms Dec 10, 2025
aee3101
Exclude some flattenProperties for js
JialinHuang803 Dec 11, 2025
2068263
restore not common models
abaranwal-ms Dec 11, 2025
18fac15
Merge branch 'main' into users/abaranwal/merged-tsp
abaranwal-ms Dec 11, 2025
1351131
Refactor EdgeMachine Models
abaranwal-ms Dec 11, 2025
099184f
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 11, 2025
e199ea2
format
abaranwal-ms Dec 11, 2025
eec4db2
readme update
abaranwal-ms Dec 11, 2025
fcfe855
Merge branch 'users/abaranwal/merged-tsp' of https://github.com/Azure…
abaranwal-ms Dec 11, 2025
12e0bdf
Use versioned changes for december into users/abaranwal/tsp-move-pub…
abaranwal-ms Dec 11, 2025
cff40c0
formatting
abaranwal-ms Dec 11, 2025
1cbe1c6
update
welovej Dec 12, 2025
b8c4860
tsp compile with new version
abaranwal-ms Dec 12, 2025
a6ea8ed
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 12, 2025
bbf7ace
no base version annotation
abaranwal-ms Dec 12, 2025
e6a0f2b
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 12, 2025
0b1867a
revert examples for november to store original alignment
abaranwal-ms Dec 12, 2025
1dd4466
hci properties for december
abaranwal-ms Dec 12, 2025
65e687e
prettier fix
abaranwal-ms Dec 12, 2025
cc2efd6
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 15, 2025
d5078fa
Merge branch 'main' of https://github.com/Azure/azure-rest-api-specs …
v-jiaodi Dec 15, 2025
1d9be86
revert
v-jiaodi Dec 17, 2025
3044b9f
remove : @@Legacy.flattenProperty(UpdateProperties.componentVersions);
welovej Dec 17, 2025
0a19d22
recompile using compiler 1.7.0
welovej Dec 17, 2025
28e05d5
remove client flatten to unblock sdk
abaranwal-ms Dec 17, 2025
7f96109
lint diff suppression
abaranwal-ms Dec 17, 2025
aaf6001
remove unused model
abaranwal-ms Dec 17, 2025
c96ec53
remove flatten from non model
abaranwal-ms Dec 17, 2025
440f642
Merge branch 'main' into users/abaranwal/tsp-move-public-nov
abaranwal-ms Dec 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -322,3 +322,6 @@ using Microsoft.AzureStackHCI;
"csharp"
);
@@clientName(VmSizeEnum, "HciVmSize", "csharp");

// Java
@@clientName(Update, "HciUpdate", "java");
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
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;

namespace Microsoft.AzureStackHCI;
/**
* ArcSetting details.
*/
@parentResource(Cluster)
model ArcSetting is Azure.ResourceManager.ProxyResource<ArcSettingProperties> {
...ResourceNameParameter<
Resource = ArcSetting,
KeyName = "arcSettingName",
SegmentName = "arcSettings",
NamePattern = ""
>;
}

@armResourceOperations
interface ArcSettings {
/**
* Get ArcSetting resource details of HCI Cluster.
*/
get is ArmResourceRead<ArcSetting>;

/**
* Create ArcSetting for HCI cluster.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
create is ArmResourceCreateOrReplaceSync<
ArcSetting,
Response = ArmResourceUpdatedResponse<ArcSetting>
>;

/**
* Update ArcSettings for HCI cluster.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-patch" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@patch(#{ implicitOptionality: false })
update is ArmCustomPatchSync<ArcSetting, PatchModel = ArcSettingsPatch>;

/**
* Delete ArcSetting resource details of HCI Cluster.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
#suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
delete is ArmResourceDeleteWithoutOkAsync<
ArcSetting,
Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse<ArmAsyncOperationHeader &
Azure.Core.Foundations.RetryAfterHeader> | ArmDeletedNoContentResponse
>;

/**
* Get ArcSetting resources of HCI Cluster.
*/
listByCluster is ArmResourceListByParent<
ArcSetting,
Response = ArmResponse<ArcSettingList>
>;

/**
* Generate password for arc settings.
*/
generatePassword is ArmResourceActionSync<
ArcSetting,
void,
ArmResponse<PasswordCredential>
>;

/**
* Create Aad identity for arc settings.
*/
@action("createArcIdentity")
@Azure.Core.useFinalStateVia("azure-async-operation")
createIdentity is ArmResourceActionAsync<
ArcSetting,
void,
ArmResponse<ArcIdentityResponse>,
LroHeaders = ArmCombinedLroHeaders<FinalResult = ArcIdentityResponse> &
Azure.Core.Foundations.RetryAfterHeader
>;

/**
* Reconcile Arc Settings with information related to all nodes.
*/
@Azure.Core.useFinalStateVia("azure-async-operation")
reconcile is ArmResourceActionAsync<
ArcSetting,
ReconcileArcSettingsRequest,
ArmResponse<ArcSetting>,
LroHeaders = ArmCombinedLroHeaders<FinalResult = ArcSetting> &
Azure.Core.Foundations.RetryAfterHeader
>;

/**
* Add consent time for default extensions and initiate extensions installation
*/
consentAndInstallDefaultExtensions is ArmResourceActionSync<
ArcSetting,
void,
ArmResponse<ArcSetting>
>;

/**
* Initializes ARC Disable process on the cluster
*/
@Azure.Core.useFinalStateVia("azure-async-operation")
initializeDisableProcess is ArmResourceActionAsync<
ArcSetting,
void,
OkResponse,
LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader
>;
}

@@doc(ArcSetting.name,
"The name of the proxy resource holding details of HCI ArcSetting information."
);
@@doc(ArcSetting.properties, "ArcSetting properties.");
@@doc(ArcSettings.create::parameters.resource,
"Parameters supplied to the Create ArcSetting resource for this HCI cluster."
);
@@doc(ArcSettings.update::parameters.properties,
"ArcSettings parameters that needs to be updated"
);
@@doc(ArcSettings.reconcile::parameters.body,
"Request for reconciling Arc Settings."
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-azure-resource-manager";
import "@typespec/openapi";
import "@typespec/rest";
import "./models.tsp";

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

namespace Microsoft.AzureStackHCI;
/**
* Cluster details.
*/
model Cluster is Azure.ResourceManager.TrackedResource<ClusterProperties> {
...ResourceNameParameter<
Resource = Cluster,
KeyName = "clusterName",
SegmentName = "clusters",
NamePattern = ""
>;
...Azure.ResourceManager.ManagedServiceIdentityProperty;

/**
* This property identifies the purpose of the Cluster deployment. For example, a valid value is AzureLocal
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
@visibility(Lifecycle.Read, Lifecycle.Create)
@pattern("^[-\\w\\._,\\(\\\\\\)]+$")
kind?: string;
}

@armResourceOperations
interface Clusters {
/**
* Get HCI cluster.
*/
get is ArmResourceRead<Cluster>;

/**
* Create an HCI cluster.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
create is ArmResourceCreateOrReplaceSync<
Cluster,
Response = ArmResourceUpdatedResponse<Cluster>
>;

/**
* Update an HCI cluster.
*/
@patch(#{ implicitOptionality: false })
update is ArmCustomPatchSync<Cluster, PatchModel = ClusterPatch>;

/**
* Delete an HCI cluster.
*/
#suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details"
delete is ArmResourceDeleteWithoutOkAsync<
Cluster,
Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse
>;

/**
* List all HCI clusters in a resource group.
*/
listByResourceGroup is ArmResourceListByParent<
Cluster,
Response = ArmResponse<ClusterList>
>;

/**
* List all HCI clusters in a subscription.
*/
listBySubscription is ArmListBySubscription<
Cluster,
Response = ArmResponse<ClusterList>
>;

/**
* Update cluster secrets locations.
*/
updateSecretsLocations is ArmResourceActionAsync<
Cluster,
SecretsLocationsChangeRequest,
Cluster
>;

/**
* Upload certificate.
*/
@Azure.Core.useFinalStateVia("azure-async-operation")
uploadCertificate is ArmResourceActionAsyncBase<
Cluster,
UploadCertificateRequest,
ArmAcceptedLroResponse<LroHeaders = ArmCombinedLroHeaders &
Azure.Core.Foundations.RetryAfterHeader>,
BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters<Cluster>
>;

/**
* Create cluster identity.
*/
@Azure.Core.useFinalStateVia("azure-async-operation")
@action("createClusterIdentity")
createIdentity is ArmResourceActionAsync<
Cluster,
void,
ArmResponse<ClusterIdentityResponse>,
LroHeaders = ArmCombinedLroHeaders<FinalResult = ClusterIdentityResponse> &
Azure.Core.Foundations.RetryAfterHeader
>;

/**
* Extends Software Assurance Benefit to a cluster
*/
extendSoftwareAssuranceBenefit is ArmResourceActionAsync<
Cluster,
SoftwareAssuranceChangeRequest,
Cluster
>;

/**
* Changes ring of a cluster
*/
changeRing is ArmResourceActionAsync<Cluster, ChangeRingRequest, Cluster>;

/**
* Trigger Log Collection on a cluster
*/
triggerLogCollection is ArmResourceActionAsync<
Cluster,
LogCollectionRequest,
Cluster
>;

/**
* Configure RemoteSupport on a cluster
*/
configureRemoteSupport is ArmResourceActionAsync<
Cluster,
RemoteSupportRequest,
Cluster
>;

/**
* List Offers available across publishers for the HCI Cluster.
*/
@list
@get
@action("offers")
listByCluster is ArmResourceActionSync<
Cluster,
void,
ArmResponse<OfferList>,
Parameters = {
/**
* Specify $expand=content,contentVersion to populate additional fields related to the marketplace offer.
*/
@query("$expand")
$expand?: string;
}
>;
}

@@doc(Cluster.name, "The name of the cluster.");
@@doc(Cluster.properties, "Cluster properties.");
@@doc(Clusters.create::parameters.resource, "Details of the HCI cluster.");
@@doc(Clusters.update::parameters.properties, "Details of the HCI cluster.");
@@doc(Clusters.uploadCertificate::parameters.body,
"Upload certificate request."
);
@@doc(Clusters.extendSoftwareAssuranceBenefit::parameters.body,
"Software Assurance Change Request Payload"
);
@@doc(Clusters.changeRing::parameters.body, "Change ring request payload");
@@doc(Clusters.triggerLogCollection::parameters.body,
"Trigger Log Collection Request Payload"
);
@@doc(Clusters.configureRemoteSupport::parameters.body,
"Configure Remote Support Request Payload"
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
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;

namespace Microsoft.AzureStackHCI;
/**
* Edge device resource
*/
@parentResource(Cluster)
model DeploymentSetting
is Azure.ResourceManager.ProxyResource<DeploymentSettingsProperties> {
@path
@key("deploymentSettingsName")
@segment("deploymentSettings")
@pattern("^[a-zA-Z0-9-]{3,24}$")
name: string = "default";
}

@armResourceOperations
interface DeploymentSettings {
/**
* Get a DeploymentSetting
*/
get is ArmResourceRead<DeploymentSetting>;

/**
* Create a DeploymentSetting
*/
createOrUpdate is ArmResourceCreateOrReplaceAsync<DeploymentSetting>;

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

/**
* List DeploymentSetting resources by Clusters
*/
listByClusters is ArmResourceListByParent<DeploymentSetting>;
}

@@doc(DeploymentSetting.name, "Name of Deployment Setting");
@@doc(DeploymentSetting.properties,
"The resource-specific properties for this resource."
);
@@visibility(DeploymentSetting.properties, Lifecycle.Read, Lifecycle.Create);
Loading
Loading