Skip to content

inputObject

The input object is the top-level container for the Spiral input stream — it is one (or more) of the command objects below. Each command wraps a scheduleObject or another referenced object.

add scheduleObject
Add the objects into Spiral.
update scheduleObject
Update the objects within Spiral.
coerce scheduleObject
Update, forcing any plan position given, for a limited time.
delete scheduleObject
Remove the objects from Spiral (only `id` is needed).
define defineObject
Establish reference data: the domain and map files are mostly this.
set setObject
Configure properties of the current Spiral run.
pause pauseObject
Pause processing until a condition is reached (test cases only).
comment string
A documentation string; ignored by Spiral.
check scheduleObject
Assert that the object matches the values given.
refute scheduleObject
Assert that the object does not match the values given.
tag integer
An integer used to synchronise between Spiral and the host.
include includeObject
Read another input source (parameter files, licence keys), then resume.
  • add — add the following scheduleObject into Spiral.

  • update — update the following scheduleObject within Spiral.

  • coerce — update a scheduleObject, but where the update includes an assignment to a position in a plan, Spiral is coerced into using that solution for a limited time (set in the stop parameters). Typically used for manual override: the generated plan and its consequences can be displayed briefly before Spiral returns the stops to their optimised position.

  • delete — remove the following scheduleObject from Spiral. Only the object’s id need be supplied.

  • define — establish reference data — a defineObject. Submit all definitions before the schedule objects that reference them.

  • set — configure properties affecting the current Spiral run — a setObject.

  • pause — pause processing until the condition in a pauseObject is reached. Used when constructing test cases; it has no production purpose.

  • comment — a documentation string for test scripts; ignored by Spiral.

  • check — assert that the scheduleObject’s properties internally match any explicitly referenced values (test success criteria). For example {"check":{"project":{"id":1,"stops":{"rid":null}}}} checks that project 1 is not assigned to any resource.

  • refute — assert that the scheduleObject’s properties do not match referenced values. For example {"refute":{"project":{"id":1,"stops":{"rid":null}}}} checks that project 1 is assigned to a resource.

    Both take an optional tolerance, in seconds, alongside the scheduleObject — how far out a time may be and still satisfy the assertion. It defaults to 10. A time is never asserted exactly, because a test replays at a different speed from the session it was recorded in: {"check":{"tolerance":30,"project":{"id":1,"stops":{"arv":1537862400}}}}.

  • tag — an integer used to synchronise between Spiral and the host.

  • include — switch the input source via an includeObject (e.g. to load parameter files and licence keys), then resume the current input stream.