Simulation Web Services

Overview

Universal Controller supports the following RESTful-based web services for Simulation operations, which are listed alphabetically on this page.

Formatting specifications for each web service, including details about parameter requirements, are provided.

Create/Update a Simulation 


 Description

URI

http://host_name/uc/resources/simulation

HTTP Method

Post/PUT

Description

Create Simulation.

Example URI

http://localhost:8080/uc/resources/simulation

Authentication

HTTP Basic

Produces Content-Type

application/xml, application/json

Consumes Content-Type

application/xml, application/json

Example RequestSee Create/Update a Simulation: Example Request.
Simulation PropertiesSee Simulation Properties and Simulation Output Properties, below. 

Example Responses

  • Status 200

    • Successfully created the simulation with id {uuid}.

  • Status 400

    • Error message.

  • Status 403

    • Operation prohibited due to security constraints.

  • Status 404

    • A simulation with taskname “{taskname}” does not exist.

    • A simulation with taskid "{uuid}" does not exist.

  • Status 500

    • Unexpected request failure. See log(s) for more details.

Simulation Properties

Property

UI Field Name

Description

Specifications

Required

task

Task

Name of the task.


Y

retainSysIds

n/a

Specification for whether or not the Create a Simulation web service will persist the sysId property.

  • If retainSysIds="true" and sysId is included in the request/response, sysId will be persisted to the database.

  • If retainSysIds="false" and sysId is included in the request/response, sysId will be ignored; it will be autogenerated by the Controller.

Note

In XML web services, retainSysIds is specified as an attribute in the <simulation> element.

Valid values: true/false (default is true).

N

workflow

Workflow

Name of the workflow.


N

vertexId

Vertex

Vertex ID of the task added to the workflow.

Defaults to ANY (-1) if not specified

N

status

Status

Projected simulation status.

Valid values:

  • Success (200)

  • Failed (140)

N

exitCode

Exit Code

Exit code to return.

Defaults to 0(zero) if not specified.

N

variables

Simulation Variables

Specifies variables that should be added for simulation purposes, including any built-in monitor variables starting with "ops_trigger_".

The Simulation Variables are for adding variables that the simulated instance would have normally produced, therefore, are only available after the instance is already Queued or Running.

List of variables: 

<variables>
       <variable>
             <name>env1</name>
             <value>test1</value>
       </variable>
       <variable>
             <name>env2</name>
             <value>test2</value>
       </variable>
</variables>

N

publishStatus

Publish Status

Specifies if Status events should be published to task monitor instances.

Defaults to false

N

publishLateStart

Publish Late Start

Specifies if Late Start events should be published to task monitor instances.

Defaults to false

N

publishLateFinish

Publish Late Finish

Specifies if Late Finish events should be published to task monitor instances.

Defaults to false

N

publishEarlyFinish

Publish Early Finish

Specifies if Early Finish events should be published to task monitor instances.

Defaults to false

N

abortActions

Execute Abort Actions

Specifies if Abort Actions should be executed for the simulated instance.

Defaults to false

N

emailNotificationActions

Execute Email Notification Actions

Specifies if Email Notification Actions should be executed for the simulated instance.

Defaults to false

N

variableActions

Execute Set Variable Actions

Specifies if Set Variable Actions should be executed for the simulated instance.

Defaults to false

N

snmpNotificationActions

Execute SNMP Notification Actions

Specifies if SNMP Notification Actions should be executed for the simulated instance.

Defaults to false

N

systemOperationActions

Execute System Operation Actions

Specifies if System Operation Actions should be executed for the simulated instance.

Defaults to false

N

Simulation Output Properties

Property

UI Field Name

Description

Specifications

Required

outputType

Type

Type of Output

Allowed Values:

  • STDOUT

  • STDERR

  • FILE

  • JOBLOG

  • WEB SERVICE

  • EXTENSION

N

outputData

Output

Output Data


N

outputFileName

File Name

Name of the File


N

Create/Update a Simulation: Example Request

XML RequestJSON Request
 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simulation exportReleaseLevel="7.4.0.0" exportTable="ops_simulation" retainSysIds="true">
    <abortActions>true</abortActions>
    <emailNotificationActions>false</emailNotificationActions>
    <exitCode>0</exitCode>
    <outputs>
        <output>
            <outputData>test-2</outputData>
            <outputFileName>test2.csv</outputFileName>
            <outputType>STDERR</outputType>
            <sysId>1144f14157dc4e2bb58198330c434f34</sysId>
        </output>
        <output>
            <outputData>test-json</outputData>
            <outputFileName>test.json</outputFileName>
            <outputType>STDOUT</outputType>
            <sysId>922dc2e5287845be842f1dd974e25b94</sysId>
        </output>
    </outputs>
    <publishEarlyFinish>false</publishEarlyFinish>
    <publishLateFinish>false</publishLateFinish>
    <publishLateStart>true</publishLateStart>
    <publishStatus>true</publishStatus>
    <snmpNotificationActions>false</snmpNotificationActions>
    <status>SUCCESS</status>
    <sysId>e30b677763e14f72bdbe76e5c09263e7</sysId>
    <systemOperationActions>false</systemOperationActions>
    <task>win-5</task>
    <variableActions>false</variableActions>
    <variables>
        <variable>
            <name>A</name>
            <value>abc</value>
        </variable>
        <variable>
            <name>B</name>
            <value>123</value>
        </variable>
    </variables>
    <vertexId>3</vertexId>
    <workflow>work-1</workflow>
</simulation>
 JSON
{
    "abortActions": true,
    "emailNotificationActions": false,
    "exitCode": "0",
    "exportReleaseLevel": "7.4.0.0",
    "exportTable": "ops_simulation",    
    "outputs": [
        {
            "outputData": "test-2",
            "outputFileName": "test2.csv",
            "outputType": "STDERR",
            "sysId": "1144f14157dc4e2bb58198330c434f34"
        },
        {
            "outputData": "test-json",
            "outputFileName": "test.json",
            "outputType": "STDOUT",
            "sysId": "922dc2e5287845be842f1dd974e25b94"
        }
    ],
    "publishEarlyFinish": false,
    "publishLateFinish": false,
    "publishLateStart": true,
    "publishStatus": true,
    "retainSysIds": false,
    "snmpNotificationActions": false,
    "status": "SUCCESS",
    "sysId": "e30b677763e14f72bdbe76e5c09263e7",
    "systemOperationActions": false,
    "task": "win-5",
    "variableActions": false,
    "variables": [
        {
            "name": "A",
            "value": "abc"
        },
        {
            "name": "B",
            "value": "123"
        }
    ],
    "vertexId": "3",
    "workflow": "work-1"
}

Delete a Simulation


 Description

URI

http://host_name/uc/resources/simulation

HTTP Method

DELETE

Description

Delete Simulation.

URI ParametersSee Delete a Simulation: URI Parameters, below. 

Example URI

http://localhost:8080/uc/resources/simulation?taskname=task-1

http://localhost:8080/uc/resources/simulation?taskname=task-1&workflowname=work-1&vertexid=-1

http://localhost:8080/uc/resources/simulation?simulationid=12345

Authentication

HTTP Basic

Produces Content-Type

application/xml, application/json

Example Responses

Simulation deleted successfully.

Delete a Simulation: URI Parameters

Property

UI Field Name

Description

Specifications

Required

Mutually Exclusive With

simulationid

N/A

ID used within the Controller to identify this simulation.

String; URI parameter

Y

taskname

taskname



N/A

Name used within the Controller to identify the task Name.

String; URI parameter

Y

simulationid

workflowname



N/A

Name used within the Controller to identify the workflow Name.

String; URI parameter

N

simulationid

vertexid

N/A

Vertex ID of the task added to the workflow.

String; URI parameter

N (Y if workflowname is specified)

simulationid

List Simulations


 Description

URI

http://host_name/uc/resources/simulation/list

HTTP Method

GET

Description

List All Simulations.

Example URI

http://localhost:8080/uc/resources/simulation/list

http://localhost:8080/uc/resources/simulation/list?taskname=task-1

http://localhost:8080/uc/resources/simulation/list?workflowname=work-1

Authentication

HTTP Basic

Produces Content-Type

application/xml, application/json

Example Responses

See List Simulation: Example Response.

List Simulations: URI Parameters

Property

UI Field Name

Description

Specifications

Required

Mutually Exclusive With

taskname



N/A

Name used within the Controller to identify the task Name.

String; URI parameter

N


workflowname



N/A

Name used within the Controller to identify the workflow Name.

String; URI parameter

N


List Simulations: Example Response

XML ResponseJSON Response
 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simulations>
    <simulation exportReleaseLevel="7.4.0.0" exportTable="ops_simulation">
        <abortActions>false</abortActions>
        <emailNotificationActions>false</emailNotificationActions>
        <exitCode>0</exitCode>
        <outputs/>
        <publishEarlyFinish>false</publishEarlyFinish>
        <publishLateFinish>false</publishLateFinish>
        <publishLateStart>false</publishLateStart>
        <publishStatus>false</publishStatus>
        <snmpNotificationActions>false</snmpNotificationActions>
        <status>SUCCESS</status>
        <sysId>37a56842d09f43c59a81343a8a4e42d5</sysId>
        <systemOperationActions>false</systemOperationActions>
        <task>Sleep 0</task>
        <variableActions>false</variableActions>
        <variables/>
        <vertexId>-1</vertexId>
        <workflow>work-2</workflow>
    </simulation>
    <simulation exportReleaseLevel="7.4.0.0" exportTable="ops_simulation">
        <abortActions>true</abortActions>
        <emailNotificationActions>false</emailNotificationActions>
        <exitCode>0</exitCode>
        <outputs/>
        <publishEarlyFinish>false</publishEarlyFinish>
        <publishLateFinish>false</publishLateFinish>
        <publishLateStart>true</publishLateStart>
        <publishStatus>true</publishStatus>
        <snmpNotificationActions>false</snmpNotificationActions>
        <status>SUCCESS</status>
        <sysId>6f65583589db46dc977f1e3f79544c35</sysId>
        <systemOperationActions>false</systemOperationActions>
        <task>Sleep 0</task>
        <variableActions>false</variableActions>
        <variables>
            <variable>
                <name>A</name>
                <value>abc</value>
            </variable>
            <variable>
                <name>B</name>
                <value>123</value>
            </variable>
        </variables>
        <vertexId>3</vertexId>
        <workflow>work-1</workflow>
    </simulation>
    <simulation exportReleaseLevel="7.4.0.0" exportTable="ops_simulation">
        <abortActions>true</abortActions>
        <emailNotificationActions>false</emailNotificationActions>
        <exitCode>0</exitCode>
        <outputs>
            <output>
                <outputData>test-2</outputData>
                <outputFileName>test2.csv</outputFileName>
                <outputType>STDERR</outputType>
                <sysId>1144f14157dc4e2bb58198330c434f34</sysId>
            </output>
            <output>
                <outputData>test-json</outputData>
                <outputFileName>test.json</outputFileName>
                <outputType>STDOUT</outputType>
                <sysId>922dc2e5287845be842f1dd974e25b94</sysId>
            </output>
        </outputs>
        <publishEarlyFinish>false</publishEarlyFinish>
        <publishLateFinish>false</publishLateFinish>
        <publishLateStart>true</publishLateStart>
        <publishStatus>true</publishStatus>
        <snmpNotificationActions>false</snmpNotificationActions>
        <status>SUCCESS</status>
        <sysId>e30b677763e14f72bdbe76e5c09263e7</sysId>
        <systemOperationActions>false</systemOperationActions>
        <task>win-5</task>
        <variableActions>false</variableActions>
        <variables>
            <variable>
                <name>A</name>
                <value>abc</value>
            </variable>
            <variable>
                <name>B</name>
                <value>123</value>
            </variable>
        </variables>
        <vertexId>3</vertexId>
        <workflow>work-1</workflow>
    </simulation>
</simulations>
 JSON
[
    {
        "abortActions": false,
        "emailNotificationActions": false,
        "exitCode": "0",
        "exportReleaseLevel": "7.4.0.0",
        "exportTable": "ops_simulation",        
        "outputs": [],
        "publishEarlyFinish": false,
        "publishLateFinish": false,
        "publishLateStart": false,
        "publishStatus": false,
        "snmpNotificationActions": false,
        "status": "SUCCESS",
        "sysId": "37a56842d09f43c59a81343a8a4e42d5",
        "systemOperationActions": false,
        "task": "Sleep 0",
        "variableActions": false,
        "variables": [],
        "vertexId": "-1",
        "workflow": "work-2"
    },
    {
        "abortActions": true,
        "emailNotificationActions": false,
        "exitCode": "0",
        "exportReleaseLevel": "7.4.0.0",
        "exportTable": "ops_simulation",                
        "outputs": [],
        "publishEarlyFinish": false,
        "publishLateFinish": false,
        "publishLateStart": true,
        "publishStatus": true,
        "snmpNotificationActions": false,
        "status": "SUCCESS",
        "sysId": "6f65583589db46dc977f1e3f79544c35",
        "systemOperationActions": false,
        "task": "Sleep 0",
        "variableActions": false,
        "variables": [
            {
                "name": "A",
                "value": "abc"
            },
            {
                "name": "B",
                "value": "123"
            }
        ],
        "vertexId": "3",
        "workflow": "work-1"
    },
    {
        "abortActions": true,
        "emailNotificationActions": false,
        "exitCode": "0",
        "exportReleaseLevel": "7.4.0.0",
        "exportTable": "ops_simulation",        
        "outputs": [
            {
                "outputData": "test-2",
                "outputFileName": "test2.csv",
                "outputType": "STDERR",
                "sysId": "1144f14157dc4e2bb58198330c434f34"
            },
            {
                "outputData": "test-json",
                "outputFileName": "test.json",
                "outputType": "STDOUT",
                "sysId": "922dc2e5287845be842f1dd974e25b94"
            }
        ],
        "publishEarlyFinish": false,
        "publishLateFinish": false,
        "publishLateStart": true,
        "publishStatus": true,
        "snmpNotificationActions": false,
        "status": "SUCCESS",
        "sysId": "e30b677763e14f72bdbe76e5c09263e7",
        "systemOperationActions": false,
        "task": "win-5",
        "variableActions": false,
        "variables": [
            {
                "name": "A",
                "value": "abc"
            },
            {
                "name": "B",
                "value": "123"
            }
        ],
        "vertexId": "3",
        "workflow": "work-1"
    }
]

Read a Simulation


 Description

URI

http://host_name/uc/resources/simulation

HTTP Method

GET

Description

read Simulation

Example URI

http://localhost:8080/uc/resources/simulation?taskname=task-1

http://localhost:8080/uc/resources/simulation?taskname=task-1&workflowname=work-1&vertexid=-1

http://localhost:8080/uc/resources/simulation?simulationid=12345

Authentication

HTTP Basic

Produces Content-Type

application/xml, application/json

Consumes Content-Type


Example Responses

See Read Simulation Response.

Read a Simulation: URI Parameters

Property

UI Field Name

Description

Specifications

Required

Mutually Exclusive With

simulationid

N/A

ID used within the Controller to identify this simulation.

String; URI parameter

Y

taskname

taskname



N/A

Name used within the Controller to identify the task Name.

String; URI parameter

Y

simulationid

workflowname



N/A

Name used within the Controller to identify the workflow Name.

String; URI parameter

N

simulationid

vertexid

N/A

Vertex ID of the task added to the workflow.

String; URI parameter

N (Y if workflowname is specified)

simulationid

Read a Simulation: Example Response

XML ResponseJSON Response
 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simulation exportReleaseLevel="7.4.0.0" exportTable="ops_simulation" retainSysIds="true">
    <abortActions>true</abortActions>
    <emailNotificationActions>false</emailNotificationActions>
    <exitCode>0</exitCode>
    <outputs>
        <output>
            <outputData>test-2</outputData>
            <outputFileName>test2.csv</outputFileName>
            <outputType>STDERR</outputType>
            <sysId>1144f14157dc4e2bb58198330c434f34</sysId>
        </output>
        <output>
            <outputData>test-json</outputData>
            <outputFileName>test.json</outputFileName>
            <outputType>STDOUT</outputType>
            <sysId>922dc2e5287845be842f1dd974e25b94</sysId>
        </output>
    </outputs>
    <publishEarlyFinish>false</publishEarlyFinish>
    <publishLateFinish>false</publishLateFinish>
    <publishLateStart>true</publishLateStart>
    <publishStatus>true</publishStatus>
    <snmpNotificationActions>false</snmpNotificationActions>
    <status>SUCCESS</status>
    <sysId>e30b677763e14f72bdbe76e5c09263e7</sysId>
    <systemOperationActions>false</systemOperationActions>
    <task>win-5</task>
    <variableActions>false</variableActions>
    <variables>
        <variable>
            <name>A</name>
            <value>abc</value>
        </variable>
        <variable>
            <name>B</name>
            <value>123</value>
        </variable>
    </variables>
    <vertexId>3</vertexId>
    <workflow>work-1</workflow>
</simulation>
 JSON
{
    "abortActions": true,
    "emailNotificationActions": false,
    "exitCode": "0",
    "exportReleaseLevel": "7.4.0.0",
    "exportTable": "ops_simulation",    
    "outputs": [
        {
            "outputData": "test-2",
            "outputFileName": "test2.csv",
            "outputType": "STDERR",
            "sysId": "1144f14157dc4e2bb58198330c434f34"
        },
        {
            "outputData": "test-json",
            "outputFileName": "test.json",
            "outputType": "STDOUT",
            "sysId": "922dc2e5287845be842f1dd974e25b94"
        }
    ],
    "publishEarlyFinish": false,
    "publishLateFinish": false,
    "publishLateStart": true,
    "publishStatus": true,
    "retainSysIds": true,
    "snmpNotificationActions": false,
    "status": "SUCCESS",
    "sysId": "e30b677763e14f72bdbe76e5c09263e7",
    "systemOperationActions": false,
    "task": "win-5",
    "variableActions": false,
    "variables": [
        {
            "name": "A",
            "value": "abc"
        },
        {
            "name": "B",
            "value": "123"
        }
    ],
    "vertexId": "3",
    "workflow": "work-1"
}