Classes.psm1

Add-Type -AssemblyName Microsoft.PowerShell.Commands.Utility

#Region Enums

#Region - Enum [AdhocReport]

Enum ANOWAdhocReport_reportType {
    PIVOT; TABLE;
}

#endregion

#Region - Enum [Agent]

Enum ANOWAgent_agentStatus {
    DISCONNECTED; CONNECTED;
}

Enum ANOWAgent_agentOperatingSystemType {
    UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS;
}

#endregion

#Region - Enum [ApprovalRule]

Enum ANOWApprovalRule_approvalLevel {
    LOW; MEDIUM; HIGH;
}

Enum ANOWApprovalRule_approvalActionType {
    READY_TO_START; PROCESSING_RESTART; PROCESSING_FORCE_READY; PROCESSING_FORCE_COMPLETED; PROCESSING_FORCE_FAILED; PROCESSING_SKIP_ON; PROCESSING_SKIP_OFF; PROCESSING_HOLD; PROCESSING_RESUME; PROCESSING_INTERNAL_ACTION; PROCESSING_ABORT; PROCESSING_KILL; PROCESSING_ARCHIVED; PROCESSING_ARCHIVED_CLEANUP;
}

#endregion

#Region - Enum [CommunicationNote]

Enum ANOWCommunicationNote_noteType {
    INFO; WARNING; QUESTION; CHANGE_REQUEST; PROBLEM;
}

Enum ANOWCommunicationNote_noteStatus {
    NEW; IN_PROGRESS; COMPLETED; CLOSED;
}

Enum ANOWCommunicationNote_noteSourceType {
    USER; PROCESSING; SERVER_NODE; AGENT; RESOURCE;
}

#endregion

#Region - Enum [CodeRepository]

Enum ANOWCodeRepository_authenticationMethod {
    SSH; PASSWORD;
}

Enum ANOWCodeRepository_sshKeyLocationType {
    SSH_KEY_FILE_PATH; INLINE;
}

#endregion

#Region - Enum [CodeRepositoryMergeRequest]

Enum ANOWCodeRepositoryMergeRequest_status {
    ISSUED; REJECTED; ACCEPTED;
}

#endregion

#Region - Enum [CodeRepositoryOutOfSyncItem]

Enum ANOWCodeRepositoryOutOfSyncItem_itemType {
    ProcessingTemplates; Schedules; BusinessViews; Workspaces; ResultMappings; Approvals; ServerNodes; Agents; Endpoints; Resources; DataSources; Anomalies; Interfaces; NotificationGroups; NotificationChannels; NotificationTemplates; RuntimeActions; Dashboards; AdhocReports; UserReports; Tags; Folders;
}

#endregion

#Region - Enum [ContextVariable]

Enum ANOWContextVariable_dataType {
    STRING; UNSIGNED; SIGNED; FLOAT;
}

#endregion

#Region - Enum [DataSource]

Enum ANOWDataSource_dataType {
    STRING; NUMBER; TIMESTAMP; TIME; DATE; OBJECT;
}

Enum ANOWDataSource_errorHandling {
    ERROR; INIT;
}

Enum ANOWDataSource_validity {
    ALL; FREE; HOST; JOB; WORKFLOW_NAME; WORKFLOW_SESSION; USER; USER_SESSION;
}

Enum ANOWDataSource_dataSourceType {
    LOCAL_DICTIONARY; LOCAL_KEY_VALUE_STORE; LOCAL_FILE_STORE; LOCAL_TEXT_FILE_STORE; # Note: There are three additional types (REST; SQL; LOCAL;) which are not selectable in the UI.
}

#endregion

#Region - Enum [Domain]

Enum ANOWDomain_secretVaultType {
    HASHI_CORP;
}

#endregion

#Region - Enum [Endpoint]

Enum ANOWEndpoint_endpointType {
    USER; FTP; MAINFRAME_FTP; FTPS; MAINFRAME_FTPS; SFTP; S3; HDFS; AZURE_BLOB; AZURE_FILE; GOOGLE_COULD_STORAGE_BUCKET; PGP; HTTP; REST_WEB_SERVICE; SOAP_WEB_SERVICE; EMAIL; EMAIL_EWS; AWS; AZURE; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; AWS_COMMON; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; SSH; WINRM; HIVE_QL; GOOGLE_BIG_QUERY; DASHDB; DB2; MYSQL; NETEZZA; AZURE_SQL_DATABASE; AZURE_SQL_DATA_WAREHOUSE; ORACLE; POSTGRESQL; SQL_SERVER; SQL_SERVER_JTDS; TERADATA; SINGLESTORE; VERTICA; SNOWFLAKE; PRESTO_DB; SYBASE; INFORMIX; H2; AS400; Z_OS; Z_OS_REST; RAINCODE; RAINCODE_BRS; OPENTEXT; CTRL_M; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; TEAMS; WHATSAPP; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

#endregion

#Region - Enum [Icon]

Enum ANOWiconSet {
    FAT_COW; FUGUE; FONT_AWESOME;
}

Enum ANOWiconSetIconsOnly {
    # Notes: Some features (e.g. Workspace) only support the two real icon sets
    FAT_COW; FUGUE;
}

#endregion

#Region - Enum [Node]

Enum ANOWserverNode_serverNodeType {
    AZURE; AWS; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS; RAINCODE; CTRL_M; OPENTEXT; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; HIVE_QL; GOOGLE_BIG_QUERY; AZURE_SQL_DATA_WAREHOUSE; AZURE_SQL_DATABASE; DASHDB; DB2; MYSQL; NETEZZA; ORACLE; POSTGRESQL; SQL_SERVER; TERADATA; SINGLESTORE; SNOWFLAKE; VERTICA; PRESTO_DB; SYBASE; INFORMIX; H2; FILE_MANAGER; SNMP; HTTP; EMAIL; SOAP_WEB_SERVICE; REST_WEB_SERVICE; INTERNAL; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; HDFS; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; ANDROID; IOS; WINDOWS_MOBILE; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; CONTROL_M; STONEBRANCH; CA_WLA; AUTOMIC_WLA; IBM_WLA; TIDAL; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; WHATSAPP; TEAMS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWserverNode_status {
    ON_HOLD; DISCONNECTED; CONNECTED;
}

Enum ANOWserverNode_loadBalancerStrategy {
    ROUND_ROBIN; MIN_WEIGHT; MAX_WEIGHT; TIME_SEMAPHORE; ACTIVE_PASSIVE_FAILOVER; RANDOM;
}

Enum ANOWserverNode_semaphoreState {
    ON; OFF;
}

Enum ANOWserverNode_resourceType {
    STOCK; LOCK; BINARY_SEMAPHORE; TIME_SEMAPHORE; VARIABLE; PHYSICAL_RESOURCE; METRIC; CALENDAR; EVENT;
}

#endregion

#Region - Enum [Notification]

Enum ANOWNotification_notificationStatus {
    CONFIRMED; ESCALATED; PLANNED; FAILED; SENT;
}

Enum ANOWNotification_notificationChannelType {
    CUSTOM_FUNCTION; SCRIPT; WEB_SERVICE; JIRA; SERVICE_NOW;
}

Enum ANOWNotification_notificationType {
    CHANNEL; EMAIL; ONSCREEN; SMS;
}

Enum ANOWNotification_messageFormat {
    TEXT; HTML;
}

#endregion

#Region - Enum [Notification Channel]

Enum ANOWnotificationChannel_notificationChannelType {
    CUSTOM_FUNCTION; SCRIPT; WEB_SERVICE; JIRA; SERVICE_NOW;
}

Enum ANOWnotificationChannel_connectionType {
    USER; FTP; MAINFRAME_FTP; FTPS; MAINFRAME_FTPS; SFTP; S3; HDFS; AZURE_BLOB; AZURE_FILE; GOOGLE_COULD_STORAGE_BUCKET; PGP; HTTP; REST_WEB_SERVICE; SOAP_WEB_SERVICE; EMAIL; EMAIL_EWS; AWS; AZURE; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; AWS_COMMON; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; SSH; WINRM; HIVE_QL; GOOGLE_BIG_QUERY; DASHDB; DB2; MYSQL; NETEZZA; AZURE_SQL_DATABASE; AZURE_SQL_DATA_WAREHOUSE; ORACLE; POSTGRESQL; SQL_SERVER; SQL_SERVER_JTDS; TERADATA; SINGLESTORE; VERTICA; SNOWFLAKE; PRESTO_DB; SYBASE; INFORMIX; H2; AS400; Z_OS; Z_OS_REST; RAINCODE; RAINCODE_BRS; OPENTEXT; CTRL_M; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; TEAMS; WHATSAPP; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

#endregion

#Region - Enum [Notification Group Member]

Enum ANOWnotificationGroupMember_groupMemberType {
    INTERNAL; EXTERNAL;
}

#endregion

#Region - Enum [Processing] (represents: Tasks, Workflows, Schedules, ServiceManagers, Integrations)

Enum ANOWProcessing_sensorType {
    FILE_SENSOR; SQL_SENSOR; EMAIL_SENSOR; JMS_SENSOR; AMQP_SENSOR; RABBIT_MQ_SENSOR; KAFKA_SENSOR; JIRA_ISSUE_SENSOR; MQTT_SENSOR; IBM_MQ_SENSOR; HTTP_SENSOR; SNMP_SENSOR; Z_OS_JES_JOB_SENSOR; SAP_R3_INTERCEPTED_JOB_SENSOR; SAP_R3_EVENT_SENSOR; SAP_IBP_PROCESS_SENSOR; SAP_4H_EVENT_SENSOR; SAP_4H_INTERCEPTED_JOB_SENSOR; SAP_4H_IBP_PROCESS_SENSOR; SERVICE_NOW_INCIDENT_STATUS_SENSOR;
}

Enum ANOWProcessing_processingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessing_integrationType {
    TEMPLATE; INTERFACE; CUSTOM;
}

Enum ANOWProcessing_triggerType {
    SCHEDULE; EVENT; SELF_SERVICE; USER; PROCESSING; SERVER_NODE;
}

Enum ANOWProcessing_serviceType {
    SERVICE_MANAGER; SENSOR; MONITOR;
}

Enum ANOWProcessing_serviceManagerType {
    BUSINESS_VIEW; SLA_SERVICE_MANAGER; STATE_SERVICE_MANAGER; NUMERIC_SERVICE_MANAGER;
}

Enum ANOWProcessing_workflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessing_cycleFailMode {
    RESTART_NONE; RESTART_FAILED; RESTART_ALL;
}

Enum ANOWProcessing_cycleDelayMode {
    FINISH_TO_START; START_TO_START;
}

Enum ANOWProcessing_processingLaunchType {
    TRIGGER_ITEM; SCHEDULE; EVENT; SELF_SERVICE; TRIGGER; PROCESSING; USER; SERVER_NODE;
}

Enum ANOWProcessing_endpointType {
    USER; FTP; MAINFRAME_FTP; FTPS; MAINFRAME_FTPS; SFTP; S3; HDFS; AZURE_BLOB; AZURE_FILE; GOOGLE_COULD_STORAGE_BUCKET; PGP; HTTP; REST_WEB_SERVICE; SOAP_WEB_SERVICE; EMAIL; EMAIL_EWS; AWS; AZURE; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; AWS_COMMON; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; SSH; WINRM; HIVE_QL; GOOGLE_BIG_QUERY; DASHDB; DB2; MYSQL; NETEZZA; AZURE_SQL_DATABASE; AZURE_SQL_DATA_WAREHOUSE; ORACLE; POSTGRESQL; SQL_SERVER; SQL_SERVER_JTDS; TERADATA; SINGLESTORE; VERTICA; SNOWFLAKE; PRESTO_DB; SYBASE; INFORMIX; H2; AS400; Z_OS; Z_OS_REST; RAINCODE; RAINCODE_BRS; OPENTEXT; CTRL_M; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; TEAMS; WHATSAPP; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessing_processingStatus {
    WAITING; READY; EXECUTING; COMPLETED; FAILED;
}

Enum ANOWProcessing_killMode {
    SOFT; HARD;
}
Enum ANOWProcessing_agentOperatingSystemType {
    UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS;
}

Enum ANOWProcessing_monitorType {
    SYSTEM_MONITOR; SYSTEM_PROCESS_MONITOR; PROCESSING_MONITOR; PROCESSING_DEADLINE_MONITOR; PROCESSING_BASELINE_DEVIATION_MONITOR; SERVER_NODE_MONITOR; PING_MONITOR; HTTP_MONITOR; SH_MONITOR; PYTHON_MONITOR; PERL_MONITOR; POWERSHELL_MONITOR; TCL_MONITOR; RUBY_MONITOR; GROOVY_MONITOR; SAP_R3_JOB_MONITOR; SAP_IBP_JOB_MONITOR; SAP_IBP_PROCESS_MONITOR; SAP_IBP_PROCESS_FILTER_MONITOR; SAP_R3_INTERCEPTED_JOB_MONITOR; SAP_4H_JOB_MONITOR; SAP_4H_IBP_JOB_MONITOR; SAP_4H_IBP_PROCESS_MONITOR; SAP_4H_IBP_PROCESS_FILTER_MONITOR; SAP_4H_INTERCEPTED_JOB_MONITOR; AWS_EMR_CONTAINER_MONITOR; AWS_EMR_JOB_FLOW_MONITOR; AWS_EMR_STEP_MONITOR; AWS_EMR_NOTEBOOK_MONITOR; AZURE_DATABRICKS_CLUSTER_MONITOR;
}

Enum ANOWProcessing_waitingReason {
    WAITING_INIT; WAITING_TIME; WAITING_TIME_TRIGGER; WAITING_PARENT; WAITING_RESUME; WAITING_DEPENDENCY; WAITING_RESOURCES; WAITING_SERVER_NODE; WAITING_SCRIPT; WAITING_PRESCRIPT
}

Enum ANOWProcessing_inputType {
    PARAMETERS; FORM;
}

Enum ANOWProcessing_outputFormat {
    TEXT; JSON; XML; GREP; AUTO;
}

Enum ANOWProcessing_serverNodeType {
    AZURE; AWS; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS; RAINCODE; CTRL_M; OPENTEXT; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; HIVE_QL; GOOGLE_BIG_QUERY; AZURE_SQL_DATA_WAREHOUSE; AZURE_SQL_DATABASE; DASHDB; DB2; MYSQL; NETEZZA; ORACLE; POSTGRESQL; SQL_SERVER; TERADATA; SINGLESTORE; SNOWFLAKE; VERTICA; PRESTO_DB; SYBASE; INFORMIX; H2; FILE_MANAGER; SNMP; HTTP; EMAIL; SOAP_WEB_SERVICE; REST_WEB_SERVICE; INTERNAL; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; HDFS; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; ANDROID; IOS; WINDOWS_MOBILE; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; CONTROL_M; STONEBRANCH; CA_WLA; AUTOMIC_WLA; IBM_WLA; TIDAL; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; WHATSAPP; TEAMS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessing_cycleType {
    COUNTER; TIME; TIME_OF_DAY; SPECIFIC_TIMES_OF_DAY; WHILE; UNTIL;
}

Enum ANOWProcessing_taskType {
    PROCESSING_OBSERVER; TRIGGER_ITEM; SH; PYTHON; PERL; POWERSHELL; TCL; RUBY; GROOVY; SCALA; KOTLIN; C; CPP; JAVA; JAVASCRIPT; TYPESCRIPT; RUST; GO; SWIFT; VBSCRIPT; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_BATCH_JOB; AS400_RPA; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL; Z_OS_COMMAND; AWS_GLUE_WORKFLOW; AWS_GLUE_JOB; AWS_GLUE_CRAWLER; AWS_GLUE_TRIGGER; AWS_EMR_WORKFLOW; AWS_EMR_PUT; AWS_EMR_GET; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_API_COMMAND; AWS_EMR_ADD_STEPS; AWS_EMR_CANCEL_STEPS; AWS_EMR_TERMINATE_JOB_FLOW; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EC2_DELETE_VOLUME; AWS_LAMBDA_INVOKE; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_BATCH_JOB; AWS_START_STEP_FUNCTION_STATE_MACHINE; AWS_S3_DELETE_OBJECT; AWS_S3_COPY_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AZURE_DATA_LAKE_JOB; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_BATCH_JOB; AZURE_RUN_LOGIC_APP; GOOGLE_DATA_FLOW_JOB; INFORMATICA_CLOUD_TASKFLOW; HTTP_REQUEST; REST_WEB_SERVICE_CALL; SOAP_WEB_SERVICE_CALL; EMAIL_SEND; EMAIL_CONFIRMATION; EMAIL_INPUT; IBM_MQ_SEND; JMS_SEND; AMQP_SEND; RABBIT_MQ_SEND; KAFKA_SEND; MQTT_SEND; XMPP_SEND; STOMP_SEND; IBM_DATASTAGE; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; DBT_CORE_JOB; INFORMATICA_START; INFORMATICA_EMAIL; INFORMATICA_ASSIGNMENT; INFORMATICA_TIMER; INFORMATICA_CONTROL; INFORMATICA_COMMAND; INFORMATICA_SESSION; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; SAP_R3_JOB; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_UPDATE; SAP_R3_VARIANT_DELETE; SAP_R3_RAISE_EVENT; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_COPY_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_BW_PROCESS_CHAIN; SAP_ARCHIVE; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_FUNCTION_MODULE_CALL; SAP_READ_TABLE; SAP_EXPORT_JOB; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_GET_APPLICATION_LOG; SAP_SWITCH_OPERATION_MODE; SAP_4H_JOB; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_UPDATE; SAP_4H_VARIANT_DELETE; SAP_4H_RAISE_EVENT; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_COPY_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_ARCHIVE; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_EXPORT_CALENDAR; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_READ_TABLE; SAP_4H_EXPORT_JOB; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_GET_APPLICATION_LOG; SAP_4H_SWITCH_OPERATION_MODE; SAP_ODATA_API_CALL; SAP_IBP_JOB; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_SET_PROCESS_STEP_STATUS; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PEOPLESOFT_JOB_TASK; FILE_TRANSFER; XFTP_COMMAND; FILE_CHECK; FILE_WATCHER; DATASOURCE_UPLOAD_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_DELETE_FILE; RDBMS_STORED_PROCEDURE; RDBMS_SQL_STATEMENT; RDBMS_SQL; MONGO_DB_INSERT; COUCH_DB_INSERT; CASSANDRA_CQL_SCRIPT; COUCH_BASE_INSERT; DYNAMO_DB_INSERT; ARANGO_DB_INSERT; NEO4J_INSERT; TITAN_INSERT; PROCESSING_ACTION_SKIP_ON; PROCESSING_ACTION_SKIP_OFF; NOTIFY_GROUP; NOTIFY_CHANNEL; NOTIFY_EMAIL; SET_PROCESSING_STATUS; SET_SERVER_NODE; SET_SEMAPHORE_STATE; SET_SEMAPHORE_TIMESTAMP_STATE; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SET_VARIABLE_TIMESTAMP_VALUE; SET_STOCK_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; SET_PHYSICAL_RESOURCE; SET_METRIC; TRIGGER_EVENT; DATA_SOURCE_GET; DATA_SOURCE_SET; DATA_SOURCE_REMOVE; CHECK_SEMAPHORE_STATE; CHECK_TIME_WINDOW_STATE; CHECK_PROCESSING_STATE; CHECK_STOCK_TOTAL_PERMITS; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_LOCK_STATE; CHECK_VARIABLE_VALUE; CHECK_PHYSICAL_RESOURCE; CHECK_METRIC; CHECK_CALENDAR; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; PROCESSING_REGISTER_STATE; PROCESSING_UNREGISTER_STATE; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_ADD_NOTE; PROCESSING_TEMPLATE_ADD_NOTE; SEVER_NODE_ADD_NOTE; AGENT_ADD_NOTE; ENDPOINT_ADD_NOTE; RESOURCE_ADD_NOTE; RESTART; RETRY; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; RESUME; ABORT; KILL; SKIP_ON; SKIP_OFF; SET_PRIORITY; ADD_TAG; REMOVE_TAG; SET_FOLDER; PROCESSING_RUN_NOW; SET_STATUS_CODE; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_HOLD; SERVER_NODE_SET_CONNECTION; SERVER_NODE_RESUME; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_STOP; SERVER_NODE_ADD_TAG; SERVER_NODE_REMOVE_TAG; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_PARAMETERS; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_ON; PROCESSING_TEMPLATE_SKIP_OFF; ARCHIVE; ARCHIVE_INTERVAL; ARCHIVE_CLEANUP; RECALCULATE_STATISTICS; DESIGN_BACKUP; DESIGN_IMPORT; CHECK_TIME; WAIT; USER_CONFIRM; USER_INPUT; ADHOC_REPORT_SEND; AE_SCRIPT; MS_SSIS; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; SAS_DI; SAS_4GL; SAS_JOB; SAS_VIYA_JOB; ODI_SESSION; ODI_LOAD_PLAN; DBT_JOB; TALEND_JOB; REDIS_CLI; REDIS_SET; REDIS_GET; REDIS_DELETE; FLINK_JAR_UPLOAD; FLINK_JAR_DELETE; FLINK_RUN_JOB; HDFS_UPLOAD_FILE; HDFS_APPEND_FILE; HDFS_DOWNLOAD_FILE; HDFS_DELETE_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_RENAME; SPARK_RUN_JOB; SPARK_JAVA; SPARK_SCALA; SPARK_R; SPARK_PYTHON; SPARK_SQL; MICROSOFT_POWER_BI_DATASET_REFRESH; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; TABLEAU_REFRESH_EXTRACT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM; UI_PATH_STOP_ROBOT; UI_PATH_START_ROBOT; UI_PATH_UNDEPLOY_ROBOT; UI_PATH_DEPLOY_ROBOT; UI_PATH; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; WORK_FUSION_DEPLOY_ROBOT; PEGA_STOP_ROBOT; PEGA_START_ROBOT; PEGA_UNDEPLOY_ROBOT; PEGA_DEPLOY_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; ROBOT_FRAMEWORK_DEPLOY_ROBOT; CONTROL_M_RUN_JOB; STONEBRANCH_RUN_JOB; CA_WLA_RUN_JOB; AUTOMIC_WLA_RUN_JOB; IBM_WLA_RUN_JOB; TERMA_RUN_JOB; TIDAL_RUN_JOB; AUTOMATE_NOW_RUN_JOB; FACEBOOK_POST; INSTAGRAM_POST; TWITTER_POST; YOUTUBE_POST; LINKED_IN_POST; TUMBLR_POST; TIKTOK_POST; REDDIT_POST; TELEGRAM_MESSAGE; WHATSAPP_MESSAGE; TEAMS_CHAT_MESSAGE; TEAMS_CHANNEL_MESSAGE; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_ADD_ATTACHMENT; ORACLE_SERVICE_CENTER_CASE; IBM_CONTROL_DESK_INCIDENT; BMC_REMEDY_INCIDENT; CA_SERVICE_MANAGEMENT_INCIDENT; SAP_SOLUTION_MANAGER_TICKET; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; AUTOMATE_NOW_TRIGGER_EVENT; APACHE_AIRFLOW_RUN_DAG; ANSIBLE_PLAYBOOK_PATH; ANSIBLE_PLAYBOOK; POWER_AUTOMATE_EXECUTE_FLOW; CTRLM_DELETE_CONDITION; CTRLM_ADD_CONDITION; CTRLM_ORDER_JOB; CTRLM_CREATE_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_UPDATE; CTRLM_RESOURCE_TABLE_DELETE; AE_SHELL_SCRIPT;
}

Enum ANOWProcessing_serviceStatus {
    GREEN; YELLOW; RED;
}

Enum ANOWProcessing_exitProcessingStatus {
    WAITING; READY; EXECUTING; COMPLETED; FAILED;
}

Enum ANOWProcessing_parentProcessingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessing_parentWorkflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessing_rootWorkflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

#endregion

#Region - Enum [ProcessingEvent] (represents the Event Logs for: Processing, Nodes, Resources, Agents & Domains)

Enum ANOWProcessingEvent_serviceType {
    SERVICE_MANAGER; SENSOR; MONITOR;
}

Enum ANOWProcessingEvent_eventCategory {
    PROCESSING; SERVER_NODE; RESOURCE; AGENT; DOMAIN;
}

Enum ANOWProcessingEvent_serviceManagerType {
    BUSINESS_VIEW; SLA_SERVICE_MANAGER; STATE_SERVICE_MANAGER; NUMERIC_SERVICE_MANAGER;
}

Enum ANOWProcessingEvent_monitorType {
    SYSTEM_MONITOR; SYSTEM_PROCESS_MONITOR; PROCESSING_MONITOR; PROCESSING_DEADLINE_MONITOR; PROCESSING_BASELINE_DEVIATION_MONITOR; SERVER_NODE_MONITOR; PING_MONITOR; HTTP_MONITOR; SH_MONITOR; PYTHON_MONITOR; PERL_MONITOR; POWERSHELL_MONITOR; TCL_MONITOR; RUBY_MONITOR; GROOVY_MONITOR; SAP_R3_JOB_MONITOR; SAP_IBP_JOB_MONITOR; SAP_IBP_PROCESS_MONITOR; SAP_IBP_PROCESS_FILTER_MONITOR; SAP_R3_INTERCEPTED_JOB_MONITOR; SAP_4H_JOB_MONITOR; SAP_4H_IBP_JOB_MONITOR; SAP_4H_IBP_PROCESS_MONITOR; SAP_4H_IBP_PROCESS_FILTER_MONITOR; SAP_4H_INTERCEPTED_JOB_MONITOR; AWS_EMR_CONTAINER_MONITOR; AWS_EMR_JOB_FLOW_MONITOR; AWS_EMR_STEP_MONITOR; AWS_EMR_NOTEBOOK_MONITOR; AZURE_DATABRICKS_CLUSTER_MONITOR;
}

Enum ANOWProcessingEvent_sensorType {
    FILE_SENSOR; SQL_SENSOR; EMAIL_SENSOR; JMS_SENSOR; AMQP_SENSOR; RABBIT_MQ_SENSOR; KAFKA_SENSOR; JIRA_ISSUE_SENSOR; MQTT_SENSOR; IBM_MQ_SENSOR; HTTP_SENSOR; SNMP_SENSOR; Z_OS_JES_JOB_SENSOR; SAP_R3_INTERCEPTED_JOB_SENSOR; SAP_R3_EVENT_SENSOR; SAP_IBP_PROCESS_SENSOR; SAP_4H_EVENT_SENSOR; SAP_4H_INTERCEPTED_JOB_SENSOR; SAP_4H_IBP_PROCESS_SENSOR; SERVICE_NOW_INCIDENT_STATUS_SENSOR;
}

Enum ANOWProcessingEvent_workflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessingEvent_serverNodeType {
    AZURE; AWS; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS; RAINCODE; CTRL_M; OPENTEXT; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; HIVE_QL; GOOGLE_BIG_QUERY; AZURE_SQL_DATA_WAREHOUSE; AZURE_SQL_DATABASE; DASHDB; DB2; MYSQL; NETEZZA; ORACLE; POSTGRESQL; SQL_SERVER; TERADATA; SINGLESTORE; SNOWFLAKE; VERTICA; PRESTO_DB; SYBASE; INFORMIX; H2; FILE_MANAGER; SNMP; HTTP; EMAIL; SOAP_WEB_SERVICE; REST_WEB_SERVICE; INTERNAL; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; HDFS; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; ANDROID; IOS; WINDOWS_MOBILE; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; CONTROL_M; STONEBRANCH; CA_WLA; AUTOMIC_WLA; IBM_WLA; TIDAL; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; WHATSAPP; TEAMS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessingEvent_eventType {
    APPLICATION_BROADCAST_MESSAGE; PROCESSING_EVALUATED; PROCESSING_LOADED; PROCESSING_QUEUED; PROCESSING_TRIGGERED; PROCESSING_SENSOR_ITEM_FOUND; PROCESSING_WARNING; PROCESSING_WAITING; PROCESSING_READY; PROCESSING_RECEIVED; PROCESSING_STARTED; PROCESSING_FINISHED; PROCESSING_HANDLE_FINAL_FINISHED_STATUS; PROCESSING_FAILED; PROCESSING_COMPLETED; PROCESSING_ARCHIVED; PROCESSING_ARCHIVED_CLEANUP; PROCESSING_SKIP_ON; PROCESSING_SKIP_OFF; PROCESSING_SKIPPED; PROCESSING_HOLD; PROCESSING_RESUME; PROCESSING_ABORT; PROCESSING_KILL; PROCESSING_ABORTING; PROCESSING_ABORTED; PROCESSING_KILLED; PROCESSING_ABORT_FAILED; PROCESSING_FORCE_COMPLETED; PROCESSING_FORCE_FAILED; PROCESSING_FORCE_READY; PROCESSING_RESTART; PROCESSING_RETRY; PROCESSING_RESTATE; PROCESSING_RELOAD; PROCESSING_CONTEXT_VARIABLE_SET; PROCESSING_INTERNAL_ITEM_ACTION; PROCESSING_ITEM_NOT_LOADED; PROCESSING_CHILDREN_LOADED; PROCESSING_LOAD_LAZY_ITEMS; PROCESSING_FORCE_LAZY_LOAD_ITEMS; PROCESSING_DEPENDENCY_CREATED; PROCESSING_DEPENDENCY_DELETED; PROCESSING_DEPENDENCY_UPDATED; PROCESSING_SUCCESSOR_ADDED; PROCESSING_ACTION_CREATED; PROCESSING_ACTION_DELETED; PROCESSING_ACTION_UPDATED; NOTE_ADDED; NOTE_CLOSED; NOTE_DELETED; PROCESSING_ACTION_APPROVAL_PENDING; PROCESSING_ACTION_APPROVE; PROCESSING_ACTION_REJECT; PROCESSING_ACTION_APPROVED; PROCESSING_ACTION_REJECTED; PROCESSING_ACTION_FUTILE_ATTEMPT; PROCESSING_ACTION_FAILED_ATTEMPT; PROCESSING_ACTION_FINISHED; PROCESSING_SET_DELAYED_START_TIME; TRIGGER_ITEM_EXECUTION; SET_PRIORITY; SET_WEIGHT; SET_STATUS_CODE; SET_FOLDER; ADD_TAG; REMOVE_TAG; UPDATE_TASK_COMMAND; UPDATE_PROCESSING_FORCE_COMPLETED_CONDITION; UPDATE_PROCESSING_FORCE_FAILED_CONDITION; UPDATE_PROCESSING_CUSTOM_FIELD_VALUES; UPDATE_PROCESSING_RESTORE_ORIGINAL_COMMAND_ON_RESTART; UPDATE_PROCESSING_AUTO_ARCHIVE; UPDATE_PROCESSING_OWNER; UPDATE_PROCESSING_OWNER_ROLE; UPDATE_PROCESSING_APPROVAL_CONFIGURATION; UPDATE_PROCESSING_RESULT_MAPPING; UPDATE_PROCESSING_NAME; UPDATE_PROCESSING_DESCRIPTION; UPDATE_PROCESSING_STATUS_CODE; UPDATE_PROCESSING_STATUS_MESSAGE; UPDATE_PROCESSING_VERBOSE_MODE; CONFIRMED; DENIED; DATA_ENTERED; PROCESSING_SERVER_NODE_SET; PROCESSING_SERVER_NODE_ENDPOINT_SET; PROCESSING_SERVER_NODE_DISCONNECTED; PROCESSING_SERVER_NODE_RESTARTED; EXECUTING_LONG; EXECUTING_SHORT; EARLY_START; LATE_START; EARLY_END; LATE_END; NOT_STARTED; CRITICAL_PATH_CHANGED; CRITICAL_PATH_ON; CRITICAL_PATH_OFF; TRANSFORM_PROCESSING_TEMPLATE; PROCESSING_ADD_FORECAST_ITEM; PROCESSING_ADD_ROOT_FORECAST_ITEM; CHILD_ADDED; CHILD_REMOVED; SET_PROCESSING_SERVER_NODE_DISCONNECTED; SET_PROCESSING_SERVER_NODE_RESTARTED; EXECUTE_PRELOADED_PROCESSING; PROCESSING_FINISH_RESTART; RESOURCE_SYNCHRONIZE_QUEUE; CHECK_READY; CHECK_RESOURCES; GET_CACHED_RESOURCE_STATES; ACQUIRE_RESOURCES; ENQUEUE_RESOURCES; DEQUEUE_RESOURCES; PROCESSING_RESOURCE_ACQUIRED; PROCESSING_RESOURCE_QUEUED; CHECK_SERVER_NODE; ASSIGN_SERVER_NODE; APPLY_SERVER_NODE; RELEASE_SERVER_NODE; ENQUEUE_SERVER_NODE; DEQUEUE_SERVER_NODE; SERVER_NODE_SYNCHRONIZE_QUEUE; SET_SERVER_NODE; READY_TO_ARCHIVE; READY_TO_START; CHILD_STATUS_CHANGE; CHILD_SERVICE_STATUS_CHANGE; INTERNAL_MONITOR_ITERATION; MONITOR_STATUS_RECEIVED; PROCESSING_SET_INTERNAL_STATE; PROCESSING_STATE_UPDATED; UPDATE_OBSERVER_STATE; INITIALIZE_OBSERVER_STATE; SERVICE_STATUS_GREEN; SERVICE_STATUS_YELLOW; SERVICE_STATUS_RED; RESOURCES_RELEASED; SYNCHRONIZED_RESOURCES_RELEASED; DISPATCH_ACTION; SET_SEMAPHORE_STATE; SET_SEMAPHORE_OFF; SET_SEMAPHORE_ON; TIME_INDEXED_RESOURCE_CHANGED; REMOVE_PROCESSING_FROM_RESOURCE_QUEUE; RELEASE_PROCESSING_SYNCHRONIZED_RESOURCES; RESOURCE_SEMAPHORE_ON; RESOURCE_SEMAPHORE_OFF; RESOURCE_TIME_INDEXED_SEMAPHORE_OFF; RESOURCE_TIME_INDEXED_SEMAPHORE_ON; RESOURCE_TIME_INDEXED_SET_VARIABLE_VALUE; RESOURCE_UNLOCKED; RESOURCE_LOCK_SHARED; RESOURCE_LOCK_EXCLUSIVE; RESOURCE_STOCK_ACQUIRED; RESOURCE_STOCK_RELEASED; RESOURCE_ADJUST_TOTAL_PERMITS; RESOURCE_SET_VALUE; SET_METRIC; SET_PHYSICAL_RESOURCE; RESOURCE_METRIC_SET_VALUE; RESOURCE_EVENT_TRIGGERED; RESOURCE_ANOMALY; RESOURCE_CREATE; AGENT_DISCONNECTED; AGENT_CONNECTED; AGENT_START; AGENT_STOP; AGENT_STARTED; AGENT_STOPPED; AGENT_CENTRAL_MANAGEMENT_ON; AGENT_CONFIGURATION_PUSHED; AGENT_CONFIGURATION_CHANGED; AGENT_UPGRADE_START; AGENT_NODE_CONNECTED; AGENT_NODE_DISCONNECTED; AGENT_NODE_ADDED; AGENT_NODE_REMOVED; LOAD_BALANCER_NODE_CONNECTED; LOAD_BALANCER_NODE_DISCONNECTED; LOAD_BALANCER_NODE_ADDED; LOAD_BALANCER_NODE_REMOVED; SERVER_NODE_HOLD; SERVER_NODE_RESUME; SERVER_NODE_DISCONNECTED; SERVER_NODE_CONNECTED; SERVER_NODE_CONNECTION_CHANGED; SERVER_NODE_ABORTED_ALL; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILLED_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_STOP; SERVER_NODE_STOPPED; SERVER_NODE_START; SERVER_NODE_STARTED; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_AGENT_IP_CHANGED; SERVER_NODE_CONFIGURATION_PUSHED; SERVER_NODE_CONFIGURATION_CHANGED; SERVER_NODE_BASELINE_DEVIATION_MULTIPLIER_CHANGED; SERVER_NODE_OCCUPIED_WEIGHT_CHANGED; SERVER_NODE_WEIGHT_RELEASED; SERVER_NODE_TOTAL_WEIGHT_CHANGED; APPLY_DESIGN_IMPORT_OPERATION; VALIDATE_DESIGN_IMPORT_OPERATION; EXECUTE_DYNAMIC_PROCESSING; DOMAIN_HOLD; DOMAIN_RESUME; DOMAIN_CLEAR; DOMAIN_CLEAR_MONITORING; DOMAIN_CLEAR_DESIGN; SCHEDULE_CALENDAR; SCHEDULE_PROCESSING_TIME_TRIGGER; SCHEDULE_RESOURCE_TIME_TRIGGER; SCHEDULE_REMOVE_CALENDAR; SCHEDULE_REMOVE_PROCESSING_TIME_TRIGGER; SCHEDULE_REMOVE_RESOURCE_TIME_TRIGGER; SCHEDULE_CLEAR_DOMAIN; SAVE_VERSION_CONTROL_RECORD; PROCESSING_EXECUTE_PRE_SCRIPT; PROCESSING_EXECUTE_POST_SCRIPT; PROCESSING_EXECUTE_SCRIPT; PROCESSING_PRE_SCRIPT_STARTED; PROCESSING_POST_SCRIPT_STARTED; PROCESSING_SCRIPT_STARTED; PROCESSING_PRE_SCRIPT_COMPLETED; PROCESSING_POST_SCRIPT_COMPLETED; PROCESSING_SCRIPT_COMPLETED; PROCESSING_PRE_SCRIPT_FAILED; PROCESSING_POST_SCRIPT_FAILED; PROCESSING_SCRIPT_FAILED; PROCESSING_PRE_SCRIPT_STOPPED; PROCESSING_POST_SCRIPT_STOPPED; PROCESSING_SCRIPT_STOPPED; PROCESSING_PRE_SCRIPT_EXITED; PROCESSING_SCRIPT_EXITED;
}

Enum ANOWProcessingEvent_processingWarningType {
    PROCESSING_EVALUATION_WARNING;
}

Enum ANOWProcessingEvent_processingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessingEvent_killMode {
    SOFT; HARD;
}

Enum ANOWProcessingEvent_taskType {
    PROCESSING_OBSERVER; TRIGGER_ITEM; SH; PYTHON; PERL; POWERSHELL; TCL; RUBY; GROOVY; SCALA; KOTLIN; C; CPP; JAVA; JAVASCRIPT; TYPESCRIPT; RUST; GO; SWIFT; VBSCRIPT; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_BATCH_JOB; AS400_RPA; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL; Z_OS_COMMAND; AWS_GLUE_WORKFLOW; AWS_GLUE_JOB; AWS_GLUE_CRAWLER; AWS_GLUE_TRIGGER; AWS_EMR_WORKFLOW; AWS_EMR_PUT; AWS_EMR_GET; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_API_COMMAND; AWS_EMR_ADD_STEPS; AWS_EMR_CANCEL_STEPS; AWS_EMR_TERMINATE_JOB_FLOW; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EC2_DELETE_VOLUME; AWS_LAMBDA_INVOKE; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_BATCH_JOB; AWS_START_STEP_FUNCTION_STATE_MACHINE; AWS_S3_DELETE_OBJECT; AWS_S3_COPY_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AZURE_DATA_LAKE_JOB; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_BATCH_JOB; AZURE_RUN_LOGIC_APP; GOOGLE_DATA_FLOW_JOB; INFORMATICA_CLOUD_TASKFLOW; HTTP_REQUEST; REST_WEB_SERVICE_CALL; SOAP_WEB_SERVICE_CALL; EMAIL_SEND; EMAIL_CONFIRMATION; EMAIL_INPUT; IBM_MQ_SEND; JMS_SEND; AMQP_SEND; RABBIT_MQ_SEND; KAFKA_SEND; MQTT_SEND; XMPP_SEND; STOMP_SEND; IBM_DATASTAGE; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; DBT_CORE_JOB; INFORMATICA_START; INFORMATICA_EMAIL; INFORMATICA_ASSIGNMENT; INFORMATICA_TIMER; INFORMATICA_CONTROL; INFORMATICA_COMMAND; INFORMATICA_SESSION; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; SAP_R3_JOB; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_UPDATE; SAP_R3_VARIANT_DELETE; SAP_R3_RAISE_EVENT; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_COPY_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_BW_PROCESS_CHAIN; SAP_ARCHIVE; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_FUNCTION_MODULE_CALL; SAP_READ_TABLE; SAP_EXPORT_JOB; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_GET_APPLICATION_LOG; SAP_SWITCH_OPERATION_MODE; SAP_4H_JOB; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_UPDATE; SAP_4H_VARIANT_DELETE; SAP_4H_RAISE_EVENT; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_COPY_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_ARCHIVE; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_EXPORT_CALENDAR; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_READ_TABLE; SAP_4H_EXPORT_JOB; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_GET_APPLICATION_LOG; SAP_4H_SWITCH_OPERATION_MODE; SAP_ODATA_API_CALL; SAP_IBP_JOB; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_SET_PROCESS_STEP_STATUS; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PEOPLESOFT_JOB_TASK; FILE_TRANSFER; XFTP_COMMAND; FILE_CHECK; FILE_WATCHER; DATASOURCE_UPLOAD_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_DELETE_FILE; RDBMS_STORED_PROCEDURE; RDBMS_SQL_STATEMENT; RDBMS_SQL; MONGO_DB_INSERT; COUCH_DB_INSERT; CASSANDRA_CQL_SCRIPT; COUCH_BASE_INSERT; DYNAMO_DB_INSERT; ARANGO_DB_INSERT; NEO4J_INSERT; TITAN_INSERT; PROCESSING_ACTION_SKIP_ON; PROCESSING_ACTION_SKIP_OFF; NOTIFY_GROUP; NOTIFY_CHANNEL; NOTIFY_EMAIL; SET_PROCESSING_STATUS; SET_SERVER_NODE; SET_SEMAPHORE_STATE; SET_SEMAPHORE_TIMESTAMP_STATE; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SET_VARIABLE_TIMESTAMP_VALUE; SET_STOCK_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; SET_PHYSICAL_RESOURCE; SET_METRIC; TRIGGER_EVENT; DATA_SOURCE_GET; DATA_SOURCE_SET; DATA_SOURCE_REMOVE; CHECK_SEMAPHORE_STATE; CHECK_TIME_WINDOW_STATE; CHECK_PROCESSING_STATE; CHECK_STOCK_TOTAL_PERMITS; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_LOCK_STATE; CHECK_VARIABLE_VALUE; CHECK_PHYSICAL_RESOURCE; CHECK_METRIC; CHECK_CALENDAR; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; PROCESSING_REGISTER_STATE; PROCESSING_UNREGISTER_STATE; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_ADD_NOTE; PROCESSING_TEMPLATE_ADD_NOTE; SEVER_NODE_ADD_NOTE; AGENT_ADD_NOTE; ENDPOINT_ADD_NOTE; RESOURCE_ADD_NOTE; RESTART; RETRY; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; RESUME; ABORT; KILL; SKIP_ON; SKIP_OFF; SET_PRIORITY; ADD_TAG; REMOVE_TAG; SET_FOLDER; PROCESSING_RUN_NOW; SET_STATUS_CODE; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_HOLD; SERVER_NODE_SET_CONNECTION; SERVER_NODE_RESUME; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_STOP; SERVER_NODE_ADD_TAG; SERVER_NODE_REMOVE_TAG; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_PARAMETERS; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_ON; PROCESSING_TEMPLATE_SKIP_OFF; ARCHIVE; ARCHIVE_INTERVAL; ARCHIVE_CLEANUP; RECALCULATE_STATISTICS; DESIGN_BACKUP; DESIGN_IMPORT; CHECK_TIME; WAIT; USER_CONFIRM; USER_INPUT; ADHOC_REPORT_SEND; AE_SCRIPT; MS_SSIS; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; SAS_DI; SAS_4GL; SAS_JOB; SAS_VIYA_JOB; ODI_SESSION; ODI_LOAD_PLAN; DBT_JOB; TALEND_JOB; REDIS_CLI; REDIS_SET; REDIS_GET; REDIS_DELETE; FLINK_JAR_UPLOAD; FLINK_JAR_DELETE; FLINK_RUN_JOB; HDFS_UPLOAD_FILE; HDFS_APPEND_FILE; HDFS_DOWNLOAD_FILE; HDFS_DELETE_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_RENAME; SPARK_RUN_JOB; SPARK_JAVA; SPARK_SCALA; SPARK_R; SPARK_PYTHON; SPARK_SQL; MICROSOFT_POWER_BI_DATASET_REFRESH; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; TABLEAU_REFRESH_EXTRACT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM; UI_PATH_STOP_ROBOT; UI_PATH_START_ROBOT; UI_PATH_UNDEPLOY_ROBOT; UI_PATH_DEPLOY_ROBOT; UI_PATH; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; WORK_FUSION_DEPLOY_ROBOT; PEGA_STOP_ROBOT; PEGA_START_ROBOT; PEGA_UNDEPLOY_ROBOT; PEGA_DEPLOY_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; ROBOT_FRAMEWORK_DEPLOY_ROBOT; CONTROL_M_RUN_JOB; STONEBRANCH_RUN_JOB; CA_WLA_RUN_JOB; AUTOMIC_WLA_RUN_JOB; IBM_WLA_RUN_JOB; TERMA_RUN_JOB; TIDAL_RUN_JOB; AUTOMATE_NOW_RUN_JOB; FACEBOOK_POST; INSTAGRAM_POST; TWITTER_POST; YOUTUBE_POST; LINKED_IN_POST; TUMBLR_POST; TIKTOK_POST; REDDIT_POST; TELEGRAM_MESSAGE; WHATSAPP_MESSAGE; TEAMS_CHAT_MESSAGE; TEAMS_CHANNEL_MESSAGE; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_ADD_ATTACHMENT; ORACLE_SERVICE_CENTER_CASE; IBM_CONTROL_DESK_INCIDENT; BMC_REMEDY_INCIDENT; CA_SERVICE_MANAGEMENT_INCIDENT; SAP_SOLUTION_MANAGER_TICKET; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; AUTOMATE_NOW_TRIGGER_EVENT; APACHE_AIRFLOW_RUN_DAG; ANSIBLE_PLAYBOOK_PATH; ANSIBLE_PLAYBOOK; POWER_AUTOMATE_EXECUTE_FLOW; CTRLM_DELETE_CONDITION; CTRLM_ADD_CONDITION; CTRLM_ORDER_JOB; CTRLM_CREATE_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_UPDATE; CTRLM_RESOURCE_TABLE_DELETE; AE_SHELL_SCRIPT;
}

Enum ANOWProcessingEvent_triggerType {
    SCHEDULE; EVENT; SELF_SERVICE; USER; PROCESSING; SERVER_NODE;
}

Enum ANOWProcessingEvent_agentOperatingSystemType {
    UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS;
}

Enum ANOWProcessingEvent_resourceType {
    STOCK; LOCK; BINARY_SEMAPHORE; TIME_SEMAPHORE; VARIABLE; PHYSICAL_RESOURCE; METRIC; CALENDAR; EVENT;
}

#endregion

#Region - Enum [ProcessingTemplateItem]

Enum ANOWProcessingTemplateItem_serviceType {
    SERVICE_MANAGER; SENSOR; MONITOR;
}

Enum ANOWProcessingTemplateItem_serviceManagerType {
    BUSINESS_VIEW; SLA_SERVICE_MANAGER; STATE_SERVICE_MANAGER; NUMERIC_SERVICE_MANAGER;
}

Enum ANOWProcessingTemplateItem_parentMonitorType {
    SYSTEM_MONITOR; SYSTEM_PROCESS_MONITOR; PROCESSING_MONITOR; PROCESSING_DEADLINE_MONITOR; PROCESSING_BASELINE_DEVIATION_MONITOR; SERVER_NODE_MONITOR; PING_MONITOR; HTTP_MONITOR; SH_MONITOR; PYTHON_MONITOR; PERL_MONITOR; POWERSHELL_MONITOR; TCL_MONITOR; RUBY_MONITOR; GROOVY_MONITOR; SAP_R3_JOB_MONITOR; SAP_IBP_JOB_MONITOR; SAP_IBP_PROCESS_MONITOR; SAP_IBP_PROCESS_FILTER_MONITOR; SAP_R3_INTERCEPTED_JOB_MONITOR; SAP_4H_JOB_MONITOR; SAP_4H_IBP_JOB_MONITOR; SAP_4H_IBP_PROCESS_MONITOR; SAP_4H_IBP_PROCESS_FILTER_MONITOR; SAP_4H_INTERCEPTED_JOB_MONITOR; AWS_EMR_CONTAINER_MONITOR; AWS_EMR_JOB_FLOW_MONITOR; AWS_EMR_STEP_MONITOR; AWS_EMR_NOTEBOOK_MONITOR; AZURE_DATABRICKS_CLUSTER_MONITOR;
}

Enum ANOWProcessingTemplateItem_MonitorType {
    SYSTEM_MONITOR; SYSTEM_PROCESS_MONITOR; PROCESSING_MONITOR; PROCESSING_DEADLINE_MONITOR; PROCESSING_BASELINE_DEVIATION_MONITOR; SERVER_NODE_MONITOR; PING_MONITOR; HTTP_MONITOR; SH_MONITOR; PYTHON_MONITOR; PERL_MONITOR; POWERSHELL_MONITOR; TCL_MONITOR; RUBY_MONITOR; GROOVY_MONITOR; SAP_R3_JOB_MONITOR; SAP_IBP_JOB_MONITOR; SAP_IBP_PROCESS_MONITOR; SAP_IBP_PROCESS_FILTER_MONITOR; SAP_R3_INTERCEPTED_JOB_MONITOR; SAP_4H_JOB_MONITOR; SAP_4H_IBP_JOB_MONITOR; SAP_4H_IBP_PROCESS_MONITOR; SAP_4H_IBP_PROCESS_FILTER_MONITOR; SAP_4H_INTERCEPTED_JOB_MONITOR; AWS_EMR_CONTAINER_MONITOR; AWS_EMR_JOB_FLOW_MONITOR; AWS_EMR_STEP_MONITOR; AWS_EMR_NOTEBOOK_MONITOR; AZURE_DATABRICKS_CLUSTER_MONITOR;
}

Enum ANOWProcessingTemplateItem_parentserviceType {
    SERVICE_MANAGER; SENSOR; MONITOR;
}

Enum ANOWProcessingTemplateItem_sensorType {
    FILE_SENSOR; SQL_SENSOR; EMAIL_SENSOR; JMS_SENSOR; AMQP_SENSOR; RABBIT_MQ_SENSOR; KAFKA_SENSOR; JIRA_ISSUE_SENSOR; MQTT_SENSOR; IBM_MQ_SENSOR; HTTP_SENSOR; SNMP_SENSOR; Z_OS_JES_JOB_SENSOR; SAP_R3_INTERCEPTED_JOB_SENSOR; SAP_R3_EVENT_SENSOR; SAP_IBP_PROCESS_SENSOR; SAP_4H_EVENT_SENSOR; SAP_4H_INTERCEPTED_JOB_SENSOR; SAP_4H_IBP_PROCESS_SENSOR; SERVICE_NOW_INCIDENT_STATUS_SENSOR;
}

Enum ANOWProcessingTemplateItem_workflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessingTemplateItem_highRiskStatisticMethod {
    STATIC_VALUE; COUNT; PERCENT;
}

Enum ANOWProcessingTemplateItem_statisticPeriod {
    WEEK; MONTH; QUARTER; YEAR; ALL;
}

Enum ANOWProcessingTemplateItem_endpointType {
    USER; FTP; MAINFRAME_FTP; FTPS; MAINFRAME_FTPS; SFTP; S3; HDFS; AZURE_BLOB; AZURE_FILE; GOOGLE_COULD_STORAGE_BUCKET; PGP; HTTP; REST_WEB_SERVICE; SOAP_WEB_SERVICE; EMAIL; EMAIL_EWS; AWS; AZURE; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; AWS_COMMON; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; SSH; WINRM; HIVE_QL; GOOGLE_BIG_QUERY; DASHDB; DB2; MYSQL; NETEZZA; AZURE_SQL_DATABASE; AZURE_SQL_DATA_WAREHOUSE; ORACLE; POSTGRESQL; SQL_SERVER; SQL_SERVER_JTDS; TERADATA; SINGLESTORE; VERTICA; SNOWFLAKE; PRESTO_DB; SYBASE; INFORMIX; H2; AS400; Z_OS; Z_OS_REST; RAINCODE; RAINCODE_BRS; OPENTEXT; CTRL_M; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; TEAMS; WHATSAPP; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessingTemplateItem_serverNodeType {
    AZURE; AWS; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS; RAINCODE; CTRL_M; OPENTEXT; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; HIVE_QL; GOOGLE_BIG_QUERY; AZURE_SQL_DATA_WAREHOUSE; AZURE_SQL_DATABASE; DASHDB; DB2; MYSQL; NETEZZA; ORACLE; POSTGRESQL; SQL_SERVER; TERADATA; SINGLESTORE; SNOWFLAKE; VERTICA; PRESTO_DB; SYBASE; INFORMIX; H2; FILE_MANAGER; SNMP; HTTP; EMAIL; SOAP_WEB_SERVICE; REST_WEB_SERVICE; INTERNAL; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; HDFS; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; ANDROID; IOS; WINDOWS_MOBILE; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; CONTROL_M; STONEBRANCH; CA_WLA; AUTOMIC_WLA; IBM_WLA; TIDAL; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; WHATSAPP; TEAMS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessingTemplateItem_statisticMethod {
    MOST_FREQUENT_VALUE; WEIGHTED_AVERAGE; AVERAGE; MEDIAN; FIRST_QUARTILE; THIRD_QUARTILE; STATIC_VALUE; MIN; MAX; COUNT;
}

Enum ANOWProcessingTemplateItem_processingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessingTemplateItem_parentProcessingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessingTemplateItem_taskType {
    PROCESSING_OBSERVER; TRIGGER_ITEM; SH; PYTHON; PERL; POWERSHELL; TCL; RUBY; GROOVY; SCALA; KOTLIN; C; CPP; JAVA; JAVASCRIPT; TYPESCRIPT; RUST; GO; SWIFT; VBSCRIPT; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_BATCH_JOB; AS400_RPA; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL; Z_OS_COMMAND; AWS_GLUE_WORKFLOW; AWS_GLUE_JOB; AWS_GLUE_CRAWLER; AWS_GLUE_TRIGGER; AWS_EMR_WORKFLOW; AWS_EMR_PUT; AWS_EMR_GET; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_API_COMMAND; AWS_EMR_ADD_STEPS; AWS_EMR_CANCEL_STEPS; AWS_EMR_TERMINATE_JOB_FLOW; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EC2_DELETE_VOLUME; AWS_LAMBDA_INVOKE; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_BATCH_JOB; AWS_START_STEP_FUNCTION_STATE_MACHINE; AWS_S3_DELETE_OBJECT; AWS_S3_COPY_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AZURE_DATA_LAKE_JOB; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_BATCH_JOB; AZURE_RUN_LOGIC_APP; GOOGLE_DATA_FLOW_JOB; INFORMATICA_CLOUD_TASKFLOW; HTTP_REQUEST; REST_WEB_SERVICE_CALL; SOAP_WEB_SERVICE_CALL; EMAIL_SEND; EMAIL_CONFIRMATION; EMAIL_INPUT; IBM_MQ_SEND; JMS_SEND; AMQP_SEND; RABBIT_MQ_SEND; KAFKA_SEND; MQTT_SEND; XMPP_SEND; STOMP_SEND; IBM_DATASTAGE; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; DBT_CORE_JOB; INFORMATICA_START; INFORMATICA_EMAIL; INFORMATICA_ASSIGNMENT; INFORMATICA_TIMER; INFORMATICA_CONTROL; INFORMATICA_COMMAND; INFORMATICA_SESSION; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; SAP_R3_JOB; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_UPDATE; SAP_R3_VARIANT_DELETE; SAP_R3_RAISE_EVENT; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_COPY_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_BW_PROCESS_CHAIN; SAP_ARCHIVE; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_FUNCTION_MODULE_CALL; SAP_READ_TABLE; SAP_EXPORT_JOB; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_GET_APPLICATION_LOG; SAP_SWITCH_OPERATION_MODE; SAP_4H_JOB; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_UPDATE; SAP_4H_VARIANT_DELETE; SAP_4H_RAISE_EVENT; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_COPY_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_ARCHIVE; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_EXPORT_CALENDAR; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_READ_TABLE; SAP_4H_EXPORT_JOB; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_GET_APPLICATION_LOG; SAP_4H_SWITCH_OPERATION_MODE; SAP_ODATA_API_CALL; SAP_IBP_JOB; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_SET_PROCESS_STEP_STATUS; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PEOPLESOFT_JOB_TASK; FILE_TRANSFER; XFTP_COMMAND; FILE_CHECK; FILE_WATCHER; DATASOURCE_UPLOAD_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_DELETE_FILE; RDBMS_STORED_PROCEDURE; RDBMS_SQL_STATEMENT; RDBMS_SQL; MONGO_DB_INSERT; COUCH_DB_INSERT; CASSANDRA_CQL_SCRIPT; COUCH_BASE_INSERT; DYNAMO_DB_INSERT; ARANGO_DB_INSERT; NEO4J_INSERT; TITAN_INSERT; PROCESSING_ACTION_SKIP_ON; PROCESSING_ACTION_SKIP_OFF; NOTIFY_GROUP; NOTIFY_CHANNEL; NOTIFY_EMAIL; SET_PROCESSING_STATUS; SET_SERVER_NODE; SET_SEMAPHORE_STATE; SET_SEMAPHORE_TIMESTAMP_STATE; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SET_VARIABLE_TIMESTAMP_VALUE; SET_STOCK_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; SET_PHYSICAL_RESOURCE; SET_METRIC; TRIGGER_EVENT; DATA_SOURCE_GET; DATA_SOURCE_SET; DATA_SOURCE_REMOVE; CHECK_SEMAPHORE_STATE; CHECK_TIME_WINDOW_STATE; CHECK_PROCESSING_STATE; CHECK_STOCK_TOTAL_PERMITS; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_LOCK_STATE; CHECK_VARIABLE_VALUE; CHECK_PHYSICAL_RESOURCE; CHECK_METRIC; CHECK_CALENDAR; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; PROCESSING_REGISTER_STATE; PROCESSING_UNREGISTER_STATE; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_ADD_NOTE; PROCESSING_TEMPLATE_ADD_NOTE; SEVER_NODE_ADD_NOTE; AGENT_ADD_NOTE; ENDPOINT_ADD_NOTE; RESOURCE_ADD_NOTE; RESTART; RETRY; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; RESUME; ABORT; KILL; SKIP_ON; SKIP_OFF; SET_PRIORITY; ADD_TAG; REMOVE_TAG; SET_FOLDER; PROCESSING_RUN_NOW; SET_STATUS_CODE; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_HOLD; SERVER_NODE_SET_CONNECTION; SERVER_NODE_RESUME; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_STOP; SERVER_NODE_ADD_TAG; SERVER_NODE_REMOVE_TAG; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_PARAMETERS; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_ON; PROCESSING_TEMPLATE_SKIP_OFF; ARCHIVE; ARCHIVE_INTERVAL; ARCHIVE_CLEANUP; RECALCULATE_STATISTICS; DESIGN_BACKUP; DESIGN_IMPORT; CHECK_TIME; WAIT; USER_CONFIRM; USER_INPUT; ADHOC_REPORT_SEND; AE_SCRIPT; MS_SSIS; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; SAS_DI; SAS_4GL; SAS_JOB; SAS_VIYA_JOB; ODI_SESSION; ODI_LOAD_PLAN; DBT_JOB; TALEND_JOB; REDIS_CLI; REDIS_SET; REDIS_GET; REDIS_DELETE; FLINK_JAR_UPLOAD; FLINK_JAR_DELETE; FLINK_RUN_JOB; HDFS_UPLOAD_FILE; HDFS_APPEND_FILE; HDFS_DOWNLOAD_FILE; HDFS_DELETE_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_RENAME; SPARK_RUN_JOB; SPARK_JAVA; SPARK_SCALA; SPARK_R; SPARK_PYTHON; SPARK_SQL; MICROSOFT_POWER_BI_DATASET_REFRESH; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; TABLEAU_REFRESH_EXTRACT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM; UI_PATH_STOP_ROBOT; UI_PATH_START_ROBOT; UI_PATH_UNDEPLOY_ROBOT; UI_PATH_DEPLOY_ROBOT; UI_PATH; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; WORK_FUSION_DEPLOY_ROBOT; PEGA_STOP_ROBOT; PEGA_START_ROBOT; PEGA_UNDEPLOY_ROBOT; PEGA_DEPLOY_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; ROBOT_FRAMEWORK_DEPLOY_ROBOT; CONTROL_M_RUN_JOB; STONEBRANCH_RUN_JOB; CA_WLA_RUN_JOB; AUTOMIC_WLA_RUN_JOB; IBM_WLA_RUN_JOB; TERMA_RUN_JOB; TIDAL_RUN_JOB; AUTOMATE_NOW_RUN_JOB; FACEBOOK_POST; INSTAGRAM_POST; TWITTER_POST; YOUTUBE_POST; LINKED_IN_POST; TUMBLR_POST; TIKTOK_POST; REDDIT_POST; TELEGRAM_MESSAGE; WHATSAPP_MESSAGE; TEAMS_CHAT_MESSAGE; TEAMS_CHANNEL_MESSAGE; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_ADD_ATTACHMENT; ORACLE_SERVICE_CENTER_CASE; IBM_CONTROL_DESK_INCIDENT; BMC_REMEDY_INCIDENT; CA_SERVICE_MANAGEMENT_INCIDENT; SAP_SOLUTION_MANAGER_TICKET; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; AUTOMATE_NOW_TRIGGER_EVENT; APACHE_AIRFLOW_RUN_DAG; ANSIBLE_PLAYBOOK_PATH; ANSIBLE_PLAYBOOK; POWER_AUTOMATE_EXECUTE_FLOW; CTRLM_DELETE_CONDITION; CTRLM_ADD_CONDITION; CTRLM_ORDER_JOB; CTRLM_CREATE_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_UPDATE; CTRLM_RESOURCE_TABLE_DELETE; AE_SHELL_SCRIPT;
}

Enum ANOWProcessingTemplateItem_parentWorkflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessingTemplateItem_parentTaskType {
    PROCESSING_OBSERVER; TRIGGER_ITEM; SH; PYTHON; PERL; POWERSHELL; TCL; RUBY; GROOVY; SCALA; KOTLIN; C; CPP; JAVA; JAVASCRIPT; TYPESCRIPT; RUST; GO; SWIFT; VBSCRIPT; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_BATCH_JOB; AS400_RPA; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL; Z_OS_COMMAND; AWS_GLUE_WORKFLOW; AWS_GLUE_JOB; AWS_GLUE_CRAWLER; AWS_GLUE_TRIGGER; AWS_EMR_WORKFLOW; AWS_EMR_PUT; AWS_EMR_GET; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_API_COMMAND; AWS_EMR_ADD_STEPS; AWS_EMR_CANCEL_STEPS; AWS_EMR_TERMINATE_JOB_FLOW; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EC2_DELETE_VOLUME; AWS_LAMBDA_INVOKE; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_BATCH_JOB; AWS_START_STEP_FUNCTION_STATE_MACHINE; AWS_S3_DELETE_OBJECT; AWS_S3_COPY_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AZURE_DATA_LAKE_JOB; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_BATCH_JOB; AZURE_RUN_LOGIC_APP; GOOGLE_DATA_FLOW_JOB; INFORMATICA_CLOUD_TASKFLOW; HTTP_REQUEST; REST_WEB_SERVICE_CALL; SOAP_WEB_SERVICE_CALL; EMAIL_SEND; EMAIL_CONFIRMATION; EMAIL_INPUT; IBM_MQ_SEND; JMS_SEND; AMQP_SEND; RABBIT_MQ_SEND; KAFKA_SEND; MQTT_SEND; XMPP_SEND; STOMP_SEND; IBM_DATASTAGE; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; DBT_CORE_JOB; INFORMATICA_START; INFORMATICA_EMAIL; INFORMATICA_ASSIGNMENT; INFORMATICA_TIMER; INFORMATICA_CONTROL; INFORMATICA_COMMAND; INFORMATICA_SESSION; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; SAP_R3_JOB; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_UPDATE; SAP_R3_VARIANT_DELETE; SAP_R3_RAISE_EVENT; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_COPY_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_BW_PROCESS_CHAIN; SAP_ARCHIVE; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_FUNCTION_MODULE_CALL; SAP_READ_TABLE; SAP_EXPORT_JOB; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_GET_APPLICATION_LOG; SAP_SWITCH_OPERATION_MODE; SAP_4H_JOB; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_UPDATE; SAP_4H_VARIANT_DELETE; SAP_4H_RAISE_EVENT; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_COPY_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_ARCHIVE; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_EXPORT_CALENDAR; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_READ_TABLE; SAP_4H_EXPORT_JOB; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_GET_APPLICATION_LOG; SAP_4H_SWITCH_OPERATION_MODE; SAP_ODATA_API_CALL; SAP_IBP_JOB; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_SET_PROCESS_STEP_STATUS; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PEOPLESOFT_JOB_TASK; FILE_TRANSFER; XFTP_COMMAND; FILE_CHECK; FILE_WATCHER; DATASOURCE_UPLOAD_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_DELETE_FILE; RDBMS_STORED_PROCEDURE; RDBMS_SQL_STATEMENT; RDBMS_SQL; MONGO_DB_INSERT; COUCH_DB_INSERT; CASSANDRA_CQL_SCRIPT; COUCH_BASE_INSERT; DYNAMO_DB_INSERT; ARANGO_DB_INSERT; NEO4J_INSERT; TITAN_INSERT; PROCESSING_ACTION_SKIP_ON; PROCESSING_ACTION_SKIP_OFF; NOTIFY_GROUP; NOTIFY_CHANNEL; NOTIFY_EMAIL; SET_PROCESSING_STATUS; SET_SERVER_NODE; SET_SEMAPHORE_STATE; SET_SEMAPHORE_TIMESTAMP_STATE; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SET_VARIABLE_TIMESTAMP_VALUE; SET_STOCK_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; SET_PHYSICAL_RESOURCE; SET_METRIC; TRIGGER_EVENT; DATA_SOURCE_GET; DATA_SOURCE_SET; DATA_SOURCE_REMOVE; CHECK_SEMAPHORE_STATE; CHECK_TIME_WINDOW_STATE; CHECK_PROCESSING_STATE; CHECK_STOCK_TOTAL_PERMITS; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_LOCK_STATE; CHECK_VARIABLE_VALUE; CHECK_PHYSICAL_RESOURCE; CHECK_METRIC; CHECK_CALENDAR; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; PROCESSING_REGISTER_STATE; PROCESSING_UNREGISTER_STATE; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_ADD_NOTE; PROCESSING_TEMPLATE_ADD_NOTE; SEVER_NODE_ADD_NOTE; AGENT_ADD_NOTE; ENDPOINT_ADD_NOTE; RESOURCE_ADD_NOTE; RESTART; RETRY; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; RESUME; ABORT; KILL; SKIP_ON; SKIP_OFF; SET_PRIORITY; ADD_TAG; REMOVE_TAG; SET_FOLDER; PROCESSING_RUN_NOW; SET_STATUS_CODE; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_HOLD; SERVER_NODE_SET_CONNECTION; SERVER_NODE_RESUME; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_STOP; SERVER_NODE_ADD_TAG; SERVER_NODE_REMOVE_TAG; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_PARAMETERS; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_ON; PROCESSING_TEMPLATE_SKIP_OFF; ARCHIVE; ARCHIVE_INTERVAL; ARCHIVE_CLEANUP; RECALCULATE_STATISTICS; DESIGN_BACKUP; DESIGN_IMPORT; CHECK_TIME; WAIT; USER_CONFIRM; USER_INPUT; ADHOC_REPORT_SEND; AE_SCRIPT; MS_SSIS; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; SAS_DI; SAS_4GL; SAS_JOB; SAS_VIYA_JOB; ODI_SESSION; ODI_LOAD_PLAN; DBT_JOB; TALEND_JOB; REDIS_CLI; REDIS_SET; REDIS_GET; REDIS_DELETE; FLINK_JAR_UPLOAD; FLINK_JAR_DELETE; FLINK_RUN_JOB; HDFS_UPLOAD_FILE; HDFS_APPEND_FILE; HDFS_DOWNLOAD_FILE; HDFS_DELETE_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_RENAME; SPARK_RUN_JOB; SPARK_JAVA; SPARK_SCALA; SPARK_R; SPARK_PYTHON; SPARK_SQL; MICROSOFT_POWER_BI_DATASET_REFRESH; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; TABLEAU_REFRESH_EXTRACT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM; UI_PATH_STOP_ROBOT; UI_PATH_START_ROBOT; UI_PATH_UNDEPLOY_ROBOT; UI_PATH_DEPLOY_ROBOT; UI_PATH; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; WORK_FUSION_DEPLOY_ROBOT; PEGA_STOP_ROBOT; PEGA_START_ROBOT; PEGA_UNDEPLOY_ROBOT; PEGA_DEPLOY_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; ROBOT_FRAMEWORK_DEPLOY_ROBOT; CONTROL_M_RUN_JOB; STONEBRANCH_RUN_JOB; CA_WLA_RUN_JOB; AUTOMIC_WLA_RUN_JOB; IBM_WLA_RUN_JOB; TERMA_RUN_JOB; TIDAL_RUN_JOB; AUTOMATE_NOW_RUN_JOB; FACEBOOK_POST; INSTAGRAM_POST; TWITTER_POST; YOUTUBE_POST; LINKED_IN_POST; TUMBLR_POST; TIKTOK_POST; REDDIT_POST; TELEGRAM_MESSAGE; WHATSAPP_MESSAGE; TEAMS_CHAT_MESSAGE; TEAMS_CHANNEL_MESSAGE; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_ADD_ATTACHMENT; ORACLE_SERVICE_CENTER_CASE; IBM_CONTROL_DESK_INCIDENT; BMC_REMEDY_INCIDENT; CA_SERVICE_MANAGEMENT_INCIDENT; SAP_SOLUTION_MANAGER_TICKET; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; AUTOMATE_NOW_TRIGGER_EVENT; APACHE_AIRFLOW_RUN_DAG; ANSIBLE_PLAYBOOK_PATH; ANSIBLE_PLAYBOOK; POWER_AUTOMATE_EXECUTE_FLOW; CTRLM_DELETE_CONDITION; CTRLM_ADD_CONDITION; CTRLM_ORDER_JOB; CTRLM_CREATE_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_UPDATE; CTRLM_RESOURCE_TABLE_DELETE; AE_SHELL_SCRIPT;
}

Enum ANOWProcessingTemplateItem_highRiskStatisticPeriod {
    WEEK; MONTH; QUARTER; YEAR; ALL;
}

Enum ANOWProcessingTemplateItem_parentServiceManagerType {
    BUSINESS_VIEW; SLA_SERVICE_MANAGER; STATE_SERVICE_MANAGER; NUMERIC_SERVICE_MANAGER;
}

Enum ANOWProcessingTemplateItem_parentTriggerType {
    SCHEDULE; EVENT; SELF_SERVICE; USER; PROCESSING; SERVER_NODE;
}

Enum ANOWProcessingTemplateItem_parentSensorType {
    FILE_SENSOR; SQL_SENSOR; EMAIL_SENSOR; JMS_SENSOR; AMQP_SENSOR; RABBIT_MQ_SENSOR; KAFKA_SENSOR; JIRA_ISSUE_SENSOR; MQTT_SENSOR; IBM_MQ_SENSOR; HTTP_SENSOR; SNMP_SENSOR; Z_OS_JES_JOB_SENSOR; SAP_R3_INTERCEPTED_JOB_SENSOR; SAP_R3_EVENT_SENSOR; SAP_IBP_PROCESS_SENSOR; SAP_4H_EVENT_SENSOR; SAP_4H_INTERCEPTED_JOB_SENSOR; SAP_4H_IBP_PROCESS_SENSOR; SERVICE_NOW_INCIDENT_STATUS_SENSOR;
}

Enum ANOWProcessingTemplateItem_triggerType {
    SCHEDULE; EVENT; SELF_SERVICE; USER; PROCESSING; SERVER_NODE;
}

#endregion

#region - Enum [ProcessingTemplate] (represents: TaskTemplates, WorkflowTemplates, ScheduleTemplates, ServiceManagerTemplates, IntegrationTemplates)

Enum ANOWProcessingTemplate_sensorType {
    FILE_SENSOR; SQL_SENSOR; EMAIL_SENSOR; JMS_SENSOR; AMQP_SENSOR; RABBIT_MQ_SENSOR; KAFKA_SENSOR; JIRA_ISSUE_SENSOR; MQTT_SENSOR; IBM_MQ_SENSOR; HTTP_SENSOR; SNMP_SENSOR; Z_OS_JES_JOB_SENSOR; SAP_R3_INTERCEPTED_JOB_SENSOR; SAP_R3_EVENT_SENSOR; SAP_IBP_PROCESS_SENSOR; SAP_4H_EVENT_SENSOR; SAP_4H_INTERCEPTED_JOB_SENSOR; SAP_4H_IBP_PROCESS_SENSOR; SERVICE_NOW_INCIDENT_STATUS_SENSOR;
}

Enum ANOWProcessingTemplate_endpointType {
    USER; FTP; MAINFRAME_FTP; FTPS; MAINFRAME_FTPS; SFTP; S3; HDFS; AZURE_BLOB; AZURE_FILE; GOOGLE_COULD_STORAGE_BUCKET; PGP; HTTP; REST_WEB_SERVICE; SOAP_WEB_SERVICE; EMAIL; EMAIL_EWS; AWS; AZURE; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; AWS_COMMON; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; SSH; WINRM; HIVE_QL; GOOGLE_BIG_QUERY; DASHDB; DB2; MYSQL; NETEZZA; AZURE_SQL_DATABASE; AZURE_SQL_DATA_WAREHOUSE; ORACLE; POSTGRESQL; SQL_SERVER; SQL_SERVER_JTDS; TERADATA; SINGLESTORE; VERTICA; SNOWFLAKE; PRESTO_DB; SYBASE; INFORMIX; H2; AS400; Z_OS; Z_OS_REST; RAINCODE; RAINCODE_BRS; OPENTEXT; CTRL_M; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; TEAMS; WHATSAPP; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessingTemplate_processingType {
    TASK; WORKFLOW; SERVICE; TRIGGER;
}

Enum ANOWProcessingTemplate_serviceManagerAggregationMode {
    AND; OR; XOR; NAND; NOR; XNOR; SUM; MIN; MAX; AVG; MEDIAN;
}

Enum ANOWProcessingTemplate_integrationType {
    TEMPLATE; INTERFACE; CUSTOM;
}

Enum ANOWProcessingTemplate_highRiskStatisticPeriod {
    WEEK; MONTH; QUARTER; YEAR; ALL;
}

Enum ANOWProcessingTemplate_triggerType {
    SCHEDULE; EVENT; SELF_SERVICE; USER; PROCESSING; SERVER_NODE;
}

Enum ANOWProcessingTemplate_serviceType {
    SERVICE_MANAGER; SENSOR; MONITOR;
}

Enum ANOWProcessingTemplate_serviceManagerType {
    BUSINESS_VIEW; SLA_SERVICE_MANAGER; STATE_SERVICE_MANAGER; NUMERIC_SERVICE_MANAGER;
}

Enum ANOWProcessingTemplate_monitorType {
    SYSTEM_MONITOR; SYSTEM_PROCESS_MONITOR; PROCESSING_MONITOR; PROCESSING_DEADLINE_MONITOR; PROCESSING_BASELINE_DEVIATION_MONITOR; SERVER_NODE_MONITOR; PING_MONITOR; HTTP_MONITOR; SH_MONITOR; PYTHON_MONITOR; PERL_MONITOR; POWERSHELL_MONITOR; TCL_MONITOR; RUBY_MONITOR; GROOVY_MONITOR; SAP_R3_JOB_MONITOR; SAP_IBP_JOB_MONITOR; SAP_IBP_PROCESS_MONITOR; SAP_IBP_PROCESS_FILTER_MONITOR; SAP_R3_INTERCEPTED_JOB_MONITOR; SAP_4H_JOB_MONITOR; SAP_4H_IBP_JOB_MONITOR; SAP_4H_IBP_PROCESS_MONITOR; SAP_4H_IBP_PROCESS_FILTER_MONITOR; SAP_4H_INTERCEPTED_JOB_MONITOR; AWS_EMR_CONTAINER_MONITOR; AWS_EMR_JOB_FLOW_MONITOR; AWS_EMR_STEP_MONITOR; AWS_EMR_NOTEBOOK_MONITOR; AZURE_DATABRICKS_CLUSTER_MONITOR;
}

Enum ANOWProcessingTemplate_workflowType {
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE;
}

Enum ANOWProcessingTemplate_highRiskStatisticMethod {
    STATIC_VALUE; COUNT; PERCENT;
}

Enum ANOWProcessingTemplate_outputFormat {
    TEXT; JSON; XML; GREP; AUTO;
}

Enum ANOWProcessingTemplate_statisticPeriod {
    WEEK; MONTH; QUARTER; YEAR; ALL;
}

Enum ANOWProcessingTemplate_serverNodeType {
    AZURE; AWS; GOOGLE_CLOUD; GOOGLE_DATA_FLOW; AZURE_DATABRICKS; INFORMATICA_CLOUD; UNIX; LINUX; WINDOWS; SOLARIS; HPUX; AIX; OPENVMS; MACOS; AS400; Z_OS; RAINCODE; CTRL_M; OPENTEXT; INFORMATICA; INFORMATICA_WS; SAS; SAS_VIYA; IBM_DATASTAGE; ODI; MS_SSIS; AB_INITIO; SAP_BODI; SKYVIA; TALEND; DBT; DBT_CORE; SAP; SAP_S4_HANA; SAP_S4_HANA_CLOUD; SAP_IBP; JD_EDWARDS; ORACLE_EBS; PEOPLESOFT; MICROSOFT_DYNAMICS; HIVE_QL; GOOGLE_BIG_QUERY; AZURE_SQL_DATA_WAREHOUSE; AZURE_SQL_DATABASE; DASHDB; DB2; MYSQL; NETEZZA; ORACLE; POSTGRESQL; SQL_SERVER; TERADATA; SINGLESTORE; SNOWFLAKE; VERTICA; PRESTO_DB; SYBASE; INFORMIX; H2; FILE_MANAGER; SNMP; HTTP; EMAIL; SOAP_WEB_SERVICE; REST_WEB_SERVICE; INTERNAL; IBM_MQ; RABBIT_MQ; SQS; ACTIVE_MQ; QPID; IBM_SIBUS; HORNETQ; SOLACE; JORAM_MQ; QMQ; ZERO_MQ; KAFKA; PULSAR; AMAZON_KINESIS; GOOGLE_CLOUD_PUB_SUB; MICROSOFT_AZURE_EVENT_HUB; AMQP; XMPP; STOMP; HDFS; REDIS; HADOOP; HIVE; IMPALA; SQOOP; YARN; SPARK; FLUME; FLINK; STORM; OOZIE; AMBARI; ELASTIC_SEARCH; CASSANDRA; SAP_HANA; MONGO_DB; COUCH_DB; COUCH_BASE; DYNAMO_DB; ARANGO_DB; NEO4J; ORIENT_DB; TITAN; ANDROID; IOS; WINDOWS_MOBILE; MICROSOFT_POWER_BI; TABLEAU; BLUE_PRISM; UI_PATH; AUTOMATION_ANYWHERE; WORK_FUSION; PEGA; ROBOT_FRAMEWORK; CONTROL_M; STONEBRANCH; CA_WLA; AUTOMIC_WLA; IBM_WLA; TIDAL; FACEBOOK; INSTAGRAM; TWITTER; YOUTUBE; LINKED_IN; TUMBLR; TIKTOK; REDDIT; TELEGRAM; WHATSAPP; TEAMS; JIRA; SERVICE_NOW; ORACLE_SERVICE_CENTER; BMC_REMEDY; CA_SERVICE_MANAGEMENT; IBM_CONTROL_DESK; HP_OPEN_VIEW_SERVICE_MANAGER; SAP_SOLUTION_MANAGER; AUTOMATE_NOW; APACHE_AIRFLOW; POWER_AUTOMATE; ANSIBLE;
}

Enum ANOWProcessingTemplate_statisticMethod {
    MOST_FREQUENT_VALUE; WEIGHTED_AVERAGE; AVERAGE; MEDIAN; FIRST_QUARTILE; THIRD_QUARTILE; STATIC_VALUE; MIN; MAX; COUNT;
}

Enum ANOWProcessingTemplate_taskType {
    PROCESSING_OBSERVER; TRIGGER_ITEM; SH; PYTHON; PERL; POWERSHELL; TCL; RUBY; GROOVY; SCALA; KOTLIN; C; CPP; JAVA; JAVASCRIPT; TYPESCRIPT; RUST; GO; SWIFT; VBSCRIPT; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_BATCH_JOB; AS400_RPA; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL; Z_OS_COMMAND; AWS_GLUE_WORKFLOW; AWS_GLUE_JOB; AWS_GLUE_CRAWLER; AWS_GLUE_TRIGGER; AWS_EMR_WORKFLOW; AWS_EMR_PUT; AWS_EMR_GET; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_API_COMMAND; AWS_EMR_ADD_STEPS; AWS_EMR_CANCEL_STEPS; AWS_EMR_TERMINATE_JOB_FLOW; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EC2_DELETE_VOLUME; AWS_LAMBDA_INVOKE; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_BATCH_JOB; AWS_START_STEP_FUNCTION_STATE_MACHINE; AWS_S3_DELETE_OBJECT; AWS_S3_COPY_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AZURE_DATA_LAKE_JOB; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_BATCH_JOB; AZURE_RUN_LOGIC_APP; GOOGLE_DATA_FLOW_JOB; INFORMATICA_CLOUD_TASKFLOW; HTTP_REQUEST; REST_WEB_SERVICE_CALL; SOAP_WEB_SERVICE_CALL; EMAIL_SEND; EMAIL_CONFIRMATION; EMAIL_INPUT; IBM_MQ_SEND; JMS_SEND; AMQP_SEND; RABBIT_MQ_SEND; KAFKA_SEND; MQTT_SEND; XMPP_SEND; STOMP_SEND; IBM_DATASTAGE; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; DBT_CORE_JOB; INFORMATICA_START; INFORMATICA_EMAIL; INFORMATICA_ASSIGNMENT; INFORMATICA_TIMER; INFORMATICA_CONTROL; INFORMATICA_COMMAND; INFORMATICA_SESSION; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; SAP_R3_JOB; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_UPDATE; SAP_R3_VARIANT_DELETE; SAP_R3_RAISE_EVENT; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_COPY_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_BW_PROCESS_CHAIN; SAP_ARCHIVE; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_FUNCTION_MODULE_CALL; SAP_READ_TABLE; SAP_EXPORT_JOB; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_GET_APPLICATION_LOG; SAP_SWITCH_OPERATION_MODE; SAP_4H_JOB; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_UPDATE; SAP_4H_VARIANT_DELETE; SAP_4H_RAISE_EVENT; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_COPY_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_ARCHIVE; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_EXPORT_CALENDAR; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_READ_TABLE; SAP_4H_EXPORT_JOB; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_GET_APPLICATION_LOG; SAP_4H_SWITCH_OPERATION_MODE; SAP_ODATA_API_CALL; SAP_IBP_JOB; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_SET_PROCESS_STEP_STATUS; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PEOPLESOFT_JOB_TASK; FILE_TRANSFER; XFTP_COMMAND; FILE_CHECK; FILE_WATCHER; DATASOURCE_UPLOAD_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_DELETE_FILE; RDBMS_STORED_PROCEDURE; RDBMS_SQL_STATEMENT; RDBMS_SQL; MONGO_DB_INSERT; COUCH_DB_INSERT; CASSANDRA_CQL_SCRIPT; COUCH_BASE_INSERT; DYNAMO_DB_INSERT; ARANGO_DB_INSERT; NEO4J_INSERT; TITAN_INSERT; PROCESSING_ACTION_SKIP_ON; PROCESSING_ACTION_SKIP_OFF; NOTIFY_GROUP; NOTIFY_CHANNEL; NOTIFY_EMAIL; SET_PROCESSING_STATUS; SET_SERVER_NODE; SET_SEMAPHORE_STATE; SET_SEMAPHORE_TIMESTAMP_STATE; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SET_VARIABLE_TIMESTAMP_VALUE; SET_STOCK_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; SET_PHYSICAL_RESOURCE; SET_METRIC; TRIGGER_EVENT; DATA_SOURCE_GET; DATA_SOURCE_SET; DATA_SOURCE_REMOVE; CHECK_SEMAPHORE_STATE; CHECK_TIME_WINDOW_STATE; CHECK_PROCESSING_STATE; CHECK_STOCK_TOTAL_PERMITS; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_LOCK_STATE; CHECK_VARIABLE_VALUE; CHECK_PHYSICAL_RESOURCE; CHECK_METRIC; CHECK_CALENDAR; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; PROCESSING_REGISTER_STATE; PROCESSING_UNREGISTER_STATE; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_ADD_NOTE; PROCESSING_TEMPLATE_ADD_NOTE; SEVER_NODE_ADD_NOTE; AGENT_ADD_NOTE; ENDPOINT_ADD_NOTE; RESOURCE_ADD_NOTE; RESTART; RETRY; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; RESUME; ABORT; KILL; SKIP_ON; SKIP_OFF; SET_PRIORITY; ADD_TAG; REMOVE_TAG; SET_FOLDER; PROCESSING_RUN_NOW; SET_STATUS_CODE; SERVER_NODE_ABORT_ALL; SERVER_NODE_KILL_ALL; SERVER_NODE_HOLD; SERVER_NODE_SET_CONNECTION; SERVER_NODE_RESUME; SERVER_NODE_SKIP_ON; SERVER_NODE_SKIP_OFF; SERVER_NODE_STOP; SERVER_NODE_ADD_TAG; SERVER_NODE_REMOVE_TAG; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_PARAMETERS; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_ON; PROCESSING_TEMPLATE_SKIP_OFF; ARCHIVE; ARCHIVE_INTERVAL; ARCHIVE_CLEANUP; RECALCULATE_STATISTICS; DESIGN_BACKUP; DESIGN_IMPORT; CHECK_TIME; WAIT; USER_CONFIRM; USER_INPUT; ADHOC_REPORT_SEND; AE_SCRIPT; MS_SSIS; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; SAS_DI; SAS_4GL; SAS_JOB; SAS_VIYA_JOB; ODI_SESSION; ODI_LOAD_PLAN; DBT_JOB; TALEND_JOB; REDIS_CLI; REDIS_SET; REDIS_GET; REDIS_DELETE; FLINK_JAR_UPLOAD; FLINK_JAR_DELETE; FLINK_RUN_JOB; HDFS_UPLOAD_FILE; HDFS_APPEND_FILE; HDFS_DOWNLOAD_FILE; HDFS_DELETE_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_RENAME; SPARK_RUN_JOB; SPARK_JAVA; SPARK_SCALA; SPARK_R; SPARK_PYTHON; SPARK_SQL; MICROSOFT_POWER_BI_DATASET_REFRESH; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; TABLEAU_REFRESH_EXTRACT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM; UI_PATH_STOP_ROBOT; UI_PATH_START_ROBOT; UI_PATH_UNDEPLOY_ROBOT; UI_PATH_DEPLOY_ROBOT; UI_PATH; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; WORK_FUSION_DEPLOY_ROBOT; PEGA_STOP_ROBOT; PEGA_START_ROBOT; PEGA_UNDEPLOY_ROBOT; PEGA_DEPLOY_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; ROBOT_FRAMEWORK_DEPLOY_ROBOT; CONTROL_M_RUN_JOB; STONEBRANCH_RUN_JOB; CA_WLA_RUN_JOB; AUTOMIC_WLA_RUN_JOB; IBM_WLA_RUN_JOB; TERMA_RUN_JOB; TIDAL_RUN_JOB; AUTOMATE_NOW_RUN_JOB; FACEBOOK_POST; INSTAGRAM_POST; TWITTER_POST; YOUTUBE_POST; LINKED_IN_POST; TUMBLR_POST; TIKTOK_POST; REDDIT_POST; TELEGRAM_MESSAGE; WHATSAPP_MESSAGE; TEAMS_CHAT_MESSAGE; TEAMS_CHANNEL_MESSAGE; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_ADD_ATTACHMENT; ORACLE_SERVICE_CENTER_CASE; IBM_CONTROL_DESK_INCIDENT; BMC_REMEDY_INCIDENT; CA_SERVICE_MANAGEMENT_INCIDENT; SAP_SOLUTION_MANAGER_TICKET; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; AUTOMATE_NOW_TRIGGER_EVENT; APACHE_AIRFLOW_RUN_DAG; ANSIBLE_PLAYBOOK_PATH; ANSIBLE_PLAYBOOK; POWER_AUTOMATE_EXECUTE_FLOW; CTRLM_DELETE_CONDITION; CTRLM_ADD_CONDITION; CTRLM_ORDER_JOB; CTRLM_CREATE_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_UPDATE; CTRLM_RESOURCE_TABLE_DELETE; AE_SHELL_SCRIPT;
}

Enum ANOWProcessingTemplateCustom_Tasks {
    # This a custom class for separating the processing items into the UI's "Tasks" (this is NOT internal tasks)
    AE_SHELL_SCRIPT; AGENT_ADD_NOTE; AMQP_SEND; ANSIBLE_PLAYBOOK; ANSIBLE_PLAYBOOK_PATH; APACHE_AIRFLOW_RUN_DAG; ARANGO_DB_INSERT; AS400_BATCH_JOB; AS400_COMMAND_CALL; AS400_PROGRAM_CALL; AS400_RPA; AUTOMATE_NOW_RUN_JOB; AUTOMATE_NOW_TRIGGER_EVENT; AUTOMATION_ANYWHERE; AUTOMATION_ANYWHERE_DEPLOY_ROBOT; AUTOMATION_ANYWHERE_START_ROBOT; AUTOMATION_ANYWHERE_STOP_ROBOT; AUTOMATION_ANYWHERE_UNDEPLOY_ROBOT; AUTOMIC_WLA_RUN_JOB; AWS_BATCH_JOB; AWS_EC2_DELETE_VOLUME; AWS_EC2_START_INSTANCE; AWS_EC2_STOP_INSTANCE; AWS_EC2_TERMINATE_INSTANCE; AWS_EMR_ADD_STEPS; AWS_EMR_API_COMMAND; AWS_EMR_CANCEL_STEPS; AWS_EMR_GET; AWS_EMR_PUT; AWS_EMR_START_NOTEBOOK_EXECUTION; AWS_EMR_STOP_NOTEBOOK_EXECUTION; AWS_EMR_TERMINATE_JOB_FLOW; AWS_EMR_WORKFLOW; AWS_GLUE_CRAWLER; AWS_GLUE_JOB; AWS_GLUE_TRIGGER; AWS_GLUE_WORKFLOW; AWS_LAMBDA_CREATE_FUNCTION; AWS_LAMBDA_DELETE_FUNCTION; AWS_LAMBDA_INVOKE; AWS_S3_COPY_OBJECT; AWS_S3_DELETE_OBJECT; AWS_S3_MOVE_OBJECT; AWS_S3_RENAME_OBJECT; AWS_SAGE_MAKER_ADD_MODEL; AWS_SAGE_MAKER_API_COMMAND; AWS_SAGE_MAKER_DELETE_MODEL; AWS_SAGE_MAKER_PROCESSING; AWS_SAGE_MAKER_TRAINING; AWS_SAGE_MAKER_TRANSFORM; AWS_SAGE_MAKER_TUNING; AWS_START_STEP_FUNCTION_STATE_MACHINE; AZURE_BATCH_JOB; AZURE_DATA_FACTORY_PIPELINE; AZURE_DATA_FACTORY_TRIGGER; AZURE_DATA_LAKE_JOB; AZURE_DATABRICKS_DELETE_CLUSTER; AZURE_DATABRICKS_JOB; AZURE_DATABRICKS_LIST_CLUSTERS; AZURE_DATABRICKS_START_CLUSTER; AZURE_DATABRICKS_TERMINATE_CLUSTER; AZURE_RUN_LOGIC_APP; BLUE_PRISM; BLUE_PRISM_DEPLOY_ROBOT; BLUE_PRISM_START_ROBOT; BLUE_PRISM_STOP_ROBOT; BLUE_PRISM_UNDEPLOY_ROBOT; BMC_REMEDY_INCIDENT; C; CA_SERVICE_MANAGEMENT_INCIDENT; CA_WLA_RUN_JOB; CASSANDRA_CQL_SCRIPT; CHECK_QUEUE; CLEAR_QUEUE; CONTROL_M_RUN_JOB; COUCH_BASE_INSERT; COUCH_DB_INSERT; CPP; CTRLM_ADD_CONDITION; CTRLM_CREATE_JOB; CTRLM_DELETE_CONDITION; CTRLM_ORDER_JOB; CTRLM_RESOURCE_TABLE_ADD; CTRLM_RESOURCE_TABLE_DELETE; CTRLM_RESOURCE_TABLE_UPDATE; DATASOURCE_DELETE_FILE; DATASOURCE_DOWNLOAD_FILE; DATASOURCE_UPLOAD_FILE; DBT_CORE_JOB; DBT_JOB; DYNAMO_DB_INSERT; EMAIL_CONFIRMATION; EMAIL_INPUT; EMAIL_SEND; ENDPOINT_ADD_NOTE; FACEBOOK_POST; FILE_CHECK; FILE_TRANSFER; FILE_WATCHER; FLINK_JAR_DELETE; FLINK_JAR_UPLOAD; FLINK_RUN_JOB; GO; GOOGLE_DATA_FLOW_JOB; GROOVY; HDFS_APPEND_FILE; HDFS_CREATE_DIRECTORY; HDFS_DELETE_DIRECTORY; HDFS_DELETE_FILE; HDFS_DOWNLOAD_FILE; HDFS_RENAME; HDFS_UPLOAD_FILE; HP_OPEN_VIEW_SERVICE_MANAGER_INCIDENT; HTTP_REQUEST; IBM_CONTROL_DESK_INCIDENT; IBM_DATASTAGE; IBM_MQ_SEND; IBM_WLA_RUN_JOB; INFORMATICA_ASSIGNMENT; INFORMATICA_CLOUD_TASKFLOW; INFORMATICA_COMMAND; INFORMATICA_CONTROL; INFORMATICA_EMAIL; INFORMATICA_EVENT_RAISE; INFORMATICA_EVENT_WAIT; INFORMATICA_SESSION; INFORMATICA_START; INFORMATICA_TIMER; INFORMATICA_WORKFLOW; INFORMATICA_WS_WORKFLOW; INSTAGRAM_POST; JAVA; JAVASCRIPT; JIRA_ADD_ISSUE; JIRA_CLOSE_ISSUE; JMS_SEND; KAFKA_SEND; KOTLIN; LINKED_IN_POST; MICROSOFT_POWER_BI_DATAFLOW_REFRESH; MICROSOFT_POWER_BI_DATASET_REFRESH; MONGO_DB_INSERT; MQTT_SEND; MS_SSIS; NEO4J_INSERT; ODI_LOAD_PLAN; ODI_SESSION; OPENTEXT_DYNAMIC_JCL; OPENTEXT_STORED_JCL; ORACLE_EBS_EXECUTE_PROGRAM; ORACLE_EBS_EXECUTE_REQUEST_SET; ORACLE_EBS_PROGRAM; ORACLE_EBS_REQUEST_SET; ORACLE_SERVICE_CENTER_CASE; PEGA_DEPLOY_ROBOT; PEGA_START_ROBOT; PEGA_STOP_ROBOT; PEGA_UNDEPLOY_ROBOT; PEOPLESOFT_APPLICATION_ENGINE_TASK; PEOPLESOFT_COBOL_SQL_TASK; PEOPLESOFT_CRW_ONLINE_TASK; PEOPLESOFT_CRYSTAL_REPORTS_TASK; PEOPLESOFT_CUBE_BUILDER_TASK; PEOPLESOFT_JOB_TASK; PEOPLESOFT_NVISION_TASK; PEOPLESOFT_SQR_PROCESS_TASK; PEOPLESOFT_SQR_REPORT_TASK; PEOPLESOFT_WINWORD_TASK; PERL; POP_FROM_QUEUE; POWERSHELL; PROCESSING_TEMPLATE_ADD_NOTE; PUSH_TO_QUEUE; PYTHON; RABBIT_MQ_SEND; RAINCODE_DYNAMIC_JCL; RAINCODE_STORED_JCL; RDBMS_SQL; RDBMS_SQL_STATEMENT; RDBMS_STORED_PROCEDURE; REDDIT_POST; REDIS_CLI; REDIS_DELETE; REDIS_GET; REDIS_SET; RESOURCE_ADD_NOTE; REST_WEB_SERVICE_CALL; ROBOT_FRAMEWORK_DEPLOY_ROBOT; ROBOT_FRAMEWORK_START_ROBOT; ROBOT_FRAMEWORK_STOP_ROBOT; ROBOT_FRAMEWORK_UNDEPLOY_ROBOT; RUBY; RUST; SAP_4H_ARCHIVE; SAP_4H_BW_PROCESS_CHAIN; SAP_4H_CM_PROFILE_ACTIVATE; SAP_4H_CM_PROFILE_DEACTIVATE; SAP_4H_COPY_EXISTING_JOB; SAP_4H_EXPORT_CALENDAR; SAP_4H_EXPORT_JOB; SAP_4H_FUNCTION_MODULE_CALL; SAP_4H_GET_APPLICATION_LOG; SAP_4H_JOB; SAP_4H_JOB_INTERCEPTOR; SAP_4H_MODIFY_INTERCEPTION_CRITERIA; SAP_4H_MONITOR_EXISTING_JOB; SAP_4H_RAISE_EVENT; SAP_4H_READ_TABLE; SAP_4H_RELEASE_EXISTING_JOB; SAP_4H_START_SCHEDULED_JOB; SAP_4H_SWITCH_OPERATION_MODE; SAP_4H_VARIANT_COPY; SAP_4H_VARIANT_CREATE; SAP_4H_VARIANT_DELETE; SAP_4H_VARIANT_UPDATE; SAP_ARCHIVE; SAP_BW_PROCESS_CHAIN; SAP_CM_PROFILE_ACTIVATE; SAP_CM_PROFILE_DEACTIVATE; SAP_EXPORT_CALENDAR; SAP_EXPORT_JOB; SAP_FUNCTION_MODULE_CALL; SAP_GET_APPLICATION_LOG; SAP_IBP_CREATE_PROCESS; SAP_IBP_DELETE_PROCESS; SAP_IBP_JOB; SAP_IBP_SET_PROCESS_STEP_STATUS; SAP_MODIFY_INTERCEPTION_CRITERIA; SAP_ODATA_API_CALL; SAP_R3_COPY_EXISTING_JOB; SAP_R3_JOB; SAP_R3_JOB_INTERCEPTOR; SAP_R3_MONITOR_EXISTING_JOB; SAP_R3_RAISE_EVENT; SAP_R3_RELEASE_EXISTING_JOB; SAP_R3_START_SCHEDULED_JOB; SAP_R3_VARIANT_COPY; SAP_R3_VARIANT_CREATE; SAP_R3_VARIANT_DELETE; SAP_R3_VARIANT_UPDATE; SAP_READ_TABLE; SAP_SOLUTION_MANAGER_TICKET; SAP_SWITCH_OPERATION_MODE; SAS_4GL; SAS_DI; SAS_JOB; SAS_VIYA_JOB; SCALA; SERVER_NODE_SET_CONNECTION; SERVER_NODE_SET_PARAMETERS; SERVICE_NOW_CLOSE_INCIDENT; SERVICE_NOW_CREATE_INCIDENT; SERVICE_NOW_INCIDENT_STATUS_SENSOR; SERVICE_NOW_RESOLVE_INCIDENT; SERVICE_NOW_UPDATE_INCIDENT; SET_PROCESSING_STATUS; SET_SEMAPHORE_TIMESTAMP_STATE; SET_SERVER_NODE; SET_VARIABLE_TIMESTAMP_VALUE; SEVER_NODE_ADD_NOTE; SH; SOAP_WEB_SERVICE_CALL; SPARK_JAVA; SPARK_PYTHON; SPARK_R; SPARK_RUN_JOB; SPARK_SCALA; SPARK_SQL; STOMP_SEND; STONEBRANCH_RUN_JOB; SWIFT; TABLEAU_REFRESH_EXTRACT; TALEND_JOB; TCL; TEAMS_CHAT_MESSAGE; TELEGRAM_MESSAGE; TERMA_RUN_JOB; TIDAL_RUN_JOB; TIKTOK_POST; TITAN_INSERT; TUMBLR_POST; TWITTER_POST; TYPESCRIPT; UI_PATH; UI_PATH_DEPLOY_ROBOT; UI_PATH_START_ROBOT; UI_PATH_STOP_ROBOT; UI_PATH_UNDEPLOY_ROBOT; VBSCRIPT; WHATSAPP_MESSAGE; WORK_FUSION_DEPLOY_ROBOT; WORK_FUSION_START_ROBOT; WORK_FUSION_STOP_ROBOT; WORK_FUSION_UNDEPLOY_ROBOT; XFTP_COMMAND; XMPP_SEND; YOUTUBE_POST; Z_OS_COMMAND; Z_OS_DYNAMIC_JCL; Z_OS_STORED_JCL;
}

Enum ANOWProcessingTemplateCustom_InternalTasks {
    # This a custom class for separating the processing items into the UI's "Internal Tasks"
    ADHOC_REPORT_SEND; AE_SCRIPT; ARCHIVE_CLEANUP; ARCHIVE_INTERVAL; CHECK_TIME; DESIGN_BACKUP; DESIGN_IMPORT; NOTIFY_CHANNEL; NOTIFY_EMAIL; NOTIFY_GROUP; PROCESSING_ACTION_SKIP_OFF; PROCESSING_ACTION_SKIP_ON; PROCESSING_ADD_NOTE; PROCESSING_OBSERVER; PROCESSING_TEMPLATE_HOLD; PROCESSING_TEMPLATE_RESUME; PROCESSING_TEMPLATE_SKIP_OFF; PROCESSING_TEMPLATE_SKIP_ON; RECALCULATE_STATISTICS; SERVER_NODE_ABORT_ALL; SERVER_NODE_ADD_TAG; SERVER_NODE_HOLD; SERVER_NODE_KILL_ALL; SERVER_NODE_REMOVE_TAG; SERVER_NODE_RESUME; SERVER_NODE_SET_FOLDER; SERVER_NODE_SET_TOTAL_WEIGHT_CAPACITY; SERVER_NODE_SKIP_OFF; SERVER_NODE_SKIP_ON; SERVER_NODE_STOP; SET_CONTEXT_VARIABLE_VALUES; SET_RESOURCES; TRIGGER_ITEM; USER_CONFIRM; USER_INPUT; WAIT; ABORT; ADD_TAG; ARCHIVE; CHECK_BARRIER_AVAILABLE_PERMITS; CHECK_BARRIER_TOTAL_PERMITS; CHECK_CALENDAR; CHECK_LOCK_STATE; CHECK_METRIC; CHECK_PHYSICAL_RESOURCE; CHECK_PROCESSING_STATE; CHECK_SEMAPHORE_STATE; CHECK_STOCK_AVAILABLE_PERMITS; CHECK_STOCK_TOTAL_PERMITS; CHECK_TIME_WINDOW_STATE; CHECK_VARIABLE_VALUE; DATA_SOURCE_GET; DATA_SOURCE_REMOVE; DATA_SOURCE_SET; FORCE_COMPLETED; FORCE_FAILED; FORCE_READY; HOLD; KILL; PROCESSING_CLEAR_STATE_REGISTRY; PROCESSING_REGISTER_STATE; PROCESSING_RUN_NOW; PROCESSING_UNREGISTER_STATE; REMOVE_TAG; RESOURCE_ADD_TAG; RESOURCE_REMOVE_TAG; RESOURCE_SET_FOLDER; RESTART; RESUME; RETRY; SET_BARRIER_TOTAL_PERMITS; SET_CONTEXT_VARIABLE_VALUE; SET_FOLDER; SET_METRIC; SET_PHYSICAL_RESOURCE; SET_PRIORITY; SET_SEMAPHORE_STATE; SET_STATUS_CODE; SET_STOCK_TOTAL_PERMITS; SET_TIME_WINDOW_STATE; SET_VARIABLE_VALUE; SKIP_OFF; SKIP_ON; TRIGGER_EVENT;
}

Enum ANOWProcessingTemplateCustom_Workflows {
    # This a custom class for separating the processing items into the UI's "Workflows"
    STANDARD; BROADCAST; FOR_EACH; TIME_SERIES; SWITCH; CYCLE; INFORMATICA;
}

Enum ANOWProcessingTemplateCustom_ServiceManagers {
    # This a custom class for separating the processing items into the UI's "Service Level Managers"
    SLA_SERVICE_MANAGER; PROCESSING_DEADLINE_MONITOR
}

#endregion

#region - Enum [Resource] (represents: Calendars, Events, Locks, Metrics, Physical Resources, Semaphores, Stocks, Time Windows & Variables)

Enum ANOWResource_calendarState {
    ON; OFF;
}

Enum ANOWResource_statisticFunction {
    AVERAGE; MEDIAN; FIRST_QUARTILE; THIRD_QUARTILE; MIN; MAX; COUNT; MEAN; GEOMETRIC_MEAN; POPULATION_VARIANCE; PRODUCT; SUM_LOG; SUM_SQ; VARIANCE; KURTOSIS; SKEWNESS; STANDARD_DEVIATION;
}

Enum ANOWResource_lockState {
    UNLOCKED; SHARED; EXCLUSIVE;
}

Enum ANOWResource_calendarType {
    BASE; AND; OR; NOT; CAL_SELECT;
}

Enum ANOWResource_semaphoreState {
    ON; OFF;
}

Enum ANOWResource_resourceType {
    STOCK; LOCK; BINARY_SEMAPHORE; TIME_SEMAPHORE; VARIABLE; PHYSICAL_RESOURCE; METRIC; CALENDAR; EVENT;
}

#endregion

#Region - Enum [TimeTrigger]

Enum ANOWTimeTrigger_calendarIntervalUnit {
    DAY; WEEK; MONTH; YEAR;
}

Enum ANOWTimeTrigger_timeTriggerType {
    TIMESTAMP; DAILY; REPEATING; CRON; CALENDAR_INTERVAL;
}

#endregion

#Region - Enum [User]

Enum ANOWUser_skinThemeType {
    LIGHT; GRAY; DARK; CONTRAST_ULTRA;
}

Enum ANOWUser_skinDensityType {
    DENSE; COMPACT; STANDARD; EXPANDED; SPACIOUS;
}

Enum ANOWUser_languageCode {
    en; pl; ru; fr; de; es; it; pt; zh; ko; ja;
}

#endregion

#Region - Enum [Workspaces]

Enum ANOWWorkspace_workspaceSetFolderType {
    SET_WORKSPACE_FOLDER; SET_SPECIFIC_FOLDER; CREATE_SUB_FOLDER_PER_WORKFLOW;
}

Enum ANOWWorkspace_workspaceSetTagType {
    SET_WORKSPACE_TAGS; SET_SPECIFIC_TAGS;
}

#endregion

#EndRegion

#Region - Base Classes

#region Class - [Base Object]

Class ANOW {
    [int64]$checksum = 0
    [string]$codeRepository
    [string]$createdBy
    [datetime]$dateCreated
    [string]$description
    [string]$domain
    [string]$id
    [datetime]$lastUpdated
    [string]$lastUpdatedBy
    [boolean]$modifiedByUser
    [boolean]$outOfSync
    [string]$simpleId
    [string]$userIp

    [boolean] ValidateBaseObject() {
        If ($this.simpleId -notmatch '^[0-9a-zA-z_.-]{ 1, 512 }$') {
            If ($this.simpleId.Length -le 512) {
                [string]$validation_error_message = 'Check #1a failed: The simpleId may only consist of the following: numbers, letters (both cases), underscore, hyphen (dash) and period (dot).'
            }
            Else {
                [string]$validation_error_message = 'Check #1b failed: The length of the simpleId may not exceed 512 characters except for folders, ___ and tags where it is limited to 128.'
            }
            Write-Warning -Message $validation_error_message
            Return $false
        }
        ElseIf ($this.description.length -gt 255) {
            [string]$validation_error_message = "Check #2a failed: The length of the description may not exceed 255 characters."
            Write-Warning -Message $validation_error_message
            Return $false
        }
        Else {
            Return $true
        }
    }

    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        [array]$current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        If ($null -ne ($current_members | Where-Object { $_.Name -eq 'id' })) {
            [array]$current_members = @($current_members | Where-Object { $_.Name -eq 'id' }) + @($current_members | Where-Object { $_.Name -ne 'id' })
        }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [ApprovalRule]

Class ANOWApprovalRule {
    [ANOWApprovalRule_approvalLevel]$approvalLevel
    [ANOWApprovalRule_approvalActionType]$approvalActionType
    [boolean]$noSelfApproval
    [boolean]$passwordConfirmation

    # Default constructor
    ANOWApprovalRule() {
        $this.Init(@{})
    }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [AuditLog]
Class ANOWAuditLog {
    [string]$actionTimestamp
    [ValidateSet('UPDATE', 'INSERT', 'DELETE')]
    [string]$actionType
    [int64]$id
    [string]$objectId
    [string]$tableName
    [string]$userIp
    [string]$createdBy
    [string]$Domain
    [PSCustomObject]$newValues
    [PSCustomObject]$oldValues
    [string]$newValuesText
    [string]$oldValuesText
    [PSCustomObject]$changedValues # this is a custom member
    [string]$changedValuesText # this is a custom member
}

#endregion

#region Class - [ContextVariable]

Class ANOWContextVariable {
    [int64]$id
    [datetime]$dateCreated
    [int64]$processing
    [datetime]$lastUpdated
    [boolean]$isArray
    [boolean]$archived
    [string]$name
    [string]$value
    [string]$domain
    [int64]$processingId
    [boolean]$isFile
    [boolean]$isTextFile
    [Nullable[ANOWContextVariable_dataType]]$dataType
    [string]$valuePreview
    [string]$lastUpdatedBy
    [string]$originalValue
    [string]$createdBy
    [string]$userIp
}

#endregion

#region Class - [CodeRepository]

Class ANOWCodeRepository {
    [string]$id
    [string]$simpleId
    [string]$lastUpdatedBy
    [datetime]$dateCreated
    [boolean]$skipSslVerification
    [string]$sshKey
    [datetime]$lastUpdated
    [ANOWCodeRepository_authenticationMethod]$authenticationMethod
    [string]$localFolder
    [string]$codeRepositoryRoot
    [string]$userIp
    [string]$repositoryURL
    [string]$branch
    [Nullable[ANOWCodeRepository_sshKeyLocationType]]$sshKeyLocationType
    [boolean]$mergeConflict
    [string]$createdBy
    [string]$domain
    [string[]]$tags
    [string]$description
    [string]$folder
    [boolean]$rebaseConflict
    [boolean]$rebaseInProgress
    [string]$user
    [string]$password
    # Default constructor
    ANOWCodeRepository() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [CodeRepositoryBranch]

Class ANOWCodeRepositoryBranch {
    [string]$id
    [string]$codeRepository
    # Default constructor
    ANOWCodeRepositoryBranch() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [CodeRepositoryMergeRequest]

Class ANOWCodeRepositoryMergeRequest {
    [datetime]$dateCreated
    [string]$description
    [int64]$id
    [datetime]$lastUpdated
    [string]$sourceBranch
    [string]$sourceCommitId
    [ANOWCodeRepositoryMergeRequest_status]$status
    [string]$targetBranch
    [string]$targetCommitId
    [string]$codeRepository
    [string]$domain
    [string]$lastUpdatedBy
    [string]$createdBy
    [string]$userIp
    [boolean]$deleteSourceBranch = $false # note this property does not appear to be used in the AutomateNOW UI

    # Default constructor
    ANOWCodeRepositoryMergeRequest() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [CodeRepositoryOutOfSyncItem]

Class ANOWCodeRepositoryOutOfSyncItem {
    [string]$id
    [string]$domain
    [string]$itemId
    [string]$codeRepository
    [string]$lastUpdatedBy
    [datetime]$lastUpdated
    [ANOWCodeRepositoryOutOfSyncItem_itemType]$itemType
    [datetime]$dateCreated
    [string]$createdBy

    # Default constructor
    ANOWCodeRepositoryOutOfSyncItem() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [CodeRepositoryTag]

Class ANOWCodeRepositoryTag {
    [string]$id
    [string]$codeRepository
    [string]$createdBy
    [string]$description
    [string]$domain
    [string]$name
    [string]$commit

    # Default constructor
    ANOWCodeRepositoryTag() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [Communication Note]

Class ANOWCommunicationItem {
    [string]$id
    [datetime]$dateCreated
    [string]$noteSubjectName
    [string]$noteSubjectId
    [datetime]$lastUpdated
    [string]$noteStatus
    [ANOWCommunicationNote_noteType]$noteType
    [string]$noteSubjectCategory
    [string]$content
    [string]$noteSourceType
    [boolean]$archived
    [boolean]$isReply
    [string]$noteSourceName
    [string]$noteSourceId
    [string]$noteSubjectType
    [string]$domain

    # Default constructor
    ANOWCommunicationItem() {
        $this.Init(@{})
    }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [DataSourceItem]

Class ANOWDataSourceItem {
    [ANOWDataSource]$masterDataSource
    [string]$id
    # Default constructor
    ANOWDataSourceItem() {
        $this.Init(@{})
    }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        [array]$current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        If ($null -ne ($current_members | Where-Object { $_.Name -eq 'id' })) {
            [array]$current_members = @($current_members | Where-Object { $_.Name -eq 'id' }) + @($current_members | Where-Object { $_.Name -ne 'id' })
        }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [Domain]

Class ANOWDomain {
    [string]$id
    [string]$userIp
    [datetime]$dateCreated
    [datetime]$lastUpdated
    [string]$createdBy
    [string]$lastUpdatedBy
    [Nullable[ANOWIconSet]]$iconSet
    [string]$processingTemplatePrefixList
    [boolean]$overwriteApplicationVersionControlSettings
    [boolean]$codeRepositoryEnabled
    [PSCustomObject]$defaultDiagramSettings
    [string]$prefix
    [boolean]$globalHold
    [string]$description
    [string]$instanceToolbarBackgroundColor
    [boolean]$versionControlCheckoutEnabled
    [boolean]$operatorActionConfirmationRequired
    [int32[]]$logoFile
    [boolean]$operatorActionReasonEnabled
    [string]$logoFileFormat
    [boolean]$versionControlReasonRequired
    [boolean]$processingTemplatePrefixEnabled
    [ANOWEndpoint]$adhocReportEndpoint
    [boolean]$operatorActionCommentEnabled
    [string]$backgroundColor
    [boolean]$operatorActionReasonRequired
    [Nullable[int64]]$processingRegistryDayLimit
    [boolean]$overwriteApplicationConfirmationSettings
    [string]$versionControlReasonChoiceList
    [boolean]$versionControlReasonEnabled
    [string]$textColor
    [boolean]$versionControlEnabled
    [ANOWTimeZone]$defaultTimeZone
    [boolean]$operatorActionCommentRequired
    [string]$iconCode
    [string]$operatorActionReasonChoiceList
    [boolean]$versionControlCommentRequired
    [boolean]$useCacheVault
    [boolean]$useSecretVault
    [PSCustomObject]$secretVaultSettings
    [ANOWDomain_secretVaultType]$secretVaultType
    [boolean]$importVerificationEnabled
    [boolean]$importVerificationFourEyesPrincipleEnabled
    [boolean]$overwriteApplicationVerificationSettings
    [boolean]$processingTemplateVerificationEnabled
    [boolean]$processingTemplateVerificationFourEyesPrincipleEnabled

    # Default constructor
    ANOWDomain() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }

    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [DomainRole]
Class ANOWDomainRole {
    [boolean]$selfService
    [boolean]$processingArchive
    [PSCustomObject]$secRole
    [boolean]$nodeHold
    [boolean]$integrator
    [datetime]$lastUpdated
    [boolean]$monitorHold
    [boolean]$monitorForceLaunch
    [string]$id
    [boolean]$dashboard
    [boolean]$taskLog
    [boolean]$push
    [boolean]$node
    [boolean]$designResourceModify
    [boolean]$monitorPassBy
    [boolean]$userReportModify
    [boolean]$resultMapping
    [boolean]$endpointModify
    [boolean]$anomaly
    [boolean]$designDependencyModify
    [boolean]$anomalyModify
    [boolean]$endpoint
    [boolean]$dataMigrationViewer
    [string]$roleDomain
    [boolean]$designActionModify
    [boolean]$codeRepository
    [boolean]$domainAdmin
    [boolean]$reportModify
    [boolean]$createMergeRequest
    [boolean]$monitorRestart
    [boolean]$nodeKill
    [boolean]$pull
    [boolean]$lowLevelApproval
    [boolean]$resourceModify
    [boolean]$report
    [boolean]$processingLaunch
    [string]$userIp
    [boolean]$integratorModify
    [boolean]$workspace
    [boolean]$userReport
    [boolean]$workspaceModify
    [boolean]$monitorForceCompleted
    [boolean]$resultMappingModify
    [boolean]$dashboardModify
    [boolean]$notification
    [boolean]$highLevelApproval
    [boolean]$nodeStart
    [string]$lastUpdatedBy
    [boolean]$resource
    [boolean]$archive
    [boolean]$dataSourceAccess
    [boolean]$monitorInternalActions
    [boolean]$nodeModifyEndpoint
    [boolean]$designCoreModify
    [boolean]$mediumLevelApproval
    [datetime]$dateCreated
    [boolean]$monitorForceFailed
    [boolean]$businessView
    [boolean]$designBusinessView
    [boolean]$designBusinessViewModify
    [boolean]$dataSourceModify
    [boolean]$designVerification
    [boolean]$runtimeActionModify
    [boolean]$design
    [boolean]$approveMergeRequest
    [boolean]$approvalConfiguration
    [boolean]$dataMigration
    [boolean]$nodeModify
    [boolean]$monitor
    [string]$createdBy
    [boolean]$notificationModify
    [boolean]$monitorKill
    [boolean]$monitorBusinessView
    [boolean]$nodePassBy
    [boolean]$processingModify
    [boolean]$designModify
    [string]$anomalyModifyTags
    [string]$anomalyTags
    [string]$businessViewTags
    [string]$codeRepositoryTags
    [string]$dashboardModifyTags
    [string]$dashboardTags
    [string]$dataSourceAccessTags
    [string]$dataSourceModifyTags
    [string]$designModifyTags
    [string]$designTags
    [string]$endpointModifyTags
    [string]$endpointTags
    [string]$highLevelApprovalTags
    [string]$integratorModifyTags
    [string]$integratorTags
    [string]$lowLevelApprovalTags
    [string]$mediumLevelApprovalTags
    [string]$monitorForceCompletedTags
    [string]$monitorForceFailedTags
    [string]$monitorForceLaunchTags
    [string]$monitorHoldTags
    [string]$monitorInternalActionsTags
    [string]$monitorKillTags
    [string]$monitorPassByTags
    [string]$monitorRestartTags
    [string]$monitorTags
    [string]$nodeHoldTags
    [string]$nodeKillTags
    [string]$nodeModifyEndpointTags
    [string]$nodeModifyTags
    [string]$nodePassByTags
    [string]$nodeStartTags
    [string]$nodeTags
    [string]$notificationModifyTags
    [string]$notificationTags
    [string]$processingArchiveTags
    [string]$processingLaunchTags
    [string]$processingModifyTags
    [string]$reportModifyTags
    [string]$reportTags
    [string]$resourceModifyTags
    [string]$resourceTags
    [string]$resultMappingModifyTags
    [string]$resultMappingTags
    [string]$selfServiceTags
    [string]$userReportModifyTags
    [string]$userReportTags
    [string]$workspaceModifyTags
    [string]$workspaceTags

    # Default constructor
    ANOWDomainRole() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = '?'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [Duration]

Class ANOWDuration {
    [int64]$standardDays
    [int64]$standardHours
    [int64]$standardMinutes
    [int64]$standardSeconds
    [int64]$millis
    # Default constructor
    ANOWDuration() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [Notification]

Class ANOWNotification {
    [Nullable[datetime]]$confirmationDate
    [ANOWNotification_notificationStatus]$notificationStatus
    [string]$attachments
    [Nullable[datetime]]$dateEscalated
    [PSCustomObject]$notificationContext
    [string]$subject
    [ANOWNotification_notificationChannelType]$notificationChannelType
    [ANOWNotification_notificationType]$notificationType
    [string]$notificationChannel
    [string]$confirmationIp
    [datetime]$dateQueued
    [string]$notificationFailureMessage
    [string]$confirmationToken
    [string]$bccRecipient
    [int64]$id
    [ANOWNotification_messageFormat]$messageFormat
    [string]$message
    [Nullable[datetime]]$confirmationDeadline
    [string]$ccRecipient
    [string]$domain
    [string]$recipient
    [Nullable[datetime]]$dateSent

    # Default constructor
    ANOWNotification() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }

    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [NotificationGroupMember]

Class ANOWNotificationGroupMember {
    [string]$lastUpdatedBy
    [ANOWNotificationGroupMember_groupMemberType]$groupMemberType
    [string]$description
    [boolean]$escalationManager
    [ANOWNotificationGroup]$notificationGroup
    [PSCustomObject]$groupMemberTypeId
    [PSCustomObject]$notificationGroupId
    [boolean]$dutyManager
    [boolean]$observer
    [datetime]$lastUpdated
    [boolean]$sendEmail
    [boolean]$inactive
    [boolean]$sendSms
    [datetime]$dateCreated
    [string]$phone
    [boolean]$sendOnScreen
    [string]$createdBy
    [string]$domain
    [string]$member
    [string]$userIp
    [string]$id
    [string]$email

    # Default constructor
    ANOWNotificationGroupMember() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        [array]$current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        If ($null -ne ($current_members | Where-Object { $_.Name -eq 'id' })) {
            [array]$current_members = @($current_members | Where-Object { $_.Name -eq 'id' }) + @($current_members | Where-Object { $_.Name -ne 'id' })
        }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ProcessingEvent]
Class ANOWProcessingEvent {
    [string]$agent
    [string]$agentOperatingSystemType
    [string]$agentSimpleId
    [string]$ancestorPath
    [string]$anomaly
    [boolean]$archived
    [string]$comment
    [datetime]$dateCreated
    [string]$domain
    [string]$eventCategory
    [PSCustomObject]$eventContext
    [string]$eventContextText
    [string]$eventType
    [string]$exitCode
    [string]$id
    [boolean]$killed
    [string]$killMode
    [string]$monitorType
    [string]$objectId
    [string]$objectName
    [PSCustomObject]$parameters
    [string]$parentName
    [int64]$parentProcessingId
    [string]$parentTemplate
    [boolean]$passBy
    [string]$processingEventOutcomeMessage
    [int64]$processingId
    [string]$processingName
    [string]$processingTemplate
    [string]$processingType
    [string]$processingWarningMessage
    [string]$processingWarningType
    [string]$reason
    [string]$resource
    [string]$resourceSimpleId
    [string]$resourceType
    [string]$rootName
    [int64]$rootProcessingId
    [string]$rootTemplate
    [string]$sensorType
    [string]$serverNode
    [string]$serverNodeSimpleId
    [string]$serverNodeType
    [string]$serviceManagerType
    [string]$serviceType
    [string]$targetState
    [string]$taskType
    [int64]$timesRestarted
    [datetime]$timestamp
    [string]$triggerType
    [string]$userId
    [string]$workflowType
    [string]$workspace
    # Default constructor
    ANOWProcessingTemplateItem() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [ProcessingTemplateItem]

Class ANOWProcessingTemplateItem {
    [string]$timeZone
    [string]$approvalConfiguration
    [string]$calendar
    [string]$createdBy
    [datetime]$dateCreated
    [string]$description
    [boolean]$disallowConcurrentExecution
    [string]$domain
    [string]$endpoint
    [Nullable[ANOWProcessingTemplateItem_endpointType]]$endpointType
    [string]$folder
    [PSCustomObject]$forceCompletedCondition
    [PSCustomObject]$forceFailedCondition
    [boolean]$forceLoad
    [boolean]$highRisk
    [Nullable[ANOWProcessingTemplateItem_highRiskStatisticMethod]]$highRiskStatisticMethod
    [Nullable[ANOWProcessingTemplateItem_highRiskStatisticPeriod]]$highRiskStatisticPeriod
    [int64]$highRiskThreshold
    [string]$id
    [PSCustomObject]$ignoreCondition
    [boolean]$keepResourcesOnFailure
    [datetime]$lastUpdated
    [string]$lastUpdatedBy
    [boolean]$lazyLoad
    [Nullable[ANOWProcessingTemplateItem_monitorType]]$monitorType
    [string]$name
    [Nullable[datetime]]$nextTriggerDate
    [boolean]$onHold
    [boolean]$optional
    [Nullable[ANOWProcessingTemplateItem_parentMonitorType]]$parentMonitorType
    [Nullable[ANOWProcessingTemplateItem_parentProcessingType]]$parentProcessingType
    [Nullable[ANOWProcessingTemplateItem_parentSensorType]]$parentSensorType
    [Nullable[ANOWProcessingTemplateItem_parentServiceManagerType]]$parentServiceManagerType
    [Nullable[ANOWProcessingTemplateItem_parentServiceType]]$parentServiceType
    [Nullable[ANOWProcessingTemplateItem_parentTaskType]]$parentTaskType
    [Nullable[ANOWProcessingTemplateItem_parentTriggerType]]$parentTriggerType
    [Nullable[ANOWProcessingTemplateItem_parentWorkflowType]]$parentWorkflowType
    [boolean]$passBy
    [string]$priority
    [string]$processingTemplate
    [Nullable[ANOWProcessingTemplateItem_processingType]]$processingType
    [string]$resultMapping
    [Nullable[ANOWProcessingTemplateItem_sensorType]]$sensorType
    [string]$serverNode
    [Nullable[ANOWProcessingTemplateItem_serverNodeType]]$serverNodeType
    [Nullable[ANOWProcessingTemplateItem_serviceManagerType]]$serviceManagerType
    [Nullable[ANOWProcessingTemplateItem_serviceType]]$serviceType
    [boolean]$skipProcessingVariables
    [int32]$sortOrder
    [int64]$statisticalDuration
    [Nullable[ANOWProcessingTemplateItem_statisticMethod]]$statisticMethod
    [Nullable[ANOWProcessingTemplateItem_statisticPeriod]]$statisticPeriod
    [PSCustomObject]$switchCondition
    [string[]]$tags
    [Nullable[ANOWProcessingTemplateItem_taskType]]$taskType
    [PSCustomObject]$templateParameters
    [string]$timestampOffset
    [string]$title
    [Nullable[ANOWProcessingTemplateItem_triggerType]]$triggerType
    [string]$userIp
    [string]$valueDataPath
    [boolean]$verboseMode
    [string]$weight
    [string]$workflow
    [Nullable[ANOWProcessingTemplateItem_workflowType]]$workflowType
    [string]$delayedStartTime
    # Default constructor
    ANOWProcessingTemplateItem() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'actions', 'barriers', 'calendars', 'CrossDependencies', 'description', 'domain', 'endpointTypeId', 'events', 'folder', 'highRiskStatisticMethodId', 'highRiskStatisticPeriodId', 'locks', 'metrics', 'monitorType', 'monitorTypeId', 'notifications', 'parentMonitorType', 'parentMonitorTypeId', 'parentProcessingType', 'parentProcessingTypeId', 'parentSensorType', 'parentSensorTypeId', 'parentServiceManagerType', 'parentServiceManagerTypeId', 'parentServiceType', 'parentServiceTypeId', 'parentTaskType', 'parentTaskTypeId', 'parentTriggerType', 'parentTriggerTypeId', 'parentWorkflowType', 'parentWorkflowTypeId', 'physicalResources', 'predecessors', 'processingTypeId', 'queues', 'semaphores', 'sensorType', 'sensorTypeId', 'serverNodeTypeId', 'serviceManagerType', 'serviceManagerTypeId', 'serviceType', 'serviceTypeId', 'statisticMethodId', 'statisticPeriodId', 'stocks', 'successors', 'tags', 'taskType', 'taskTypeId', 'timeWindows', 'triggerType', 'triggerTypeId', 'userIp', 'valueDataPath', 'variables', 'workflowId', 'workflowType', 'workflowTypeId'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

Class ANOWScheduleTemplateItem : ANOWProcessingTemplateItem {

    # Default constructor
    ANOWScheduleTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWTaskTemplateItem: ANOWProcessingTemplateItem {

    # Default constructor
    ANOWTaskTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWWorkflowTemplateItem : ANOWProcessingTemplateItem {

    # Default constructor
    ANOWWorkflowTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}


#endregion

#region Class - [Result Mapping]

Class ANOWResultMappingRuleConditionCriteria {
    # This is a custom class specific to this module
    [ValidateSet('EQ', 'NE', 'LT_TEXT', 'GT_TEXT', 'LE_TEXT', 'GE_TEXT', 'SW', 'NSW', 'EW', 'NEW', 'CONTAINS', 'NOT_CONTAIN', 'REGEXP', 'NOT_REGEXP', 'IS_NULL', 'IS_NOT_NULL', 'EQ_NUM', 'NE_NUM', 'LT_NUM', 'GT_NUM', 'LE_NUM', 'GE_NUM', 'EQ_DATE', 'NE_DATE', 'LT_DATE', 'GT_DATE', 'LE_DATE', 'GE_DATE', 'CAL', 'NOT_IN_CAL')]
    [string]$operator
    #[ValidateSet('cycleActualCounter', 'duration', 'endTime', 'exitCode', 'exitMessage', 'id', 'name', 'owner', 'parentId', 'parentName', 'parentTemplate', 'processingStatus', 'processingTimestamp', 'rootId', 'rootName', 'rootTemplate', 'serviceStatus', 'skip', 'startTime', 'statusCode', 'statusMessage', 'template', 'timesRestarted')] # note: these are the available values to choose from but you can actually specify your own custom string.
    [string]$fieldName
    [string]$value
    # Default constructor
    ANOWResultMappingRuleConditionCriteria() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWResultMappingRuleCondition {
    # This is a custom class specific to this module
    [ANOWResultMappingRuleConditionCriteria[]]$criteria
    [ValidateSet('AND', 'OR', 'XOR', 'NOR', 'XNOR')]
    [string]$operator
    # Default constructor
    ANOWResultMappingRuleCondition() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWResultMappingRule {
    # This is a custom class specific to this module
    [ANOWResultMappingRuleCondition]$condition
    [ValidateSet('COMPLETED', 'FAILED')]
    [string]$processingStatus
    [string]$statusCode
    [string]$statusMessage
    # Default constructor
    ANOWResultMappingRule() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [SecurityRole]

Class ANOWSecurityRole {
    [datetime]$lastUpdated
    [string]$lastUpdatedBy
    [datetime]$dateCreated
    [string]$createdBy
    [ANOWDomainRole[]]$domainRoles
    [string]$name
    [boolean]$internalRole
    [string]$description
    [string]$userIp
    [string]$id
    [string]$ldapGroupName

    # Default constructor
    ANOWSecurityRole() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = '?'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [SemaphoreTimestamp] (custom class)

Class ANOWSemaphoreTimestamp {
    [int64]$id
    [datetime]$timestamp
    [string]$resource
    [string]$lastUpdatedBy
    [datetime]$dateCreated
    [datetime]$lastUpdated
    [string]$value
    [string]$createdBy
    [string]$domain
    [ValidateSet('BINARY_SEMAPHORE')]
    [string]$resourceType

    ANOWSemaphoreTimestamp() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [TimeTrigger]

Class ANOWTimeTrigger {
    [int32]$calendarInterval
    [string]$calendarDays
    [boolean]$preserveHourOfDayAcrossDaylightSavings
    [Nullable[datetime]]$validFrom
    [datetime]$lastUpdated
    [ANOWTimeTrigger_timeTriggerType]$timeTriggerType
    [datetime]$dateCreated
    [int64]$repeatInterval
    [ANOWProcessingTemplate]$processingTemplate
    [int64]$startTime
    [string]$id
    [boolean]$calculateProcessingTimestampUsingLocalTime
    [Nullable[datetime]]$validTo
    [Nullable[datetime]]$timestamp
    [ANOWCalendar]$calendar
    [string]$lastUpdatedBy
    [boolean]$passBy
    [boolean]$onHold
    [Nullable[datetime]]$nextTriggerDate
    [string]$cronExpression
    [ANOWTimeTrigger_calendarIntervalUnit]$calendarIntervalUnit
    [string]$createdBy
    [boolean]$skipDayIfHourDoesNotExist
    [ANOWTimeZone]$timeZone # note that some processing time triggers do not have the timezone property but for some reason this can't be casted as nullable
    [string]$domain
    [string]$userIp
    [int64]$endTime
    # Default constructor
    ANOWTimeTrigger() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [TimeZone]

Class ANOWTimeZone {
    [string]$id
    [string]$gmtOffset = '00:00'
    [int32]$rawOffset = 0
    [string]$name
    [boolean]$inDaylightTime = $false
    [int32]$dstsavings = 0
    ANOWTimeZone() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [boolean] Validate() {
        If ($this.gmtOffset -notmatch '$(((-|\+)[0-9]{2}:[0-9]{2})|00:00)^') {
            Throw "The GMT offset [$($this.gmtOffset)] does not appear to be valid"
        }
        ElseIf ($this.id -notmatch '^[0-9a-zA-z/+-]{1,}$') {
            Throw "The id [$($this.id) is not valid"
        }
        Else {
            Return $true
        }
    }
}

#endregion

#region Class - [UserInfo]
Class ANOWUserInfo {
    [string]$id
    [boolean]$admin
    [boolean]$superuser
    [PSCustomObject]$domainRoles
    [boolean]$accountExpired
    [datetime]$accountValidUntil
    [boolean]$passwordExpired
    [datetime]$lastPasswordChange
    [int64]$passwordValidDays
    [datetime]$passwordValidUntil
    [string]$defaultDomain
    [string]$languageCode
    [ANOWTimeZone]$defaultTimeZone
    [ANOWUser_skinDensityType]$skinDensityType
    [ANOWUser_skinThemeType]$skinThemeType
    [string[]]$domains
    [array]$securityRoles
    [ANOWSecurityRole[]]$secRoles
    # Default constructor
    ANOWUserInfo() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        $current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            If (($this.$current_member_name.count -gt 0)) {
                If ($this.$current_member_name[0] -is [ANOWSecurityRole]) {
                    [ANOWSecurityRole[]]$current_member_value = $this.$current_member_name
                }
                Else {
                    $current_member_value = $this.$current_member_name # this variable cannot be hard typed
                }
            }
            Else {
                $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            }
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [User]

Class ANOWUser {

    <#
    These properties are defined in the swagger but are not present in the application
 
    [string]$clientId
    [ANOWUser_languageCode]$languageCode
    [int64]$numberOfSessions
    [string]$password
    [string]$userIp
    [string]description
    [boolean]isAccountExpired
 
    #>

    [string]$id
    [string]$lastUpdatedBy
    [boolean]$apiUser
    [string]$createdBy
    [boolean]$passwordEncoded
    [datetime]$dateCreated
    [string]$firstName
    [string]$location
    [boolean]$active
    [boolean]$accountExpired
    [ANOWUser_skinThemeType]$skinThemeType
    [datetime]$lastAccessTokenCreated
    [datetime]$lastPasswordChange
    [boolean]$admin
    [string]$secRole
    [boolean]$ldapAdmin
    [ANOWUser_skinDensityType]$skinDensityType
    [string]$lastName
    [int64]$passwordValidDays
    [string]$phone
    [int64]$incorrectLogons
    [boolean]$passwordExpired
    [boolean]$isPasswordExpired
    [datetime]$lastUpdated
    [boolean]$agent
    [string]$defaultDomain
    [string]$department
    [datetime]$lastAccessTokenExpire
    [string]$username
    [boolean]$accountLocked
    [datetime]$accountValidUntil
    [string]$email
    [string[]]$domains
    [string]$firstLastName
    [string]$name
    [datetime]$passwordValidUntil
    [ANOWSecurityRole[]]$secRoles
    [string[]]$secRolesList
    [ANOWTimeZone]$defaultTimeZone
    [Nullable[datetime]]$lastAccountExpired
    [Nullable[datetime]]$lastAccountLocked
    [boolean]$isActive
    # Default constructor
    ANOWUser() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        #$current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        $current_members = @('id', 'lastUpdatedBy', 'passwordEncoded', 'dateCreated', 'firstName', 'location', 'active', 'accountExpired', 'skinThemeType', 'lastAccessTokenCreated', 'lastPasswordChange', 'admin', 'secRole', 'ldapAdmin', 'skinDensityType', 'lastName', 'passwordValidDays', 'phone', 'incorrectLogons', 'passwordExpired', 'lastUpdated', 'agent', 'department', 'lastAccessTokenExpire', 'username', 'accountLocked', 'accountValidUntil', 'email', 'domains', 'firstLastName', 'name', 'passwordValidUntil', 'secRoles', 'secRolesList', 'createdBy', 'lastAccountExpired', 'languageCode')
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member
            If ($current_member_value.Length -gt 0 -or $current_member_value.count -gt 0) {
                Remove-Variable current_member_value -Force
            }
            $current_member_value = $this.$current_member_name
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member -in @('accountValidUntil', 'dateCreated', 'lastAccessTokenCreated', 'lastAccessTokenExpire', 'lastPasswordChange', 'lastUpdated', 'passwordValidUntil') ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member -in @('accountExpired', 'accountLocked', 'active', 'admin', 'agent', 'ldapAdmin', 'passwordEncoded', 'passwordExpired') ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_name -eq 'secRoles') {
                    If ($current_member_value.count -gt 0) {
                        [ANOWSecurityRole[]]$current_member_value = $this.secRoles
                    }
                    $this2.Add($current_member_name, @())
                }
                ElseIf ($current_member_name -eq 'secRolesList') {
                    If ($current_member_value.count -gt 0) {
                        [string[]]$current_member_value = $this.secRolesList
                    }
                    $this2.Add($current_member_name, "")
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
}

#endregion

#region Class - [VariableTimestamp] (custom class)

Class ANOWVariableTimestamp {
    [int64]$id
    [datetime]$timestamp
    [string]$resource
    [string]$lastUpdatedBy
    [datetime]$dateCreated
    [datetime]$lastUpdated
    [string]$value
    [string]$createdBy
    [string]$domain
    [ValidateSet('VARIABLE')]
    [string]$resourceType

    ANOWVariableTimestamp() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#EndRegion

#Region - Sub Classes

#region Class - [ANOWAgent]

Class ANOWAgent : ANOW {
    [int64]$connectedNodes
    [string]$agentSshEndpoint
    [datetime]$lastActivityDate
    [string]$agentFreeMemory
    [string]$agentMemoryUsage
    [string]$agentStartTime
    [string]$agentJarPath
    [int64]$noteCount
    [boolean]$centralManagement
    [ANOWAgent_agentStatus]$agentStatus
    [string]$agentHostName
    [string[]]$tags
    [string]$folder
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [string]$agentJVMArgs
    [string]$agentLoadAvg
    [string]$agentUserName
    [PSCustomObject]$configuration
    [string]$agentJVM
    [string]$agentIp
    [int64]$totalNodes
    [string]$operatingSystemVersion
    [PSCustomObject]$agentState
    [string]$agentPid
    [string]$agentCPUCount
    [string]$agentSystemLocale
    [string]$agentMaxMemory
    [string]$agentUpdateState
    [string]$agentHomeDirectory
    [string]$agentTotalMemory
    [string]$agentVersion
    [int64]$pendingNoteCount
    [ANOWAgent_agentOperatingSystemType]$agentOperatingSystemType

    # Default constructor
    ANOWAgent() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWAdhocReport]

Class ANOWAdhocReport : ANOW {
    [string]$folder
    [string]$reportDefinition
    [string]$reportQuery
    [ANOWAdhocReport_reportType]$reportType
    [string[]]$tags

    # Default constructor
    ANOWAdhocReport() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWApproval]

Class ANOWApproval : ANOW {
    [ANOWApprovalRule[]]$rules

    # Default constructor
    ANOWApproval() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'rules'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWCodeRepositoryObjectSourceCode]

Class ANOWCodeRepositoryObjectSourceCode : ANOW {
    [Nullable[ANOWAgent_agentOperatingSystemType]]$agentOperatingSystemType
    [Nullable[ANOWProcessingTemplateItem_endpointType]]$endpointType
    [Nullable[ANOWProcessingTemplateItem_MonitorType]]$monitorType
    [Nullable[ANOWProcessingTemplateItem_processingType]]$processingType
    [Nullable[ANOWserverNode_resourceType]]$resourceType
    [Nullable[ANOWProcessingTemplateItem_sensorType]]$sensorType
    [Nullable[ANOWProcessingTemplateItem_serverNodeType]]$serverNodeType
    [Nullable[ANOWProcessingTemplateItem_serviceManagerType]]$serviceManagerType
    [Nullable[ANOWProcessingTemplateItem_serviceType]]$serviceType
    [Nullable[ANOWProcessingTemplateItem_taskType]]$taskType
    [Nullable[ANOWProcessingTemplateItem_triggerType]]$triggerType
    [Nullable[ANOWProcessingTemplateItem_workflowType]]$workflowType
    [boolean]$checkedOut
    [string]$checkoutBy
    [Nullable[datetime]]$checkoutDate
    [string]$domainClassName # there needs to be an ENUM for this object
    [string]$sourceCode
    [string[]]$tags
    [string]$name
    # Default constructor
    ANOWCodeRepositoryObjectSourceCode() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}


#endregion

#region Class - [ANOWDataSource]
Class ANOWDataSource : ANOW {
    [Nullable[ANOWiconSet]]$iconSet
    [string]$fetchCommand
    [string]$endpoint
    [string]$folder
    [string]$name
    [string]$iconCode
    [string[]]$tags
    [boolean]$isArray
    [ANOWDataSource_dataType]$dataType
    [ANOWDataSource_errorHandling]$errorHandling
    [ANOWDataSource_validity]$validity
    [ANOWDataSource_dataSourceType]$dataSourceType
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'id', 'simpleId', 'lastUpdatedBy', 'dateCreated', 'checksum', 'outOfSync', 'isArray', 'domain', 'tags', 'lastUpdated', 'modifiedByUser', 'folder', 'userIp', 'createdBy', 'description', 'codeRepository'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWDataSourceItem]

Class ANOWLocalDictionaryRecord : ANOWDataSourceItem {
    # all of the properties are properly documented

    [datetime]$lastUpdated
    [datetime]$dateCreated
    [string]$lastUpdatedBy
    [string]$createdBy
    [string]$domain
    [string]$userIp
    [string]$value
    [string]$displayValue
}

Class ANOWLocalKeyValueStoreRecord : ANOWDataSourceItem {
    # all of the properties are properly documented

    [datetime]$lastUpdated
    [datetime]$dateCreated
    [string]$lastUpdatedBy
    [string]$createdBy
    [string]$domain
    [string]$userIp
    [string]$value
    [string]$key
}

Class ANOWLocalFileStoreRecord : ANOWDataSourceItem {

    [string]$domain
    [datetime]$lastUpdated
    [datetime]$dateCreated
    [string]$lastUpdatedBy
    [string]$createdBy
    [string]$mimeType
    [string]$key
    [int64]$size
    [string]$fileName
    [string]$userIp
    #[PSCustomObject]$masterDataSourceId - this item is defined in the schema but is not actually
    #[byte[]]$content - this item is defined in the schema but is not actually present
}

Class ANOWLocalTextFileStoreRecord : ANOWDataSourceItem {

    [datetime]$lastUpdated
    [datetime]$dateCreated
    [string]$lastUpdatedBy
    [string]$createdBy
    [string]$domain
    [string]$userIp
    [string]$fileName
    [string]$mimeType
    [string]$content
    [int64]$size
    [string]$key
    #[PSCustomObject]$masterDataSourceId - this item is defined in the schema but is not actually
    #[byte[]]$content - this item is defined in the schema but is not actually present
}

#endregion

#region Class - [ANOWEndpoint]

Class ANOWEndpoint : ANOW {
    [PSCustomObject]$customFieldValues
    [PSCustomObject]$endpointProperties
    [string[]]$tags
    [ANOWEndpoint_endpointType]$endpointType
    [string]$folder
    [string]$sshKeyPath
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [int64]$noteCount
    [int64]$pendingNoteCount

    # Default constructor
    ANOWEndpoint() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = @()
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWFolder]

Class ANOWFolder : ANOW {
    [string]$parent
    [string]$name
    [string]$notNullParent
    # Default constructor
    ANOWFolder() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'description', 'folderPath'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWNode]

Class ANOWNode : ANOW {
    [string]$parent
    [int64]$connectedNodes
    [boolean]$onAnyHold
    [string]$parentLoadBalancer
    [datetime]$lastActivityDate
    [PSCustomObject]$info
    [Nullable[datetime]]$agentStartTime
    [boolean]$isParent
    [boolean]$onHold
    [string]$resource
    [ANOWserverNode_serverNodeType]$serverNodeType
    [boolean]$onGlobalHold
    [string[]]$tags
    [string]$lastLoadBalanceNode
    [Nullable[float]]$manualBaselineDeviationMultiplier
    [string]$folder
    [PSCustomObject]$customFieldValues
    [string]$lastInfoDate
    [int64]$sortOrder
    [ANOWserverNode_status]$status
    [float]$baselineDeviationMultiplier
    [PSCustomObject]$configuration
    [string]$agentIp
    [Nullable[ANOWserverNode_loadBalancerStrategy]]$loadBalancerStrategy
    [int64]$totalNodes
    [int64]$availableWeightCapacity
    [boolean]$loadBalancer
    [int64]$connectionTimeout
    [PSCustomObject]$relatedResources
    [boolean]$holdOnAgentIpChanged
    [int64]$occupiedWeightCapacity
    [boolean]$passBy
    [PSCustomObject]$serverNodeState
    [int64]$totalWeightCapacity
    [string]$agentVersion
    [Nullable[ANOWserverNode_semaphoreState]]$semaphoreState
    [Nullable[ANOWserverNode_resourceType]]$resourceType
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [int64]$noteCount
    [int64]$pendingNoteCount

    # Default constructor
    ANOWNode() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'configuration', 'folder', 'lastUpdatedBy', 'parentLoadBalancer', 'sortOrder', 'tags'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWNotificationGroup]

Class ANOWNotificationGroup : ANOW {
    [string[]]$tags
    [string]$folder

    # Default constructor
    ANOWNotificationGroup() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWNotificationChannel]

Class ANOWNotificationChannel : ANOW {
    [string]$connectionCode
    [ANOWNotificationChannel_notificationChannelType]$notificationChannelType
    [ANOWNotificationChannel_connectionType]$connectionType
    [string[]]$tags
    [string]$folder
    [ANOWEndpoint]$endpoint

    # Default constructor
    ANOWNotificationChannel() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWNotificationMessageTemplate]

Class ANOWNotificationMessageTemplate : ANOW {
    [string]$headers
    [string]$title
    [string]$body
    [string[]]$tags
    [string]$folder
    [boolean]$html

    # Default constructor
    ANOWNotificationChannel() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWProcessing] Tasks, Workflows, Schedules, ServiceManagers, Integrations

Class ANOWProcessing {
    [int64]$id
    [ANOWDuration]$overallExecutionTime
    [ANOWProcessing_agentOperatingSystemType]$agentOperatingSystemType
    [ANOWProcessing_cycleDelayMode]$cycleDelayMode
    [ANOWProcessing_cycleFailMode]$cycleFailMode
    [ANOWProcessing_endpointType]$endpointType
    [ANOWProcessing_integrationType]$integrationType
    [ANOWProcessing_killMode]$killMode
    [ANOWProcessing_monitorType]$monitorType
    [ANOWProcessing_processingStatus]$internalProcessingStatus
    [ANOWProcessing_processingType]$parentProcessingType
    [ANOWProcessing_processingType]$processingType
    [ANOWProcessing_sensorType]$sensorType
    [ANOWProcessing_serverNodeType]$serverNodeType
    [ANOWProcessing_serviceManagerType]$serviceManagerType
    [ANOWProcessing_serviceType]$serviceType
    [ANOWProcessing_taskType]$taskType
    [ANOWProcessing_triggerType]$triggerType
    [ANOWProcessing_waitingReason]$waitingReason
    [ANOWProcessing_workflowType]$parentWorkflowType
    [ANOWProcessing_workflowType]$rootWorkflowType
    [ANOWProcessing_workflowType]$workflowType
    [ANOWTimeZone]$cycleTimeZone
    [array]$crossDependantTemplates
    [array]$internalActions
    [array]$serviceStatusMapping
    [boolean]$agentDisconnectedDuringExecution
    [boolean]$agentReconnectedDuringExecution
    [boolean]$allowRestartFromStep
    [boolean]$approvalPending
    [boolean]$archived
    [boolean]$autoArchive
    [boolean]$childrenLoaded
    [boolean]$critical
    [boolean]$cycleConditionCheckResult
    [boolean]$eagerScriptExecution
    [boolean]$evaluationCompleted
    [boolean]$evaluationStarted
    [boolean]$forbidChildrenStart
    [boolean]$forceChronology
    [boolean]$forceCompleted
    [boolean]$forceCompletedConditionPassed
    [boolean]$forceFailed
    [boolean]$forceFailedConditionPassed
    [boolean]$forceLoad
    [boolean]$forceReady
    [boolean]$hasActions
    [boolean]$hasChildren
    [boolean]$hasChildrenExecuting
    [boolean]$hasCriticalPathChangeCheck
    [boolean]$hasCriticalPathOffCheck
    [boolean]$hasCriticalPathOnCheck
    [boolean]$hasCrossDependencies
    [boolean]$hasDependencies
    [boolean]$hasEarlyEndCheck
    [boolean]$hasEarlyStartCheck
    [boolean]$hasExecutingLongCheck
    [boolean]$hasExecutingShortCheck
    [boolean]$hasFailedActions
    [boolean]$hasInternalActions
    [boolean]$hasInternalItems
    [boolean]$hasInternalState
    [boolean]$hasLateEndCheck
    [boolean]$hasLateStartCheck
    [boolean]$hasNextRestartDate
    [boolean]$hasNotStartedCheck
    [boolean]$hasPredecessors
    [boolean]$hasResources
    [boolean]$hasRestartScenarios
    [boolean]$hasSuccessors
    [boolean]$hasSynchronizedResources
    [boolean]$highRisk
    [boolean]$integrationDefinitionMissing
    [boolean]$isFolder
    [boolean]$isProcessing
    [boolean]$isRoot
    [boolean]$isTask
    [boolean]$keepForcedStatus
    [boolean]$keepResourcesOnFailure
    [boolean]$keepSameLoadBalancerNodeOnRestart
    [boolean]$kill
    [boolean]$lazyLoad
    [boolean]$loadItemsOnHold
    [boolean]$nodeOverwritten
    [boolean]$noMoreIterations
    [boolean]$onHold
    [boolean]$optional
    [boolean]$parentHold
    [boolean]$parentPassBy
    [boolean]$passActionsToChildren
    [boolean]$passBy
    [boolean]$passResourceDependenciesToChildren
    [boolean]$postScriptCompleted
    [boolean]$postScriptStarted
    [boolean]$preloaded
    [boolean]$preScriptCompleted
    [boolean]$preScriptFailed
    [boolean]$preScriptStarted
    [boolean]$resourcesAcquired
    [boolean]$resourcesQueued
    [boolean]$restoreOriginalCommandOnRestart
    [boolean]$scriptCompleted
    [boolean]$scriptFailed
    [boolean]$scriptStarted
    [boolean]$sequentialProcessing
    [boolean]$skipChildrenUpdate
    [boolean]$skipParentUpdate
    [boolean]$skipProcessingVariables
    [boolean]$stopped
    [boolean]$stopWithError
    [boolean]$templateNotFound
    [boolean]$useScripts
    [boolean]$verboseMode
    [boolean]$waitingTimeCompleted
    [boolean]$wasCritical
    [boolean]$wasKilled
    [boolean]$wasLate
    [boolean]$wasPreloaded
    [datetime]$archiveDate
    [datetime]$baselineEndTime
    [datetime]$baselineStartTime
    [datetime]$cycleLastRestart
    [datetime]$cycleRestartUntil
    [datetime]$dateCreated
    [datetime]$endTime
    [datetime]$finalBaselineEndTime
    [datetime]$finalBaselineStartTime
    [datetime]$firstStartTime
    [datetime]$forecastEndTime
    [datetime]$forecastStartTime
    [datetime]$lastRestartDate
    [datetime]$lastUpdated
    [datetime]$nextRestartDate
    [datetime]$processingTimestamp
    [datetime]$restartUntil
    [datetime]$scheduledFireTime
    [datetime]$startTime
    [float]$percentCompleted
    [float]$percentExecuting
    [float]$percentFailed
    [int32]$completedCount
    [int32]$cycleActualCounter
    [int32]$cycleDayOffset
    [int32]$cycleDelay
    [int32]$executingCount
    [int32]$failedCount
    [int32]$greenCount
    [int32]$iteration
    [int32]$redCount
    [int32]$timesCompleted
    [int32]$timesFailed
    [int32]$timesFailedAfterLastCompleted
    [int32]$timesRestarted
    [int32]$totalCount
    [int32]$uninitializedChildrenCount
    [int32]$waitingAndReadyCount
    [int32]$warningCount
    [int32]$yellowCount
    [int64]$childSumEstimatedDuration
    [int64]$cycleCounter
    [int64]$cycleDuration
    [int64]$duration
    [int64]$estimatedDuration
    [int64]$forecastDuration
    [int64]$logSize
    [int64]$parent
    [int64]$priority
    [int64]$restartingChildCounter
    [int64]$rootProcessingId
    [int64]$sortOrder
    [int64]$statisticalDuration
    [int64]$version
    [int64]$weight
    [PSCustomObject]$agentProcessingCommand
    [PSCustomObject]$approvalPendingOperation
    [PSCustomObject]$customFieldValues
    [PSCustomObject]$cycleCondition
    [PSCustomObject]$cycleConditionEval
    [PSCustomObject]$evaluatedForceCompletedCondition
    [PSCustomObject]$evaluatedForceFailedCondition
    [PSCustomObject]$forceCompletedCondition
    [PSCustomObject]$forceFailedCondition
    [PSCustomObject]$inputFormValues
    [PSCustomObject]$layoutPreset
    [PSCustomObject]$layoutSettings
    [PSCustomObject]$originalOutputParameters
    [PSCustomObject]$originalProcessingCommand
    [PSCustomObject]$outputParameters
    [PSCustomObject]$processingCommand
    [PSCustomObject]$restartScenario
    [PSCustomObject]$switchCondition
    [PSCustomObject]$variableValues
    [string[]]$tags
    [string]$abortCommand
    [string]$agent
    [string]$ancestorPath
    [string]$approvalConfiguration
    [string]$costCenter
    [string]$createdBy
    [string]$cycleType
    [string]$delayedStartTime
    [string]$description
    [string]$domain
    [string]$endpoint
    [string]$executingStage
    [string]$exitCode
    [string]$exitMessage
    [string]$folder
    [string]$initialEndpoint
    [string]$inputType
    [string]$integration
    [string]$integrationTemplate
    [string]$internalId
    [string]$internalName
    [string]$internalProcessingStatusName
    [string]$internalStateItemsName
    [string]$itemType
    [string]$lastUpdatedBy
    [string]$launchedBy
    [string]$launchedById
    [string]$launchedByName
    [string]$loadBalancer
    [string]$logFileName
    [string]$logGrepResult
    [string]$name
    [string]$node
    [string]$originalPostScript
    [string]$originalPreScript
    [string]$outputFormat
    [string]$owner
    [string]$ownerRole
    [string]$parentProcessingName
    [string]$parentTemplate
    [string]$pid
    [string]$postScript
    [string]$preScript
    [string]$preScriptFailedMessage
    [string]$processingCommandText
    [string]$processingLaunchType
    [string]$processingStatus
    [string]$processingTemplateItemId
    [string]$processingTemplateItemName
    [string]$processingTemplateItemTitle
    [string]$resultMapping
    [string]$rootProcessingName
    [string]$rootTemplate
    [string]$scriptFailedMessage
    [string]$serviceStatus
    [string]$statusCode
    [string]$statusMessage
    [string]$template
    [string]$timeZone
    [string]$title
    [string]$userIp
    [string]$uuid
    [string]$workspace
    [boolean]$isFinishing
    [ANOWProcessing_exitProcessingStatus]$exitProcessingStatus
    [boolean]$exitFromScript
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [int64]$noteCount
    [int64]$pendingNoteCount
    [boolean]$keepSameLoadBalancerNodeOnStart
    [string]$type
    # Default constructor
    ANOWProcessing() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = '?'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }

    # The primary goal of this method is to URL encode an ANOW object for conversion into the _oldValues string. The _oldValues is typically (but not always) included by the ANOW application whenever modifying an object. The behavior of this method should match the ANOW application as closely as possible. Rigorous and frequent testing will always be needed to ensure that valid payloads are sent when modifying existing objects in the ANOW application.
    [string] ToURL([string[]]$optional_properties) {
        [string]$stringified_object = $this.ToString([string[]]$optional_properties)
        [string]$escaped_object = [System.Uri]::EscapeDataString($stringified_object)
        Return $escaped_object
    }
    # The primary goal of this method is to return back the same json string that the ANOW application produces when it converts an object into JSON
    # The secondary goal of this method is to stringify the object in preparation for encoding to URL format faithfully
    [string] ToString([string[]]$optional_properties) {
        #[hashtable]$this2 = @{}
        [System.Collections.Specialized.OrderedDictionary]$this2 = [System.Collections.Specialized.OrderedDictionary]@{}
        [array]$current_members = $this | Get-Member | Where-Object { $_.MemberType -eq 'Property' }
        If ($null -ne ($current_members | Where-Object { $_.Name -eq 'id' })) {
            [array]$current_members = @($current_members | Where-Object { $_.Name -eq 'id' }) + @($current_members | Where-Object { $_.Name -ne 'id' })
        }
        ForEach ($current_member in $current_members) {
            [string]$current_member_name = $current_member.Name
            $current_member_value = $this.$current_member_name # this variable cannot be hard typed
            # This omits pre-defined optional properties for this specific class when they are empty
            If (-not ($current_member_value.Length -eq 0 -and $current_member_name -in ($optional_properties))) {
                If ($current_member.definition -match '^datetime [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that datetimes are always formatted into ISO 8601 format. Powershell is not consistent on recognizing strings that can be safely casted into dates.
                    [string]$current_member_value = Get-Date -Date $current_member_value -Format 'yyyy-MM-ddTHH:mm:ss.fff'
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^bool [a-zA-Z]{1,} {.{1,}}$' ) {
                    # This ensures that booleans are converted the same way that the application expects
                    If ($current_member_value -eq $false) {
                        $this2.Add($current_member_name, $false)
                    }
                    Else {
                        $this2.Add($current_member_name, $true)
                    }
                }
                ElseIf ($current_member_value -is [System.Enum]) {
                    # This ensures that enums are resolved into their string value instead of the numerical index
                    [string]$current_member_value = $current_member_value.ToString()
                    $this2.Add($current_member_name, $current_member_value)
                }
                ElseIf ($current_member.definition -match '^[A-Za-z]{1,}\[] [a-zA-Z]{1,} {.{1,}}$' -and $current_member_value.Count -eq 1) {
                    # This ensures that arrays which only contain a single item are not converted into strings
                    $this2.Add($current_member_name, @(, $current_member_value))
                }
                ElseIf ($current_member_value.Length -eq 0) {
                    # This ensures that null values remain null instead of being converted to a string
                    $this2.Add($current_member_name, $null)
                }
                Else {
                    $this2.Add($current_member_name, $current_member_value)
                }
            }
        }
        [string]$stringified_object = $this2 | ConvertTo-JSON -Compress -Depth 10
        Return $stringified_object
    }
}

Class ANOWSchedule : ANOWProcessing {

    # Default constructor
    ANOWSchedule() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWTask : ANOWProcessing {

    # Default constructor
    ANOWTask() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWWorkflow : ANOWProcessing {

    # Default constructor
    ANOWWorkflow() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [ANOWProcessingTemplate] TaskTemplates, WorkflowTemplates, ScheduleTemplates, ServiceManagerTemplates, IntegrationTemplates

Class ANOWProcessingTemplate : ANOW {
    [array]$serviceStatusMapping
    [boolean]$autoArchive
    [boolean]$checkedOut
    [boolean]$eagerScriptExecution
    [boolean]$highRisk
    [boolean]$keepResourcesOnFailure
    [boolean]$lazyLoad
    [boolean]$modifiedVersion
    [boolean]$onHold
    [boolean]$passActionsToChildren
    [boolean]$passBy
    [boolean]$passResourceDependenciesToChildren
    [boolean]$sequentialProcessing
    [boolean]$turnOffDurationEstimation
    [boolean]$useScripts
    [boolean]$verboseMode
    [string]$type
    [datetime]$verificationDate
    [boolean]$verified
    [string]$verifiedBy
    [int64]$durationSum
    [int64]$estimatedDuration
    [int64]$preloadCounter
    [int64]$statisticalDuration
    [Nullable[ANOWProcessingTemplate_endpointType]]$endpointType
    [Nullable[ANOWProcessingTemplate_highRiskStatisticMethod]]$highRiskStatisticMethod
    [Nullable[ANOWProcessingTemplate_highRiskStatisticPeriod]]$highRiskStatisticPeriod
    [Nullable[ANOWProcessingTemplate_integrationType]]$integrationType
    [Nullable[ANOWProcessingTemplate_monitorType]]$monitorType
    [Nullable[ANOWProcessingTemplate_outputFormat]]$outputFormat
    [Nullable[ANOWProcessingTemplate_processingType]]$processingType
    [Nullable[ANOWProcessingTemplate_sensorType]]$sensorType
    [Nullable[ANOWProcessingTemplate_serverNodeType]]$serverNodeType
    [Nullable[ANOWProcessingTemplate_serviceManagerAggregationMode]]$serviceManagerAggregationMode
    [Nullable[ANOWProcessingTemplate_serviceManagerType]]$serviceManagerType
    [Nullable[ANOWProcessingTemplate_serviceType]]$serviceType
    [Nullable[ANOWProcessingTemplate_statisticMethod]]$statisticMethod
    [Nullable[ANOWProcessingTemplate_statisticPeriod]]$statisticPeriod
    [Nullable[ANOWProcessingTemplate_taskType]]$taskType
    [Nullable[ANOWProcessingTemplate_triggerType]]$triggerType
    [Nullable[ANOWProcessingTemplate_workflowType]]$workflowType
    [Nullable[datetime]]$checkoutDate
    [Nullable[datetime]]$nextTriggerDate
    [Nullable[int64]]$expectedDuration
    [Nullable[int64]]$highRiskThreshold
    [PSCustomObject]$customFieldValues
    [PSCustomObject]$forceCompletedCondition
    [PSCustomObject]$forceFailedCondition
    [PSCustomObject]$ignoreCondition
    [PSCustomObject]$inputFormValues
    [PSCustomObject]$layoutPreset
    [PSCustomObject]$layoutSettings
    [PSCustomObject]$processingCommand
    [string[]]$tags
    [string]$abortCommand
    [string]$approvalConfiguration
    [string]$calendar
    [string]$checkoutBy
    [string]$comment
    [string]$costCenter
    [string]$delayedStartTime
    [string]$endpoint
    [string]$folder
    [string]$integration
    [string]$nextTriggerTimeZone
    [string]$node
    [string]$owner
    [string]$ownerRole
    [string]$postScript
    [string]$preScript
    [string]$priority
    [string]$processingCommandText
    [string]$reason
    [string]$resultMapping
    [string]$timeZone
    [string]$title
    [string]$weight
    [string]$workspace
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [int64]$noteCount
    [int64]$pendingNoteCount

    # Default constructor
    ANOWProcessingTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWScheduleTemplate : ANOWProcessingTemplate {

    # Default constructor
    ANOWScheduleTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWTaskTemplate : ANOWProcessingTemplate {

    # Default constructor
    ANOWTaskTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWWorkflowTemplate : ANOWProcessingTemplate {

    # Default constructor
    ANOWWorkflowTemplate() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#Region Class - [ANOWResource] Calendars, Events, Locks, Metrics, PhysicalResources, Semaphores, Stocks, TimeWindows, Variables

Class ANOWResource : ANOW {
    [int64]$availablePermits
    [string]$calendarDates
    [string]$calendarDaysOfMonth
    [string]$calendarDaysOfWeek
    [string]$calendarLimitExpression
    [string]$calendars
    [string]$calendarState
    [PSCustomObject]$calendarStateId
    [string]$calendarType
    [int64]$checksum
    [string]$codeRepository
    [boolean]$composite
    [string]$createdBy
    [PSCustomObject]$customFieldValues
    [datetime]$dateCreated
    [string[]]$dates
    [string[]]$dayOfMonth
    [string[]]$dayOfWeek
    [string]$description
    [string]$domain
    [string]$folder
    [boolean]$hasNotes
    [boolean]$hasPendingNotes
    [PSCustomObject[]]$historicalValues
    [string]$id
    [datetime]$lastUpdated
    [string]$lastUpdatedBy
    [string]$lockState
    [string]$maxValue
    [string]$minValue
    [boolean]$modifiedByUser
    [int64]$noteCount
    [int64]$occupiedPermits
    [boolean]$outOfSync
    [int64]$pendingNoteCount
    [string]$resourceStatus
    [string]$resourceType
    [string]$semaphoreState
    [string]$simpleId
    [string]$statisticFunction
    [string[]]$tags
    [string]$timeZone
    [int64]$totalPermits
    [string]$userIp
    [string]$value
    [int64]$valueHighThreshold
    [int64]$valueLowThreshold
    [string]$valueUnit
    [int64]$valueVeryHighThreshold
    [int64]$valueVeryLowThreshold
    [Nullable[datetime]]$nextCloseDate # these properties are not listed in swagger.json
    [Nullable[datetime]]$nextOpenDate # these properties are not listed in swagger.json
    [string]$calculatedDates # these properties are not listed in swagger.json
    # Default constructor
    ANOWResource() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

Class ANOWCalendar : ANOWResource {

    # Default constructor
    ANOWCalendar() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWEvent : ANOWResource {

    # Default constructor
    ANOWEvent() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWLock : ANOWResource {

    # Default constructor
    ANOWLock() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWMetric : ANOWResource {

    # Default constructor
    ANOWMetric() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWPhysicalResource : ANOWResource {

    # Default constructor
    ANOWPhysicalResource() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWSemaphore : ANOWResource {

    # Default constructor
    ANOWSemaphore() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWStock : ANOWResource {

    # Default constructor
    ANOWStock() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWTimeWindow : ANOWResource {

    # Default constructor
    ANOWTimeWindow() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

Class ANOWVariable : ANOWResource {

    # Default constructor
    ANOWVariable() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
}

#endregion

#region Class - [ANOWResultMapping]

Class ANOWResultMapping : ANOW {
    [ANOWResultMappingRule[]]$definition
    [string[]]$tags
    [string]$folder
    # Default constructor
    ANOWResultMapping() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWTag]

Class ANOWTag : ANOW {
    [string]$textColor = '#FFFFFF'
    [string]$backgroundColor = '#FF0000'
    [Nullable[ANOWiconSet]]$iconSet
    [string]$iconCode
    [boolean]$showIconOnly = $False

    # Default constructor
    ANOWTag() { $this.Init(@{}) }
    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = ''
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#region Class - [ANOWWorkspace]

Class ANOWWorkspace : ANOW {
    [Nullable[ANOWiconSetIconsOnly]]$iconSet
    [string]$prefix
    [boolean]$setTags
    [string]$setWorkspaceFolder
    [Nullable[ANOWWorkspace_workspaceSetFolderType]]$workspaceSetFolderType
    [boolean]$setFolder
    [Nullable[ANOWWorkspace_workspaceSetTagType]]$workspaceSetTagType
    [boolean]$addPrefix
    [string[]]$setWorkspaceTags
    [string[]]$tags
    [string]$folder
    [string]$iconCode
    # Default constructor
    ANOWWorkspace() { $this.Init(@{}) }

    [void] Init([hashtable]$Properties) {
        foreach ($Property in $Properties.Keys) {
            $this.$Property = $Properties.$Property
        }
    }
    [string] CreateOldValues() {
        [string[]]$optional_properties = 'prefix', 'setWorkspaceFolder', 'setWorkspaceTags', 'workspaceSetFolderType', 'workspaceSetTagType'
        [string]$old_values = $this.ToURL($optional_properties)
        Return $old_values
    }
}

#endregion

#EndRegion