pub struct PluginManifest {
pub api_version: u32,
pub name: String,
pub version: Version,
pub description: String,
pub capabilities: Vec<Capability>,
pub required_host_fns: Vec<String>,
pub config_schema: Option<JsonSchema>,
pub allowed_hosts: Vec<String>,
}Expand description
Returned by an Extism plugin’s hm_manifest() export.
Fields§
§api_version: u32Must equal crate::HM_PLUGIN_API_VERSION or the host rejects
the plugin at load time.
name: StringStable plugin identifier, e.g. harmont-docker. Used as the
key in the registry and in error messages.
version: Version§description: String§capabilities: Vec<Capability>§required_host_fns: Vec<String>Host functions the plugin needs. Load fails fast if any are
not exported by this build of hm.
config_schema: Option<JsonSchema>Optional JSON Schema describing plugin-specific configuration
that lives in the project’s .harmont/plugins.toml.
allowed_hosts: Vec<String>HTTPS hosts the plugin is permitted to contact via
extism_pdk::http::request. Defaults to empty (no HTTP).
The host wires this into extism’s per-instance manifest at
load time; attempting to contact a host not in this list
fails inside the plugin.
Trait Implementations§
Source§impl Clone for PluginManifest
impl Clone for PluginManifest
Source§fn clone(&self) -> PluginManifest
fn clone(&self) -> PluginManifest
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 PluginManifest
impl Debug for PluginManifest
Source§impl<'de> Deserialize<'de> for PluginManifest
impl<'de> Deserialize<'de> for PluginManifest
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
Source§impl JsonSchema for PluginManifest
impl JsonSchema for PluginManifest
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for PluginManifest
impl PartialEq for PluginManifest
Source§fn eq(&self, other: &PluginManifest) -> bool
fn eq(&self, other: &PluginManifest) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for PluginManifest
impl Serialize for PluginManifest
impl Eq for PluginManifest
impl StructuralPartialEq for PluginManifest
Auto Trait Implementations§
impl Freeze for PluginManifest
impl RefUnwindSafe for PluginManifest
impl Send for PluginManifest
impl Sync for PluginManifest
impl Unpin for PluginManifest
impl UnsafeUnpin for PluginManifest
impl UnwindSafe for PluginManifest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.