{
  "metadata": {
    "name": "@itentialopensource/versa-create-new-service-template",
    "version": "0.0.8-2023.1.0",
    "description": "Versa Create New Service Template",
    "license": "Apache-2.0",
    "repository": {
      "type": "gitlab",
      "hostname": "gitlab.com",
      "path": "itentialopensource/pre-built-automations"
    },
    "keywords": [
      "Itential",
      "IAP",
      "artifacts",
      "Versa",
      "Versa Networks",
      "Versa Director"
    ],
    "author": "Itential Artifacts",
    "IAPDependencies": {
      "@itential/app-automation_catalog": "",
      "@itential/app-json_forms": "",
      "@itential/app-workflow_engine": "",
      "@itentialopensource/adapter-versa_director": ""
    },
    "gitlabId": 25001224
  },
  "manifest": {
    "bundleName": "Versa Create New Service Template",
    "fingerprint": "6047a8b3c110b000c44ad5c3",
    "createdEpoch": "1615308979735",
    "artifacts": [
      {
        "id": "Versa Create New Service Template",
        "name": "Versa Create New Service Template",
        "type": "automation",
        "location": "/bundles/automations/Versa Create New Service Template.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Versa Create New Service Template",
        "name": "Versa Create New Service Template",
        "type": "workflow",
        "location": "/bundles/workflows/Versa Create New Service Template.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "Versa Create New Service Template",
        "name": "Versa Create New Service Template",
        "type": "json-forms",
        "location": "/bundles/json_forms/Versa Create New Service Template.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "6046642031a93f032b8c2b3a",
        "name": "Versa Create New Service Template formData1",
        "type": "transformation",
        "location": "/bundles/transformations/Versa Create New Service Template formData1.json",
        "properties": {
          "entryPoint": false
        }
      },
      {
        "id": "5f60e098edbf0b0b207b68db",
        "name": "versaCreateServiceTemplatePayload.jst.json",
        "type": "transformation",
        "location": "/bundles/transformations/versaCreateServiceTemplatePayload.jst.json.json",
        "properties": {
          "entryPoint": false
        }
      }
    ]
  },
  "bundles": [
    {
      "type": "automation",
      "data": {
        "_id": "647612cbfb0a380234b1c77e",
        "name": "Versa Create New Service Template",
        "description": "Versa Create New Service Template",
        "componentName": "Versa Create New Service Template",
        "componentType": "workflows",
        "gbac": {
          "write": [],
          "read": []
        },
        "created": "2023-05-30T15:14:19.824Z",
        "createdBy": "admin@pronghorn",
        "lastUpdated": "2023-05-30T15:23:26.662Z",
        "lastUpdatedBy": "admin@pronghorn",
        "triggers": [
          {
            "_id": "64761398fb0a380234b1c77f",
            "created": "2023-05-30T15:17:44.944Z",
            "createdBy": "admin@pronghorn",
            "lastUpdated": "2023-05-30T15:23:08.154Z",
            "lastUpdatedBy": "admin@pronghorn",
            "name": "Versa Create New Service Template",
            "type": "manual",
            "enabled": true,
            "actionType": "automations",
            "actionId": "647612cbfb0a380234b1c77e",
            "description": "Versa Create New Service Template",
            "formId": "Versa Create New Service Template",
            "formData": {
              "versaAdapterId": "Versa"
            },
            "formSchemaHash": "30b2f3a29b10233654d12aa2025dba6887a8aa1bfa68921c477763b89b6be521",
            "migrationVersion": 2
          }
        ]
      }
    },
    {
      "type": "workflow",
      "data": {
        "name": "Versa Create New Service Template",
        "tasks": {
          "3672": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Error Connecting to Adapter",
            "description": "Displays a message and runtime data to an operator. This can be used to request a decision, or used for acknowledgement only.",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Error",
                "message": "Error fetching existing service template names from Versa Director.",
                "body": "",
                "btn_success": "Terminate",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 0.6381418092909535,
            "y": 0.9653333333333334,
            "scheduled": false
          },
          "3947": {
            "name": "newVariable",
            "canvasName": "newVariable",
            "summary": "Create a Job Variable",
            "description": "Create a new Job variable by Job ID and assign it a value.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "name": "formData1",
                "value": {}
              },
              "outgoing": {
                "value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>new</span><span class='highlight-string'>Var</span>iable"
              },
              {
                "key": "description",
                "highlightString": "Create a <span class='highlight-string'>new</span> Job <span class='highlight-string'>var</span>iable by Job ID and assign it a value."
              },
              {
                "key": "summary",
                "highlightString": "Create a Job <span class='highlight-string'>Var</span>iable"
              }
            ],
            "groups": [],
            "x": 0.05215973920130399,
            "y": 0.644
          },
          "9518": {
            "name": "transformation",
            "canvasName": "transformation",
            "summary": "JSON Transformation",
            "description": "Perform a JSON Transformation using the JST library.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "tr_id": "6046642031a93f032b8c2b3a",
                "variableMap": {
                  "formData1": "$var.job.formData1"
                },
                "options": {
                  "extractOutput": false
                }
              },
              "outgoing": {
                "organizationName": null,
                "templateName": null,
                "categoryName": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>transformation</span>"
              },
              {
                "key": "summary",
                "highlightString": "JSON <span class='highlight-string'>Transformation</span>"
              },
              {
                "key": "description",
                "highlightString": "Perform a JSON <span class='highlight-string'>Transformation</span> using the JST library."
              }
            ],
            "groups": [],
            "x": 0.3952730236348818,
            "y": 0.6293333333333333,
            "task_name": "Versa Create New Service Template formData1"
          },
          "workflow_start": {
            "name": "workflow_start",
            "groups": [],
            "x": -0.5224123879380603,
            "y": 0.6466666666666666
          },
          "workflow_end": {
            "name": "workflow_end",
            "groups": [],
            "x": 2.045639771801141,
            "y": 0.9813333333333333
          },
          "6f78": {
            "name": "query",
            "canvasName": "query",
            "summary": "Query Existing Template Names",
            "description": "Query existing template names from Director response",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "[response][versanms.templates][template][*name]",
                "obj": "$var.30de.result"
              },
              "outgoing": {
                "return_data": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>query</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Query</span> Data Using 'json-query' Format"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."
              }
            ],
            "groups": [],
            "x": 0.6951915240423798,
            "y": 0.624,
            "scheduled": false
          },
          "a04b": {
            "name": "arrayIncludes",
            "canvasName": "includes",
            "summary": "Finds if template name unique",
            "description": "determine if the new template name exists in the existing list of names",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Array",
            "variables": {
              "incoming": {
                "arr": "$var.6f78.return_data",
                "searchElement": "$var.9518.templateName",
                "fromIndex": 0
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>includes</span>"
              },
              {
                "key": "description",
                "highlightString": "Determines whether an array <span class='highlight-string'>includes</span> a certain element, returning true or false as appropriate."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.8418907905460473,
            "y": 0.6186666666666667,
            "scheduled": false
          },
          "d403": {
            "name": "evaluation",
            "canvasName": "evaluation",
            "summary": "Eval Valid Template Name",
            "description": "Run an evaluation to confirm that the template name is valid",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "all_true_flag": false,
                "evaluation_groups": [
                  {
                    "all_true_flag": false,
                    "evaluations": [
                      {
                        "query": "",
                        "operand_1": {
                          "variable": "result",
                          "task": "a04b"
                        },
                        "operator": "==",
                        "operand_2": {
                          "variable": false,
                          "task": "static"
                        }
                      }
                    ]
                  }
                ]
              },
              "outgoing": {
                "return_value": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>eval</span>uation"
              },
              {
                "key": "summary",
                "highlightString": "Run <span class='highlight-string'>Eval</span>uation Task"
              },
              {
                "key": "description",
                "highlightString": "Run an <span class='highlight-string'>eval</span>uation"
              }
            ],
            "groups": [],
            "x": 0.9942950285248574,
            "y": 0.6146666666666667
          },
          "e49d": {
            "name": "transformation",
            "canvasName": "transformation",
            "summary": "JSON Transformation",
            "description": "Perform a JSON Transformation using the JST library.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "tr_id": "5f60e098edbf0b0b207b68db",
                "variableMap": {
                  "formData": "$var.134b.object"
                },
                "options": {
                  "extractOutput": true
                }
              },
              "outgoing": {
                "createServiceTemplatePayload": null
              }
            },
            "deprecated": false,
            "matched": [
              {
                "key": "description",
                "highlightString": "Perform a JSON Transformation using the <span class='highlight-string'>JST</span> library."
              }
            ],
            "groups": [],
            "x": 1.2559087204563977,
            "y": 0.30933333333333335
          },
          "a41c": {
            "name": "setObjectKey",
            "canvasName": "setObjectKey",
            "summary": "Create Service Template Payload",
            "description": "Set the versanms.templateData object",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "obj": {},
                "path": [
                  "versanms.templateData"
                ],
                "value": "$var.e49d.createServiceTemplatePayload"
              },
              "outgoing": {
                "object": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>setObjec</span>tKey"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.4221678891605543,
            "y": 0.31333333333333335,
            "scheduled": false
          },
          "67bd": {
            "name": "RenderJsonSchema",
            "canvasName": "RenderJsonSchema",
            "summary": "Show New Service Template Form",
            "description": "Render JSON Schema",
            "location": "Application",
            "app": "JsonForms",
            "displayName": "JsonForms",
            "type": "manual",
            "variables": {
              "incoming": {
                "jsonSchema": "$var.2dea.object",
                "uiSchema": {
                  "organizationName": {
                    "ui:placeholder": "Organization Name"
                  },
                  "categoryName": {
                    "ui:placeholder": "Category Name"
                  },
                  "templateName": {
                    "ui:placeholder": "Template Name"
                  },
                  "composite_or_partial": {
                    "ui:disabled": true
                  }
                },
                "bindingSchema": {},
                "validationSchema": {},
                "formData": "$var.job.formData1"
              },
              "outgoing": {
                "export": "$var.job.formData1"
              },
              "error": ""
            },
            "view": "/json-forms/task/RenderJsonSchema",
            "deprecated": false,
            "matched": [
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Json</span>Forms"
              },
              {
                "key": "canvasName",
                "highlightString": "Render<span class='highlight-string'>Json</span>Schema"
              },
              {
                "key": "summary",
                "highlightString": "Render <span class='highlight-string'>JSON</span> Schema"
              },
              {
                "key": "description",
                "highlightString": "Render <span class='highlight-string'>JSON</span> Schema"
              }
            ],
            "groups": [],
            "x": 0.21923390383048086,
            "y": 0.636,
            "scheduled": false
          },
          "c4be": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Alert",
            "description": "Displays a message and runtime data to an operator. This can be used to request a decision, or used for acknowledgement only.",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Alert",
                "message": "Template name is not unique, would you like to go back to the form to edit the data or exit automation?",
                "body": "$var.9518.templateName",
                "btn_success": "Go Back To Form",
                "btn_failure": "Exit Automation"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 1.1711491442542787,
            "y": 0.972,
            "scheduled": false
          },
          "b5ef": {
            "name": "addServiceTemplate",
            "canvasName": "addServiceTemplate",
            "summary": "Create Service Template",
            "description": "This API adds a new Service template.",
            "location": "Adapter",
            "locationType": "VersaDirector",
            "app": "VersaDirector",
            "type": "automatic",
            "displayName": "VersaDirector",
            "variables": {
              "incoming": {
                "body": "$var.a41c.object",
                "adapter_id": "Versa"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "addService<span class='highlight-string'>Template</span>"
              },
              {
                "key": "summary",
                "highlightString": "Add Service <span class='highlight-string'>Template</span>"
              },
              {
                "key": "description",
                "highlightString": "This API adds a new Service <span class='highlight-string'>template</span>."
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.6356968215158925,
            "y": 0.30933333333333335,
            "scheduled": false
          },
          "b284": {
            "name": "getOrganizations",
            "canvasName": "getOrganizations",
            "summary": "Get organizations",
            "description": "Finds all the organizations",
            "location": "Adapter",
            "locationType": "VersaDirector",
            "app": "VersaDirector",
            "type": "automatic",
            "displayName": "VersaDirector",
            "variables": {
              "incoming": {
                "deep": false,
                "filters": "",
                "limit": 250,
                "offset": 0,
                "adapter_id": "$var.job.adapter_id"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>getOrganizations</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.3080684596577017,
            "y": 0.648,
            "scheduled": false
          },
          "52d4": {
            "name": "query",
            "canvasName": "query",
            "summary": "Get Versa Adapter Instance ID",
            "description": "Query data using a dot/bracket notation string and a matching key/value pair.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "versaAdapterId",
                "obj": "$var.job.formData"
              },
              "outgoing": {
                "return_data": "$var.job.adapter_id"
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>query</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Query</span> Data Using 'json-query' Format"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."
              }
            ],
            "groups": [],
            "x": -0.43276283618581907,
            "y": 0.648,
            "scheduled": false
          },
          "ba02": {
            "name": "query",
            "canvasName": "query",
            "summary": "get organizations array",
            "description": "Query data using a dot/bracket notation string and a matching key/value pair.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "operation",
            "displayName": "WorkFlowEngine",
            "variables": {
              "incoming": {
                "pass_on_null": false,
                "query": "response.organizations.name",
                "obj": "$var.b284.result"
              },
              "outgoing": {
                "return_data": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>query</span>"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Query</span> Data Using 'json-query' Format"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."
              }
            ],
            "groups": [],
            "x": -0.17359413202933985,
            "y": 0.6426666666666667,
            "scheduled": false
          },
          "2dea": {
            "name": "setObjectKey",
            "canvasName": "setObjectKey",
            "summary": "Set orgs in form1",
            "description": "Set an object key",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "obj": {
                  "title": "New Service Template Form",
                  "type": "object",
                  "properties": {
                    "organizationName": {
                      "type": "string",
                      "title": "Organization Name",
                      "enum": [
                        "Org1",
                        "Org2"
                      ]
                    },
                    "categoryName": {
                      "type": "string",
                      "title": "Category Name",
                      "enum": [
                        "Stateful Firewall",
                        "NextGen Firewall",
                        "QoS",
                        "General",
                        "Application Steering",
                        "Service Chain",
                        "Secure Access"
                      ]
                    },
                    "templateName": {
                      "type": "string",
                      "title": "Template Name"
                    },
                    "composite_or_partial": {
                      "type": "string",
                      "default": "partial",
                      "enum": [
                        "partial"
                      ],
                      "disabled": true
                    }
                  },
                  "required": [
                    "templateName",
                    "categoryName",
                    "organizationName"
                  ]
                },
                "path": [
                  "properties",
                  "organizationName",
                  "enum"
                ],
                "value": "$var.ba02.return_data"
              },
              "outgoing": {
                "object": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>setObjectKey</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": -0.07008964955175224,
            "y": 0.6426666666666667,
            "scheduled": false
          },
          "134b": {
            "name": "setObjectKey",
            "canvasName": "setObjectKey",
            "summary": "Set Object Key",
            "description": "Set an object key",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "obj": "$var.job.formData1",
                "path": [
                  "categoryName"
                ],
                "value": "$var.9518.categoryName"
              },
              "outgoing": {
                "object": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>set</span><span class='highlight-string'>Object</span>Key"
              },
              {
                "key": "summary",
                "highlightString": "<span class='highlight-string'>Set</span> <span class='highlight-string'>Object</span> Key"
              },
              {
                "key": "description",
                "highlightString": "<span class='highlight-string'>Set</span> an <span class='highlight-string'>object</span> key"
              },
              {
                "key": "displayName",
                "highlightString": "<span class='highlight-string'>Object</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.1165444172779135,
            "y": 0.31333333333333335,
            "scheduled": false
          },
          "30de": {
            "name": "getTemplateMetadata",
            "canvasName": "getTemplateMetadata",
            "summary": "List of Service Templates for an Org",
            "description": "This API call will list all the existing Service templates under a specific tenant",
            "location": "Adapter",
            "locationType": "VersaDirector",
            "app": "VersaDirector",
            "type": "automatic",
            "displayName": "VersaDirector",
            "variables": {
              "incoming": {
                "organization": "$var.9518.organizationName",
                "type": "SERVICE",
                "offset": 0,
                "limit": 250,
                "adapter_id": "Versa"
              },
              "outgoing": {
                "result": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>getTemplateMetadata</span>"
              }
            ],
            "groups": [],
            "actor": "Pronghorn",
            "x": 0.5558272208638957,
            "y": 0.6186666666666667,
            "scheduled": false
          },
          "a5e7": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Error Connecting to Adapter",
            "description": "Displays a message and runtime data to an operator. This can be used to request a decision, or used for acknowledgement only.",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Error",
                "message": "Error fetching available organizations from Versa Director.",
                "body": "",
                "btn_success": "Terminate",
                "btn_failure": ""
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": -0.07253463732681337,
            "y": 0.964,
            "scheduled": false
          },
          "a610": {
            "name": "ViewData",
            "canvasName": "ViewData",
            "summary": "Error Creating New Service Template",
            "description": "Displays a message and runtime data to an operator. This can be used to request a decision, or used for acknowledgement only.",
            "location": "Application",
            "app": "WorkFlowEngine",
            "displayName": "Tools",
            "type": "manual",
            "variables": {
              "incoming": {
                "header": "Error Creating New Service Template",
                "message": "Error Creating New Service Template<br>Please review the error message below and choose to either GO BACK to form, or TERMINATE this workflow",
                "body": "$var.b641.stringified",
                "btn_success": "Go Back",
                "btn_failure": "Terminate"
              },
              "outgoing": {},
              "error": ""
            },
            "view": "/workflow_engine/task/ViewData",
            "deprecated": false,
            "matched": [
              {
                "key": "canvasName",
                "highlightString": "<span class='highlight-string'>ViewData</span>"
              }
            ],
            "groups": [],
            "x": 2.04319478402608,
            "y": 0.312,
            "scheduled": false
          },
          "b641": {
            "name": "objectToString",
            "canvasName": "toString",
            "summary": "Converts a valid JSON value to a string.",
            "description": "Converts a valid JSON value to a JSON string, optionally replacing values if a replacer function is specified or optionally including only the specified properties if a replacer array is specified.",
            "location": "Application",
            "locationType": null,
            "app": "WorkFlowEngine",
            "type": "automatic",
            "displayName": "Object",
            "variables": {
              "incoming": {
                "value": "$var.b5ef.error",
                "replacer": "",
                "space": 2
              },
              "outgoing": {
                "stringified": null
              },
              "error": ""
            },
            "deprecated": false,
            "matched": [],
            "groups": [],
            "actor": "Pronghorn",
            "x": 1.8321108394458028,
            "y": 0.31066666666666665,
            "scheduled": false
          }
        },
        "transitions": {
          "2246": {},
          "3672": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "3947": {
            "67bd": {
              "type": "standard",
              "state": "success"
            }
          },
          "9518": {
            "30de": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_start": {
            "52d4": {
              "type": "standard",
              "state": "success"
            }
          },
          "workflow_end": {},
          "fa8f": {},
          "2f57": {},
          "f6ec": {},
          "3a9b": {},
          "6f78": {
            "a04b": {
              "type": "standard",
              "state": "success"
            }
          },
          "a04b": {
            "d403": {
              "type": "standard",
              "state": "success"
            }
          },
          "d403": {
            "c4be": {
              "type": "standard",
              "state": "failure"
            },
            "134b": {
              "type": "standard",
              "state": "success"
            }
          },
          "e49d": {
            "a41c": {
              "type": "standard",
              "state": "success"
            }
          },
          "a41c": {
            "b5ef": {
              "type": "standard",
              "state": "success"
            }
          },
          "214a": {},
          "67bd": {
            "9518": {
              "type": "standard",
              "state": "success"
            }
          },
          "c4be": {
            "workflow_end": {
              "type": "standard",
              "state": "failure"
            },
            "67bd": {
              "type": "revert",
              "state": "success"
            }
          },
          "b5ef": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            },
            "b641": {
              "type": "standard",
              "state": "error"
            }
          },
          "b284": {
            "ba02": {
              "type": "standard",
              "state": "success"
            },
            "a5e7": {
              "type": "standard",
              "state": "error"
            }
          },
          "52d4": {
            "b284": {
              "type": "standard",
              "state": "success"
            }
          },
          "ba02": {
            "2dea": {
              "type": "standard",
              "state": "success"
            }
          },
          "2dea": {
            "3947": {
              "type": "standard",
              "state": "success"
            }
          },
          "134b": {
            "e49d": {
              "type": "standard",
              "state": "success"
            }
          },
          "30de": {
            "3672": {
              "type": "standard",
              "state": "error"
            },
            "6f78": {
              "type": "standard",
              "state": "success"
            }
          },
          "a5e7": {
            "workflow_end": {
              "type": "standard",
              "state": "success"
            }
          },
          "a610": {
            "workflow_end": {
              "type": "standard",
              "state": "failure"
            },
            "67bd": {
              "type": "revert",
              "state": "success"
            }
          },
          "b641": {
            "a610": {
              "type": "standard",
              "state": "success"
            }
          }
        },
        "font_size": 12,
        "created": "2020-09-15T14:55:12.544Z",
        "created_by": {
          "provenance": "Local AAA",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": true,
          "email": ""
        },
        "createdVersion": "5.10.4-2020.1.22.0",
        "last_updated": "2021-03-09T16:16:10.624Z",
        "last_updated_by": {
          "provenance": "local_aaa",
          "username": "admin@pronghorn",
          "firstname": "admin",
          "inactive": false,
          "email": "rahul.chakraborty@itential.com"
        },
        "lastUpdatedVersion": "5.29.14-2020.2.9",
        "type": "automation",
        "description": null,
        "canvasVersion": 1,
        "inputSchema": {
          "type": "object",
          "properties": {
            "formData": {
              "type": "object",
              "examples": [
                {
                  "name": "value"
                }
              ]
            }
          },
          "required": [
            "formData"
          ]
        },
        "outputSchema": {
          "type": "object",
          "properties": {
            "formData": {
              "type": "object",
              "examples": [
                {
                  "name": "value"
                }
              ]
            },
            "_id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "initiator": {
              "type": "string"
            },
            "formData1": {
              "type": [
                "array",
                "boolean",
                "null",
                "number",
                "object",
                "string"
              ]
            },
            "adapter_id": {
              "type": [
                "string",
                "number",
                "object",
                "integer",
                "array",
                "boolean",
                "null"
              ],
              "examples": [
                "value"
              ]
            }
          }
        },
        "tags": [],
        "groups": []
      }
    },
    {
      "type": "json-forms",
      "data": {
        "id": "604661b4812312031d477dc9",
        "created": "2021-03-08T17:41:08.557Z",
        "createdBy": "admin@pronghorn",
        "lastUpdated": "2021-03-09T16:16:11.906Z",
        "lastUpdatedBy": "admin@pronghorn",
        "name": "Versa Create New Service Template",
        "description": "",
        "struct": {
          "type": "array",
          "items": [
            {
              "nodeId": "116b6707-1ce9-40c3-8cf6-71a44e02dee5",
              "type": "string",
              "title": "Versa Adapter ID",
              "description": "Select an adapter",
              "placeholder": "Select an item",
              "required": true,
              "enum": [],
              "binding": true,
              "rel": "collection",
              "targetPointer": "/enum",
              "base": "/health",
              "href": "/adapters?equalsField=package_id&equals=@itentialopensource/adapter-versa_director",
              "method": "GET",
              "sourcePointer": "/results",
              "sourceKeyPointer": "/id"
            }
          ]
        },
        "schema": {
          "title": "Versa Create Device Group",
          "description": "",
          "type": "object",
          "required": [],
          "properties": {
            "versaAdapterId": {
              "type": "string",
              "title": "Versa Adapter ID",
              "description": "Select an adapter",
              "enum": []
            }
          }
        },
        "uiSchema": {
          "versaAdapterId": {
            "ui:placeholder": "Select an item"
          }
        },
        "bindingSchema": {
          "properties": {
            "versaAdapterId": {
              "binding:method": "GET",
              "binding:link": {
                "$ref": "/links",
                "rel": "collection"
              },
              "binding:target": {
                "propertyPointer": "/enum"
              },
              "binding:hyperSchema": {
                "type": "object",
                "base": "/health",
                "links": [
                  {
                    "rel": "collection",
                    "href": "/adapters?equalsField=package_id&equals=@itentialopensource/adapter-versa_director",
                    "targetMediaType": "application/json",
                    "targetSchema": {
                      "$ref": "#"
                    }
                  }
                ]
              },
              "binding:source": {
                "propertyPointer": "/results",
                "keyPointer": "/id"
              }
            }
          }
        },
        "validationSchema": {},
        "version": "2020.1"
      }
    },
    {
      "type": "transformation",
      "data": {
        "_id": "6046642031a93f032b8c2b3a",
        "name": "Versa Create New Service Template formData1",
        "description": "",
        "incoming": [
          {
            "$id": "formData1",
            "type": "object",
            "properties": {
              "composite_or_partial": {
                "type": "string",
                "examples": [
                  "partial"
                ]
              },
              "organizationName": {
                "type": "string",
                "examples": [
                  "Tenant1"
                ]
              },
              "categoryName": {
                "type": "string",
                "examples": [
                  "Stateful Firewall"
                ]
              },
              "templateName": {
                "type": "string",
                "examples": [
                  "tempName"
                ]
              }
            },
            "required": []
          }
        ],
        "outgoing": [
          {
            "$id": "organizationName",
            "type": "string",
            "examples": [
              "Tenant1"
            ]
          },
          {
            "$id": "templateName",
            "type": "string",
            "examples": [
              "tempName"
            ]
          },
          {
            "$id": "categoryName",
            "type": "string",
            "examples": [
              "Stateful Firewall"
            ]
          }
        ],
        "steps": [
          {
            "id": 1,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData1",
              "ptr": "/organizationName"
            },
            "to": {
              "location": "outgoing",
              "name": "organizationName",
              "ptr": ""
            }
          },
          {
            "id": 3,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData1",
              "ptr": "/templateName"
            },
            "to": {
              "location": "outgoing",
              "name": "templateName",
              "ptr": ""
            }
          },
          {
            "id": 5,
            "type": "declaration",
            "library": "Object",
            "method": "new Object",
            "args": [
              "{   \"Stateful Firewall\": \"stateful-firewall\",   \"NextGen Firewall\": \"nextgen-firewall\",   \"QoS\": \"class-of-service\",   \"General\": \"general\",   \"Application Steering\": \"applications\",   \"Service Chain\": \"uCPE\",   \"Secure Access\": \"secure-access\" }"
            ],
            "view": {
              "row": 1,
              "col": 1
            }
          },
          {
            "id": 6,
            "type": "method",
            "library": "Object",
            "method": "getProperty",
            "args": [
              null,
              null
            ],
            "view": {
              "row": 2,
              "col": 1
            }
          },
          {
            "id": 7,
            "type": "assign",
            "from": {
              "location": "declaration",
              "name": 5,
              "ptr": "/return"
            },
            "to": {
              "location": "method",
              "name": 6,
              "ptr": "/args/0/value"
            }
          },
          {
            "id": 8,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData1",
              "ptr": "/categoryName"
            },
            "to": {
              "location": "method",
              "name": 6,
              "ptr": "/args/1/value"
            }
          },
          {
            "id": 9,
            "type": "assign",
            "from": {
              "location": "method",
              "name": 6,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "categoryName",
              "ptr": ""
            }
          }
        ],
        "functions": [],
        "comments": [],
        "view": {
          "col": 1,
          "row": 5
        },
        "created": "2021-03-09T16:16:11.385Z",
        "createdBy": {
          "_id": "5fce5f28854473e9785d17da",
          "provenance": "local_aaa",
          "username": "admin@pronghorn"
        },
        "lastUpdated": "2021-03-09T16:16:11.385Z",
        "lastUpdatedBy": {
          "_id": "5fce5f28854473e9785d17da",
          "provenance": "local_aaa",
          "username": "admin@pronghorn"
        },
        "version": "3.13.0"
      }
    },
    {
      "type": "transformation",
      "data": {
        "_id": "5f60e098edbf0b0b207b68db",
        "name": "versaCreateServiceTemplatePayload.jst.json",
        "description": "",
        "incoming": [
          {
            "$id": "formData",
            "$db": ""
          }
        ],
        "outgoing": [
          {
            "$id": "createServiceTemplatePayload",
            "$db": ""
          }
        ],
        "steps": [
          {
            "id": 1,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/organizationName"
            },
            "to": {
              "location": "outgoing",
              "name": "createServiceTemplatePayload",
              "ptr": "/providerTenant"
            }
          },
          {
            "id": 2,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/categoryName"
            },
            "to": {
              "location": "outgoing",
              "name": "createServiceTemplatePayload",
              "ptr": "/category"
            }
          },
          {
            "id": 3,
            "type": "assign",
            "from": {
              "location": "incoming",
              "name": "formData",
              "ptr": "/templateName"
            },
            "to": {
              "location": "outgoing",
              "name": "createServiceTemplatePayload",
              "ptr": "/name"
            }
          },
          {
            "id": 4,
            "type": "declaration",
            "library": "String",
            "method": "new String",
            "args": [
              "partial"
            ],
            "view": {
              "row": 1,
              "col": 3
            }
          },
          {
            "id": 5,
            "type": "assign",
            "from": {
              "location": "declaration",
              "name": 4,
              "ptr": "/return"
            },
            "to": {
              "location": "outgoing",
              "name": "createServiceTemplatePayload",
              "ptr": "/composite_or_partial"
            }
          }
        ],
        "functions": [],
        "view": {
          "col": 3,
          "row": 4
        },
        "created": "2021-03-09T16:16:11.480Z",
        "createdBy": {
          "_id": "5fce5f28854473e9785d17da",
          "provenance": "local_aaa",
          "username": "admin@pronghorn"
        },
        "lastUpdated": "2021-03-09T16:16:11.480Z",
        "lastUpdatedBy": {
          "_id": "5fce5f28854473e9785d17da",
          "provenance": "local_aaa",
          "username": "admin@pronghorn"
        }
      }
    }
  ],
  "readme": "<!-- This is a comment in md (Markdown) format, it will not be visible to the end user -->\n\n<!-- Update the below line with your Pre-Built name -->\n# Versa Create New Service Template\n\n<!-- Leave TOC intact unless you've added or removed headers -->\n## Table of Contents\n\n* [Overview](#overview)\n* [Requirements](#requirements)\n* [Features](#features)\n* [How to Install](#how-to-install)\n* [How to Run](#how-to-run)\n* [Additional Information](#additional-information)\n\n## Overview\n\nThis pre-built is used to add a new service template to Versa Director.\n<!-- Write a few sentences about the Pre-Built and explain the use case(s) -->\n<!-- Avoid using the word Artifact. Please use Pre-Built, Pre-Built Transformation or Pre-Built Automation -->\n<!-- Ex.: The Migration Wizard enables IAP users to conveniently move their automation use cases between different IAP environments -->\n<!-- (e.g. from Dev to Pre-Production or from Lab to Production). -->\n\n<!-- Workflow(s) Image Placeholder - TO BE ADDED DIRECTLY TO GitLab -->\n<!-- REPLACE COMMENT BELOW WITH IMAGE OF YOUR MAIN WORKFLOW -->\n<!--\n\n-->\n<!-- REPLACE COMMENT ABOVE WITH IMAGE OF YOUR MAIN WORKFLOW -->\n\n<!-- ADD ESTIMATED RUN TIME HERE -->\n<!-- e.g. Estimated Run Time: 34 min. -->\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/workflow.png\" alt=\"workflow\" width=\"800px\">\n</td></tr></table> \n_Estimated Run Time_: 1 minute\n\n## Requirements\n\nThis Pre-Built requires the following:\n\n<!-- Unordered list highlighting the requirements of the Pre-Built -->\n<!-- EXAMPLE -->\n<!-- * cisco ios device -->\n<!-- * Ansible or NSO (with F5 NED) * -->\n* Itential Automation Platform\n  * `^2023.1.x`\n* A running instance of the Itential OpenSource Versa Director adapter, which can be installed from [here](https://gitlab.com/itentialopensource/adapters/controller-orchestrator/adapter-versa_director).\n\n## Features\n\nThe main benefits and features of the Pre-Built are outlined below.\n\nEvery Itential Pre-built is designed to optimize network performance and configuration by focusing on reliability, flexibility and coordination of network changes with applications and IT processes. As the network evolves, Pre-builts allow customers to focus on effective management and compliance to minimize risks of disruption and outage that can negatively impact quality of service.\n\n<!-- Unordered list highlighting the most exciting features of the Pre-Built -->\n<!-- EXAMPLE -->\n<!-- * Automatically checks for device type -->\n<!-- * Displays dry-run to user (asking for confirmation) prior to pushing config to the device -->\n<!-- * Verifies downloaded file integrity (using md5), will try to download again if failed -->\n\n\n## How to Install\n\nTo install the Pre-Built:\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/install.png\" alt=\"install\" width=\"800px\">\n</td></tr></table> \n\n* Verify you are running a supported version of the Itential Automation Platform (IAP) as listed above in the [Requirements](#requirements) section in order to install the Pre-Built. \n* The Pre-Built can be installed from within App-Admin_Essential. Simply search for the name of your desired Pre-Built and click the install button (as shown below).\n\n<!-- REPLACE BELOW WITH IMAGE OF YOUR PUBLISHED PRE-BUILT -->\n<!--\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/install.png\" alt=\"install\" width=\"600px\">\n</td></tr></table>\n-->\n<!-- REPLACE ABOVE WITH IMAGE OF YOUR PUBLISHED PRE-BUILT -->\n\n<!-- OPTIONAL - Explain if external components are required outside of IAP -->\n<!-- Ex.: The Ansible roles required for this Pre-Built can be found in the repository located at https://gitlab.com/itentialopensource/pre-built-automations/hello-world -->\n\n## How to Run\n\nUse the following to run the Pre-Built:\n\n\nThe pre-built can be run as a standalone or as part of a parent job. \n- To run it as a standalone job, run the respective job from Operations Manager with the necessary json form. \n- The workflow or the job can also be used as part of another parent job.\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/initialForm.png\" alt=\"initialForm\" width=\"400px\">\n</td></tr></table> \n\nThe description of the formdata needed by the prebuilt is given below:\nThe required values to be passed on are:\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/formData.png\" alt=\"formData\" width=\"400px\">\n</td></tr></table> \n\n**Organization Name:** Provide the name of the organization that the service template will be placed under. Any sub-organizations under this \"Parent\" tenant will also inherit the service template.\n\n**Category Name:** \nAvailable Options:\n- \"stateful-firewall\" - to create a Stateful Firewall Service Template\n- \"nextgen-firewall\" - to create a NextGen Firewall Service Template\n- \"applications\" - to create an Application Service Template\n- \"uCPE\" - to create a Service Chain Service Template\n- \"class-of-service\" - to create a Class of Service (QoS) Service Template\n- \"general\" - to create a Generic Service Template\n- \"secure-access\" - to create a Secure Access Service Template\n\n**Template Name:** Provide a Name to the Service Template. This name has to be unique for a specific tenant, and has to start with an Alphabet. It is case sensitive.\n\n**Composite or Partial:** Provide \"partial\" here, since the type of Service Template that we are creating is of type \"Partial\"\n\n<!-- Explain the main entrypoint(s) for this Pre-Built: Automation Catalog item, Workflow, Postman, etc. -->\n\n## Versa instance\n\nThe above created service template can be verified on the versa instance by logging in using the credentials provided.\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/versa_login.png\" alt=\"versa_login\" width=\"400px\">\n</td></tr></table> \n\nAfter logging in, select the configuration tab, choose the right organization from the left pane and from the templates dropdown on the top menu choose service templates to view all the service templates created.\n<table><tr><td>\n  <img src=\"https://gitlab.com/itentialopensource/pre-built-automations/versa-create-new-service-template/-/raw/release/2023.1/images/versa_service_template.png\" alt=\"versa_service_template\" width=\"800px\">\n</td></tr></table> \n\n## Additional Information\n\nPlease use your Itential Customer Success account if you need support when using this Pre-Built.\n"
}