Skip to main content

Module schema

Module schema 

Source
Expand description

YAML schema types for values/<env>.yaml per RFC §2.2.

Phase 1 scope: deserialize the file and validate built-in shapes (lid: [a-z0-9]{8,}, cb_id: cb[0-9]+). Resolution wiring per resource/field comes in Phase 2 / Phase 3.

Forward-compat policy: #[serde(deny_unknown_fields)] is intentionally NOT applied here — values files are user-edited and the RFC permits omitting empty namespaces (e.g. preheader: {}). The strict shape check happens via validate() after parsing.

Structs§

CbIdEntry
A cb_id value. Key = referenced content_block name slug (RFC §3 Q3).
ContentBlockValues
Resource-scoped values for a content_block. content_block bodies are single-body so lid / cb_id / custom live directly under the resource (RFC §2.2).
CustomEntry
User-managed custom value; opaque string. No shape validation per RFC §9 Q3 (custom is left to user).
EmailTemplateValues
Resource-scoped values for an email_template. lid / cb_id are field-scoped because lid is a per-occurrence ID tied to in-field position. custom lives at the resource root only (RFC §2.2).
FieldValues
lid / cb_id namespaces for one email_template field.
Globals
Cross-resource per-env values. Currently only custom is populated; future extension may add globals.lid / globals.cb_id (RFC §2.2).
LidEntry
A lid value with its correlation anchor. url is set for fields that have a hyperlink context (HTML / plaintext bodies); anchor is set for URL-less fields (subject / preheader). Either may be absent for skeletons generated by templatize (RFC §2.7).
ValuesFile
Top-level values/<env>.yaml document.

Constants§

SUPPORTED_VERSION
Currently supported values file schema version (RFC §5 Edge cases).

Functions§

default_values_path
Default location resolver. RFC §2.1: values_file config field wins, otherwise values/<env>.yaml relative to the config dir.