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}