pub struct PackMetadata {
pub name: Option<String>,
pub description: Option<String>,
pub authors: Vec<String>,
pub tags: Vec<String>,
pub parameters: BTreeMap<String, Parameter>,
pub extends: Vec<String>,
}Expand description
metadata block of a v3 invariants file. Acts as the pack header
when the file is loaded as a rule pack.
Fields§
§name: Option<String>Canonical pack name. When the file is referenced via
wallfacer property --pack <name>, <name> should match this.
description: Option<String>One-paragraph human-readable description.
Author identities (free-form strings, e.g. "wallfacer-core",
"alice@example.org").
Tags for catalog grouping (e.g. ["security", "auth"]).
parameters: BTreeMap<String, Parameter>Declared parameters. Every {{name}} referenced in the file
must be declared here; the value of default is substituted
unless the caller passes an override via parse_with_overrides.
extends: Vec<String>Names of other packs whose invariants are imported when this
pack is loaded. Cycles are rejected; depth is capped by
MAX_EXTENDS_DEPTH. Resolution lives in
crate::run::pack::resolve_extends.
Trait Implementations§
Source§impl Clone for PackMetadata
impl Clone for PackMetadata
Source§fn clone(&self) -> PackMetadata
fn clone(&self) -> PackMetadata
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more