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.
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.