Struct wasmcloud_core::link::InterfaceLinkDefinition
source · pub struct InterfaceLinkDefinition {
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: HashMap<String, String>,
pub target_config: HashMap<String, String>,
pub source_secrets: Option<Vec<u8>>,
pub target_secrets: Option<Vec<u8>>,
}
Expand description
A link definition between a source and target component (component or provider) on a given
interface. An InterfaceLinkDefinition
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.
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: HashMap<String, String>
The configuration to give to the source for this link
target_config: HashMap<String, String>
The configuration to give to the target for this link
source_secrets: Option<Vec<u8>>
The secrets to give to the source of this link
Should decrypt as a HashMap<String, SecretValue>
target_secrets: Option<Vec<u8>>
The secrets to give to the target of this link
Should decrypt as a HashMap<String, SecretValue>
Trait Implementations§
source§impl Clone for InterfaceLinkDefinition
impl Clone for InterfaceLinkDefinition
source§fn clone(&self) -> InterfaceLinkDefinition
fn clone(&self) -> InterfaceLinkDefinition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InterfaceLinkDefinition
impl Debug for InterfaceLinkDefinition
source§impl Default for InterfaceLinkDefinition
impl Default for InterfaceLinkDefinition
source§fn default() -> InterfaceLinkDefinition
fn default() -> InterfaceLinkDefinition
source§impl<'de> Deserialize<'de> for InterfaceLinkDefinition
impl<'de> Deserialize<'de> for InterfaceLinkDefinition
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>,
source§impl Serialize for InterfaceLinkDefinition
impl Serialize for InterfaceLinkDefinition
source§impl Zeroize for InterfaceLinkDefinition
impl Zeroize for InterfaceLinkDefinition
impl ZeroizeOnDrop for InterfaceLinkDefinition
Auto Trait Implementations§
impl Freeze for InterfaceLinkDefinition
impl RefUnwindSafe for InterfaceLinkDefinition
impl Send for InterfaceLinkDefinition
impl Sync for InterfaceLinkDefinition
impl Unpin for InterfaceLinkDefinition
impl UnwindSafe for InterfaceLinkDefinition
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
)