azure_storage_blobs/options/
blob_versioning.rs
1use super::VersionId;
2use crate::options::Snapshot;
3use azure_core::{AppendToUrlQuery, Url};
4
5#[derive(Debug, Clone)]
6pub enum BlobVersioning {
7 Snapshot(Snapshot),
8 VersionId(VersionId),
9}
10
11impl From<Snapshot> for BlobVersioning {
12 fn from(snapshot: Snapshot) -> Self {
13 BlobVersioning::Snapshot(snapshot)
14 }
15}
16
17impl From<VersionId> for BlobVersioning {
18 fn from(version_id: VersionId) -> Self {
19 BlobVersioning::VersionId(version_id)
20 }
21}
22
23impl AppendToUrlQuery for BlobVersioning {
24 fn append_to_url_query(&self, url: &mut Url) {
25 match self {
26 BlobVersioning::Snapshot(snapshot) => snapshot.append_to_url_query(url),
27 BlobVersioning::VersionId(version_id) => version_id.append_to_url_query(url),
28 }
29 }
30}