Skip to content
Open
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
2 changes: 1 addition & 1 deletion sdk/storage/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "cpp",
"TagPrefix": "cpp/storage",
"Tag": "cpp/storage_d6a62566ee"
"Tag": "cpp/storage_862e6db71b"
}
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,10 @@ namespace Azure { namespace Storage { namespace Blobs {
Azure::Nullable<EncryptionKey> m_customerProvidedKey;
/** @brief Encryption scope. */
Azure::Nullable<std::string> m_encryptionScope;
/** @brief Upload TransferValidationOptions */
Azure::Nullable<TransferValidationOptions> m_uploadValidationOptions;
/** @brief Download TransferValidationOptions */
Azure::Nullable<TransferValidationOptions> m_downloadValidationOptions;

private:
explicit BlobClient(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,42 @@ namespace Azure { namespace Storage { namespace Blobs {
Azure::Nullable<std::string> TagConditions;
};

/**
* @brief Specifies HTTP options for conditional requests based on AccessTier.
*/
struct AccessTierAccessConditions
{
/**
* @brief Destructor.
*
*/
virtual ~AccessTierAccessConditions() = default;

/**
* @brief Specify this header value to operate only on a blob if the access-tier has been
* modified since the specified date/time. Note: If this is specified,
* AccessTierIfUnmodifiedSince cannot be specified.
* Only valid for Delete Blob API.
*/
Azure::Nullable<Azure::DateTime> AccessTierIfModifiedSince;

/**
* @brief Specify this header value to operate only on a blob if the access-tier has not been
* modified since the specified date/time. Note: If this is specified, AccessTierIfModifiedSince
* cannot be specified.
* Only valid for Delete Blob API.
*/
Azure::Nullable<Azure::DateTime> AccessTierIfUnmodifiedSince;
};

/**
* @brief Specifies access conditions for a blob.
*/
struct BlobAccessConditions : public Azure::ModifiedConditions,
public Azure::MatchConditions,
public LeaseAccessConditions,
public TagAccessConditions
public TagAccessConditions,
public AccessTierAccessConditions
{
};

Expand Down Expand Up @@ -168,6 +197,17 @@ namespace Azure { namespace Storage { namespace Blobs {
Models::EncryptionAlgorithmType Algorithm;
};

/**
* Configures whether to do content validation for blob uploads and downloads.
*/
struct TransferValidationOptions
{
/**
* @brief The algorithm used for storage checksum.
*/
StorageChecksumAlgorithm Algorithm = StorageChecksumAlgorithm::None;
};

/**
* @brief Client options used to initialize all kinds of blob clients.
*/
Expand Down Expand Up @@ -210,6 +250,16 @@ namespace Azure { namespace Storage { namespace Blobs {
* not set.
*/
Azure::Nullable<BlobAudience> Audience;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> UploadValidationOptions;

/**
* @brief Optional. Configures whether to do content validation for blob downloads.
*/
Azure::Nullable<TransferValidationOptions> DownloadValidationOptions;
};

/**
Expand Down Expand Up @@ -254,6 +304,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* will be truncated to second.
*/
Azure::DateTime StartsOn = std::chrono::system_clock::now();

/**
* The delegated user tenant id in Azure AD.
*/
Nullable<std::string> DelegatedUserTid;
};

/**
Expand Down Expand Up @@ -684,6 +739,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* @brief Optional conditions that must be met to perform this operation.
*/
BlobAccessConditions AccessConditions;

/**
* @brief Optional. Configures whether to do content validation for blob downloads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -718,6 +778,11 @@ namespace Azure { namespace Storage { namespace Blobs {
*/
int32_t Concurrency = 5;
} TransferOptions;

/**
* @brief Optional. Configures whether to do content validation for blob downloads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -906,6 +971,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* Indicates whether the blob has a legal hold.
*/
Azure::Nullable<bool> HasLegalHold;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -965,6 +1035,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* Indicates whether the blob has a legal hold.
*/
Azure::Nullable<bool> HasLegalHold;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -1040,6 +1115,12 @@ namespace Azure { namespace Storage { namespace Blobs {
* token authentication. Used to indicate the intent of the request.
*/
Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;

/**
* Optional. Specifies the source customer provided key to use to encrypt the source blob.
* Applicable only for service version 2026-02-06 or later.
*/
Azure::Nullable<EncryptionKey> SourceCustomerProvidedKey;
};

/**
Expand All @@ -1058,6 +1139,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* @brief Optional conditions that must be met to perform this operation.
*/
LeaseAccessConditions AccessConditions;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -1102,6 +1188,12 @@ namespace Azure { namespace Storage { namespace Blobs {
* token authentication. Used to indicate the intent of the request.
*/
Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;

/**
* Optional. Specifies the source customer provided key to use to encrypt the source blob.
* Applicable only for service version 2026-02-06 or later.
*/
Azure::Nullable<EncryptionKey> SourceCustomerProvidedKey;
};

/**
Expand Down Expand Up @@ -1364,6 +1456,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* @brief Optional conditions that must be met to perform this operation.
*/
AppendBlobAccessConditions AccessConditions;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -1401,6 +1498,12 @@ namespace Azure { namespace Storage { namespace Blobs {
* token authentication. Used to indicate the intent of the request.
*/
Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;

/**
* Optional. Specifies the source customer provided key to use to encrypt the source blob.
* Applicable only for service version 2026-02-06 or later.
*/
Azure::Nullable<EncryptionKey> SourceCustomerProvidedKey;
};

/**
Expand Down Expand Up @@ -1479,6 +1582,11 @@ namespace Azure { namespace Storage { namespace Blobs {
* @brief Optional conditions that must be met to perform this operation.
*/
PageBlobAccessConditions AccessConditions;

/**
* @brief Optional. Configures whether to do content validation for blob uploads.
*/
Azure::Nullable<TransferValidationOptions> ValidationOptions;
};

/**
Expand Down Expand Up @@ -1518,6 +1626,12 @@ namespace Azure { namespace Storage { namespace Blobs {
* token authentication. Used to indicate the intent of the request.
*/
Azure::Nullable<Models::FileShareTokenIntent> FileRequestIntent;

/**
* Optional. Specifies the source customer provided key to use to encrypt the source blob.
* Applicable only for service version 2026-02-06 or later.
*/
Azure::Nullable<EncryptionKey> SourceCustomerProvidedKey;
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,18 @@ namespace Azure { namespace Storage { namespace Sas {
*/
std::string DelegatedUserObjectId;

/**
* @brief Optional. Custom Request Headers to include in the SAS. Any usage of the SAS must
* include these headers and values in the request.
*/
std::map<std::string, std::string> RequestHeaders;

/**
* @brief Optional. Custom Request Query Parameters to include in the SAS. Any usage of the SAS
* must include these query parameters and values in the request.
*/
std::map<std::string, std::string> RequestQueryParameters;

/**
* @brief Override the value returned for Cache-Control response header..
*/
Expand Down
Loading
Loading