NXShell - Set Severity Based Status Propagation Method and its Mappings

Started by Staj, October 23, 2020, 05:37:16 AM

Previous topic - Next topic

Staj

I need to write a NXShell script that sets the severity-based settings for the Propagation of status for interface objects as I'm unhappy with the defaults.

I'm assuming I have to use AbstractObject's statusPropagationMethod and maybe statusTransformation? Except they're read only? Any quick snippets on how to change each status to another status should be helpful.

Filipp Sudanov

With current API we need to set all fields related to propagation to modify anything there:
node = session.findObjectByName("ttt")
if node:
    md = NXCObjectModificationData(node.objectId)

    # copy existing properties
    md.statusPropagationMethod = node.statusPropagationMethod
    md.statusCalculationMethod = node.statusCalculationMethod
    md.fixedPropagatedStatus = node.fixedPropagatedStatus
    md.statusShift = node.statusShift
    md.statusTransformation = node.statusTransformation
    md.statusSingleThreshold = node.statusSingleThreshold
    md.statusThresholds = node.statusThresholds

    # new value
    md.statusPropagationMethod = AbstractNode.PROPAGATE_DEFAULT

    session.modifyObject(md)


Also, it's possible to change propagation setting from NXSL, that should be easier and you can do this e.g. from interface creation hook.

And it's also possible to change what the default settings are - it's set in Configuration -> Server configuration.