ulams apply
Generated from front/cli (ulams schema)
ulams apply
Section titled “ulams apply”Apply YAML or JSON manifests (Course, User, Group, Page, Setting, Access) idempotently.
Each document has apiVersion ulams.dev/v1, kind, metadata.key and spec. Courses may nest lessons and topics (richtext or oembed). Existing objects are found by title, email, name or group+key and only changed fields are written, so a second run performs no writes. –dry-run prints the plan; –exit-code exits 13 when it contains changes; –prune also removes lessons, topics and access entries missing from the manifest (needs –yes).
Kind: write (idempotent). Stability: stable. MCP tool: apply (not exposed). Scopes: courses:write.
| Flag | Type | Required | Description |
|---|---|---|---|
--file |
string | yes | Manifest file, or - for stdin. |
--exit-code |
boolean | With –dry-run: exit 13 when there are changes. | |
--prune |
boolean | Delete children missing from the manifest (destructive). |
# Preview a course manifestulams apply --file course.yaml --dry-run --json# Apply itulams apply --file course.yaml --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "file": { "type": "string", "description": "Manifest file, or - for stdin." }, "exitCode": { "description": "With --dry-run: exit 13 when there are changes.", "type": "boolean" }, "prune": { "description": "Delete children missing from the manifest (destructive).", "type": "boolean" } }, "required": [ "file" ]}