pub struct PluginArtifactDescriptor {Show 17 fields
pub schema_version: u32,
pub plugin_id: String,
pub version: String,
pub publisher: String,
pub transport: PluginArtifactTransport,
pub target: String,
pub format: PluginArtifactFormat,
pub architecture: String,
pub abi_major: u16,
pub abi_minor_min: u16,
pub abi_minor_max: u16,
pub capabilities: Vec<PluginArtifactCapability>,
pub requires: Vec<PluginRequirement>,
pub provides: Vec<PluginProvision>,
pub runtime_dependencies: Vec<PluginRuntimeDependency>,
pub resource_policy: PluginResourcePolicy,
pub migration_version: String,
}Expand description
Artifact metadata that can be inspected without opening the artifact.
Fields§
§schema_version: u32§plugin_id: String§version: String§publisher: String§transport: PluginArtifactTransport§target: String§format: PluginArtifactFormat§architecture: String§abi_major: u16§abi_minor_min: u16§abi_minor_max: u16§capabilities: Vec<PluginArtifactCapability>§requires: Vec<PluginRequirement>§provides: Vec<PluginProvision>§runtime_dependencies: Vec<PluginRuntimeDependency>§resource_policy: PluginResourcePolicy§migration_version: StringImplementations§
Source§impl PluginArtifactDescriptor
impl PluginArtifactDescriptor
Sourcepub fn from_parts(
plugin_id: impl Into<String>,
version: impl Into<String>,
publisher: impl Into<String>,
transport: PluginArtifactTransport,
target: impl Into<String>,
format: PluginArtifactFormat,
architecture: impl Into<String>,
abi_major: u16,
abi_minor_min: u16,
abi_minor_max: u16,
capabilities: Vec<PluginArtifactCapability>,
) -> Result<Self, PluginCatalogError>
pub fn from_parts( plugin_id: impl Into<String>, version: impl Into<String>, publisher: impl Into<String>, transport: PluginArtifactTransport, target: impl Into<String>, format: PluginArtifactFormat, architecture: impl Into<String>, abi_major: u16, abi_minor_min: u16, abi_minor_max: u16, capabilities: Vec<PluginArtifactCapability>, ) -> Result<Self, PluginCatalogError>
Constructs and validates a descriptor from the stable artifact fields.
Optional dependency/resource declarations can be added before calling
Self::canonicalize.
Sourcepub fn from_json(bytes: &[u8]) -> Result<Self, PluginCatalogError>
pub fn from_json(bytes: &[u8]) -> Result<Self, PluginCatalogError>
Decodes and validates one descriptor from canonical JSON input.
Sourcepub fn to_json(&self) -> Result<Vec<u8>, PluginCatalogError>
pub fn to_json(&self) -> Result<Vec<u8>, PluginCatalogError>
Encodes the validated descriptor in deterministic JSON form.
Sourcepub fn validate(&self) -> Result<(), PluginCatalogError>
pub fn validate(&self) -> Result<(), PluginCatalogError>
Validates the descriptor without loading or probing an artifact.
Sourcepub fn canonicalize(
&self,
) -> Result<CanonicalPluginArtifactDescriptor, PluginCatalogError>
pub fn canonicalize( &self, ) -> Result<CanonicalPluginArtifactDescriptor, PluginCatalogError>
Produces stable JSON and a SHA-256 identity for catalog metadata.
pub fn fingerprint(&self) -> Result<String, PluginCatalogError>
pub fn plugin_reference( &self, capability_instance_id: Option<String>, ) -> Result<PluginReference, PluginCatalogError>
Trait Implementations§
Source§impl Clone for PluginArtifactDescriptor
impl Clone for PluginArtifactDescriptor
Source§fn clone(&self) -> PluginArtifactDescriptor
fn clone(&self) -> PluginArtifactDescriptor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PluginArtifactDescriptor
impl Debug for PluginArtifactDescriptor
Source§impl<'de> Deserialize<'de> for PluginArtifactDescriptor
impl<'de> Deserialize<'de> for PluginArtifactDescriptor
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for PluginArtifactDescriptor
Source§impl PartialEq for PluginArtifactDescriptor
impl PartialEq for PluginArtifactDescriptor
Source§impl Serialize for PluginArtifactDescriptor
impl Serialize for PluginArtifactDescriptor
impl StructuralPartialEq for PluginArtifactDescriptor
Auto Trait Implementations§
impl Freeze for PluginArtifactDescriptor
impl RefUnwindSafe for PluginArtifactDescriptor
impl Send for PluginArtifactDescriptor
impl Sync for PluginArtifactDescriptor
impl Unpin for PluginArtifactDescriptor
impl UnsafeUnpin for PluginArtifactDescriptor
impl UnwindSafe for PluginArtifactDescriptor
Blanket Implementations§
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
Mutably borrows from an owned value. Read more