Skip to content

Commit b0108b0

Browse files
committed
Protocol Layer
1 parent 96d053a commit b0108b0

File tree

9 files changed

+316
-151
lines changed

9 files changed

+316
-151
lines changed

sdk/storage/azure-storage-blobs/inc/azure/storage/blobs/rest_client.hpp

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ namespace Azure { namespace Storage { namespace Blobs {
3232
/**
3333
* The version used for the operations to Azure storage services.
3434
*/
35-
constexpr static const char* ApiVersion = "2026-02-06";
35+
constexpr static const char* ApiVersion = "2026-04-06";
3636
} // namespace _detail
3737
namespace Models {
3838
/**
39-
* @brief The algorithm used to produce the encryption key hash. Currently, the only accepted
40-
* value is "AES256". Must be provided if the x-ms-encryption-key header is provided.
39+
* @brief The algorithm used to produce the source encryption key hash. Currently, the only
40+
* accepted value is "AES256". Must be provided if the x-ms-source-encryption-key is provided.
4141
*/
4242
class EncryptionAlgorithmType final
4343
: public Core::_internal::ExtendableEnumeration<EncryptionAlgorithmType> {
@@ -502,6 +502,10 @@ namespace Azure { namespace Storage { namespace Blobs {
502502
* The date-time the key expires in ISO 8601 UTC time.
503503
*/
504504
std::string Expiry;
505+
/**
506+
* The delegated user tenant id in Azure AD.
507+
*/
508+
Nullable<std::string> DelegatedUserTid;
505509
};
506510
} // namespace _detail
507511
/**
@@ -533,6 +537,10 @@ namespace Azure { namespace Storage { namespace Blobs {
533537
* The service version that created the key.
534538
*/
535539
std::string SignedVersion;
540+
/**
541+
* The delegated user tenant id in Azure AD. Return if DelegatedUserTid is specified.
542+
*/
543+
Nullable<std::string> SignedDelegatedUserTid;
536544
/**
537545
* The key as a base64 string.
538546
*/
@@ -3592,6 +3600,8 @@ namespace Azure { namespace Storage { namespace Blobs {
35923600
ETag IfMatch;
35933601
ETag IfNoneMatch;
35943602
Nullable<std::string> IfTags;
3603+
Nullable<DateTime> AccessTierIfModifiedSince;
3604+
Nullable<DateTime> AccessTierIfUnmodifiedSince;
35953605
};
35963606
static Response<Models::DeleteBlobResult> Delete(
35973607
Core::Http::_internal::HttpPipeline& pipeline,
@@ -4030,6 +4040,9 @@ namespace Azure { namespace Storage { namespace Blobs {
40304040
ETag SourceIfNoneMatch;
40314041
Nullable<std::string> CopySourceAuthorization;
40324042
Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4043+
Nullable<std::string> SourceEncryptionKey;
4044+
Nullable<std::string> SourceEncryptionKeySha256;
4045+
Nullable<Models::EncryptionAlgorithmType> SourceEncryptionAlgorithm;
40334046
};
40344047
static Response<Models::UploadPagesFromUriResult> UploadPagesFromUri(
40354048
Core::Http::_internal::HttpPipeline& pipeline,
@@ -4205,6 +4218,9 @@ namespace Azure { namespace Storage { namespace Blobs {
42054218
ETag SourceIfNoneMatch;
42064219
Nullable<std::string> CopySourceAuthorization;
42074220
Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4221+
Nullable<std::string> SourceEncryptionKey;
4222+
Nullable<std::string> SourceEncryptionKeySha256;
4223+
Nullable<Models::EncryptionAlgorithmType> SourceEncryptionAlgorithm;
42084224
};
42094225
static Response<Models::AppendBlockFromUriResult> AppendBlockFromUri(
42104226
Core::Http::_internal::HttpPipeline& pipeline,
@@ -4295,6 +4311,9 @@ namespace Azure { namespace Storage { namespace Blobs {
42954311
Nullable<std::string> CopySourceAuthorization;
42964312
Nullable<Models::BlobCopySourceTagsMode> CopySourceTags;
42974313
Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4314+
Nullable<std::string> SourceEncryptionKey;
4315+
Nullable<std::string> SourceEncryptionKeySha256;
4316+
Nullable<Models::EncryptionAlgorithmType> SourceEncryptionAlgorithm;
42984317
Nullable<std::vector<std::uint8_t>> SourceContentcrc64;
42994318
};
43004319
static Response<Models::UploadBlockBlobFromUriResult> UploadFromUri(
@@ -4339,6 +4358,9 @@ namespace Azure { namespace Storage { namespace Blobs {
43394358
ETag SourceIfNoneMatch;
43404359
Nullable<std::string> CopySourceAuthorization;
43414360
Nullable<Models::FileShareTokenIntent> FileRequestIntent;
4361+
Nullable<std::string> SourceEncryptionKey;
4362+
Nullable<std::string> SourceEncryptionKeySha256;
4363+
Nullable<Models::EncryptionAlgorithmType> SourceEncryptionAlgorithm;
43424364
};
43434365
static Response<Models::StageBlockFromUriResult> StageBlockFromUri(
43444366
Core::Http::_internal::HttpPipeline& pipeline,

sdk/storage/azure-storage-blobs/src/rest_client.cpp

Lines changed: 166 additions & 69 deletions
Large diffs are not rendered by default.

sdk/storage/azure-storage-blobs/swagger/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ package-name: azure-storage-blobs
99
namespace: Azure::Storage::Blobs
1010
output-folder: generated
1111
clear-output-folder: true
12-
input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/storage/data-plane/Microsoft.BlobStorage/stable/2026-02-06/blob.json
12+
input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/refs/heads/feature/storage/stg101base/specification/storage/data-plane/Microsoft.BlobStorage/stable/2026-04-06/blob.json
1313
```
1414
1515
## ModelFour Options
@@ -100,12 +100,12 @@ directive:
100100
"name": "ApiVersion",
101101
"modelAsString": false
102102
},
103-
"enum": ["2026-02-06"]
103+
"enum": ["2026-04-06"]
104104
};
105105
- from: swagger-document
106106
where: $.parameters
107107
transform: >
108-
$.ApiVersionParameter.enum[0] = "2026-02-06";
108+
$.ApiVersionParameter.enum[0] = "2026-04-06";
109109
```
110110
111111
### Rename Operations

sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/rest_client.hpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
3232
/**
3333
* The version used for the operations to Azure storage services.
3434
*/
35-
constexpr static const char* ApiVersion = "2026-02-06";
35+
constexpr static const char* ApiVersion = "2026-04-06";
3636
} // namespace _detail
3737
namespace Models {
3838
/**
@@ -530,6 +530,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
530530
* The date-time the key expires in ISO 8601 UTC time.
531531
*/
532532
std::string Expiry;
533+
/**
534+
* The delegated user tenant id in Azure AD.
535+
*/
536+
Nullable<std::string> DelegatedUserTid;
533537
};
534538
} // namespace _detail
535539
/**
@@ -561,6 +565,10 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
561565
* The service version that created the key.
562566
*/
563567
std::string SignedVersion;
568+
/**
569+
* The delegated user tenant id in Azure AD. Return if DelegatedUserTid is specified.
570+
*/
571+
Nullable<std::string> SignedDelegatedUserTid;
564572
/**
565573
* The key as a base64 string.
566574
*/

0 commit comments

Comments
 (0)