pub struct SecretModificationPatch {
pub name: String,
pub source: Option<SecretSource>,
pub value: Zeroizing<String>,
pub placeholder: Option<String>,
pub allowed_hosts: Vec<String>,
}Expand description
A desired secret spec inside a modification patch.
The spec is declarative: it states the target state for one secret (source
or value, placeholder, allowed hosts) and the planner infers the concrete
change — added, rotated, hosts updated, placeholder updated — by diffing
the spec against the existing config. Removal is explicit through
SandboxModificationPatch::secrets_remove.
Only value may carry secret material, and only in-process: it is
Zeroizing-wrapped, redacted from Debug output, skipped by serde when
empty, and never copied into the plan.
Fields§
§name: StringStable secret identity, usually the environment variable name.
source: Option<SecretSource>Host-side source reference to resolve the value from. Mutually
exclusive with value.
value: Zeroizing<String>Raw secret value supplied by the caller, for embedders that hold only
a value (e.g. from their own vault). Mutually exclusive with source.
A value-based apply persists the value into the durable config until a
later source-based rotate migrates the entry to a reference.
placeholder: Option<String>Guest-visible placeholder/reference, if explicitly requested.
allowed_hosts: Vec<String>Desired allowed host patterns. Empty means “leave unchanged” for an existing secret; a new secret needs at least one.
Trait Implementations§
Source§impl Clone for SecretModificationPatch
impl Clone for SecretModificationPatch
Source§fn clone(&self) -> SecretModificationPatch
fn clone(&self) -> SecretModificationPatch
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more