RTE transforms template scripts included within the Integration Commons for CMDB app

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:55分
  • The Robust Transform Engine (RTE) transforms are templated operations included within the Integration Commons for CMDB (sn_cmdb_int_util) store app.

    The following script-based RTE transforms are available in the Integration Commons for CMDB app.

    CI Lookup Operation

    Use to get the value of a field on an existing configuration item (CI) in the CMDB by the source native key.

    Details
    Table Robust Transform Engine CI Lookup Operation [sn_cmdb_int_util_ci_lookup_operation]
    Input field source_sys_rte_eb_field
    Input in order is:
    1. Discovery Source
    2. Source Native Key
    3. CI Field

    The operation queries the Source [sys_object_source] table for the discovery source and the associated source native key, and then returns the CI Field value of the matching record in the target table and the associated target sys ID.

    Output field target_sys_rte_eb_field

    Output is the value of the field name on the CI matched by the source native key lookup or an empty string if there is no match.

    The Source [sys_object_source] table is queried using the discovery source and source native key ordering by the last scan. The table iterates through the results of the query and queries the target table by the target sys ID until a valid CI is found. After a valid CI is found, the operation returns the value of the CI Field on the matching CI.

    表 : 1. Example
    Discovery Source Source Native Key CI Field Result
    ServiceNow ServiceNow|||COMPUTER-NAME|||Computer-01 name Computer-01

    Cleanse Company

    Use to cleanse hardware manufacturer name and add the record to the Company [core_company] table to populate a reference, when the manufacturer is not linked to a model or software (cpu_manufacturer).

    Details
    Table Robust Transform Engine Entity Cleanse Company Operation [sn_cmdb_int_util_cleanse_company_operation]
    Input field source_sys_rte_eb_field

    Input is a company/manufacturer name.

    Output field target_sys_rte_eb_field

    Output is the resulting sys_id and name of the company in core_company, concatenated by triple pipe (|||).

    Script include function sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseCompany(input)

    If a matching record does not exist, then a new record is created in core_company so the return always includes a sys_id and name (unless the input is empty or invalid). The name is cleansed and a fuzzy lookup is done via the CmdbIntegrationCompanyModelUtil script include before the MakeAndModelJS platform API is called.

    表 : 2. Example
    Input Result
    SERVICENOW 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow

    Cleanse Hardware Model

    Use to create, cleanse, or lookup a hardware model to create a reference (model_id).

    Details
    Table Robust Transform Engine Entity Cleanse Hardware Model Operation [sn_cmdb_int_util_cleanse_hardware_model_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The manufacturer name
    2. The model name

    If either value is provided by itself, then the operation only processes what is found.

    Output field target_sys_rte_eb_field

    Output is the resulting sys_id and name of the company in core_company, and sys_id and name of the model in cmdb_model - all concatenated by triple pipe (|||).

    Script include function sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseModelAndCompany(manufacturer_in, model_in)

    For either the manufacturer or model, if a matching record does not exist then a new record is created so the return always includes sys_ids and names for both records (unless the input is empty or invalid).

    The manufacturer name is processed like the Cleanse Company transform and then the manufacturer name and model name are sent to the MakeAndModelJS platform API.

    表 : 3. Example
    Manufacturer Name Model Name Result
    ServiceNow Incorporated SERVICENOW 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow|||ba29cb303710200044e0bfc8bcbe5d6d |||ServiceNow

    Cleanse Hardware Model with Model Number

    Use to create, cleanse, or lookup a hardware model to create a reference (model_id).

    Details
    Table Robust Transform Engine Entity Cleanse Hardware Model With Model Number Operatio [sn_cmdb_int_util_cleanse_hardware_model_number_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The manufacturer name
    2. The model name
    3. The model number
    4. CI Class
      注:
      The CI Class field is an optional input field, and when included, the MakeAndModelJS platform API gets the model record by querying the product model class from the Model Category [cmdb_model_category] table. Else, the API gets the model record from the Hardware Models [cmdb_hardware_product_model] table only.

    If either value is provided by itself, then the operation only processes what is found.

    Output field target_sys_rte_eb_field

    Output is the resulting sys_id and name of the company in core_company, and sys_id and name of the model in cmdb_model - all concatenated by triple pipe (|||).

    Script include function sn_cmdb_int_util.CmdbIntegrationHardwareModelUtil().cleanseModelAndCompany(manufacturer_in, model_in)

    For either the manufacturer or model, if a matching record does not exist then a new record is created so the return always includes sys_ids and names for both records (unless the input is empty or invalid).

    The manufacturer name is processed like the Cleanse Company transform and then the manufacturer name, model name, and model number are sent to the MakeAndModelJS platform API.

    表 : 4. Example
    Manufacturer Name Model Name Model Number Result
    ServiceNow Incorporated SERVICENOW BC0AA8000C56 93d4ecfac0a8000b6294d71b733977fb|||ServiceNow|||ba29cb303710200044e0bfc8bcbe5d6d |||ServiceNow

    Cleanse IP Address

    Use when a field provides an IP address.

    Details
    Table Robust Transform Engine Entity Cleanse IP Operation [sn_cmdb_int_util_cleanse_ip_operation]
    Input fields source_sys_rte_eb_field

    Input is the IP address to cleanse.

    Output field target_sys_rte_eb_field

    Output is the resulting IP address, which can be empty.

    Script include function sn_cmdb_int_util.CmdbIntegrationNetworkUtil().cleanseIpAddress(input)

    The IP address is tested for both IPv4 and IPv6 structures along with some known derivations (an IPv4 with spaces instead of periods). If a result is found, then it is formatted and returned.

    表 : 5. Examples
    Ip Ip Results
    192.160.89.1 192.160.89.1
    192.160.89.1,54.21.12.311 192.160.89.1
    192 160 89 1 54 21 12 311 192.160.89.1
    192-160-89-1 192.160.89.1
    2001:0db8:0000:0000:0000:ff00:0042:8329 2001:0db8:0000:0000:0000:ff00:0042:8329
    junk
    175912537 10.124.54.89
    -1
    0

    Cleanse IP Version

    Use when the source of data does not provide an IP version or when the IP version might be unreliable.

    Details
    Table Robust Transform Engine Entity Cleanse IP Version Operation [sn_cmdb_int_util_cleanse_ip_version_operation]
    Input fields source_sys_rte_eb_field

    Input is the IP address to cleanse.

    Output field target_sys_rte_eb_field

    Output is the resulting cmdb_ci_ip_address.ip_version lookup key (either 4, 6, or empty).

    Script include function sn_cmdb_int_util.CmdbIntegrationNetworkUtil().deriveIpVersion(input)

    The input IP address value is checked for either proper IPv4 or IPv6 structure, otherwise the return is empty. This function provides no IP cleansing.

    表 : 6. Example
    Input Result
    192.160.89.1 4

    Cleanse MAC Address

    Use when a field provides a MAC address.

    Details
    Table Robust Transform Engine Entity Cleanse MAC Operation [sn_cmdb_int_util_cleanse_mac_operation]
    Input fields source_sys_rte_eb_field

    Input is the MAC address to cleanse.

    Output field target_sys_rte_eb_field

    Output is the resulting MAC address which can be empty.

    Script include function sn_cmdb_int_util.CmdbIntegrationNetworkUtil().cleanseMacAddress(input)

    The MAC address is tested for proper structure along with some known derivations (for example, a MAC address with spaces instead of colons). If a result is found, then it is formatted and returned.

    表 : 7. Example
    Input Result
    00 0A 95 9D 68 16 00:0a:95:9d:68:16

    Cleanse Operating System

    Use to extract, cleanse, and format an operating system name, when the source provides an operating system value.

    Details
    Table Robust Transform Engine Entity Cleanse OS Operation [sn_cmdb_int_util_cleanse_os_operation]
    Input fields source_sys_rte_eb_field

    Input is the operating system name to cleanse.

    Output field target_sys_rte_eb_field

    Output is the resulting operating system name. The resulting operating system name is also written to the cmdb_ci_computer.os list field.

    Script include function sn_cmdb_int_util.CmdbIntegrationOsUtil().cleanseAndInsertOs(input)

    Most of the current cleansing is centered on Microsoft operating system values aside from common cleansing such as fixing casing.

    表 : 8. Examples
    Operating System Operating System Results
    Windows Server 2003 R2 64 bit Edition Service Pack 2 Windows Server 2003 R2
    Windows 2003 Windows 2003
    Windows Vista 64 bit Edition Windows Vista
    Windows 2000 Professional Service Pack 4 Windows 2000 Professional
    Windows XP Service Pack 2-3 Windows XP
    Microsoft Windows Server 2003 R2 64 bit Edition Service Pack 2 Windows Server 2003 R2
    Microsoft Windows 2003 Windows 2003
    Microsoft Windows Vista 64 bit Edition Windows Vista
    Microsoft Windows 2000 Professional Service Pack 4 Windows 2000 Professional
    Microsoft Windows XP Service Pack 2-3 Windows XP
    linux ubuntu Linux Ubuntu
    Linux Ubuntu Server Linux Ubuntu Server

    Cleanse Serial Number

    Use to cleanse and remove invalid serial numbers.

    Details
    Table Robust Transform Engine Entity Cleanse Serial Number Operation [sn_cmdb_int_util_cleanse_serial_number_operation]
    Input fields source_sys_rte_eb_fields

    Input is the serial number to cleanse.

    Output field target_sys_rte_eb_field

    Output is the resulting serial number.

    表 : 9. Examples
    Serial Number Serial Number Results
    ec2aa2da-5312-aa3e-804c-c35feabeda5f ec2aa2da-5312-aa3e-804c-c35feabeda5f
    1045–1209–6738–4668–7696–2783 1045–1209–6738–4668–7696–2783

    Cleanse Serial Number With Alternate Value Return if Invalid

    Use to cleanse Serial Number and verify the length of the cleansed serial number. Returns the alternate value if the length of serial number is invalid.

    Details
    Table Robust Transform Engine Entity Cleanse Serial Number With Alternate Value Return

    [sn_cmdb_int_util_cle$anse_serial_number_with_alternate_value_return_if_invalid]

    Input fields source_sys_rte_eb_fields

    Inputs: serial number, Alternate value

    Output field target_sys_rte_eb_field

    Output: Cleansed serial number if the length is valid, Alternate value otherwise.

    Script include function global.SerialNumberManager().isValid(input)

    The operation cleanses the serial number and checks If the cleansed serial number length is greater than or equal to the value specified in the sn_cmdb_int_util.minimum_valid_serial_number_length system property. The default value of the property is set to 7.

    Cleanse IMEI Number With Alternate Value Return if Invalid

    Use to cleanse the IMEI number and verify the length of the cleansed IMEI number. Returns the alternate value if the length of IMEI number is invalid.

    Details
    Table Robust Transform Engine Entity Cleanse IMEI With Alternate Value Return if Inval

    [sn_cmdb_int_util_cleanse_imei_with_alternate_value_return_if_invalid]

    Input fields source_sys_rte_eb_fields

    Inputs: IMEI number, Alternate value

    Output field target_sys_rte_eb_field

    Output: IMEI number if the length is valid, Alternate value otherwise.

    Script include function None

    The operation cleanses the IMEI number and checks If the cleansed IMEI number length is equal to the value specified in the sn_cmdb_int_util.valid_imei_number_length system property. The default value of the property is set to 15.

    Cleanse Software Model

    Use to cleanse and create a software model. Also, to create manufacturer and software model if they do not exist and follow with a split operation.

    Details
    Table Robust Transform Engine Entity Cleanse Software Model Operation [sn_cmdb_int_util_cleanse_software_model_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The manufacturer name
    2. The software name
    3. The software version (not required)

    If only manufacturer or name is provided, then only those values are processed and returned.

    Output field target_sys_rte_eb_field

    Output is the resulting sys_id and name of the company in core_company, the cleansed software name, and the cleansed software version all concatenated by a triple pipe (|||).

    Script include function sn_cmdb_int_util.CmdbIntegrationSoftwareModelUtil().cleanseSoftwareModel(company, model, version)

    If a matching manufacturer record does not exist, then a new record is created so the return always includes the sys_id and name for the manufacturer (if the manufacturer is not empty or invalid).

    The manufacturer name is processed the same as in the Cleanse Company transform and then the manufacturer name is sent to the MakeAndModelJS platform API.

    The software name and version are cleansed and formatted and returned. The version is removed from the software name if present.

    表 : 10. Examples
    Manufacturer Software Name Software Version Results
    Dell Inc.
    NoManufacturer
    1.0.0.0
    Dell Inc. DataEngine 1.0.17.2 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||DataEngine|||1.0.17.2
    GenuineIntel TestSoftware 1.0.0.1 7aad6d00c611228400f00e0f80b67d2d|||Intel|||TestSoftware|||1.0.0.1
    Dell Inc. TestSoftware 232 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||232
    Dell Inc. TestSoftware 123.0.0.0 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||123.0
    America Online TestSoftware 1.0.0.0 0c43d035c61122750000251553f6f8e8|||America Online|||TestSoftware|||1.0
    America Online TestSoftware 1.0.0.0 0c43d035c61122750000251553f6f8e8|||America Online|||TestSoftware|||1.0
    dell LowerCase 1.0.0.0 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||LowerCase|||1.0

    Dell Corporation.

    Incorporated, Corp.

    TestSoftware 1.0.0.0 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||TestSoftware|||1.0
    Microsoft

    Microsoft SQL

    Server 2016 Enterprise

    2.0.0 0e8b8e650a0a0b3b004f285ffbb1a4fc|||Microsoft|||Microsoft SQL Server 2016 Enterprise|||2.0
    Dell Computer DataEngine 1.0.17.2 b7e7d7d8c0a8016900a5d7f291acce5c|||Dell Inc.|||DataEngine|||1.0.17.2
    Adobe TestSoftware 1 b7e8b5c4c0a80169008b49e468920048|||Adobe Systems|||TestSoftware|||1.0

    Create Software Instance Name

    Use when a hardware name, software name, and software version is provided, to create a new software instance name.
    Details
    Table Robust Transform Engine Entity Create Software Instance Name Operation [sn_cmdb_int_util_create_software_instance_name_operation]
    Input fields source_sys_rte_eb_fields

    Input in order is:

    1. The hardware name
    2. The software name
    3. The software version (not required)
    Output field target_sys_rte_eb_field

    Output is the software instance name.

    Script include function sn_cmdb_int_util.CmdbIntegrationSoftwareModelUtil().createSoftwareInstanceName(hw_name_in, sw_name_in, sw_version_in)
    表 : 11. Examples
    Hardware Name Software Name Software Version Results
    computer1 microsoft 2.0.1 microsoft 2.0.1-computer1
    computer2 adobe adobe-computer2
    computer3 adobe 2.1 adobe 2.1-computer3
    hw2 sw3 301 sw3 301-hw2

    Derive CI Class from Model

    Use when processing a computer record and a model is provided but the class of the computer is ambiguous otherwise. Can be used along with other Derive CI Class transforms.

    Details
    Table Robust Transform Engine Entity Derive Class From Model Operation [sn_cmdb_int_util_derive_class_from_model_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The model name
    2. The current class name
    Output field target_sys_rte_eb_field

    Output is the resulting class name.

    Script include function sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromModelInput(model_in, class_in)

    Does not return a value of a class which is higher in the class hierarchy (a parent class) than the provided input class. For example, does not return cmdb_ci_computer if the input is cmdb_ci_server. Looks only at the cmdb_ci_computer hierarchy, going through cmdb_ci_server (cmdb_ci_computer, cmdb_ci_server, children of cmdb_ci_server).

    Currently looks for Server, Windows Server, and Linux Server indicators in the model.

    表 : 12. Examples
    Model Class Class Results
    window server cmdb_ci_computer cmdb_ci_win_server
    Microsoft server cmdb_ci_computer cmdb_ci_win_server
    linux server cmdb_ci_computer cmdb_ci_linux_server
    Microsoft server cmdb_ci_server cmdb_ci_win_server
    linux server cmdb_ci_server cmdb_ci_linux_server
    Red hat server cmdb_ci_server cmdb_ci_linux_server
    Arch server cmdb_ci_server cmdb_ci_linux_server
    Centos server cmdb_ci_server cmdb_ci_linux_server
    Debian server cmdb_ci_server cmdb_ci_linux_server
    Fedora server cmdb_ci_server cmdb_ci_linux_server
    Suse server cmdb_ci_server cmdb_ci_linux_server
    Oracle server cmdb_ci_server cmdb_ci_linux_server
    Rhel server cmdb_ci_server cmdb_ci_linux_server
    Ubuntu server cmdb_ci_server cmdb_ci_linux_server
    Junk
    cmdb_ci_server cmdb_ci_server
    Junk server cmdb_ci_computer cmdb_ci_server
    Junk cmdb_ci_computer cmdb_ci_computer

    Derive CI Class from Native Class Identifier

    Use when processing a computer record and a native class indicator is provided but the class of the computer is ambiguous otherwise. Can be used along with other Derive CI Class transforms.

    Details
    Table Robust Transform Engine Entity Derive Class From Native Value Operation [sn_cmdb_int_util_derive_class_from_native_value_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The native class identifier
    2. The current class name
    Output field target_sys_rte_eb_field

    Output is the resulting class name.

    Script include function sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromNativeValue(native_id_in, class_in)

    Does not return a value of a class which is higher in the class hierarchy (a parent class) than the provided input class. For example, does not return cmdb_ci_computer if the input is cmdb_ci_server. Looks only at the cmdb_ci_computer hierarchy, going through cmdb_ci_server (cmdb_ci_computer, cmdb_ci_server, children of cmdb_ci_server).

    Currently looks for Server, Windows Server, and Linux Server indicators in the native identifier.

    表 : 13. Examples
    Native Class Class Class Results
    window server cmdb_ci_computer cmdb_ci_win_server
    Microsoft server cmdb_ci_computer cmdb_ci_win_server
    linux server cmdb_ci_computer cmdb_ci_linux_server
    Microsoft server cmdb_ci_server cmdb_ci_win_server
    linux server cmdb_ci_server cmdb_ci_linux_server
    Red hat server cmdb_ci_server cmdb_ci_linux_server
    Arch server cmdb_ci_server cmdb_ci_linux_server
    Centos server cmdb_ci_server cmdb_ci_linux_server
    Debian server cmdb_ci_server cmdb_ci_linux_server
    Fedora server cmdb_ci_server cmdb_ci_linux_server
    Suse server cmdb_ci_server cmdb_ci_linux_server
    Oracle server cmdb_ci_server cmdb_ci_linux_server
    Rhel server cmdb_ci_server cmdb_ci_linux_server
    Ubuntu server cmdb_ci_server cmdb_ci_linux_server
    Junk
    cmdb_ci_server cmdb_ci_server
    Junk server cmdb_ci_computer cmdb_ci_server
    Junk cmdb_ci_computer cmdb_ci_computer

    Derive CI Class from Operating System

    Use when processing a computer record and an operating system is provided but the class of the computer is ambiguous otherwise. Can be used along with other Derive CI Class transforms.

    Details
    Table Robust Transform Engine Entity Derive Class From OS Operation [sn_cmdb_int_util_derive_class_from_os_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The operating system name
    2. The current class name
    Output field target_sys_rte_eb_field

    Output is the resulting class name.

    Script include function sn_cmdb_int_util.CmdbIntegrationClassUtil().deriveClassNameFromOsName(os_in, class_in)

    Does not return a value of a class which is higher in the class hierarchy (a parent class) than the provided input class. For example, does not return cmdb_ci_computer if the input is cmdb_ci_server. Looks only at the cmdb_ci_computer hierarchy, going through cmdb_ci_server (cmdb_ci_computer, cmdb_ci_server, children of cmdb_ci_server).

    Currently looks for Server, Windows Server, and Linux Server indicators in the operating system name.

    表 : 14. Examples
    Operating System Class Class Results
    window server cmdb_ci_computer cmdb_ci_win_server
    Microsoft server cmdb_ci_computer cmdb_ci_win_server
    linux server cmdb_ci_computer cmdb_ci_linux_server
    Microsoft server cmdb_ci_server cmdb_ci_win_server
    linux server cmdb_ci_server cmdb_ci_linux_server
    Red hat server cmdb_ci_server cmdb_ci_linux_server
    Arch server cmdb_ci_server cmdb_ci_linux_server
    Centos server cmdb_ci_server cmdb_ci_linux_server
    Debian server cmdb_ci_server cmdb_ci_linux_server
    Fedora server cmdb_ci_server cmdb_ci_linux_server
    Suse server cmdb_ci_server cmdb_ci_linux_server
    Oracle server cmdb_ci_server cmdb_ci_linux_server
    Rhel server cmdb_ci_server cmdb_ci_linux_server
    Ubuntu server cmdb_ci_server cmdb_ci_linux_server
    Junk
    cmdb_ci_server cmdb_ci_server
    Junk server cmdb_ci_computer cmdb_ci_server
    Junk cmdb_ci_computer cmdb_ci_computer

    Derive Virtual From Hardware Model

    Use when processing a computer record that may be virtual, a hardware model is provided, and the virtual status is ambiguous. Can be used along with other Derive Virtual From transforms.

    Details
    Table Robust Transform Engine Entity Derive Virtual From Model Operation [sn_cmdb_int_util_derive_virtual_from_model_operation]
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The hardware model name
    2. The current virtual flag value
    Output field target_sys_rte_eb_field

    Output is the resulting virtual flag (true/false). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’.

    Script include function sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromModelName(model_in, is_virtual_in)

    Looks for indicators in the model name for a virtual device (VMware).

    表 : 15. Examples
    Hardware Model Virtual Flag Virtual Flag Results
    thinkpad true true
    thinkpad false false
    thinkpad false
    vmware inc true true
    true true
    false false
    false

    Derive Virtual From Native Indicator

    Use when processing a computer record that may be virtual, a virtual indicator is provided by the source, and the virtual status is ambiguous. Can be used along with other Derive Virtual From transforms.

    Details
    Table sn_cmdb_int_util_derive_virtual_from_native_value_operation
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The native indicator
    2. The current virtual flag value
    Output field target_sys_rte_eb_field

    Output is the resulting virtual flag (true/false). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’.

    Script include function sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromNativeIdentifier(native_in, is_virtual_in)

    Tests native indicator against a list of common values and looks for a ‘true’ boolean indicator.

    表 : 16. Examples
    Native Virtual Value Virtual Flag Virtual Flag Results
    virtual false true
    virtual true
    virtual true true
    y false true
    y true
    y true true
    yes false true
    yes true
    yes true true
    true false true
    true true
    true true true
    t false true
    t true
    t true true
    other false false
    other false
    other true true
    not virtual false false
    not virtual false
    not virtual true true
    false false
    false
    true true

    Derive Virtual From Serial Number

    Use when processing a computer record that may be virtual, a serial number is provided by the source, and the virtual status is ambiguous. Can be used along with other Derive Virtual From transforms.

    Details
    Table sn_cmdb_int_util_derive_virtual_from_serial_number_operation
    Input fields source_sys_rte_eb_fields
    Input in order is:
    1. The serial number
    2. The current virtual flag value
    Output field target_sys_rte_eb_field

    Output is the resulting virtual flag (true/false). If the current virtual flag is ‘true’, the result is true. Otherwise the result is ‘true’ or ‘false’.

    Script include function sn_cmdb_int_util.CmdbIntegrationVirtualDetectionUtil().detectVirtualFromSerialNumber (serial_in, is_virtual_in)

    Looks for indicators in the serial number for a virtual device (VMware).

    表 : 17. Examples
    Serial Number Virtual Flag Virtual Flag Results
    123 true true
    123 false false
    123 false
    vmware-123 true true
    true true
    false false
    false

    Extract and Scale by Units

    Use when the source has numerical values that need to be scaled and numerical value with an input such as 2048Mb. The source does not always provide the units so it may be required to calculate or guess the units being provided. The target units depend on the target field in the CMDB. If not specified, the decimal place field is set at 2 by default.

    注:
    This field is case sensitive.
    Details
    Table sn_cmdb_int_util_extract_and_scale_by_units_operation
    Input fields source_sys_rte_eb_fields
    Output field target_sys_rte_eb_field
    Script include function sn_cmdb_int_util.CmdbIntegrationExtractScaleUnitUtil().extractAndScaleUnits(input,defaultUnit,outputUnit,decimalPlaces)
    表 : 18. Examples
    Input Value Default Unit Output Unit Result
    2048Mb Mb GB 2GB
    17179869184 B GB 16GB

    First Non Null Value

    Use when you have a list of fields providing similar information that must map to a single field and you want to rank the order in which they can provide those values.

    For Example Internally in SolarWinds, there is a hierarchy of tables that are join. In one example, a computer’s name could come from the child most table or any of that tables parents but each of those is a separate field in the pull. Starting with the most specific table, the values are searched for the first instance of a name value.

    Details
    Table sn_cmdb_int_util_first_non_null_operation
    Input fields source_sys_rte_eb_fields

    Input is a list of fields of any length.

    Output field target_sys_rte_eb_field

    Output is the value from the first field in the list that doesn’t have a null (or empty) value.

    Script include function sn_cmdb_int_util.CmdbIntegrationFirstNonNullValueUtil().firstNonNullValue(batch[i])
    表 : 19. Example
    Field 1 Field 2 Field 3 Result
    foo foo2 foo

    Process Name, Domain, FQDN, DNS set

    Use when the source provides name, domain, FQDN, or DNS information. Can be used for only a subset of these (if for example, the source only provides name and domain). In the case that a source only provides fields that are lower in the input list (FQDN) the CmdbIntegrationHardwareNameUtil script include can be called from a script operation to minimize having to create empty dummy fields.

    Details
    Table sn_cmdb_int_util_process_name_set_operation
    Input fields source_sys_rte_eb_fields
    Takes up to four Input fieldss (any additional fields are ignored), in the following order:
    1. Name
    2. Domain
    3. FQDN
    4. DNS

    You don't have to provide all four input values, but you must provide those values in the specified order. If for example, you only want to cleanse domain, you must provide a name attribute, even it if empty.

    Output field target_sys_rte_eb_field

    Output is a concatenated set of values in the same order, using a triple pipe (|||): {name}|||{domain}|||{fqdn}|||{dns}

    Script include function sn_cmdb_int_util.CmdbIntegrationHardwareNameUtil().processNameDomainFqdnDnsSet(name, domain, fqdn, dns)

    FQDN and DNS are first processed to see if their formats are correct. FQDN has an additional discovery regex it must pass (via properties): glide.discovery.fqdn.regex – default : ^([^.]+)\\.((?:[^.]+\\.)+[^.]+)$

    Possible name and domain values are extracted if possible. When name and domain are processed, if there is no FQDN, a value is generated if possible. A resulting name value is also modified using the following discovery flags:
    1. glide.discovery.hostname.case – default: No change. Can be set to ‘Lower case’, ‘Upper case’, ‘No change’
    2. glide.discovery.hostname.include_domain – default: false. If ‘true’ the domain is added to the final name value
    表 : 20. Examples
    Name Domain FQDN DNS Results
    myName other.net otherName.other.net mycomp.servicenow.com myName|||other.net|||otherName.other.net|||mycomp.servicenow.com
    na other.net otherName.other.net mycomp.servicenow.com otherName|||other.net|||otherName.other.net|||mycomp.servicenow.com
    servicenow.com |||servicenow.com||||||
    name.servicenow.com name|||servicenow.com|||name.servicenow.com|||name.servicenow.com
    name.servicenow.com name|||servicenow.com|||name.servicenow.com|||
    name.servicenow.com name|||servicenow.com|||name.servicenow.com|||
    name servicenow.com name|||servicenow.com|||name.servicenow.com|||

    Process FQDN

    Use when the source provides a suspected FQDN value but no other naming fields such as name, domain, or DNS.

    Details
    Table sn_cmdb_int_util_process_fqdn_operation
    Input fields source_sys_rte_eb_field

    Input is a single field containing an FQDN.

    Output field target_sys_rte_eb_field

    Output is a concatenated set of values in the same order using a triple pipe (|||): {name}|||{domain}|||{fqdn}|||{dns}

    Script include function sn_cmdb_int_util.CmdbIntegrationHardwareNameUtil().processNameDomainFqdnDnsSet('’, '’, fqdn, '’)

    The processing follows the same logic as the ‘Process Name, Domain, FQDN, DNS set’ transform except that only FQDN is used as an input.

    表 : 21. Example
    Input Result
    mycomputer.servicenow.com mycomputer|||servicenow.com|||mycomputer.servicenow.com|||

    Scale Unit

    Use when the source has numerical inputs that must be scaled. The source does not always provide the current units so it may be required to calculate or guess the units being provided. The target units depend on the field being targeted in the CMDB.

    Details
    Table sn_cmdb_int_util_scale_unit_operation
    Input fields source_sys_rte_eb_fields
    Inputs in order are:
    1. The input value
    2. The current units
    3. The target units
    Output field target_sys_rte_eb_field

    Output is the input value scaled from the current units to the target units. If no units are found for the current units, then the input value is returned. If no current or target units are found the input is returned as the output.

    Script include function sn_cmdb_int_util.CmdbIntegrationScaleUnitUtil().scaleUnits(input_value, input_unit, output_unit)
    表 : 22. Example
    Input Result
    • Input Field 1: 1
    • Input Field 2: GB
    • Input Field 3: MB
    1024

    Software Bundle ID Lookup

    Use when a source, such as Jamf, does not provide the software publisher but does provide a Mac software bundle ID. Software Bundle ID Lookup looks up records in the Bundleid Lookup [sn-cmdb_int_util_bundleid_lookup] table by bundle_id. If a record with the specified bundle_id exists, it extracts the respective software publisher. Otherwise, it creates a new record which will be queried the next time the Lookup Mac Software Bundle IDs data source runs.

    Details
    Table sn_cmdb_int_util_software_bundle_id_lookup_operation
    Input fields
    • source_sys_rte_eb_field
    • Bundle ID
    Output field target_sys_rte_eb_field

    Output is the resulting artist name, track name, and seller name, all concatenated by a triple pipe (|||), or an empty string if no match is found.

    Script include function sn_cmdb_int_util.CmdbIntegrationSoftwareBundleIdLookup. lookupSoftware(bundleId)
    表 : 23. Example
    Input Result
    Input Field 1: com.microsoft.Word Microsoft Corporation|||Microsoft Word||| Microsoft Corporation

    User Lookup

    Use to look up a user in the User [sys_user] table by user name or email, attempting to match in the following order:
    1. The User Name matching the user_name attribute.
    2. The Email matching the email attribute.
    3. If nothing is matching, it returns empty.
    Details
    Table sn_cmdb_int_util_user_lookup_operation
    Input fields source_sys_rte_eb_fields
    Inputs in order are:
    1. User Name
    2. Email (Optional)
    Output field target_sys_rte_eb_field

    sysId of the sys_user.

    Script include function sn_cmdb_int_util.CmdbIntegrationUserLookup. lookupUser(username, email)
    表 : 24. Examples
    Input Result
    Input Field 1: abel.tuter 62826bf03710200044e0bfc8bcbe5df1
    • Input Field 1: atuter
    • Input Field 2: abel.tuter@example.com
    62826bf03710200044e0bfc8bcbe5df1