Skip to content

Commit c54d2c3

Browse files
authored
rename SequenceNumberCondition to IfSequenceNumber (per #951) (#954)
1 parent 748a096 commit c54d2c3

File tree

7 files changed

+45
-32
lines changed

7 files changed

+45
-32
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
use crate::{headers, Header};
2+
3+
/// Conditional request header based on the value of the object's sequence number
4+
///
5+
/// Ref: <https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url>
6+
#[derive(Debug, Clone, Copy, PartialEq)]
7+
pub enum IfSequenceNumber {
8+
/// If the object's sequence number is less than the specified value, the
9+
/// request proceeds; otherwise it fails with SequenceNumberConditionNotMet
10+
/// error (HTTP status code 412 – Precondition Failed).
11+
LessThan(u64),
12+
/// If the object's sequence number is less than or equal to the specified
13+
/// value, the request proceeds; otherwise it fails with the
14+
/// SequenceNumberConditionNotMet error (HTTP status code 412 – Precondition
15+
/// Failed).
16+
LessOrEqual(u64),
17+
/// If the object’s sequence number is equal to the specified value, the
18+
/// request proceeds; otherwise it fails with SequenceNumberConditionNotMet
19+
/// error (HTTP status code 412 – Precondition Failed).
20+
Equal(u64),
21+
}
22+
23+
impl Header for IfSequenceNumber {
24+
fn name(&self) -> headers::HeaderName {
25+
match self {
26+
IfSequenceNumber::Equal(_) => headers::IF_SEQUENCE_NUMBER_EQ,
27+
IfSequenceNumber::LessOrEqual(_) => headers::IF_SEQUENCE_NUMBER_LE,
28+
IfSequenceNumber::LessThan(_) => headers::IF_SEQUENCE_NUMBER_LT,
29+
}
30+
}
31+
32+
fn value(&self) -> headers::HeaderValue {
33+
match self {
34+
IfSequenceNumber::Equal(val)
35+
| IfSequenceNumber::LessOrEqual(val)
36+
| IfSequenceNumber::LessThan(val) => val.to_string().into(),
37+
}
38+
}
39+
}

sdk/core/src/request_options/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ mod delimiter;
1515
mod if_match_condition;
1616
mod if_modified_since;
1717
mod if_modified_since_condition;
18+
mod if_sequence_number;
1819
mod if_source_match_condition;
1920
mod if_source_modified_since_condition;
2021
mod lease;
@@ -28,7 +29,6 @@ mod prefix;
2829
mod proposed_lease_id;
2930
mod range;
3031
mod sequence_number;
31-
mod sequence_number_condition;
3232
mod source_lease_id;
3333
mod timeout;
3434
mod user;
@@ -52,6 +52,7 @@ pub use delimiter::Delimiter;
5252
pub use if_match_condition::IfMatchCondition;
5353
pub use if_modified_since::IfModifiedSince;
5454
pub use if_modified_since_condition::IfModifiedSinceCondition;
55+
pub use if_sequence_number::IfSequenceNumber;
5556
pub use if_source_match_condition::IfSourceMatchCondition;
5657
pub use if_source_modified_since_condition::IfSourceModifiedSinceCondition;
5758
pub use lease::LeaseId;
@@ -65,7 +66,6 @@ pub use prefix::Prefix;
6566
pub use proposed_lease_id::ProposedLeaseId;
6667
pub use range::Range;
6768
pub use sequence_number::SequenceNumber;
68-
pub use sequence_number_condition::SequenceNumberCondition;
6969
pub use source_lease_id::SourceLeaseId;
7070
pub use timeout::Timeout;
7171
pub use user::User;

sdk/core/src/request_options/sequence_number_condition.rs

Lines changed: 0 additions & 26 deletions
This file was deleted.

sdk/storage_blobs/examples/put_page_blob_00.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ async fn main() -> azure_core::Result<()> {
7474
let res = blob_client
7575
.put_page(BA512Range::new(512, 1023)?, slice)
7676
.hash(digest)
77-
.if_sequence_number(SequenceNumberCondition::Equal(100))
77+
.if_sequence_number(IfSequenceNumber::Equal(100))
7878
.into_future()
7979
.await?;
8080
println!("update sequence number condition == {:?}", res);

sdk/storage_blobs/src/blob/operations/clear_page.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ operation! {
1010
ClearPage,
1111
client: BlobClient,
1212
ba512_range: BA512Range,
13-
?if_sequence_number: SequenceNumberCondition,
13+
?if_sequence_number: IfSequenceNumber,
1414
?if_modified_since: IfModifiedSinceCondition,
1515
?if_match: IfMatchCondition,
1616
?lease_id: LeaseId

sdk/storage_blobs/src/blob/operations/copy_blob.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ operation! {
1313
client: BlobClient,
1414
source_url: Url,
1515
?metadata: Metadata,
16-
?if_sequence_number: SequenceNumberCondition,
16+
?if_sequence_number: IfSequenceNumber,
1717
?if_modified_since: IfModifiedSinceCondition,
1818
?if_match: IfMatchCondition,
1919
?if_tags: IfTagsCondition,

sdk/storage_blobs/src/blob/operations/put_page.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ operation! {
99
ba512_range: BA512Range,
1010
content: Body,
1111
?hash: Hash,
12-
?if_sequence_number: SequenceNumberCondition,
12+
?if_sequence_number: IfSequenceNumber,
1313
?if_modified_since: IfModifiedSinceCondition,
1414
?if_match: IfMatchCondition,
1515
?if_tags: IfTagsCondition,

0 commit comments

Comments
 (0)