Skip to content
Draft
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
1 change: 1 addition & 0 deletions sdk/storage/azure-storage-blob/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## 12.33.0-beta.2 (Unreleased)

### Features Added
- Added support for `AccessTierIfModifiedSince` and `AccessTierIfUnmodifiedSince` to conditionally perform `BlobClient.delete` operations.

### Breaking Changes

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
@Fluent
public class BlobRequestConditions extends BlobLeaseRequestConditions {
private String leaseId;
private OffsetDateTime accessTierIfModifiedSince;
private OffsetDateTime accessTierIfUnmodifiedSince;

/**
* Creates a new instance of {@link BlobRequestConditions}.
Expand Down Expand Up @@ -104,4 +106,52 @@ public BlobRequestConditions setLeaseId(String leaseId) {
this.leaseId = leaseId;
return this;
}

/**
* Gets the access-tier {@link OffsetDateTime} that the resource must have been modified since.
* <b> Currently, this is only supported for the Delete Blob operation. </b>
*
* @return The access-tier {@link OffsetDateTime} that the resource must have been modified since.
*/
public OffsetDateTime getAccessTierIfModifiedSince() {
return accessTierIfModifiedSince;
}

/**
* Optionally limits requests to resources that have had their access-tier modified since the specified
* {@link OffsetDateTime}.
* <b> Currently, this is only supported for the Delete Blob operation. </b>
*
* @param accessTierIfModifiedSince The access-tier {@link OffsetDateTime} that the resource must have been modified
* since.
* @return The updated BlobRequestConditions object.
*/
public BlobRequestConditions setAccessTierIfModifiedSince(OffsetDateTime accessTierIfModifiedSince) {
this.accessTierIfModifiedSince = accessTierIfModifiedSince;
return this;
}

/**
* Gets the access-tier {@link OffsetDateTime} that the resource must have remained unmodified since.
* <b> Currently, this is only supported for the Delete Blob operation. </b>
*
* @return The access-tier {@link OffsetDateTime} that the resource must have remained unmodified since.
*/
public OffsetDateTime getAccessTierIfUnmodifiedSince() {
return accessTierIfUnmodifiedSince;
}

/**
* Optionally limits requests to resources that have not had their access-tier modified since the specified
* {@link OffsetDateTime}.
* <b> Currently, this is only supported for the Delete Blob operation. </b>
*
* @param accessTierIfUnmodifiedSince The access-tier {@link OffsetDateTime} that the resource must have remained
* unmodified since.
* @return The updated BlobRequestConditions object.
*/
public BlobRequestConditions setAccessTierIfUnmodifiedSince(OffsetDateTime accessTierIfUnmodifiedSince) {
this.accessTierIfUnmodifiedSince = accessTierIfUnmodifiedSince;
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1642,7 +1642,9 @@ Mono<Response<Void>> deleteWithResponse(DeleteSnapshotsOptionType deleteBlobSnap
.deleteNoCustomHeadersWithResponseAsync(containerName, blobName, snapshot, versionId, null,
requestConditions.getLeaseId(), deleteBlobSnapshotOptions, requestConditions.getIfModifiedSince(),
requestConditions.getIfUnmodifiedSince(), requestConditions.getIfMatch(),
requestConditions.getIfNoneMatch(), requestConditions.getTagsConditions(), null, null, context);
requestConditions.getIfNoneMatch(), requestConditions.getTagsConditions(), null, null,
requestConditions.getAccessTierIfModifiedSince(), requestConditions.getAccessTierIfUnmodifiedSince(),
context);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1624,7 +1624,9 @@ public Response<Void> deleteWithResponse(DeleteSnapshotsOptionType deleteBlobSna
finalRequestConditions.getLeaseId(), deleteBlobSnapshotOptions,
finalRequestConditions.getIfModifiedSince(), finalRequestConditions.getIfUnmodifiedSince(),
finalRequestConditions.getIfMatch(), finalRequestConditions.getIfNoneMatch(),
finalRequestConditions.getTagsConditions(), null, null, finalContext);
finalRequestConditions.getTagsConditions(), null, null,
finalRequestConditions.getAccessTierIfModifiedSince(),
finalRequestConditions.getAccessTierIfUnmodifiedSince(), finalContext);

return sendRequest(operation, timeout, BlobStorageException.class);
}
Expand Down
2 changes: 1 addition & 1 deletion sdk/storage/azure-storage-blob/swagger/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ autorest
### Code generation settings
``` yaml
use: '@autorest/[email protected]'
input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/refs/heads/main/specification/storage/data-plane/Microsoft.BlobStorage/stable/2026-02-06/blob.json
input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/933db48a0939e55518e7f3f442dd78ea66e3fef0/specification/storage/data-plane/Microsoft.BlobStorage/stable/2026-04-06/blob.json
java: true
output-folder: ../
namespace: com.azure.storage.blob
Expand Down