Skip to content

Schema

YAML Schema Documentation

The following schemas are generated from Go struct definitions. All field names and types are guaranteed to match the implementation.

PresetDefinition

Defines a reusable preset with parameters and steps.

Fields:

Field Type Required Description
name string Yes Unique preset identifier
description string Yes Human-readable description of what the preset does
version string Yes Semantic version (e.g., 1.0.0)
parameters map[string]PresetParameter Yes Map of parameter definitions
steps []Step No Array of steps to execute

Example YAML:

name: my-preset
description: Description of what this preset does
version: 1.0.0
parameters:
  param_name:
    type: string
    required: true
    description: Parameter description
steps:
  - name: Example step
    shell: echo "hello"

PresetParameter

Defines a parameter that can be passed to a preset.

Fields:

Field Type Required Description
type string Yes Parameter type (string, bool, array, object)
required bool Yes Whether the parameter must be provided
default interface{} Yes Default value if not provided
enum []interface{} Yes List of valid values (if restricted)
description string Yes Human-readable parameter description

Example YAML:

type: string
required: true
default: 
enum: 
description: Description of the parameter

PresetInvocation

Invokes a preset in a playbook (user-facing syntax).

Fields:

Field Type Required Description
name string Yes Name of the preset to invoke
with map[string]interface{} Yes Map of parameter values to pass to preset

Example YAML:

name: my-preset
with:
  param1: value1
  param2: value2