interface-binding
One interface instance the workload matched on this plugin — e.g. the
store interface of acme:kv@0.1.0, labeled cache, with its
manifest config.
record interface-binding {
namespace: string,
package: string,
interfaces: list<string>,
version: option<version>,
name: option<string>,
external-id: option<string>,
config: list<tuple<string, string>>,
}Fields
| Name | Type | Description |
|---|---|---|
| namespace | string | Interface namespace (e.g. |
| package | string | Package within the namespace (e.g. |
| interfaces | list<string> | The matched interface names within the package (e.g. |
| version | option<version> | Version of the instance, if one was requested. |
| name | option<string> | Instance label when the workload names multiple instances of the same namespace:package, if any. Component-facing: what the component calls this import. Two gaps for a wasm host component plugin specifically (a
Rust built-in plugin doesn't have either): a workload with more
than one named binding on the same namespace:package is
rejected before bind unless the plugin implements
|
| external-id | option<string> | Platform-facing id the binding was declared with, if any — what the platform's configuration calls the same instance. Two names, one contract: |
| config | list<tuple<string, string>> | Interface-level configuration from the workload manifest, as key/value pairs sorted by key. |