Skip to main content

Orchestrators

  • optional

A Template Package can include one or more Orchestrator configurations to be deployed to Twinit by configuring the manifests orchestrators array.

Each entry in the orchestrators array must be a valid orchestrator definition.

// manifest.json"orchestrators": [   {      "_name": "",        "_description": "",      "_userType": "",      "_schemaversion": "2.0",      "_params": {         "tasks": [ ]      }   }]

Options#

  • ifExists - each orchestrator configuration can have an optional ifExists option set. Valid values for IfExists are default and recreate.
    • default: the same as not including ifExists. The default behavior is to skip creating a orchestrator if an orchestrator with the same name already exists.
    • recreate: will first delete any orchestrators with the same name before creating a nw orchestrator.

Complete Example:#

// manifest.json{   "Template Name": "Water Treatment Operations Digital Twin",   "Template Version": "1.0.5",   "orchestrators": [      {         "ifExists": "recreate",         "_name": "Import BIMPK Models",            "_description": "Orchestrator to import model from BIMPK file",         "_userType": "bimpk_importer",         "_schemaversion": "2.0",         "_params": {            "tasks": [               {                  "_orchcomp": "default_script_target",                  "_name": "Import Model from bimpk File",                  "_actualparams": {                     "userType": "importHelper",                     "_scriptName": "importModel"                  },                  "_sequenceno": 1               },               {                  "_orchcomp": "default_script_target",                  "_name": "Post Process Imported Model",                  "_actualparams": {                     "userType": "importHelper",                     "_scriptName": "createModelDataCache"                  },                  "_sequenceno": 2               },               {                  "_orchcomp": "default_script_target",                  "_name": "Migrate File Item Relations",                  "_actualparams": {                     "userType": "importHelper",                     "_scriptName": "migrateFileItemRelations"                  },                  "_sequenceno": 3               }            ]         }      },      {         "_name": "Orchestrator 2",            "_description": "Orchestrator 2",         "_userType": "orch_2",         "_schemaversion": "2.0",         "_params": {            "tasks": [               {                  "_orchcomp": "default_script_target",                  "_name": "Another script",                  "_actualparams": {                     "userType": "anotherScript",                     "_scriptName": "doSomething"                  },                  "_sequenceno": 1               }            ]         }      }   ]}
// Package Zip FileWater Treatment Template.zip /||-- manifest.json

Note: Orchestrators rely on scripts having been deployed to the Twinit project or workspace. If deploying an orchestrator, you will also want to deploy scripts.

Deploying Orchestrators#

When the Template Package is deployed, if the defined orchestrator does not exist it will be created. If an orchestrator with the same _name already exists, the orchestrator will be skipped unless ifExists is set o recreate.