osp.playbook

Playbook

type

object

properties

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • environments

When executing a playbook, if multiple environments are defined, the user will be prompted to select one using a custom picker. A typical use case is to differentiate between Quality and Production playbooks.

see documentation ↗️

type

array

items

TemplateEnvironment

  • priority

The execution priority of the playbook, which determines the order in which playbooks are applied when template.execute.all command is used

Note: Lower numeric values represent higher priority.

type

integer

additionalProperties

False

TemplateEnvironment

type

object

properties

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • names

### Playbook Environment Execution

When a playbook contains multiple environments, the QuickPick shows all available environments so the user can choose which one to run.

#### Execution Logic

  1. Name selection: If an environment has one or more “names” matching the user’s selection, the playbook is executed for all matching environments.

This ensures that all available environments are visible and execution only occurs with a valid environment.

type

array

items

type

string

  • tasks

The list of tasks to execute in this playbook

type

array

items

oneOf

SOURCE_DESTINATION_MIRRORING

CSV_INVENTORY

  • variables

A list of variablesFiles for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows:

  • Variables are added or overridden at each definition level (e.g., a variable like “hostname” defined in environments can be overridden by one in a specific rule).

  • Variables cannot be removed once defined.

Conflict rules:

  • If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined.

  • If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

Variables

additionalProperties

False

SOURCE_DESTINATION_MIRRORING

type

object

properties

  • type

type

string

enum

SOURCE_DESTINATION_MIRRORING

default

SOURCE_DESTINATION_MIRRORING

  • condition

A boolean condition that determines whether file generation should occur for a given CSV line.

If the condition evaluates to false, the line will be skipped.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • paths

Root directory that will be scanned recursively. All regular files beneath this point are treated exactly like this :

  • Files ending in “.nunjucks” are rendered / generated

  • Others are simply copied

For example:
└── root
└── example
└── prod

└── config.yaml.nunjucks └── value.ospp

becomes :
└── root
└── example
└── prod

└── config.yaml └── value.ospp

see documentation ↗️

type

array

items

FileLocation

  • variables

A list of variablesFiles for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows: * Variables are added or overridden at each definition level (e.g., a variable like “hostname” defined in environments can be overridden by one in a specific rule). * Variables cannot be removed once defined.

Conflict rules: * If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined. * If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

see documentation ↗️

Variables

additionalProperties

False

JEXL_EVALUATION

type

object

properties

  • type

type

string

enum

JEXL_EVALUATION

default

JEXL_EVALUATION

  • evaluation

A JSON-based boolean expression that is evaluated using the JEXL (JavaScript Expression Language) engine.

This expression supports dynamic evaluation using context variables provided at runtime. The result must be a boolean value (i.e., the expression must evaluate to true or false).

Example: “evaluation”: “user.age > 18 && user.active == true”

This expression will return true only if the user is over 18 and active.

The available variables correspond to the current execution context, and are equivalent to the ones available in templates (e.g., when rendering using Nunjucks or other engines). They are injected at evaluation time.

Any error in parsing or evaluation will be thrown as a runtime error.

See the JEXL expression syntax documentation.

see documentation ↗️

type

string

additionalProperties

False

FileLocation

type

object

properties

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • destination

Target directory where the generated or copied file will be placed, e.g., /root/device/. The final filename is derived from the source filename: if the source ends with ‘.nunjucks’, this extension is removed. For instance, ‘config.yaml.nunjucks’ becomes ‘config.yaml’.

oneOf

RELATIVE

EVALUATION

CELL_PICKER

  • source

Path to the source file used for rendering or copying. The expected format is: templates/sources/env/value.ospp.nunjucks. Files ending with ‘.nunjucks’ will be processed as Nunjucks templates and rendered with the current variable context.

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False

RELATIVE

type

object

properties

  • type

type

string

enum

RELATIVE

default

RELATIVE

  • relativePath

A relative path, for example ‘root/’ or ‘templating/env/’.

see documentation ↗️

type

string

additionalProperties

False

EVALUATION

type

object

properties

  • type

type

string

enum

EVALUATION

default

EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • evaluation

Dynamic path evaluation leveraging the full variable context through Nunjucks templating syntax.

This enables the generation of file paths by combining values from available variables.

Example: given a CSV file containing columns ‘source’ and ‘device-id’, the destination path can be computed as:

“evaluation”: “{{ source }}/{{ device-id }}”

see documentation ↗️

type

string

additionalProperties

False

CELL_PICKER

type

object

properties

  • type

type

string

enum

CELL_PICKER

default

CELL_PICKER

  • column

Index of the CSV column (0-based) that contains the path value.

Each CSV row must provide a valid path in this column, such as ‘templates/source’ or ‘root/example’.

see documentation ↗️

type

integer

additionalProperties

False

Variables

type

object

properties

  • csvAsVariables

The inventory task supports declaring additional inventories which can be accessed as variables in Nunjucks templates.

Note on variable conflicts (clashing):

  • If a variable name declared in an inventory collides with a variable declared elsewhere (e.g., CSV or variablesFiles), the behavior is undefined.

  • Variables declared directly (e.g., in variables or variablesFiles) will override those from inventories if they share the same name at the same scope level.

This feature allows composing complex data structures by referencing other inventories as template variables.

Important: Loading large CSV files into memory as inventories can be costly in terms of memory usage. Consider this when working with big datasets.

see documentation ↗️

type

array

items

CsvAsVariable

  • local

A list of variables available for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows:

  • Variables are added or overridden at each definition level (e.g., a variable like hostname defined in environments can be overridden by one in a specific rule).

  • Variables cannot be removed once defined.

Conflict rules:

  • If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined.

  • If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

type

array

items

Variable

  • variablesFiles

A list of variablesFiles for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows:

  • Variables are added or overridden at each definition level (e.g., a variable like hostname defined in environments can be overridden by one in a specific rule).

  • Variables cannot be removed once defined.

Conflict rules:

  • If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined.

  • If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

Variables files can have any valid JSON format and has no validation.

see documentation ↗️

type

array

items

VariableFile

additionalProperties

False

CsvAsVariable

type

object

properties

  • condition

A boolean condition that determines whether the variable must be included or nor. If the condition evaluates to false, the variables are not included.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • commentChar

Character used to indicate that a line is a comment in the CSV.

Interpretation depends on “onlyUseFullLineComment”:

  • If “onlyUseFullLineComment = true”, only lines starting entirely with this character are treated as comments.

  • If “onlyUseFullLineComment = false”, lines containing this character anywhere may be treated as comments, which can truncate data if the character appears in field values.

Default: no comment character defined.

type

string

  • csvSeparator

The character used as the CSV column separator.

Default value is [“;”]

type

string

default

;

  • escape

The escape character used when parsing CSV fields.

This character allows inserting special characters inside a field without breaking the CSV structure. For example, when the delimiter or quote character appears inside a value, the escape character prevents it from being interpreted as a structural element.

Typical use cases include:

  • Escaping the delimiter inside a field (e.g., “value,with,commas”)

  • Escaping the quote character when quotes are used for wrapping fields

  • Preserving literal characters that would otherwise be interpreted by the parser

Notes:

  • Only a single character is allowed.

  • Setting the escape character does not disable comment handling. A comment character appearing in the middle of a line is still interpreted as a comment unless onlyUseFullLineComment is enabled.

  • To disable escaping entirely, set the value to null.

Default value is [”"”]

type

string

default

“

  • headerLine

Zero-based index of the line to be used as the CSV header.

Defaults to 0, indicating the first line in the file.

Default value is [0]

type

integer

default

0

  • headers

Uses the headers defined in the configuration rather than those in the CSV file. When enabled, any headers present in the CSV are ignored. The configured headers are applied in left-to-right order.

type

array

items

type

string

  • inputEncoding

The encoding used to read the CSV file. Allows handling different source encodings such as UTF-8, ISO-8859-1 (Latin1), etc. Default: UTF-8 (or the value provided by InputEncodingDefaultValue)

Default value is [“utf-8”]

type

string

default

utf-8

  • onlyUseFullLineComment

Controls whether the comment character is recognized only at the start of a line. - true: only full-line comments (safe, recommended) - false: any occurrence of the comment character may be interpreted as a comment

This option only has effect if “commentChar” is defined.

Default value is [false]

type

boolean

default

False

  • relaxColumnCount

Allows inconsistent column counts across CSV records. By default, the CSV parser expects each record to contain the same number of fields as defined by the first record (or header). If a record contains fewer or more columns than expected, the parser throws an error.

When relaxColumnCount is set to true, the parser tolerates records with a different number of columns and continues processing without raising an exception.

Use cases include processing CSV files from unreliable or external sources, handling optional or missing fields in certain rows, and importing loosely structured or partially corrupted datasets.

Default value is [false]

type

boolean

default

False

  • skipEmptyLine

Indicates whether empty lines in the CSV should be skipped. If true, lines with no values will not be included in the parsing result. Default: true

Default value is [true]

type

boolean

default

True

  • startingLine

Zero-based index of the line where the CSV data starts.

Defaults to 1, which corresponds to the first line following the header.

Default value is [1]

type

integer

default

1

  • trim

Indicates whether leading and trailing whitespace should be removed from each parsed field value. When set to true, surrounding spaces are trimmed automatically.

Example: Input CSV line: [name, age , city ]

Without trim (false):

  • “name”

  • “ age “

  • “ city “

With trim (true):

  • “name”

  • “age”

  • “city”

Default value is [true]

type

boolean

default

True

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • relativePath

Relative path to the CSV file to be loaded, e.g., templates/inventory/my-inventory.csv.

type

string

  • variableName

Identifier under which the CSV data will be accessible within the variable context.

For example, if the variableName is ‘phone’, it can be referenced in Nunjucks as {{ phone.private }}.

type

string

additionalProperties

False

Variable

type

object

properties

  • condition

A boolean condition that determines whether the variable must be included or nor. If the condition evaluates to false, the variables are not included.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • key

The variable’s key, which can be referenced in source files using the syntax {{ key }}. For example, if the key is “hostname”, it would be accessed as {{ hostname }}.

type

string

  • value

A list of variables available for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows:

  • Variables are added or overridden at each definition level (e.g., a variable like hostname defined in environments can be overridden by one in a specific rule).

  • Variables cannot be removed once defined.

Conflict rules:

  • If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined.

  • If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

additionalProperties

False

VariableFile

type

object

properties

  • condition

A boolean condition that determines whether the variable must be included or nor. If the condition evaluates to false, the variables are not included.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • relativePath

The relative path to the file to include in format templates/sources/…/myfile

type

string

additionalProperties

False

CSV_INVENTORY

type

object

properties

  • type

type

string

enum

CSV_INVENTORY

default

CSV_INVENTORY

  • condition

A boolean condition that determines whether file generation should occur for a given CSV line.

If the condition evaluates to false, the line will be skipped.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • commentChar

Character used to indicate that a line is a comment in the CSV.

Interpretation depends on “onlyUseFullLineComment”:

  • If “onlyUseFullLineComment = true”, only lines starting entirely with this character are treated as comments.

  • If “onlyUseFullLineComment = false”, lines containing this character anywhere may be treated as comments, which can truncate data if the character appears in field values.

Default: no comment character defined.

type

string

  • csvSeparator

The character used as the CSV column separator.

Default value is [“;”]

type

string

default

;

  • escape

The escape character used when parsing CSV fields.

This character allows inserting special characters inside a field without breaking the CSV structure. For example, when the delimiter or quote character appears inside a value, the escape character prevents it from being interpreted as a structural element.

Typical use cases include:

  • Escaping the delimiter inside a field (e.g., “value,with,commas”)

  • Escaping the quote character when quotes are used for wrapping fields

  • Preserving literal characters that would otherwise be interpreted by the parser

Notes:

  • Only a single character is allowed.

  • Setting the escape character does not disable comment handling. A comment character appearing in the middle of a line is still interpreted as a comment unless onlyUseFullLineComment is enabled.

  • To disable escaping entirely, set the value to null.

Default value is [”"”]

type

string

default

“

  • headerLine

Zero-based index of the line to be used as the CSV header.

Defaults to 0, indicating the first line in the file.

Default value is [0]

type

integer

default

0

  • headers

Uses the headers defined in the configuration rather than those in the CSV file. When enabled, any headers present in the CSV are ignored. The configured headers are applied in left-to-right order.

type

array

items

type

string

  • inputEncoding

The encoding used to read the CSV file. Allows handling different source encodings such as UTF-8, ISO-8859-1 (Latin1), etc. Default: UTF-8 (or the value provided by InputEncodingDefaultValue)

Default value is [“utf-8”]

type

string

default

utf-8

  • onlyUseFullLineComment

Controls whether the comment character is recognized only at the start of a line. - true: only full-line comments (safe, recommended) - false: any occurrence of the comment character may be interpreted as a comment

This option only has effect if “commentChar” is defined.

Default value is [false]

type

boolean

default

False

  • relaxColumnCount

Allows inconsistent column counts across CSV records. By default, the CSV parser expects each record to contain the same number of fields as defined by the first record (or header). If a record contains fewer or more columns than expected, the parser throws an error.

When relaxColumnCount is set to true, the parser tolerates records with a different number of columns and continues processing without raising an exception.

Use cases include processing CSV files from unreliable or external sources, handling optional or missing fields in certain rows, and importing loosely structured or partially corrupted datasets.

Default value is [false]

type

boolean

default

False

  • skipEmptyLine

Indicates whether empty lines in the CSV should be skipped. If true, lines with no values will not be included in the parsing result. Default: true

Default value is [true]

type

boolean

default

True

  • startingLine

Zero-based index of the line where the CSV data starts.

Defaults to 1, which corresponds to the first line following the header.

Default value is [1]

type

integer

default

1

  • trim

Indicates whether leading and trailing whitespace should be removed from each parsed field value. When set to true, surrounding spaces are trimmed automatically.

Example: Input CSV line: [name, age , city ]

Without trim (false):

  • “name”

  • “ age “

  • “ city “

With trim (true):

  • “name”

  • “age”

  • “city”

Default value is [true]

type

boolean

default

True

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • iterateOn

IterateOn allows performing nested iterations. For example, you can iterate over a CSV file and, for each row, execute another loop.

The variables are accessible in evaluation named as {{iterateOn_[name_of_col]}}.

see documentation ↗️

oneOf

CSV

  • rules

see documentation ↗️

type

array

items

RuleByLine

  • sourceInventory

This task is list-based: each line of the inventory generates one or multiple files according to complex rules. Only CSV files are supported as inventory.

The CSV file must include a header line, which can be located anywhere in the file. This header defines variable names for each column.

The evaluation process follows these steps: * Preserve all variables defined in the environment * Add variables from the current task * Add each column of the current line as variables named after the header * For each line, execute all Rules by-line * Ignore any rule whose condition is not met * If Rules is defined, modify (exclude, include, etc.) the files to generate per line * Create the destination files and folders

see documentation ↗️

type

string

  • variables

A list of variablesFiles for use in paths, conditions, or for direct inclusion in Nunjucks templates.

The evaluation order can be summarized as follows: * Variables are added or overridden at each definition level (e.g., a variable like “hostname” defined in environments can be overridden by one in a specific rule). * Variables cannot be removed once defined.

Conflict rules: * If the same variable name is defined both in CSV and elsewhere (variables or variablesFiles), the behavior is undefined. * If the same variable name is defined in both a variablesFile and a variable at the same level, the variable will override the variablesFile value.

see documentation ↗️

Variables

additionalProperties

False

CSV

type

object

properties

  • type

type

string

enum

CSV

default

CSV

  • commentChar

Character used to indicate that a line is a comment in the CSV.

Interpretation depends on “onlyUseFullLineComment”:

  • If “onlyUseFullLineComment = true”, only lines starting entirely with this character are treated as comments.

  • If “onlyUseFullLineComment = false”, lines containing this character anywhere may be treated as comments, which can truncate data if the character appears in field values.

Default: no comment character defined.

type

string

  • csvSeparator

The character used as the CSV column separator.

Default value is [“;”]

type

string

default

;

  • escape

The escape character used when parsing CSV fields.

This character allows inserting special characters inside a field without breaking the CSV structure. For example, when the delimiter or quote character appears inside a value, the escape character prevents it from being interpreted as a structural element.

Typical use cases include:

  • Escaping the delimiter inside a field (e.g., “value,with,commas”)

  • Escaping the quote character when quotes are used for wrapping fields

  • Preserving literal characters that would otherwise be interpreted by the parser

Notes:

  • Only a single character is allowed.

  • Setting the escape character does not disable comment handling. A comment character appearing in the middle of a line is still interpreted as a comment unless onlyUseFullLineComment is enabled.

  • To disable escaping entirely, set the value to null.

Default value is [”"”]

type

string

default

“

  • headerLine

Zero-based index of the line to be used as the CSV header.

Defaults to 0, indicating the first line in the file.

Default value is [0]

type

integer

default

0

  • headers

Uses the headers defined in the configuration rather than those in the CSV file. When enabled, any headers present in the CSV are ignored. The configured headers are applied in left-to-right order.

type

array

items

type

string

  • inputEncoding

The encoding used to read the CSV file. Allows handling different source encodings such as UTF-8, ISO-8859-1 (Latin1), etc. Default: UTF-8 (or the value provided by InputEncodingDefaultValue)

Default value is [“utf-8”]

type

string

default

utf-8

  • onlyUseFullLineComment

Controls whether the comment character is recognized only at the start of a line. - true: only full-line comments (safe, recommended) - false: any occurrence of the comment character may be interpreted as a comment

This option only has effect if “commentChar” is defined.

Default value is [false]

type

boolean

default

False

  • relaxColumnCount

Allows inconsistent column counts across CSV records. By default, the CSV parser expects each record to contain the same number of fields as defined by the first record (or header). If a record contains fewer or more columns than expected, the parser throws an error.

When relaxColumnCount is set to true, the parser tolerates records with a different number of columns and continues processing without raising an exception.

Use cases include processing CSV files from unreliable or external sources, handling optional or missing fields in certain rows, and importing loosely structured or partially corrupted datasets.

Default value is [false]

type

boolean

default

False

  • skipEmptyLine

Indicates whether empty lines in the CSV should be skipped. If true, lines with no values will not be included in the parsing result. Default: true

Default value is [true]

type

boolean

default

True

  • startingLine

Zero-based index of the line where the CSV data starts.

Defaults to 1, which corresponds to the first line following the header.

Default value is [1]

type

integer

default

1

  • trim

Indicates whether leading and trailing whitespace should be removed from each parsed field value. When set to true, surrounding spaces are trimmed automatically.

Example: Input CSV line: [name, age , city ]

Without trim (false):

  • “name”

  • “ age “

  • “ city “

With trim (true):

  • “name”

  • “age”

  • “city”

Default value is [true]

type

boolean

default

True

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • relativePath

Relative path to the CSV file to be loaded, e.g., templates/inventory/my-inventory.csv.

type

string

additionalProperties

False

RuleByLine

type

object

properties

  • condition

A boolean condition that determines whether file generation should occur for a given CSV line. If the condition evaluates to false, the line will be skipped.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • destination

Defines the destination path where the generated file(s) will be saved for each CSV line.

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

  • rules

Optional set of rules to modify or filter the generation process. These rules enable custom logic such as excluding certain files or directories, facilitating reuse of the same source in multiple contexts without duplicating files.

see documentation ↗️

type

array

items

ConditionalRules

  • source

Specifies the source path whose content will be used to generate one or more files for each CSV line. If the source is a directory, its contents will be processed recursively.

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False

ConditionalRules

type

object

properties

  • condition

A boolean condition that determines whether file generation should occur for a given CSV line. If the condition evaluates to false, the line will be skipped.

see documentation ↗️

oneOf

JEXL_EVALUATION

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • rules

Optional rules to transform or filter the generation process. These rules allow for custom logic such as excluding specific files or folders,

and help re-use the same source in multiple contexts without duplicating files.

see documentation ↗️

type

array

items

oneOf

AddFile

AddNode

ExcludeFile

ExcludeNode

additionalProperties

False

AddFile

type

object

properties

  • type

type

string

enum

AddFile

default

AddFile

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • destination

Defines the destination path where the generated file(s) will be saved for each CSV line.

oneOf

RELATIVE

EVALUATION

CELL_PICKER

  • source

Specifies the source path whose content will be used to generate one or more files for each CSV line.

If the source is a directory, its contents will be processed recursively. Expected format is templates/sources/value.ospp

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False

AddNode

type

object

properties

  • type

type

string

enum

AddNode

default

AddNode

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • destination

Define the source folder to include in the generation process.

Expected format is templates/sources/

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

  • source

Specifies the source path whose content will be used to generate one or more files for each CSV line.

If the source is a directory, its contents will be processed recursively.

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False

ExcludeFile

type

object

properties

  • type

type

string

enum

ExcludeFile

default

ExcludeFile

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • path

Define the path of file to exclude expected format is templates/sources/value.ospp

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False

ExcludeNode

type

object

properties

  • type

type

string

enum

ExcludeNode

default

ExcludeNode

  • description

Note for integrators: this entry is for documentation purposes only and has no functional effect.

type

string

  • path

Defines the directory path to exclude (subfolders within this directory will also be excluded). The expected format is, for example, templates/sources/.

see documentation ↗️

oneOf

RELATIVE

EVALUATION

CELL_PICKER

additionalProperties

False