pub struct SdkOptions {Show 14 fields
pub package: String,
pub module: String,
pub version: String,
pub base_url: Option<String>,
pub embed: Option<String>,
pub embed_args: Vec<String>,
pub embed_env: BTreeMap<String, String>,
pub embed_env_vars: Vec<EnvVar>,
pub targets: Vec<String>,
pub description: Option<String>,
pub repository: Option<String>,
pub paginated: Vec<String>,
pub cursor_param: String,
pub limit_param: String,
}Expand description
Everything an emitter needs that the operations don’t carry.
Fields§
§package: StringDistribution name, e.g. finance-query.
module: StringImport name, e.g. finance_query.
version: String§base_url: Option<String>Default server; falls back to the first Info server. Optional
when SdkOptions::embed supplies one at runtime instead.
embed: Option<String>Server binary the package bundles and spawns, making the SDK
self-contained: a client built with no base URL starts this and
talks to it. None leaves the SDK a pure client for a hosted API.
embed_args: Vec<String>Arguments passed to the embedded server on every launch.
embed_env: BTreeMap<String, String>Environment applied to every launch, over the ambient one and under
the caller’s own. Config beats ambient deliberately: an inherited
PORT from whatever runs the consumer’s app must not decide where
a bundled server binds.
embed_env_vars: Vec<EnvVar>The knobs the embedded server documents, parsed from its dotenv
template. Becomes a typed ServerEnv on the client and a table in
the README, so a client configures the same server the same way a
deployment does.
targets: Vec<String>Target triples the embedded server is built for. Empty means
target::Target::DEFAULT.
description: Option<String>§repository: Option<String>§paginated: Vec<String>Operation ids whose response switches to a {items, pageInfo}
envelope when limit/cursor are sent.
cursor_param: String§limit_param: String