pub struct StorageLocation {
pub provider: StorageProvider,
pub original_url: String,
pub original_scheme: String,
pub canonical_scheme: String,
pub bucket_or_container: String,
pub account: Option<String>,
pub filesystem: Option<String>,
pub prefix: String,
pub endpoint_override: Option<EndpointOverride>,
/* private fields */
}Expand description
A validated storage location with the authority components consumers need.
Fields§
§provider: StorageProviderParsed provider.
original_url: StringOriginal, credential-free URL.
original_scheme: StringLowercase input scheme.
canonical_scheme: StringProvider’s canonical scheme (s3, gs, az, or file).
bucket_or_container: StringBucket, container, or Azure filesystem.
account: Option<String>Azure storage account from a fully qualified Hadoop-style URL.
filesystem: Option<String>Azure filesystem/container from a fully qualified Hadoop-style URL.
prefix: StringRaw object prefix without the authority’s first /.
endpoint_override: Option<EndpointOverride>Redacted explicit endpoint information, when attached by configuration resolution.
Implementations§
Source§impl StorageLocation
impl StorageLocation
Sourcepub fn parse(input: &str) -> Result<Self, StorageLocationError>
pub fn parse(input: &str) -> Result<Self, StorageLocationError>
Parse a supported, credential-free absolute storage URL.
Paths are retained from the input rather than reserialized through
url::Url, preserving repeated slashes and dot segments.
§Errors
Returns a typed error for unsupported schemes, malformed authorities, embedded credentials, signed queries, or non-absolute file URLs.
Sourcepub fn with_endpoint_override(
self,
endpoint: &str,
) -> Result<Self, StorageLocationError>
pub fn with_endpoint_override( self, endpoint: &str, ) -> Result<Self, StorageLocationError>
Attach a redacted endpoint override classification.
§Errors
Returns an error for credentials, queries, fragments, or non-HTTP(S) endpoints.
Sourcepub fn endpoint_class(&self) -> StorageEndpointClass
pub fn endpoint_class(&self) -> StorageEndpointClass
Classify the effective endpoint without exposing its hostname.
Sourcepub fn adapt(
&self,
consumer: StorageConsumer,
) -> Result<AdaptedStorageLocation, StorageLocationError>
pub fn adapt( &self, consumer: StorageConsumer, ) -> Result<AdaptedStorageLocation, StorageLocationError>
Adapt this location to a downstream storage consumer.
§Errors
Returns an error when the selected consumer cannot safely represent the location, such as an unqualified Azure path for Iceberg/OpenDAL.
Trait Implementations§
Source§impl Clone for StorageLocation
impl Clone for StorageLocation
Source§fn clone(&self) -> StorageLocation
fn clone(&self) -> StorageLocation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StorageLocation
impl Debug for StorageLocation
Source§impl Display for StorageLocation
impl Display for StorageLocation
impl Eq for StorageLocation
Source§impl PartialEq for StorageLocation
impl PartialEq for StorageLocation
impl StructuralPartialEq for StorageLocation
Auto Trait Implementations§
impl Freeze for StorageLocation
impl RefUnwindSafe for StorageLocation
impl Send for StorageLocation
impl Sync for StorageLocation
impl Unpin for StorageLocation
impl UnsafeUnpin for StorageLocation
impl UnwindSafe for StorageLocation
Blanket Implementations§
impl<T> Allocation for T
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.