pub struct Link {
pub source_id: ComponentId,
pub target: LatticeTarget,
pub name: LinkName,
pub wit_namespace: WitNamespace,
pub wit_package: WitPackage,
pub interfaces: Vec<WitInterface>,
pub source_config: Vec<KnownConfigName>,
pub target_config: Vec<KnownConfigName>,
}
Expand description
A link definition between a source and target component (component or provider) on a given interface.
An Link
connects one component’s import to another
component’s export, specifying the configuration each component needs in order to execute
the request, and represents an operator’s intent to allow the source to invoke the target.
This link definition is distinct from the one in wasmcloud_core
, in that it is
represents a link at the point in time before it’s configuration is fully resolved
Fields§
§source_id: ComponentId
Source identifier for the link
target: LatticeTarget
Target for the link, which can be a unique identifier or (future) a routing group
name: LinkName
Name of the link. Not providing this is equivalent to specifying “default”
wit_namespace: WitNamespace
WIT namespace of the link operation, e.g. wasi
in wasi:keyvalue/readwrite.get
wit_package: WitPackage
WIT package of the link operation, e.g. keyvalue
in wasi:keyvalue/readwrite.get
interfaces: Vec<WitInterface>
WIT Interfaces to be used for the link, e.g. readwrite
, atomic
, etc.
source_config: Vec<KnownConfigName>
List of named configurations to provide to the source upon request
target_config: Vec<KnownConfigName>
List of named configurations to provide to the target upon request
Trait Implementations§
source§impl<'de> Deserialize<'de> for Link
impl<'de> Deserialize<'de> for Link
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>,
impl Eq for Link
impl StructuralPartialEq for Link
Auto Trait Implementations§
impl Freeze for Link
impl RefUnwindSafe for Link
impl Send for Link
impl Sync for Link
impl Unpin for Link
impl UnwindSafe for Link
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key
and return true
if they are equal.