particle-os-modules/modules/systemd/systemd.tsp
xyny be6e4ba5bd
feat: add typespec schemas for modules (#233)
* feat: add typespec for bling and akmods for testing

* chore: temporarily change module source to dev branch

* feat: add missing module typespecs from blue-build/schema

* feat: add schemas for default-flatpaks module

* chore: annotate some parameters as optional

* fix: typo in default-flatpaks schema

* feat: add schema for files module

* feat: add script module schema

* feat: add signing module schema

* docs: add module.yml docs etc.

* fix(default-flatpaks): don't capitalize string in typespec

* feat: add schemas for gnome-extensions

* fix(files): properly declare string: string record type

* chore: add tsp for gschema-overrides

* chore: tsp for systemd module

* chore: add link to systemd tsp to module.yml

* chore: add tsp for yafti module

* feat: add docstrings for files module

* feat: add tsp for chezmoi module

* feat: docstrings for akmods tsp

* feat: docstrings for bling tsp

* feat: docstrings for default flatpaks tsp

* fix: link to files module docs page in files module tsp

* feat: docstrings for fonts module tsp

* feat: add docstrings for gnome extensions tsp

* feat: docstrings for gschema overrides tsp

* feat: docstrings for rpm ostree tsp

* feat: docstrings for script tsp

* feat: docstrings for signing module

* feat: docstrings for systemd tsp

* feat: docstrings for yafti module

* fix: typo in files tsp

* feat: typespec for brew module

* chore: update rpm ostree tsp for keys: prop

* fix: use typespec to declare default values

* fix: errors from previous commit

* docs: add typespec instructions

* docs: chore: add typespec docs link for docs syntax

* chore: switch to semicolon for ending property definitions

* docs: fix: typo inlude -> include

* feat: tsp for justfiles module

* chore: change links to reference main branch

---------

Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com>
2024-07-09 16:25:31 +00:00

40 lines
No EOL
1.5 KiB
Text

import "@typespec/json-schema";
using TypeSpec.JsonSchema;
@jsonSchema("/modules/systemd.json")
model SystemdModule {
/** The systemd module streamlines the management of systemd units during image building.
* https://blue-build.org/reference/modules/systemd/
*/
type: "systemd";
/** System unit configuration. */
system?: {
/** List of systemd units to enable. (runs on system boot) */
enabled?: Array<string>;
/** List of systemd units to disable. (does not run on system boot, unless another unit strictly requires it) */
disabled?: Array<string>;
/** List of systemd units to mask. (does not run on system boot, under any circumstances) */
masked?: Array<string>;
/** List of systemd units to unmask. (runs on system boot, even if previously masked) */
unmasked?: Array<string>;
};
/** User unit configuration (with --global to make changes for all users). */
user?: {
/** List of systemd units to enable. (runs for the users) */
enabled?: Array<string>;
/** List of systemd units to disable. (does not run for the users, unless another unit strictly requires it) */
disabled?: Array<string>;
/** List of systemd units to mask. (does not run for the users, under any circumstances) */
masked?: Array<string>;
/** List of systemd units to unmask. (runs for the users, even if previously masked) */
unmasked?: Array<string>;
};
}