pub struct Capability {Show 59 fields
pub stat: bool,
pub stat_with_if_match: bool,
pub stat_with_if_none_match: bool,
pub stat_with_if_modified_since: bool,
pub stat_with_if_unmodified_since: bool,
pub stat_with_override_cache_control: bool,
pub stat_with_override_content_disposition: bool,
pub stat_with_override_content_type: bool,
pub stat_with_version: bool,
pub read: bool,
pub read_with_if_match: bool,
pub read_with_if_none_match: bool,
pub read_with_if_modified_since: bool,
pub read_with_if_unmodified_since: bool,
pub read_with_override_cache_control: bool,
pub read_with_override_content_disposition: bool,
pub read_with_override_content_type: bool,
pub read_with_version: bool,
pub read_with_suffix: bool,
pub write: bool,
pub write_can_multi: bool,
pub write_can_empty: bool,
pub write_can_append: bool,
pub write_with_content_type: bool,
pub write_with_content_disposition: bool,
pub write_with_content_encoding: bool,
pub write_with_cache_control: bool,
pub write_with_if_match: bool,
pub write_with_if_none_match: bool,
pub write_with_if_not_exists: bool,
pub write_with_user_metadata: bool,
pub write_multi_max_size: Option<usize>,
pub write_multi_min_size: Option<usize>,
pub write_total_max_size: Option<usize>,
pub create_dir: bool,
pub delete: bool,
pub delete_with_version: bool,
pub delete_with_recursive: bool,
pub delete_max_size: Option<usize>,
pub copy: bool,
pub copy_with_if_not_exists: bool,
pub copy_with_if_match: bool,
pub copy_with_source_version: bool,
pub copy_can_multi: bool,
pub copy_multi_max_size: Option<usize>,
pub copy_multi_min_size: Option<usize>,
pub rename: bool,
pub list: bool,
pub list_with_limit: bool,
pub list_with_start_after: bool,
pub list_with_recursive: bool,
pub list_with_versions: bool,
pub list_with_deleted: bool,
pub presign: bool,
pub presign_read: bool,
pub presign_stat: bool,
pub presign_write: bool,
pub presign_delete: bool,
pub shared: bool,
}Expand description
Capability defines the supported operations and their constraints for a storage Operator.
§Overview
This structure provides a comprehensive description of an Operator’s capabilities, including:
- Basic operations support (read, write, delete, etc.)
- Advanced operation variants (conditional operations, metadata handling)
- Operational constraints (size limits, batch limitations)
§Capability Type
OperatorInfo::capability represents all
operations available on the current operator, including those implemented
through layers.
§Implementation Details
Some operations might be available even when not natively supported by the backend. For example:
- Blocking operations are provided through the BlockingLayer
Developers should use capability to determine available operations.
§Field Naming Conventions
Fields follow these naming patterns:
- Basic operations: Simple lowercase (e.g.,
read,write) - Compound operations: Underscore-separated (e.g.,
presign_read) - Variants: Capability description (e.g.,
write_can_empty) - Parameterized operations: With-style (e.g.,
read_with_if_match) - Limitations: Constraint description (e.g.,
write_multi_max_size) - Metadata Results: Returning metadata capabilities (e.g.,
stat_has_content_length)
All capability fields are public and can be accessed directly.
Fields§
§stat: boolIndicates if the operator supports metadata retrieval operations.
stat_with_if_match: boolIndicates if conditional stat operations using If-Match are supported.
stat_with_if_none_match: boolIndicates if conditional stat operations using If-None-Match are supported.
stat_with_if_modified_since: boolIndicates if conditional stat operations using If-Modified-Since are supported.
stat_with_if_unmodified_since: boolIndicates if conditional stat operations using If-Unmodified-Since are supported.
stat_with_override_cache_control: boolIndicates if Cache-Control header override is supported during stat operations.
stat_with_override_content_disposition: boolIndicates if Content-Disposition header override is supported during stat operations.
stat_with_override_content_type: boolIndicates if Content-Type header override is supported during stat operations.
stat_with_version: boolIndicates if versions stat operations are supported.
read: boolIndicates if the operator supports read operations.
read_with_if_match: boolIndicates if conditional read operations using If-Match are supported.
read_with_if_none_match: boolIndicates if conditional read operations using If-None-Match are supported.
read_with_if_modified_since: boolIndicates if conditional read operations using If-Modified-Since are supported.
read_with_if_unmodified_since: boolIndicates if conditional read operations using If-Unmodified-Since are supported.
read_with_override_cache_control: boolIndicates if Cache-Control header override is supported during read operations.
read_with_override_content_disposition: boolIndicates if Content-Disposition header override is supported during read operations.
read_with_override_content_type: boolIndicates if Content-Type header override is supported during read operations.
read_with_version: boolIndicates if versions read operations are supported.
read_with_suffix: boolIndicates if suffix read operations are supported.
write: boolIndicates if the operator supports write operations.
write_can_multi: boolIndicates if multiple write operations can be performed on the same object.
write_can_empty: boolIndicates if writing empty content is supported.
write_can_append: boolIndicates if append operations are supported.
write_with_content_type: boolIndicates if Content-Type can be specified during write operations.
write_with_content_disposition: boolIndicates if Content-Disposition can be specified during write operations.
write_with_content_encoding: boolIndicates if Content-Encoding can be specified during write operations.
write_with_cache_control: boolIndicates if Cache-Control can be specified during write operations.
write_with_if_match: boolIndicates if conditional write operations using If-Match are supported.
write_with_if_none_match: boolIndicates if conditional write operations using If-None-Match are supported.
write_with_if_not_exists: boolIndicates if write operations can be conditional on object non-existence.
write_with_user_metadata: boolIndicates if custom user metadata can be attached during write operations.
write_multi_max_size: Option<usize>Maximum size supported for multipart uploads. For example, AWS S3 supports up to 5GiB per part in multipart uploads.
write_multi_min_size: Option<usize>Minimum size required for multipart uploads (except for the last part). For example, AWS S3 requires at least 5MiB per part.
write_total_max_size: Option<usize>Maximum total size supported for write operations. For example, Cloudflare D1 has a 1MB total size limit.
create_dir: boolIndicates if directory creation is supported.
delete: boolIndicates if delete operations are supported.
delete_with_version: boolIndicates if versions delete operations are supported.
delete_with_recursive: boolIndicates if recursive delete operations are supported.
delete_max_size: Option<usize>Maximum size supported for single delete operations.
copy: boolIndicates if copy operations are supported.
copy_with_if_not_exists: boolIndicates if conditional copy operations with if-not-exists are supported.
copy_with_if_match: boolIndicates if conditional copy operations with if-match are supported.
copy_with_source_version: boolIndicates if copy operations from a specific source version are supported.
copy_can_multi: boolIndicates if copy operations can be split into multiple server-side tasks.
copy_multi_max_size: Option<usize>Maximum size supported for segmented copy tasks.
copy_multi_min_size: Option<usize>Minimum size required for segmented copy tasks.
rename: boolIndicates if rename operations are supported.
list: boolIndicates if list operations are supported.
list_with_limit: boolIndicates if list operations support result limiting.
list_with_start_after: boolIndicates if list operations support continuation from a specific point.
list_with_recursive: boolIndicates if recursive listing is supported.
list_with_versions: boolIndicates if listing with versions included is supported.
list_with_deleted: boolIndicates if listing with deleted files included is supported.
presign: boolIndicates if presigned URL generation is supported.
presign_read: boolIndicates if presigned URLs for read operations are supported.
presign_stat: boolIndicates if presigned URLs for stat operations are supported.
presign_write: boolIndicates if presigned URLs for write operations are supported.
presign_delete: boolIndicates if presigned URLs for delete operations are supported.
Indicate if the operator supports shared access.
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more