pub enum ConfigSlotSuppliedBy {
Environment,
Platform,
Runtime,
}Expand description
Single [[config_slots]] entry — a config value the TARGET environment must
fill for this server to run.
A Shape A server’s whole identity is its config, so “what must the operator
supply?” has to be declarable IN that config rather than discovered by
grepping for ${...}. This block is that declaration: it names the config
path, the kind of thing it is, and the value exercised when the server was
tested.
Additive per the REF-01 superset invariant — a config omitting the block
parses to an empty ServerConfig::config_slots. Strict-parse discipline
(D-13) applies: #[serde(deny_unknown_fields)] rejects a typo’d inner key.
§Example
[[config_slots]]
key = "backend.base_url"
kind = "endpoint"
name = "TFL_BASE_URL"
tested_value = "https://api.tfl.gov.uk"Who fills a config slot’s value.
Mirrors pmcp-package’s SuppliedBy by TOML value name, never by shared
type — the same arrangement as ConfigSlotKind, and for the same
reason: the toolkit must NOT depend on pmcp-package (the
workspace-excluded leaf), and a dependency the other way inverts the
layering. The agreement is enforced by the package side re-parsing these
same config bytes, not by a shared definition.
Defaults to Environment, so every config written
before this field existed keeps its exact meaning: the operator supplies it.
Variants§
Environment
The operator supplies it in the target environment. The default, and the only class a package enumerates as REQUIRED of an operator.
Platform
The hosting platform injects it at deploy time.
Runtime
The execution environment injects it (e.g. AWS_LAMBDA_FUNCTION_NAME);
neither the operator nor the platform supplies it.
Trait Implementations§
Source§impl Clone for ConfigSlotSuppliedBy
impl Clone for ConfigSlotSuppliedBy
impl Copy for ConfigSlotSuppliedBy
Source§impl Debug for ConfigSlotSuppliedBy
impl Debug for ConfigSlotSuppliedBy
Source§impl Default for ConfigSlotSuppliedBy
impl Default for ConfigSlotSuppliedBy
Source§impl<'de> Deserialize<'de> for ConfigSlotSuppliedBy
impl<'de> Deserialize<'de> for ConfigSlotSuppliedBy
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 ConfigSlotSuppliedBy
Source§impl PartialEq for ConfigSlotSuppliedBy
impl PartialEq for ConfigSlotSuppliedBy
Source§impl Serialize for ConfigSlotSuppliedBy
impl Serialize for ConfigSlotSuppliedBy
impl StructuralPartialEq for ConfigSlotSuppliedBy
Auto Trait Implementations§
impl Freeze for ConfigSlotSuppliedBy
impl RefUnwindSafe for ConfigSlotSuppliedBy
impl Send for ConfigSlotSuppliedBy
impl Sync for ConfigSlotSuppliedBy
impl Unpin for ConfigSlotSuppliedBy
impl UnsafeUnpin for ConfigSlotSuppliedBy
impl UnwindSafe for ConfigSlotSuppliedBy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more