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
6 changes: 6 additions & 0 deletions specification/storage/data-plane/FileStorage/client.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,12 @@ model SignedIdentifiersGo is Array<SignedIdentifier>;
"python,javascript,csharp,go"
);

#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "This is for legacy compatibility"
@@Legacy.disablePageable(
Storage.File.File.listAllRanges,
"python,javascript,csharp,go"
);

@@alternateType(Storage.File.FileProperty.creationTime, string, "python");
@@alternateType(Storage.File.FileProperty.lastWriteTime, string, "python");
@@alternateType(Storage.File.FileProperty.changeTime, string, "python");
Expand Down
3 changes: 3 additions & 0 deletions specification/storage/data-plane/FileStorage/main.tsp
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,7 @@ namespace Storage.File;
enum Versions {
/** API Version 2026-06-06 */
v2026_06_06: "2026-06-06",

/** API Version 2026-10-06 */
v2026_10_06: "2026-10-06",
}
23 changes: 23 additions & 0 deletions specification/storage/data-plane/FileStorage/models.tsp
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import "@typespec/rest";
import "@typespec/http";
import "@typespec/xml";
import "@typespec/versioning";
import "@azure-tools/typespec-azure-core";
import "@azure-tools/typespec-client-generator-core";

using TypeSpec.Http;
using TypeSpec.Versioning;
using Azure.ClientGenerator.Core;

namespace Storage.File;
Expand Down Expand Up @@ -986,6 +988,27 @@ model ShareFileRangeList {
clearRanges?: ClearRange[];
}

/** The paginated list of file ranges */
@added(Versions.v2026_10_06)
@Xml.name("Ranges")
model ShareFileRangeListSegment {
/** The file ranges. */
@pageItems
@Xml.unwrapped
@Xml.name("Range")
ranges?: FileRange[];

/** The clear ranges. */
@Xml.unwrapped
@Xml.name("ClearRange")
clearRanges?: ClearRange[];

/** The next marker. */
@continuationToken
@Xml.name("NextMarker")
nextMarker?: string;
}

/**
* The error response.
*
Expand Down
11 changes: 10 additions & 1 deletion specification/storage/data-plane/FileStorage/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ These are the global settings for the FileStorage API.

```yaml
openapi-type: data-plane
tag: package-2026-06-tsp
tag: package-2026-10-tsp
use-internal-constructors: true
add-credentials: true
```
Expand All @@ -40,6 +40,15 @@ input-file:
- stable/2026-06-06/generated_file.json
```

### Tag: package-2026-10-tsp

These settings apply only when `--tag=package-2026-10-tsp` is specified on the command line.

``` yaml $(tag) == 'package-2026-10-tsp'
input-file:
- stable/2026-10-06/generated_file.json
```

### Suppression

```yaml
Expand Down
30 changes: 30 additions & 0 deletions specification/storage/data-plane/FileStorage/routes.tsp
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import "@typespec/rest";
import "@typespec/http";
import "@typespec/versioning";
import "@azure-tools/typespec-client-generator-core";
import "./models.tsp";

using TypeSpec.Http;
using TypeSpec.Versioning;
using Azure.ClientGenerator.Core;

namespace Storage.File;
Expand Down Expand Up @@ -1152,6 +1154,7 @@ interface File {
>;

/** Returns the list of valid page ranges for a file or snapshot of a file. */
@sharedRoute
@route("?comp=rangelist")
@get
getRangeList is StorageOperationResponseBody<
Expand All @@ -1173,6 +1176,33 @@ interface File {
}
>;

/** Returns a paginated list of valid page ranges for a file or snapshot of a file. */
@added(Versions.v2026_10_06)
@sharedRoute
@route("?comp=rangelist")
@get
@list
listAllRanges is StorageOperationResponseBody<
{
...ShareSnapshotParameter;
...PreviousSnapshotParameter;
...TimeoutParameter;
...RangeHeader;
...LeaseIdOptionalParameter;
...AllowTrailingDotParameter;
...FileRequestIntentParameter;
...SupportRenameHeader;
...MarkerParameter;
...MaxResultsParameter;
},
{
...LastModifiedResponseHeader;
...EtagResponseHeader;
...FileContentLengthResponseHeader;
@body rangeList: ShareFileRangeListSegment;
}
>;

/** Copies a blob or file to a destination file within the storage account. */
@sharedRoute
@put
Expand Down
Loading
Loading