import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/rest"; import "@typespec/http"; import "./models.tsp"; using TypeSpec.Rest; using TypeSpec.Http; using Azure.ResourceManager; using TypeSpec.Versioning; namespace Microsoft.AzureStackHCI; /** * DevicePool details. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" @added(Versions.v2026_04_01_preview) @removed(Versions.v2026_04_30) model DevicePool is Azure.ResourceManager.TrackedResource { ...ResourceNameParameter< Resource = DevicePool, KeyName = "devicePoolName", SegmentName = "devicePools", NamePattern = "^[a-zA-Z0-9-_]{3,63}$" >; ...ManagedServiceIdentityProperty; } @added(Versions.v2026_04_01_preview) @removed(Versions.v2026_04_30) @armResourceOperations interface DevicePools { /** * Get a DevicePool */ get is ArmResourceRead; /** * Create a DevicePool */ createOrUpdate is ArmResourceCreateOrReplaceAsync; /** * Delete a DevicePool */ delete is ArmResourceDeleteWithoutOkAsync; /** * Update a devicePool */ @patch(#{ implicitOptionality: false }) update is ArmCustomPatchAsync; /** * List all device pools in a resource group. */ listByResourceGroup is ArmResourceListByParent; /** * List all device pools in a subscription. */ listBySubscription is ArmListBySubscription; /** * Claiming devices of the pool. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned." claimDevices is ArmResourceActionNoContentAsync< DevicePool, ClaimDeviceRequest >; /** * Releasing devices of the pool. */ #suppress "@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes" "The final response has no content, so 204 is returned." releaseDevices is ArmResourceActionNoContentAsync< DevicePool, ReleaseDeviceRequest >; }